Move JSScript::ion and JSScript::baseline to JitScript
Categories
(Core :: JavaScript Engine: JIT, enhancement, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox70 | --- | fixed |
People
(Reporter: jandem, Assigned: jandem)
References
(Blocks 1 open bug)
Details
Attachments
(9 files)
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details |
Assignee | ||
Comment 1•6 years ago
|
||
Updated•6 years ago
|
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Comment 2•5 years ago
|
||
The main goal was to abstract the special BASELINE_DISABLED_SCRIPT and
ION_*_SCRIPT values better. Each of these values now has its own setter
method instead of passing these values to setBaselineScript and setIonScript.
Assignee | ||
Comment 3•5 years ago
|
||
This is more consistent with Baseline Interpreter -> Baseline JIT code and
avoids calling into C++ repeatedly when we disable Ion compilation for the
script after Baseline JIT compilation.
The inIon fix prevents an iloop when running jit-test/tests/ion/bug1324521.js
Depends on D41573
Assignee | ||
Comment 4•5 years ago
|
||
ION_PENDING_SCRIPT didn't add anything over setting |ion| to nullptr.
Depends on D41574
Assignee | ||
Comment 5•5 years ago
|
||
We want to move BaselineScript and IonScript to JitScript, but JitScriptp can be
discarded on GC. These flags ensure this state is persisted when that happens.
Depends on D41575
Assignee | ||
Comment 6•5 years ago
|
||
Depends on D41578
Assignee | ||
Comment 7•5 years ago
|
||
This also removes BaselineScript::Trace and IonScript::Trace that were just
forwarding to the non-static trace().
Depends on D41582
Assignee | ||
Comment 8•5 years ago
|
||
This is more consistent with the rest of the code.
Depends on D41708
Assignee | ||
Comment 9•5 years ago
|
||
Depends on D41709
Assignee | ||
Comment 10•5 years ago
|
||
This defines both |constexpr uintptr_t| and |const pointer| values. reinterpret_cast
in constexpr is not allowed and this way we can still use these values in static_asserts.
Depends on D42108
Comment 11•5 years ago
|
||
Comment 12•5 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/b66c924e9a1f
https://hg.mozilla.org/mozilla-central/rev/c437f2caa6d0
https://hg.mozilla.org/mozilla-central/rev/515f936e0df6
https://hg.mozilla.org/mozilla-central/rev/257f973566ba
https://hg.mozilla.org/mozilla-central/rev/7db7c0c4fadd
https://hg.mozilla.org/mozilla-central/rev/8bf0e43c0df0
https://hg.mozilla.org/mozilla-central/rev/f7a4be5909d3
https://hg.mozilla.org/mozilla-central/rev/11d01998d8f7
https://hg.mozilla.org/mozilla-central/rev/d024bd1f20c2
Comment 13•5 years ago
|
||
== Change summary for alert #22490 (as of Fri, 16 Aug 2019 03:55:12 GMT) ==
Improvements:
3% tp5o_webext windows7-32-shippable opt e10s stylo 153.16 -> 149.34
2% tp5o_webext linux64-shippable-qr opt e10s stylo 168.05 -> 164.63
For up to date results, see: https://treeherder.mozilla.org/perf.html#/alerts?id=22490
Comment 14•5 years ago
|
||
Also:
== Change summary for alert #22484 (as of Fri, 16 Aug 2019 02:45:37 GMT) ==
Improvements:
0.30% Base Content JS macosx1014-64-shippable opt 4,135,234.67 -> 4,123,032.00
0.30% Base Content JS linux64-shippable opt 4,134,152.00 -> 4,121,949.33
0.29% Base Content JS linux64-shippable-qr opt 4,134,232.00 -> 4,122,056.00
0.27% Base Content JS windows10-64-shippable-qr opt 4,191,769.33 -> 4,180,517.33
0.26% Base Content JS windows10-64-shippable opt 4,191,622.67 -> 4,180,517.33
For up to date results, see: https://treeherder.mozilla.org/perf.html#/alerts?id=22484
Description
•