Closed
Bug 1144925
Opened 10 years ago
Closed 10 years ago
Use a callback tracer to do gray root buffering
Categories
(Core :: JavaScript: GC, defect)
Core
JavaScript: GC
Tracking
()
RESOLVED
FIXED
mozilla39
Tracking | Status | |
---|---|---|
firefox39 | --- | fixed |
People
(Reporter: terrence, Assigned: terrence)
References
Details
Attachments
(1 file)
8.03 KB,
patch
|
jonco
:
review+
|
Details | Diff | Splinter Review |
With the prior patches in place, we can now switch this out with minimal fuss. We still need to move all of this to RootMarking.cpp where it belongs -- try run will follow after that.
Attachment #8579653 -
Flags: review?(jcoppeard)
Comment 1•10 years ago
|
||
Comment on attachment 8579653 [details] [diff] [review]
2.10_graybuffering_via_callback-v0.diff
Review of attachment 8579653 [details] [diff] [review]:
-----------------------------------------------------------------
::: js/src/gc/RootMarking.cpp
@@ -561,5 @@
> MOZ_ASSERT(grayBufferState == GrayBufferState::Unused);
> for (GCZonesIter zone(rt); !zone.done(); zone.next())
> MOZ_ASSERT(zone->gcGrayRoots.empty());
>
> - // Transform the GCMarker into an unholy CallbackTracer doppleganger.
Nice, let's slay that doppelganger.
::: js/src/gc/Tracer.h
@@ +339,5 @@
> + BufferGrayRootsTracer(JSRuntime *rt)
> + : JSTracer(rt, shim), bufferingGrayRootsFailed(false)
> + {}
> +
> + static void shim(JSTracer *trc, void **thingp, JSGCTraceKind kind) {
Can we have a more descriptive name here? Something like 'grayTraceCallback' maybe.
Attachment #8579653 -
Flags: review?(jcoppeard) → review+
Assignee | ||
Comment 2•10 years ago
|
||
Comment 3•10 years ago
|
||
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
status-firefox39:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla39
You need to log in
before you can comment on or make changes to this bug.
Description
•