From 7b2b40f9ac21e7349735dd7a5096f29a35d8cd02 Mon Sep 17 00:00:00 2001 From: Misha Brukman Date: Tue, 14 Oct 2003 21:36:31 +0000 Subject: [PATCH] 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 --- lib/ExecutionEngine/ExecutionEngine.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/ExecutionEngine/ExecutionEngine.cpp b/lib/ExecutionEngine/ExecutionEngine.cpp index 429d54b671d..35a735d647c 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; }