Bug 1272604 - Fix hazard analysis failure r=me
authorJon Coppeard <jcoppeard@mozilla.com>
Mon, 16 May 2016 15:16:30 +0100
changeset 336526 8fcdc48065b79993547064cdca678827d3f55031
parent 336525 ee5016917ea1906dbadc4bc9a74551f5d6a06699
child 336527 10ea1cabf6d4676c3a4f6f07948eb41ed97395e0
push id6249
push userjlund@mozilla.com
push dateMon, 01 Aug 2016 13:59:36 +0000
treeherdermozilla-beta@bad9d4f5bf7e [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersme
bugs1272604
milestone49.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 1272604 - Fix hazard analysis failure r=me
js/src/gc/Verifier.cpp
--- a/js/src/gc/Verifier.cpp
+++ b/js/src/gc/Verifier.cpp
@@ -493,16 +493,18 @@ CheckHeapTracer::onChild(const JS::GCCel
     WorkItem item(thing, contextName(), parentIndex);
     if (!stack.append(item))
         oom = true;
 }
 
 bool
 CheckHeapTracer::check()
 {
+    // The analysis thinks that markRuntime might GC by calling a GC callback.
+    JS::AutoSuppressGCAnalysis nogc(rt);
     rt->gc.markRuntime(this, GCRuntime::TraceRuntime);
 
     while (!stack.empty()) {
         WorkItem item = stack.back();
         if (item.processed) {
             stack.popBack();
         } else {
             parentIndex = stack.length() - 1;