Bug 1027897 - IonMonkey: Intervals are sorted by their start. r=bhackett
authorDan Gohman <sunfish@mozilla.com>
Mon, 23 Jun 2014 13:42:07 -0700
changeset 190338 bcd538f7e0195013ec7dca3b1a02db0a3ac53556
parent 190337 a965be2731d43676863a57e994d66275f7d0a4fa
child 190339 8051e8fec75fb274b8394c4114bcd9d59806c982
push id27004
push useremorley@mozilla.com
push dateTue, 24 Jun 2014 15:52:34 +0000
treeherdermozilla-central@7b174d47f3cc [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersbhackett
bugs1027897
milestone33.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 1027897 - IonMonkey: Intervals are sorted by their start. r=bhackett
js/src/jit/LiveRangeAllocator.cpp
--- a/js/src/jit/LiveRangeAllocator.cpp
+++ b/js/src/jit/LiveRangeAllocator.cpp
@@ -417,20 +417,21 @@ LiveInterval::firstIncompatibleUse(LAllo
             return usePos->pos;
     }
     return CodePosition::MAX;
 }
 
 LiveInterval *
 VirtualRegister::intervalFor(CodePosition pos)
 {
+    // Intervals are sorted in ascending order by their start position.
     for (LiveInterval **i = intervals_.begin(); i != intervals_.end(); i++) {
         if ((*i)->covers(pos))
             return *i;
-        if (pos < (*i)->end())
+        if (pos < (*i)->start())
             break;
     }
     return nullptr;
 }
 
 LiveInterval *
 VirtualRegister::getFirstInterval()
 {