Backed out changeset 8743def9e748
authorSteve Fink <sfink@mozilla.com>
Mon, 24 Jan 2011 15:11:13 -0800
changeset 61244 32cf4e3c7a20c8c7f481a17aca7a4d9387795fa6
parent 61243 8f09ff778d691f8d9a08fd3acdd6d7882121924d
child 61245 19574542e48f9e0da70c3e81e058128f17c9fad8
push id18277
push usercleary@mozilla.com
push dateTue, 25 Jan 2011 03:52:51 +0000
treeherdermozilla-central@7ee91bd90e7a [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
milestone2.0b10pre
backs out8743def9e74889fc13c351b574487dcde7b8bf20
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Backed out changeset 8743def9e748
js/jsd/jsd_xpc.cpp
--- a/js/jsd/jsd_xpc.cpp
+++ b/js/jsd/jsd_xpc.cpp
@@ -518,24 +518,18 @@ jsds_GCCallbackProc (JSContext *cx, JSGC
     if (status == JSGC_END) {
         /* just to guard against reentering. */
         gGCStatus = JSGC_BEGIN;
         while (gDeadScripts)
             jsds_NotifyPendingDeadScripts (cx);
     }
 
     gGCStatus = status;
-    if (gLastGCProc && !gLastGCProc (cx, status)) {
-        /*
-         * If gLastGCProc returns false, then we're going to abort out
-         * of this GC pass without a JSGC_END callback.
-         */
-        gGCStatus = JSGC_END;
-        return JS_FALSE;
-    }
+    if (gLastGCProc)
+        return gLastGCProc (cx, status);
     
     return JS_TRUE;
 }
 
 static uintN
 jsds_ErrorHookProc (JSDContext *jsdc, JSContext *cx, const char *message,
                     JSErrorReport *report, void *callerdata)
 {
@@ -2596,18 +2590,17 @@ jsdService::Off (void)
     if (!mCx || !mRuntime)
         return NS_ERROR_NOT_INITIALIZED;
     
     if (gDeadScripts) {
         if (gGCStatus != JSGC_END)
             return NS_ERROR_NOT_AVAILABLE;
 
         JSContext *cx = JSD_GetDefaultJSContext(mCx);
-        while (gDeadScripts)
-            jsds_NotifyPendingDeadScripts (cx);
+        jsds_NotifyPendingDeadScripts(cx);
     }
 
     /*
     if (gLastGCProc != jsds_GCCallbackProc)
         JS_SetGCCallbackRT (mRuntime, gLastGCProc);
     */
 
     jsdContext::InvalidateAll();