Clean up memory manager ownership
Since we have now only one memory manager, we might as well let the ExecutionEngine create and own it. Change-Id: I908adadf64da59e0b8f4c09d4d9502785399cb99 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
This commit is contained in:
parent
215c0458e6
commit
03573f480a
5
main.cpp
5
main.cpp
|
@ -333,7 +333,6 @@ int main(int argc, char *argv[])
|
|||
#endif // QMLJS_NO_LLVM
|
||||
case use_masm:
|
||||
case use_moth: {
|
||||
QScopedPointer<QQmlJS::VM::MemoryManager> mm(new QQmlJS::VM::MemoryManager);
|
||||
QScopedPointer<QQmlJS::EvalISelFactory> iSelFactory;
|
||||
if (mode == use_moth) {
|
||||
iSelFactory.reset(new QQmlJS::Moth::ISelFactory);
|
||||
|
@ -341,7 +340,7 @@ int main(int argc, char *argv[])
|
|||
iSelFactory.reset(new QQmlJS::MASM::ISelFactory);
|
||||
}
|
||||
|
||||
QQmlJS::VM::ExecutionEngine vm(mm.data(), iSelFactory.data());
|
||||
QQmlJS::VM::ExecutionEngine vm(iSelFactory.data());
|
||||
|
||||
QScopedPointer<QQmlJS::Debugging::Debugger> debugger;
|
||||
if (enableDebugging)
|
||||
|
@ -396,7 +395,7 @@ int main(int argc, char *argv[])
|
|||
}
|
||||
}
|
||||
|
||||
mm->dumpStats();
|
||||
vm.memoryManager->dumpStats();
|
||||
} return EXIT_SUCCESS;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -66,8 +66,8 @@ public:
|
|||
}
|
||||
};
|
||||
|
||||
ExecutionEngine::ExecutionEngine(MemoryManager *memoryManager, EvalISelFactory *factory)
|
||||
: memoryManager(memoryManager)
|
||||
ExecutionEngine::ExecutionEngine(EvalISelFactory *factory)
|
||||
: memoryManager(new QQmlJS::VM::MemoryManager)
|
||||
, iselFactory(factory)
|
||||
, debugger(0)
|
||||
, globalObject(Value::nullValue())
|
||||
|
@ -216,6 +216,7 @@ ExecutionEngine::~ExecutionEngine()
|
|||
delete globalObject.asObject();
|
||||
delete rootContext;
|
||||
qDeleteAll(functions);
|
||||
delete memoryManager;
|
||||
}
|
||||
|
||||
ExecutionContext *ExecutionEngine::newContext()
|
||||
|
|
|
@ -157,7 +157,7 @@ struct ExecutionEngine
|
|||
QScopedPointer<class StringPool> stringPool;
|
||||
QVector<Function *> functions;
|
||||
|
||||
ExecutionEngine(MemoryManager *memoryManager, EvalISelFactory *iselFactory);
|
||||
ExecutionEngine(EvalISelFactory *iselFactory);
|
||||
~ExecutionEngine();
|
||||
|
||||
ExecutionContext *newContext();
|
||||
|
|
Loading…
Reference in New Issue