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>
#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);
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)
}
}
- mm->dumpStats();
+ vm.memoryManager->dumpStats();
} return EXIT_SUCCESS;
}
}
}
};
-ExecutionEngine::ExecutionEngine(MemoryManager *memoryManager, EvalISelFactory *factory)
- : memoryManager(memoryManager)
+ExecutionEngine::ExecutionEngine(EvalISelFactory *factory)
+ : memoryManager(new QQmlJS::VM::MemoryManager)
, iselFactory(factory)
, debugger(0)
, globalObject(Value::nullValue())
delete globalObject.asObject();
delete rootContext;
qDeleteAll(functions);
+ delete memoryManager;
}
ExecutionContext *ExecutionEngine::newContext()
QScopedPointer<class StringPool> stringPool;
QVector<Function *> functions;
- ExecutionEngine(MemoryManager *memoryManager, EvalISelFactory *iselFactory);
+ ExecutionEngine(EvalISelFactory *iselFactory);
~ExecutionEngine();
ExecutionContext *newContext();