Closed Bug 2029024 Opened 2 months ago Closed 1 month ago

Add additional JIT hints for IC states

Categories

(Core :: JavaScript Engine: JIT, enhancement, P3)

enhancement

Tracking

()

RESOLVED FIXED
152 Branch
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.

Severity: -- → N/A
Priority: -- → P3
Attachment #9566413 - Attachment is obsolete: true
Attachment #9566415 - Attachment is obsolete: true
Summary: Add additional JIT hints for IC states and inlining candidates → Add additional JIT hints for IC states

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

Regressions: 2038078
Status: NEW → RESOLVED
Closed: 1 month ago
Resolution: --- → FIXED
Target Milestone: --- → 152 Branch
Whiteboard: [fxpe]

(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.

Keywords: perf-alert

(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.

QA Whiteboard: [qa-triage-done-c153/b152]
Regressions: 2044837
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: