[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