diff options
author | Jeffrey Yasskin <jyasskin@google.com> | 2009-07-08 21:59:57 +0000 |
---|---|---|
committer | Jeffrey Yasskin <jyasskin@google.com> | 2009-07-08 21:59:57 +0000 |
commit | 489393d7b92107cc3de17d8dbe7dd11ab7395fdc (patch) | |
tree | c71a1374a4b25820422f596ca8e686c01514596a /lib/ExecutionEngine/ExecutionEngine.cpp | |
parent | e41dec60fa1ad6a46ec46c848ae1a8f2f7497e12 (diff) |
Add an option to allocate JITed global data separately from code. By
default, this option is not enabled to support clients who rely on
this behavior.
Fixes http://llvm.org/PR4483
A patch to allocate additional memory for globals after we run out is
forthcoming.
Patch by Reid Kleckner!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75059 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/ExecutionEngine/ExecutionEngine.cpp')
-rw-r--r-- | lib/ExecutionEngine/ExecutionEngine.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/ExecutionEngine/ExecutionEngine.cpp b/lib/ExecutionEngine/ExecutionEngine.cpp index 69518b6584..5ff7eb17cb 100644 --- a/lib/ExecutionEngine/ExecutionEngine.cpp +++ b/lib/ExecutionEngine/ExecutionEngine.cpp @@ -384,7 +384,8 @@ int ExecutionEngine::runFunctionAsMain(Function *Fn, ExecutionEngine *ExecutionEngine::create(ModuleProvider *MP, bool ForceInterpreter, std::string *ErrorStr, - CodeGenOpt::Level OptLevel) { + CodeGenOpt::Level OptLevel, + bool GVsWithCode) { ExecutionEngine *EE = 0; // Make sure we can resolve symbols in the program as well. The zero arg @@ -394,11 +395,11 @@ ExecutionEngine *ExecutionEngine::create(ModuleProvider *MP, // Unless the interpreter was explicitly selected, try making a JIT. if (!ForceInterpreter && JITCtor) - EE = JITCtor(MP, ErrorStr, OptLevel); + EE = JITCtor(MP, ErrorStr, OptLevel, GVsWithCode); // If we can't make a JIT, make an interpreter instead. if (EE == 0 && InterpCtor) - EE = InterpCtor(MP, ErrorStr, OptLevel); + EE = InterpCtor(MP, ErrorStr, OptLevel, GVsWithCode); return EE; } |