Bug 1245152 - Ensure enough ballast space in RangeAnalysis::analyze. r=h4writer
authorNicolas B. Pierron <nicolas.b.pierron@mozilla.com>
Thu, 11 Feb 2016 17:50:53 +0000
changeset 283974 e697c6ec64add8ded52a132e85789bd10e93b4d6
parent 283973 d8c6f0bce77b785f18e12fb182d79acc8e75bf6b
child 283975 385f208a57bf983d15f09400ae3d1d8fe0a5f803
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::analyze. r=h4writer
js/src/jit/RangeAnalysis.cpp
--- a/js/src/jit/RangeAnalysis.cpp
+++ b/js/src/jit/RangeAnalysis.cpp
@@ -2241,16 +2241,18 @@ RangeAnalysis::analyze()
         // dominator before the block.
         if (block->immediateDominator()->unreachable()) {
             block->setUnreachable();
             continue;
         }
 
         for (MDefinitionIterator iter(block); iter; iter++) {
             MDefinition* def = *iter;
+            if (!alloc().ensureBallast())
+                return false;
 
             def->computeRange(alloc());
             JitSpew(JitSpew_Range, "computing range on %d", def->id());
             SpewRange(def);
         }
 
         // Beta node range analysis may have marked this block unreachable. If
         // so, it's no longer interesting to continue processing it.