ExecutionEngine.cpp: Move execution engine creation stuff into a new

static method here.
 Remove some extra blank lines.
ExecutionEngine.h: Add its prototype.
lli.cpp: Call it.

Make creation method for each type of EE into a static method of its
own subclass.

Interpreter/Interpreter.cpp: ExecutionEngine::createInterpreter -->
 Interpreter::create
Interpreter/Interpreter.h: Likewise.
JIT/JIT.cpp: ExecutionEngine::createJIT --> VM::create
JIT/VM.h: Likewise.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8343 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Brian Gaeke
2003-09-03 20:34:19 +00:00
parent 6c51a36371
commit 82d8277ad5
8 changed files with 44 additions and 21 deletions

View File

@ -15,9 +15,25 @@
#include "Support/Debug.h"
#include "Support/Statistic.h"
#include "Config/dlfcn.h"
#include "JIT/VM.h"
#include "Interpreter/Interpreter.h"
Statistic<> NumInitBytes("lli", "Number of bytes of global vars initialized");
ExecutionEngine *ExecutionEngine::create (Module *M, bool ForceInterpreter,
bool DebugMode, bool TraceMode) {
ExecutionEngine *EE = 0;
// If there is nothing that is forcing us to use the interpreter, make a JIT.
if (!ForceInterpreter && !DebugMode && !TraceMode)
EE = VM::create(M);
// If we can't make a JIT, make an interpreter instead.
if (EE == 0)
EE = Interpreter::create(M, DebugMode, TraceMode);
return EE;
}
// getPointerToGlobal - This returns the address of the specified global
// value. This may involve code generation if it's a function.
//
@ -29,7 +45,6 @@ void *ExecutionEngine::getPointerToGlobal(const GlobalValue *GV) {
return GlobalAddress[GV];
}
GenericValue ExecutionEngine::getConstantValue(const Constant *C) {
GenericValue Result;
@ -259,7 +274,6 @@ GenericValue ExecutionEngine::LoadValueFromMemory(GenericValue *Ptr,
return Result;
}
// InitializeMemory - Recursive function to apply a Constant value into the
// specified memory location...
//