diff options
author | Simon Hausmann <simon.hausmann@qt.io> | 2017-01-06 09:22:27 +0100 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@qt.io> | 2017-01-06 10:09:42 +0000 |
commit | fffb997e192a72b4dcd66edc2fbad5473dd359f3 (patch) | |
tree | f6b465e797e7977d26cdb8902178dcb5f1787141 | |
parent | 884d06db09bc6179baa3add42ff4ef5f3cd0e523 (diff) |
-rw-r--r-- | src/qml/jit/qv4regalloc.cpp | 10 |
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(); |