diff options
author | Liang Qi <liang.qi@qt.io> | 2017-10-15 21:30:20 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2017-10-15 21:37:14 +0200 |
commit | 96b2323355a082599b7191f3079e8363bee825e0 (patch) | |
tree | ec2c3737566802816eb8aed8539a354179394359 /src/qml/jsruntime/qv4engine.cpp | |
parent | 83e9d165761ad68730722aeb0bffb8fabe555d1f (diff) | |
parent | 0af2998cc99e90e3df34f794801340d8a769c735 (diff) |
Merge remote-tracking branch 'origin/5.9' into 5.10
Conflicts:
.qmake.conf
src/qml/jsruntime/qv4engine.cpp
Change-Id: I5f7b63a937a214267e15ad5757844d662a4f981b
Diffstat (limited to 'src/qml/jsruntime/qv4engine.cpp')
-rw-r--r-- | src/qml/jsruntime/qv4engine.cpp | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/src/qml/jsruntime/qv4engine.cpp b/src/qml/jsruntime/qv4engine.cpp index a5fc37b91b..7b298a302c 100644 --- a/src/qml/jsruntime/qv4engine.cpp +++ b/src/qml/jsruntime/qv4engine.cpp @@ -502,10 +502,8 @@ ExecutionEngine::~ExecutionEngine() delete identifierTable; delete memoryManager; - QSet<QV4::CompiledData::CompilationUnit*> remainingUnits; - qSwap(compilationUnits, remainingUnits); - for (QV4::CompiledData::CompilationUnit *unit : qAsConst(remainingUnits)) - unit->unlink(); + while (!compilationUnits.isEmpty()) + (*compilationUnits.begin())->unlink(); internalClasses[Class_Empty]->destroy(); delete classPool; @@ -970,9 +968,8 @@ void ExecutionEngine::markObjects(MarkStack *markStack) classPool->markObjects(markStack); markStack->drain(); - for (QSet<CompiledData::CompilationUnit*>::ConstIterator it = compilationUnits.constBegin(), end = compilationUnits.constEnd(); - it != end; ++it) { - (*it)->markObjects(markStack); + for (auto compilationUnit: compilationUnits) { + compilationUnit->markObjects(markStack); markStack->drain(); } } |