mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-10-20 22:27:31 +09:00
remaining tabs to space js/src/jsgc.cpp
This commit is contained in:
parent
60e2d4889f
commit
862e0cb3ea
1 changed files with 26 additions and 26 deletions
|
|
@ -3760,8 +3760,8 @@ GCRuntime::beginMarkPhase(JS::gcreason::Reason reason, AutoLockForExclusiveAcces
|
||||||
|
|
||||||
if (isIncremental) {
|
if (isIncremental) {
|
||||||
bufferGrayRoots();
|
bufferGrayRoots();
|
||||||
markCompartments();
|
markCompartments();
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
@ -3778,11 +3778,11 @@ GCRuntime::markCompartments()
|
||||||
* (1) the compartment has been entered (set in beginMarkPhase() above)
|
* (1) the compartment has been entered (set in beginMarkPhase() above)
|
||||||
* (2) the compartment is not being collected (set in beginMarkPhase()
|
* (2) the compartment is not being collected (set in beginMarkPhase()
|
||||||
* above)
|
* above)
|
||||||
* (3) an object in the compartment was marked during root marking, either
|
* (3) an object in the compartment was marked during root marking, either
|
||||||
* as a black root or a gray root (set in RootMarking.cpp), or
|
* as a black root or a gray root (set in RootMarking.cpp), or
|
||||||
* (4) the compartment has incoming cross-compartment edges from another
|
* (4) the compartment has incoming cross-compartment edges from another
|
||||||
* compartment that has maybeAlive set (set by this method).
|
* compartment that has maybeAlive set (set by this method).
|
||||||
*
|
*
|
||||||
* If the maybeAlive is false, then we set the scheduledForDestruction flag.
|
* If the maybeAlive is false, then we set the scheduledForDestruction flag.
|
||||||
* At the end of the GC, we look for compartments where
|
* At the end of the GC, we look for compartments where
|
||||||
* scheduledForDestruction is true. These are compartments that were somehow
|
* scheduledForDestruction is true. These are compartments that were somehow
|
||||||
|
|
@ -3802,35 +3802,35 @@ GCRuntime::markCompartments()
|
||||||
|
|
||||||
/* Propagate the maybeAlive flag via cross-compartment edges. */
|
/* Propagate the maybeAlive flag via cross-compartment edges. */
|
||||||
|
|
||||||
Vector<JSCompartment*, 0, js::SystemAllocPolicy> workList;
|
Vector<JSCompartment*, 0, js::SystemAllocPolicy> workList;
|
||||||
|
|
||||||
for (CompartmentsIter comp(rt, SkipAtoms); !comp.done(); comp.next()) {
|
for (CompartmentsIter comp(rt, SkipAtoms); !comp.done(); comp.next()) {
|
||||||
if (comp->maybeAlive) {
|
if (comp->maybeAlive) {
|
||||||
if (!workList.append(comp))
|
if (!workList.append(comp))
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
while (!workList.empty()) {
|
while (!workList.empty()) {
|
||||||
JSCompartment* comp = workList.popCopy();
|
JSCompartment* comp = workList.popCopy();
|
||||||
for (JSCompartment::WrapperEnum e(comp); !e.empty(); e.popFront()) {
|
for (JSCompartment::WrapperEnum e(comp); !e.empty(); e.popFront()) {
|
||||||
if (e.front().key().is<JSString*>())
|
if (e.front().key().is<JSString*>())
|
||||||
continue;
|
continue;
|
||||||
JSCompartment* dest = e.front().mutableKey().compartment();
|
JSCompartment* dest = e.front().mutableKey().compartment();
|
||||||
if (dest && !dest->maybeAlive) {
|
if (dest && !dest->maybeAlive) {
|
||||||
dest->maybeAlive = true;
|
dest->maybeAlive = true;
|
||||||
if (!workList.append(dest))
|
if (!workList.append(dest))
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Set scheduleForDestruction based on maybeAlive. */
|
/* Set scheduleForDestruction based on maybeAlive. */
|
||||||
|
|
||||||
for (GCCompartmentsIter comp(rt); !comp.done(); comp.next()) {
|
for (GCCompartmentsIter comp(rt); !comp.done(); comp.next()) {
|
||||||
MOZ_ASSERT(!comp->scheduledForDestruction);
|
MOZ_ASSERT(!comp->scheduledForDestruction);
|
||||||
if (!comp->maybeAlive && !rt->isAtomsCompartment(comp))
|
if (!comp->maybeAlive && !rt->isAtomsCompartment(comp))
|
||||||
comp->scheduledForDestruction = true;
|
comp->scheduledForDestruction = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue