[llvm-commits] CVS: llvm/lib/ExecutionEngine/JIT/JITEmitter.cpp

Evan Cheng evan.cheng at apple.com
Thu Jun 22 18:02:50 PDT 2006



Changes in directory llvm/lib/ExecutionEngine/JIT:

JITEmitter.cpp updated: 1.104 -> 1.105
---
Log message:

Added jump table address relocation.

---
Diffs of the changes:  (+5 -1)

 JITEmitter.cpp |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletion(-)


Index: llvm/lib/ExecutionEngine/JIT/JITEmitter.cpp
diff -u llvm/lib/ExecutionEngine/JIT/JITEmitter.cpp:1.104 llvm/lib/ExecutionEngine/JIT/JITEmitter.cpp:1.105
--- llvm/lib/ExecutionEngine/JIT/JITEmitter.cpp:1.104	Fri Jun 16 13:09:26 2006
+++ llvm/lib/ExecutionEngine/JIT/JITEmitter.cpp	Thu Jun 22 20:02:37 2006
@@ -786,9 +786,13 @@
         ResultPtr = getPointerToGlobal(MR.getGlobalValue(),
                                        BufferBegin+MR.getMachineCodeOffset(),
                                        MR.doesntNeedFunctionStub());
-      } else {
+      } else if (MR.isConstantPoolIndex()){
         assert(MR.isConstantPoolIndex());
         ResultPtr=(void*)getConstantPoolEntryAddress(MR.getConstantPoolIndex());
+      } else {
+        assert(MR.isJumpTableIndex());
+        ResultPtr=(void*)getJumpTableEntryAddress(MR.getJumpTableIndex());
+
       }
 
       MR.setResultPointer(ResultPtr);






More information about the llvm-commits mailing list