Optimize BaselineCodeGen::emitPrologue a bit
Categories
(Core :: JavaScript Engine: JIT, task, P1)
Tracking
()
Tracking | Status | |
---|---|---|
firefox70 | --- | fixed |
People
(Reporter: jandem, Assigned: jandem)
References
Details
Attachments
(4 files)
We can easily eliminate some instructions from both the interpreter and compiler.
Assignee | ||
Comment 1•5 years ago
|
||
This eliminates some branches and simplifies the code.
Assignee | ||
Comment 2•5 years ago
|
||
Instead of initializing frame->environmentChain to nullptr first and then setting it to
fun->environment() later, we can store fun->environment immediately. This also means the
interpreter doesn't need to load and untag the callee token a second time.
Depends on D36903
Assignee | ||
Comment 3•5 years ago
|
||
We now have a Vector of offsets instead of a single offset.
Depends on D36904
Assignee | ||
Comment 4•5 years ago
|
||
This prevents slowdowns when we increase the Baseline JIT threshold and
is more predictable when we move BaselineCompiler off-thread.
Depends on D36905
Updated•5 years ago
|
Comment 6•5 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/e13e7f4d5f05
https://hg.mozilla.org/mozilla-central/rev/914ab31ebc59
https://hg.mozilla.org/mozilla-central/rev/77bc29e90670
https://hg.mozilla.org/mozilla-central/rev/6a3e9d8abe2c
Description
•