After obtaining the lock, look if the function has been codegen'd by

another thread.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73227 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Nicolas Geoffray 2009-06-12 14:11:08 +00:00
parent f343b69f47
commit e91208c963

View File

@ -563,6 +563,11 @@ void *JIT::getPointerToFunction(Function *F) {
return Addr; // Check if function already code gen'd
MutexGuard locked(lock);
// Now that this thread owns the lock, check if another thread has already
// code gen'd the function.
if (void *Addr = getPointerToGlobalIfAvailable(F))
return Addr;
// Make sure we read in the function if it exists in this Module.
if (F->hasNotBeenReadFromBitcode()) {