diff --git a/mozilla/js/src/jsgc.c b/mozilla/js/src/jsgc.c index 9f810bd0e8c..716daeddca3 100644 --- a/mozilla/js/src/jsgc.c +++ b/mozilla/js/src/jsgc.c @@ -2600,9 +2600,15 @@ js_GC(JSContext *cx, JSGCInvocationKind gckind) */ if (rt->gcLevel == 1 && !rt->gcPoke) goto done_running; - rt->gcLevel = 1; + rt->gcLevel = 0; rt->gcPoke = JS_FALSE; + rt->gcRunning = JS_FALSE; +#ifdef JS_THREADSAFE + rt->gcThread = NULL; + rt->requestCount += requestDebit; +#endif gckind = GC_LOCK_HELD; + goto restart_at_beginning; }