diff --git a/dom/base/CCGCScheduler.cpp b/dom/base/CCGCScheduler.cpp index 83ab3d7c55ee..1e4effdf42d0 100644 --- a/dom/base/CCGCScheduler.cpp +++ b/dom/base/CCGCScheduler.cpp @@ -474,7 +474,9 @@ void CCGCScheduler::PokeFullGC() { // set that we want a full GC we will get one eventually. s->SetNeedsFullGC(); s->SetWantMajorGC(JS::GCReason::FULL_GC_TIMER); - if (!s->mHaveAskedParent) { + if (s->mCCRunner) { + s->EnsureCCThenGC(CCReason::GC_WAITING); + } else if (!s->mHaveAskedParent) { s->EnsureGCRunner(0); } },