Closed
Bug 1685132
Opened 4 years ago
Closed 4 years ago
Simplify tracing by removing the special case for tenuring in TraceEdgeInternal
Categories
(Core :: JavaScript: GC, enhancement, P3)
Core
JavaScript: GC
Tracking
()
RESOLVED
FIXED
86 Branch
Tracking | Status | |
---|---|---|
firefox86 | --- | fixed |
People
(Reporter: jonco, Assigned: jonco)
References
Details
Attachments
(1 file)
TraceEdgeInternal has to dispatch based on the tracer kind. Currently we have special cases for marking and tenuring and otherwise we use virtual dispatch. I'd like to remove the case for tenuring. It should be possible to do this without regressing performance because this path is not the hot path during tenuring.
Assignee | ||
Comment 1•4 years ago
|
||
This simplifies tracing by removing the special case for the tenuring tracer in
TraceEdgeInternal. TenuringTracer becomes a GenericTracer and this path uses
virtual dispatch.
Most tenuring is not done by this path however and the compiler can optimise
away the virtual dispatch in the TenuringTracer::traverse methods.
I measured around 15% improvement for evicting a full nursery in local
benchmarking with this change.
Pushed by jcoppeard@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/8ccb4e4dcd08
Remove the special case for tenuring in TraceEdgeInternal r=sfink
Comment 3•4 years ago
|
||
bugherder |
Status: NEW → RESOLVED
Closed: 4 years ago
status-firefox86:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → 86 Branch
You need to log in
before you can comment on or make changes to this bug.
Description
•