Bug 1204866 - IonMonkey: Crash when failing to apand to parse finished list, r=bhackett
authorHannes Verschore <hv1989@gmail.com>
Thu, 17 Sep 2015 09:21:40 +0200
changeset 295605 132419105b7daf70daf48234eac1bcdc09ae80b6
parent 295604 7d9e6debd7e7e2cd4e20a96fb0aae0829cf364eb
child 295606 f9f33ed1f4da7715d47242ba2e561c468c235730
push id5245
push userraliiev@mozilla.com
push dateThu, 29 Oct 2015 11:30:51 +0000
treeherdermozilla-beta@dac831dc1bd0 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersbhackett
bugs1204866
milestone43.0a1
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
Bug 1204866 - IonMonkey: Crash when failing to apand to parse finished list, r=bhackett
js/src/vm/HelperThreads.cpp
--- a/js/src/vm/HelperThreads.cpp
+++ b/js/src/vm/HelperThreads.cpp
@@ -1272,17 +1272,18 @@ HelperThread::handleParseWorkload()
                                                     /* sourceObjectOut = */ &(parseTask->sourceObject));
     }
 
     // The callback is invoked while we are still off the main thread.
     parseTask->callback(parseTask, parseTask->callbackData);
 
     // FinishOffThreadScript will need to be called on the script to
     // migrate it into the correct compartment.
-    HelperThreadState().parseFinishedList().append(parseTask);
+    if (!HelperThreadState().parseFinishedList().append(parseTask))
+        CrashAtUnhandlableOOM("handleParseWorkload");
 
     parseTask = nullptr;
 
     // Notify the main thread in case it is waiting for the parse/emit to finish.
     HelperThreadState().notifyAll(GlobalHelperThreadState::CONSUMER);
 }
 
 void