Author: hager <[email protected]>
Branch: ppc-jit-backend
Changeset: r48960:1445ebbaeb41
Date: 2011-11-08 09:17 -0800
http://bitbucket.org/pypy/pypy/changeset/1445ebbaeb41/

Log:    (bivab, hager): Read function address out of function descriptor in
        case of 64 bit.

diff --git a/pypy/jit/backend/ppc/ppcgen/ppc_assembler.py 
b/pypy/jit/backend/ppc/ppcgen/ppc_assembler.py
--- a/pypy/jit/backend/ppc/ppcgen/ppc_assembler.py
+++ b/pypy/jit/backend/ppc/ppcgen/ppc_assembler.py
@@ -300,7 +300,13 @@
         #
         decode_func_addr = llhelper(self.recovery_func_sign,
                 self.failure_recovery_func)
-        addr = rffi.cast(lltype.Signed, decode_func_addr)
+        if IS_PPC_32:
+            addr = rffi.cast(lltype.Signed, decode_func_addr)
+        else:
+            intp = lltype.Ptr(lltype.Array(lltype.Signed, hints={'nolength': 
True}))
+            descr = rffi.cast(intp, decode_func_addr)
+            addr = descr[0]
+
         #
         # load parameters into parameter registers
         mc.lwz(r.r3.value, r.SPP.value, 0)     # address of state encoding 
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to