mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-22 04:36:42 +00:00
Execution Engine cleanups
This commit is contained in:
parent
b37ce8e972
commit
bd85efa299
1 changed files with 0 additions and 5 deletions
|
|
@ -53,15 +53,11 @@ ReturnCode ExecutionEngine::run(std::unique_ptr<llvm::Module> _module, RuntimeDa
|
||||||
static const auto program = "EVM JIT";
|
static const auto program = "EVM JIT";
|
||||||
llvm::PrettyStackTraceProgram X(1, &program);
|
llvm::PrettyStackTraceProgram X(1, &program);
|
||||||
|
|
||||||
llvm::InitializeNativeTarget();
|
|
||||||
llvm::InitializeNativeTargetAsmPrinter();
|
llvm::InitializeNativeTargetAsmPrinter();
|
||||||
llvm::InitializeNativeTargetAsmParser();
|
|
||||||
|
|
||||||
llvm::EngineBuilder builder(module);
|
llvm::EngineBuilder builder(module);
|
||||||
builder.setEngineKind(llvm::EngineKind::JIT);
|
builder.setEngineKind(llvm::EngineKind::JIT);
|
||||||
builder.setUseMCJIT(true);
|
builder.setUseMCJIT(true);
|
||||||
std::unique_ptr<llvm::SectionMemoryManager> memoryManager(new llvm::SectionMemoryManager);
|
|
||||||
builder.setMCJITMemoryManager(memoryManager.get());
|
|
||||||
builder.setOptLevel(llvm::CodeGenOpt::None);
|
builder.setOptLevel(llvm::CodeGenOpt::None);
|
||||||
|
|
||||||
auto triple = llvm::Triple(llvm::sys::getProcessTriple());
|
auto triple = llvm::Triple(llvm::sys::getProcessTriple());
|
||||||
|
|
@ -74,7 +70,6 @@ ReturnCode ExecutionEngine::run(std::unique_ptr<llvm::Module> _module, RuntimeDa
|
||||||
if (!exec.engine)
|
if (!exec.engine)
|
||||||
return ReturnCode::LLVMConfigError;
|
return ReturnCode::LLVMConfigError;
|
||||||
_module.release(); // Successfully created llvm::ExecutionEngine takes ownership of the module
|
_module.release(); // Successfully created llvm::ExecutionEngine takes ownership of the module
|
||||||
memoryManager.release(); // and memory manager
|
|
||||||
|
|
||||||
// TODO: Finalization not needed when llvm::ExecutionEngine::getFunctionAddress used
|
// TODO: Finalization not needed when llvm::ExecutionEngine::getFunctionAddress used
|
||||||
//auto finalizationStartTime = std::chrono::high_resolution_clock::now();
|
//auto finalizationStartTime = std::chrono::high_resolution_clock::now();
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue