aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2017-01-14 22:09:58 +0100
committerLiang Qi <liang.qi@qt.io>2017-01-14 22:09:58 +0100
commitb6ed5ff46f4637c51fcc39305aac270f2f878409 (patch)
tree3e6ac628b857cf7bfad0f2458f035ac28c3b570c /src
parent5f828705bd694e71f6971f9e441cd6107ecb8130 (diff)
parentfffb997e192a72b4dcd66edc2fbad5473dd359f3 (diff)
Merge remote-tracking branch 'origin/5.8.0' into 5.8
Diffstat (limited to 'src')
-rw-r--r--src/qml/jit/qv4regalloc.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/qml/jit/qv4regalloc.cpp b/src/qml/jit/qv4regalloc.cpp
index 406b9096ea..b168a1e2ba 100644
--- a/src/qml/jit/qv4regalloc.cpp
+++ b/src/qml/jit/qv4regalloc.cpp
@@ -969,7 +969,15 @@ private:
break;
Q_ASSERT(!i->isFixedInterval());
- _liveIntervals.push_back(i);
+ auto it = _liveIntervals.begin();
+ for (; it != _liveIntervals.end(); ++it) {
+ if ((*it)->temp() == i->temp()) {
+ *it = i;
+ break;
+ }
+ }
+ if (it == _liveIntervals.end())
+ _liveIntervals.push_back(i);
// qDebug() << "-- Activating interval for temp" << i->temp().index;
_unprocessedReverseOrder.removeLast();