Bug 1245152 - Ensure enough ballast space in RangeAnalysis::truncate. r=h4writer
authorNicolas B. Pierron <nicolas.b.pierron@mozilla.com>
Thu, 11 Feb 2016 17:50:53 +0000
changeset 283973 d8c6f0bce77b785f18e12fb182d79acc8e75bf6b
parent 283972 2e543fbdce6f12abf4b745583faf571b853b8c78
child 283974 e697c6ec64add8ded52a132e85789bd10e93b4d6
push id71766
push usernpierron@mozilla.com
push dateThu, 11 Feb 2016 17:51:03 +0000
treeherdermozilla-inbound@26277a6d10fe [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersh4writer
bugs1245152
milestone47.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 1245152 - Ensure enough ballast space in RangeAnalysis::truncate. r=h4writer
js/src/jit/RangeAnalysis.cpp
--- a/js/src/jit/RangeAnalysis.cpp
+++ b/js/src/jit/RangeAnalysis.cpp
@@ -3092,16 +3092,18 @@ RangeAnalysis::truncate()
             if (!worklist.append(*iter))
                 return false;
         }
     }
 
     // Update inputs/outputs of truncated instructions.
     JitSpew(JitSpew_Range, "Do graph type fixup (dequeue)");
     while (!worklist.empty()) {
+        if (!alloc().ensureBallast())
+            return false;
         MDefinition* def = worklist.popCopy();
         def->setNotInWorklist();
         RemoveTruncatesOnOutput(def);
         AdjustTruncatedInputs(alloc(), def);
     }
 
     // Fold any unnecessary bitops in the graph, such as (x | 0) on an integer
     // input. This is done after range analysis rather than during GVN as the