Closed
Bug 663598
Opened 14 years ago
Closed 13 years ago
javascript.options.mem.log says "full" for "compartment" gc
Categories
(Core :: JavaScript Engine, defect)
Core
JavaScript Engine
Tracking
()
RESOLVED
DUPLICATE
of bug 677079
People
(Reporter: luke, Unassigned)
Details
Pretty simple bug: DOMGCCallback checks cx->runtime->gcTriggerCompartment == NULL to determine "compartment" or "full", but this field gets set to NULL early in MarkAndSweep.
Reporter | ||
Comment 1•14 years ago
|
||
I don't know the correct canonical state to indicate compartmental vs. full gc; perhaps some gc-knowing folk care to fix this?
Comment 2•14 years ago
|
||
The right way to check is via rt->gcCurrentCompartment. This holds the right compartment if we perform a per-compartment GC.
I'm not sure rt->gcCurrentCompartment will work either. It's only set during GCCycle. It looks like DOMGCCallback is called from js_GC, so rt->gcCurrentCompartment is NULL then.
I don't think we get any kind of "assertion safety" from the fact that rt->gcCurrentCompartment is NULL outside of GCCycle, since NULL is a valid value for it (it means we're doing a full GC). So we might as well just not set it to NULL at the end of GCCycle and take out the assertion that it's NULL at the beginning.
Regardless, gcTriggerCompartment is definitely wrong.
Reporter | ||
Comment 4•13 years ago
|
||
Any new simple way to return the correct "compartment" vs. "full" ?
I guess once bug 677411 lands we can pull the info out of there.
Reporter | ||
Updated•13 years ago
|
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → DUPLICATE
You need to log in
before you can comment on or make changes to this bug.
Description
•