Add additional JIT hints for IC states
Categories
(Core :: JavaScript Engine: JIT, enhancement, P3)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox152 | --- | fixed |
People
(Reporter: denispal, Assigned: denispal)
References
(Blocks 4 open bugs)
Details
(Keywords: perf-alert, Whiteboard: [fxpe])
Attachments
(2 files, 2 obsolete files)
We can get a small win (~0.5%) on Speedometer3 by caching hints for IC state modes and inlining candidate states. The former pre-initializes ICs to their previously observed Megamorphic/Generic modes, skipping the warmup cycle where ICs start at Specialized and must transition through failures. The latter pre-seeds call sites that previously reached TrialInliningState::Candidate, so trial inlining fires on the first call of a subsequent navigation rather than requiring another full warmup.
| Assignee | ||
Comment 1•2 months ago
|
||
| Assignee | ||
Comment 2•2 months ago
|
||
| Assignee | ||
Comment 3•2 months ago
|
||
| Assignee | ||
Comment 4•2 months ago
|
||
Updated•2 months ago
|
Updated•2 months ago
|
Updated•2 months ago
|
| Assignee | ||
Updated•2 months ago
|
| Assignee | ||
Comment 5•2 months ago
|
||
Iain helped find some glaring issues with the inlining candidates approach so will remove those patches. But caching IC states does still seem to improve Speedometer3 by about 0.7% overall. https://perf.compare/compare-results?baseRev=b9b51bd68b3e53942d90b53e9807fa35fbe544e9&baseRepo=try&newRev=27dfec9936a19d9bd220ff91d6656dd7da2e2d0f&newRepo=try&framework=13
https://hg.mozilla.org/mozilla-central/rev/d11b727e1981
https://hg.mozilla.org/mozilla-central/rev/e47d36d4c86c
Updated•1 month ago
|
Updated•1 month ago
|
Comment 8•25 days ago
|
||
(In reply to pstanciu from comment #7)
https://hg.mozilla.org/mozilla-central/rev/d11b727e1981
https://hg.mozilla.org/mozilla-central/rev/e47d36d4c86c
Perfherder has detected a browsertime performance change from push e47d36d4c86c6ef81802f2965174e9398cb17664.
No action is required from the author; this comment is provided for informational purposes only.
| Improvement | Test | Platform | Options | Absolute values [old vs new] | Performance Profiles |
|---|---|---|---|---|---|
| 4% | speedometer3 Charts-chartjs/total (doc) | linux2404-64-nightlyasrelease | fission webrender | 80.79 ms -> 77.28 ms | Before/After |
| 3% | speedometer3 Charts-chartjs/total (doc) | linux2404-64-nightlyasrelease | fission webrender | 79.47 ms -> 77.37 ms | Before/After |
Need Help or Information?
If you have any questions, please reach out to fbilt@mozilla.com. Alternatively, you can find help on Slack by joining #perf-help, and on Matrix you can find help by joining #perftest.
Details of the alert can be found in the alert summary, including links to graphs and comparisons for each of the affected tests.
Comment 9•21 days ago
|
||
(In reply to Pulsebot from comment #6)
Pushed by dpalmeiro@mozilla.com:
https://github.com/mozilla-firefox/firefox/commit/881751867c49
https://hg.mozilla.org/integration/autoland/rev/d11b727e1981
Pre-initialize Baseline IC modes from JitHints cache. r=iain
https://github.com/mozilla-firefox/firefox/commit/d48a340f90b3
https://hg.mozilla.org/integration/autoland/rev/e47d36d4c86c
Add jit-test for IC mode hints. r=iain
Perfherder has detected a talos performance change from push e47d36d4c86c6ef81802f2965174e9398cb17664.
No action is required from the author; this comment is provided for informational purposes only.
| Improvement | Test | Platform | Options | Absolute values [old vs new] |
|---|---|---|---|---|
| 6% | pdfpaint issue5909_original.pdf (doc) | macosx1470-64-shippable | e10s fission stylo webrender-sw | 369.53 ms -> 346.49 ms |
Need Help or Information?
If you have any questions, please reach out to bacasandrei@mozilla.com. Alternatively, you can find help on Slack by joining #perf-help, and on Matrix you can find help by joining #perftest.
Details of the alert can be found in the alert summary, including links to graphs and comparisons for each of the affected tests.
Updated•18 days ago
|
Description
•