Closed
Bug 1846267
Opened 1 year ago
Closed 1 year ago
Specialise normal marking path to remove implicit edge checks
Categories
(Core :: JavaScript: GC, task, P1)
Core
JavaScript: GC
Tracking
()
RESOLVED
FIXED
118 Branch
Tracking | Status | |
---|---|---|
firefox118 | --- | fixed |
People
(Reporter: jonco, Assigned: jonco)
References
(Blocks 1 open bug)
Details
Attachments
(1 file)
I found that specialising the normal marking path to remove the implicit edge checks was a performance win (I already did this for the parallel marking path).
This works by adding a new MarkingOptions enum and MarkingTracerT specialization that is used only when weak marking.
This improves splay and splay latency by 1.5% to 3% on macOS and Linux. Microbenchmarks focused on marking large list and tree data structures improved by 5% to 15%.
I'm not sure why this makes such a big difference but I suspect it's due to the implicit edge path being inlined into the marking code.
Assignee | ||
Comment 1•1 year ago
|
||
This works by adding a new MarkingOptions enum and MarkingTracerT
specialization that is used only when weak marking.
Updated•1 year ago
|
Pushed by jcoppeard@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/fb4bb27720d6
Specialize normal marking path to remove implicit edge checks r=sfink
Comment 3•1 year ago
|
||
bugherder |
Status: NEW → RESOLVED
Closed: 1 year ago
status-firefox118:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → 118 Branch
You need to log in
before you can comment on or make changes to this bug.
Description
•