diff options
author | Liang Qi <liang.qi@qt.io> | 2017-01-26 00:34:21 +0100 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2017-01-26 00:34:21 +0100 |
commit | 0076c44d3993f377ad6417d3bb08109b608dfbd2 (patch) | |
tree | 498a1f3d0997da8e3959e6a1d47071d56a6ce900 /src/qml/jit/qv4regalloc.cpp | |
parent | 5f0eab2df3c82a71f70ea5a6535541fa786c6a78 (diff) | |
parent | 9aed949bb99b9bf328322457a02ad1a9fb330f2d (diff) |
Merge remote-tracking branch 'origin/5.8' into dev
Conflicts:
src/quick/util/qquickutilmodule.cpp
tools/qmllint/main.cpp
Change-Id: Ic2283f88c293ca7fc776de3e83eb4c7812309d8a
Diffstat (limited to 'src/qml/jit/qv4regalloc.cpp')
-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 3fb0815299..f2ae7e117a 100644 --- a/src/qml/jit/qv4regalloc.cpp +++ b/src/qml/jit/qv4regalloc.cpp @@ -973,7 +973,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(); |