Don't release the Module, as that invalidates the Module* within the

ModuleProvider, which has bad consequences in lli::callAsMain() which tries to
access that same Module*.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9205 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Misha Brukman 2003-10-17 18:31:59 +00:00
parent 9b8c2911d9
commit 05701573aa

View File

@ -28,7 +28,7 @@ ExecutionEngine::ExecutionEngine(ModuleProvider *P) :
}
ExecutionEngine::ExecutionEngine(Module *M) : CurMod(*M), MP(0) {
assert(M && "Module is null?");
assert(M && "Module is null?");
}
ExecutionEngine::~ExecutionEngine() {
@ -51,7 +51,7 @@ ExecutionEngine *ExecutionEngine::create(ModuleProvider *MP,
// If we can't make a JIT, make an interpreter instead.
try {
if (EE == 0)
EE = Interpreter::create(MP->releaseModule(), TraceMode);
EE = Interpreter::create(MP->materializeModule(), TraceMode);
} catch (...) {
EE = 0;
}