Enabling incremental bytecode loading in the JIT:

* ExecutionEngine and VM can be constructed using a ModuleProvider.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9124 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Misha Brukman 2003-10-14 21:36:31 +00:00
parent b6c54ed8f5
commit 7b2b40f9ac

View File

@ -22,22 +22,23 @@
Statistic<> NumInitBytes("lli", "Number of bytes of global vars initialized");
ExecutionEngine::~ExecutionEngine() {
delete &CurMod;
delete MP;
}
/// FIXME: document
///
ExecutionEngine *ExecutionEngine::create(Module *M, bool ForceInterpreter,
ExecutionEngine *ExecutionEngine::create(ModuleProvider *MP,
bool ForceInterpreter,
bool TraceMode) {
ExecutionEngine *EE = 0;
// If there is nothing that is forcing us to use the interpreter, make a JIT.
if (!ForceInterpreter && !TraceMode)
EE = VM::create(M);
EE = VM::create(MP);
// If we can't make a JIT, make an interpreter instead.
if (EE == 0)
EE = Interpreter::create(M, TraceMode);
EE = Interpreter::create(MP->releaseModule(), TraceMode);
return EE;
}