diff options
author | Misha Brukman <brukman+llvm@gmail.com> | 2003-10-14 21:36:31 +0000 |
---|---|---|
committer | Misha Brukman <brukman+llvm@gmail.com> | 2003-10-14 21:36:31 +0000 |
commit | 2f1e200248376a12040c57aab747d5348bba9265 (patch) | |
tree | 7a9444e88ea5a0479a879f4d63897ac73b1eb506 /llvm/lib/ExecutionEngine/ExecutionEngine.cpp | |
parent | 1ff924b5c279cdf781f0866e7c94e6cf38aa6935 (diff) | |
download | bcm5719-llvm-2f1e200248376a12040c57aab747d5348bba9265.tar.gz bcm5719-llvm-2f1e200248376a12040c57aab747d5348bba9265.zip |
Enabling incremental bytecode loading in the JIT:
* ExecutionEngine and VM can be constructed using a ModuleProvider.
llvm-svn: 9124
Diffstat (limited to 'llvm/lib/ExecutionEngine/ExecutionEngine.cpp')
-rw-r--r-- | llvm/lib/ExecutionEngine/ExecutionEngine.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/llvm/lib/ExecutionEngine/ExecutionEngine.cpp b/llvm/lib/ExecutionEngine/ExecutionEngine.cpp index 429d54b671d..35a735d647c 100644 --- a/llvm/lib/ExecutionEngine/ExecutionEngine.cpp +++ b/llvm/lib/ExecutionEngine/ExecutionEngine.cpp @@ -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; } |