[llvm-branch-commits] [llvm-branch] r98766 - /llvm/branches/Apple/Hermes/lib/ExecutionEngine/JIT/JITEmitter.cpp
Eric Christopher
echristo at apple.com
Wed Mar 17 13:56:08 PDT 2010
Author: echristo
Date: Wed Mar 17 15:56:08 2010
New Revision: 98766
URL: http://llvm.org/viewvc/llvm-project?rev=98766&view=rev
Log:
Make sure stubs are created if we need dlsym stubs for some external
functions (e.g. cos, sin).
Patch by Mon Ping!
Modified:
llvm/branches/Apple/Hermes/lib/ExecutionEngine/JIT/JITEmitter.cpp
Modified: llvm/branches/Apple/Hermes/lib/ExecutionEngine/JIT/JITEmitter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/Apple/Hermes/lib/ExecutionEngine/JIT/JITEmitter.cpp?rev=98766&r1=98765&r2=98766&view=diff
==============================================================================
--- llvm/branches/Apple/Hermes/lib/ExecutionEngine/JIT/JITEmitter.cpp (original)
+++ llvm/branches/Apple/Hermes/lib/ExecutionEngine/JIT/JITEmitter.cpp Wed Mar 17 15:56:08 2010
@@ -1124,17 +1124,15 @@
<< ResultPtr << "]\n");
// If the target REALLY wants a stub for this function, emit it now.
- if (MR.mayNeedFarStub()) {
- if (!TheJIT->areDlsymStubsEnabled()) {
+ if (MR.mayNeedFarStub() && !TheJIT->areDlsymStubsEnabled()) {
ResultPtr = Resolver.getExternalFunctionStub(ResultPtr);
- } else {
- void *&Stub = ExtFnStubs[MR.getExternalSymbol()];
- if (!Stub) {
- Stub = Resolver.getExternalFunctionStub((void *)&Stub);
- AddStubToCurrentFunction(Stub);
- }
- ResultPtr = Stub;
+ } else if (TheJIT->areDlsymStubsEnabled()) {
+ void *&Stub = ExtFnStubs[MR.getExternalSymbol()];
+ if (!Stub) {
+ Stub = Resolver.getExternalFunctionStub((void *)&Stub);
+ AddStubToCurrentFunction(Stub);
}
+ ResultPtr = Stub;
}
} else if (MR.isGlobalValue()) {
ResultPtr = getPointerToGlobal(MR.getGlobalValue(),
More information about the llvm-branch-commits
mailing list