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 | 7b2b40f9ac21e7349735dd7a5096f29a35d8cd02 (patch) | |
tree | cf5f3f593255850f64d871330777e3f6fd59567d /lib | |
parent | b6c54ed8f50a351989993a5ef88507abc6d63e2d (diff) | |
download | external_llvm-7b2b40f9ac21e7349735dd7a5096f29a35d8cd02.zip external_llvm-7b2b40f9ac21e7349735dd7a5096f29a35d8cd02.tar.gz external_llvm-7b2b40f9ac21e7349735dd7a5096f29a35d8cd02.tar.bz2 |
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
Diffstat (limited to 'lib')
-rw-r--r-- | lib/ExecutionEngine/ExecutionEngine.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/lib/ExecutionEngine/ExecutionEngine.cpp b/lib/ExecutionEngine/ExecutionEngine.cpp index 429d54b..35a735d 100644 --- a/lib/ExecutionEngine/ExecutionEngine.cpp +++ b/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; } |