diff --git a/mozilla/js/src/jsgc.c b/mozilla/js/src/jsgc.c index da6621a0385..5420f25f8bb 100644 --- a/mozilla/js/src/jsgc.c +++ b/mozilla/js/src/jsgc.c @@ -1277,16 +1277,8 @@ restart: } } -#define GC_CALLBACK(status) \ - if (rt->gcCallback) { \ - if (status == JSGC_END && gcflags & GC_ALREADY_LOCKED) \ - JS_UNLOCK_GC(rt); \ - (void) rt->gcCallback(cx, status); \ - if (status == JSGC_END && gcflags & GC_ALREADY_LOCKED) \ - JS_LOCK_GC(rt); \ - } - - GC_CALLBACK(JSGC_MARK_END); + if (rt->gcCallback) + (void) rt->gcCallback(cx, JSGC_MARK_END); /* * Sweep phase. @@ -1378,7 +1370,8 @@ restart: /* Terminate the new freelist. */ *flp = NULL; - GC_CALLBACK(JSGC_FINALIZE_END); + if (rt->gcCallback) + (void) rt->gcCallback(cx, JSGC_FINALIZE_END); out: JS_LOCK_GC(rt); @@ -1402,7 +1395,11 @@ out: JS_UNLOCK_GC(rt); #endif - GC_CALLBACK(JSGC_END); - -#undef GC_CALLBACK + if (rt->gcCallback) { + if (gcflags & GC_ALREADY_LOCKED) + JS_UNLOCK_GC(rt); + (void) rt->gcCallback(cx, JSGC_END); + if (gcflags & GC_ALREADY_LOCKED) + JS_LOCK_GC(rt); + } }