mirror of
https://github.com/classilla/tenfourfox.git
synced 2025-02-06 02:30:56 +00:00
#438: revert M1371908 for startup assertions and crashes
This commit is contained in:
parent
96e1bd02f4
commit
956fd74ca6
@ -1,6 +0,0 @@
|
||||
if (helperThreadCount() === 0)
|
||||
quit();
|
||||
offThreadCompileScript("");
|
||||
startgc(0);
|
||||
runOffThreadScript();
|
||||
|
@ -1,21 +0,0 @@
|
||||
if (!("setGCCallback" in this &&
|
||||
"schedulegc" in this &&
|
||||
"gcslice" in this &&
|
||||
"newGlobal" in this &&
|
||||
"helperThreadCount" in this))
|
||||
{
|
||||
quit();
|
||||
}
|
||||
|
||||
if (helperThreadCount() == 0)
|
||||
quit();
|
||||
|
||||
setGCCallback({
|
||||
action: "majorGC",
|
||||
});
|
||||
schedulegc(this)
|
||||
gcslice(3)
|
||||
var lfGlobal = newGlobal();
|
||||
lfGlobal.offThreadCompileScript("");
|
||||
lfGlobal.runOffThreadScript();
|
||||
|
@ -6845,11 +6845,7 @@ gc::MergeCompartments(JSCompartment* source, JSCompartment* target)
|
||||
|
||||
JSRuntime* rt = source->runtimeFromMainThread();
|
||||
|
||||
MOZ_ASSERT(!source->zone()->wasGCStarted());
|
||||
MOZ_ASSERT(!target->zone()->wasGCStarted());
|
||||
JS::AutoAssertOnGC nogc(rt);
|
||||
|
||||
AutoTraceSession session(rt);
|
||||
AutoPrepareForTracing prepare(rt, SkipAtoms);
|
||||
|
||||
// Cleanup tables and other state in the source compartment that will be
|
||||
// meaningless after merging into the target compartment.
|
||||
|
@ -1103,13 +1103,12 @@ GlobalHelperThreadState::mergeParseTaskCompartment(JSRuntime* rt, ParseTask* par
|
||||
Handle<GlobalObject*> global,
|
||||
JSCompartment* dest)
|
||||
{
|
||||
// Finish any ongoing incremental GC that may affect the destination zone.
|
||||
if (JS::IsIncrementalGCInProgress(rt) && dest->zone()->wasGCStarted())
|
||||
JS::FinishIncrementalGC(rt, JS::gcreason::API);
|
||||
|
||||
// After we call LeaveParseTaskZone() it's not safe to GC until we have
|
||||
// finished merging the contents of the parse task's compartment into the
|
||||
// destination compartment.
|
||||
// destination compartment. Finish any ongoing incremental GC first and
|
||||
// assert that no allocation can occur. (Bug 1371908 changes this, but
|
||||
// generates assertion failures.)
|
||||
gc::AutoFinishGC finishGC(rt);
|
||||
JS::AutoAssertNoAlloc noAlloc(rt);
|
||||
|
||||
LeaveParseTaskZone(rt, parseTask);
|
||||
|
Loading…
x
Reference in New Issue
Block a user