summaryrefslogtreecommitdiffstats
path: root/llvm/lib/ExecutionEngine
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-09-15 04:56:11 +0000
committerChris Lattner <sabre@nondot.org>2006-09-15 04:56:11 +0000
commit8d2b9a431bfd5f3d5976da42fff787155c3d07c0 (patch)
treef37b442652337866f7233f8a6909c5a9d0393b1a /llvm/lib/ExecutionEngine
parent8fb3d445f57c415d9d7ee6797f8c9b47df14de60 (diff)
downloadbcm5719-llvm-8d2b9a431bfd5f3d5976da42fff787155c3d07c0.tar.gz
bcm5719-llvm-8d2b9a431bfd5f3d5976da42fff787155c3d07c0.zip
Unbreak the JIT
llvm-svn: 30384
Diffstat (limited to 'llvm/lib/ExecutionEngine')
-rw-r--r--llvm/lib/ExecutionEngine/JIT/JITEmitter.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/ExecutionEngine/JIT/JITEmitter.cpp b/llvm/lib/ExecutionEngine/JIT/JITEmitter.cpp
index 264caae2c9b..4e556320ae9 100644
--- a/llvm/lib/ExecutionEngine/JIT/JITEmitter.cpp
+++ b/llvm/lib/ExecutionEngine/JIT/JITEmitter.cpp
@@ -542,7 +542,7 @@ void *JITResolver::getFunctionStub(Function *F) {
// Call the lazy resolver function unless we already KNOW it is an external
// function, in which case we just skip the lazy resolution step.
void *Actual = (void*)(intptr_t)LazyResolverFn;
- if (F->isExternal())
+ if (F->isExternal() && !F->hasNotBeenReadFromBytecode())
Actual = TheJIT->getPointerToFunction(F);
// Otherwise, codegen a new stub. For now, the stub will call the lazy
@@ -738,7 +738,7 @@ void *JITEmitter::getPointerToGlobal(GlobalValue *V, void *Reference,
void *ResultPtr = TheJIT->getPointerToGlobalIfAvailable(F);
if (ResultPtr) return ResultPtr;
- if (F->isExternal()) {
+ if (F->isExternal() && !F->hasNotBeenReadFromBytecode()) {
// If this is an external function pointer, we can force the JIT to
// 'compile' it, which really just adds it to the map.
if (DoesntNeedStub)
OpenPOWER on IntegriCloud