diff options
author | Evan Cheng <evan.cheng@apple.com> | 2008-09-24 16:25:55 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2008-09-24 16:25:55 +0000 |
commit | 446531e7bb4355117b070493ca8e81e4b123ef18 (patch) | |
tree | 76a5172fb16d6058cc8a26df2d7c569cd3f92591 /lib/ExecutionEngine | |
parent | f3cbca279db891403659208a99f8e1cceb8c9ea6 (diff) | |
download | external_llvm-446531e7bb4355117b070493ca8e81e4b123ef18.zip external_llvm-446531e7bb4355117b070493ca8e81e4b123ef18.tar.gz external_llvm-446531e7bb4355117b070493ca8e81e4b123ef18.tar.bz2 |
Add DisableGVCompilation which forces the JIT to assert when it tries to allocate space for a GlobalVariable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56557 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/ExecutionEngine')
-rw-r--r-- | lib/ExecutionEngine/ExecutionEngine.cpp | 1 | ||||
-rw-r--r-- | lib/ExecutionEngine/JIT/JIT.cpp | 4 |
2 files changed, 5 insertions, 0 deletions
diff --git a/lib/ExecutionEngine/ExecutionEngine.cpp b/lib/ExecutionEngine/ExecutionEngine.cpp index 52a69ea..8cc2244 100644 --- a/lib/ExecutionEngine/ExecutionEngine.cpp +++ b/lib/ExecutionEngine/ExecutionEngine.cpp @@ -40,6 +40,7 @@ ExecutionEngine::EERegisterFn ExecutionEngine::ExceptionTableRegister = 0; ExecutionEngine::ExecutionEngine(ModuleProvider *P) : LazyFunctionCreator(0) { LazyCompilationDisabled = false; + GVCompilationDisabled = false; SymbolSearchingDisabled = false; Modules.push_back(P); assert(P && "ModuleProvider is null?"); diff --git a/lib/ExecutionEngine/JIT/JIT.cpp b/lib/ExecutionEngine/JIT/JIT.cpp index 39ecc27..383b380 100644 --- a/lib/ExecutionEngine/JIT/JIT.cpp +++ b/lib/ExecutionEngine/JIT/JIT.cpp @@ -552,6 +552,10 @@ void *JIT::getOrEmitGlobalVariable(const GlobalVariable *GV) { addGlobalMapping(GV, Ptr); } } else { + if (isGVCompilationDisabled()) { + cerr << "Compilation of GlobalVariable is disabled!\n"; + abort(); + } // If the global hasn't been emitted to memory yet, allocate space and // emit it into memory. It goes in the same array as the generated // code, jump tables, etc. |