diff options
author | Liang Qi <liang.qi@qt.io> | 2017-01-14 22:09:58 +0100 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2017-01-14 22:09:58 +0100 |
commit | b6ed5ff46f4637c51fcc39305aac270f2f878409 (patch) | |
tree | 3e6ac628b857cf7bfad0f2458f035ac28c3b570c /src | |
parent | 5f828705bd694e71f6971f9e441cd6107ecb8130 (diff) | |
parent | fffb997e192a72b4dcd66edc2fbad5473dd359f3 (diff) |
Merge remote-tracking branch 'origin/5.8.0' into 5.8
Change-Id: I981c19429b1bf6f0990b5740c165e235829f702e
Diffstat (limited to 'src')
-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(); |