Closed Bug 731783 Opened 8 years ago Closed 8 years ago

GC: Eliminate per-compartment barrier marker

Categories

(Core :: JavaScript Engine, defect)

defect
Not set

Tracking

()

RESOLVED FIXED
mozilla13

People

(Reporter: billm, Assigned: billm)

Details

(Whiteboard: [MemShrink])

Attachments

(1 file)

Attached patch patchSplinter Review
We don't need this anymore since the runtime is now single-threaded.

I also fixed GCMarker::stop so that it releases memory that was allocated during the collection.
Attachment #601754 - Flags: review?(igor)
Whiteboard: [MemShrink]
Comment on attachment 601754 [details] [diff] [review]
patch

Review of attachment 601754 [details] [diff] [review]:
-----------------------------------------------------------------

Nice!
Attachment #601754 - Flags: review?(igor) → review+
Just so it's clear, this won't decrease memory usage by much at all. The stuff that we were pushing onto the per-compartment mark stack will now be pushed onto the per-runtime mark stack. But I guess that's a little better from a memshrink perspective because we have a memory reporter for the latter and not for the former.
> Just so it's clear, this won't decrease memory usage by much at all.

I clarified this with billm on IRC.  With heavy usage the MarkStack can grow a lot.  E.g. with MemBench it gets up to 2.8MB.  Prior to this patch, once grown it would never shrink again, but with this patch it will shrink back to 256KB.
https://hg.mozilla.org/mozilla-central/rev/fbdaf507dcb5
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.