Closed Bug 1594961 Opened Last month Closed Last month

Split up vm/Stack.h so that touching jit/*.h doesn't have to essentially rebuild the world

Categories

(Core :: JavaScript Engine, task)

task
Not set

Tracking

()

RESOLVED FIXED
mozilla72
Tracking Status
firefox72 --- fixed

People

(Reporter: Waldo, Assigned: Waldo)

Details

Attachments

(1 file)

vm/Stack.h depends on jit/Registers.h which depends on jit/*/Architecture-*.h and jit/IonTypes.h. Therefore it's pretty easy to touch the wrong jit/ header and end up having to rebuild the world...all because js::jit::JitActivation (a class with very few users) contains a single field of JIT-related type.

This is silly.

vm/Stack.h should be split up a bit so the JIT-specific parts are in a narrow header that only its few users need depend upon.

Debatably, less splitting-up could have been done in that patch. But it seems better to me to have more smaller files, generally, and this is how it ended up end of day.

This builds in FPUF=1 mode for me locally, Linux 64-bit. I hazarded guesses at the files that probably need changing on other platforms. A try-push will have to be the final arbiter:

https://treeherder.mozilla.org/#/jobs?repo=try&revision=fa46d92720e7146fc7744bdde5283ea3688b215e

(Note, however, that this patch as phabricator sees it was a version of that patch purely atop mozilla-central.)

I tried to keep relative locations of things the same, and I tried to hg cp existing files wherever possible -- or hg cp --after --force if I forgot initially. If I missed one somewhere, please do point it out.

Pushed by archaeopteryx@coole-files.de:
https://hg.mozilla.org/integration/autoland/rev/caf55914ccdd
Split FrameIter-related functionality out of vm/Stack.h to vm/FrameIter.h, Activation-related functionality to vm/Activation.h, and JitActivation functionality to vm/JitActivation.h.  r=jandem CLOSED TREE
Status: NEW → RESOLVED
Closed: Last month
Resolution: --- → FIXED
Target Milestone: --- → mozilla72
You need to log in before you can comment on or make changes to this bug.