Closed
Bug 1156552
Opened 9 years ago
Closed 9 years ago
Out-of-line BaseShape tracing
Categories
(Core :: JavaScript: GC, defect)
Core
JavaScript: GC
Tracking
()
RESOLVED
FIXED
mozilla40
Tracking | Status | |
---|---|---|
firefox40 | --- | fixed |
People
(Reporter: terrence, Assigned: terrence)
References
Details
Attachments
(1 file)
5.52 KB,
patch
|
sfink
:
review+
|
Details | Diff | Splinter Review |
BaseShapes are the 3rd least frequently called marker, and they don't recurse, so there is no need to have 2 copies for performance.
Attachment #8595026 -
Flags: review?(sphink)
Comment 1•9 years ago
|
||
Comment on attachment 8595026 [details] [diff] [review] 10.2_outofline_baseshape_tracing-v0.diff Review of attachment 8595026 [details] [diff] [review]: ----------------------------------------------------------------- ::: js/src/gc/Marking.cpp @@ -1064,5 @@ > -GCMarker::eagerlyMarkChildren(BaseShape* base) > -{ > - base->assertConsistency(); > - > - base->compartment()->mark(); What was this for, and why is it no longer necessary?
Attachment #8595026 -
Flags: review?(sphink) → review+
Assignee | ||
Comment 2•9 years ago
|
||
Good catch! I've no idea what it's for, but other types seem to have it as well. In particular, JSScript::traceChildren has an |if (trc->isGCMarker()) compartment()->mark()|, so I've added that pattern here as well.
Comment 3•9 years ago
|
||
(In reply to Terrence Cole [:terrence] from comment #2) Looks like it's for working out which compartments in a zone are still live in GCRuntime::sweepZones() and Zone::sweepCompartments().
Assignee | ||
Comment 4•9 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&revision=9d4c64043ab2
https://hg.mozilla.org/mozilla-central/rev/a7ad947cdcb7
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla40
You need to log in
before you can comment on or make changes to this bug.
Description
•