[pypy-commit] pypy ppc-jit-backend: (bivab, hager): Read function address out of function descriptor in case of 64 bit.

hager noreply at buildbot.pypy.org
Tue Nov 8 18:18:00 CET 2011


Author: hager <sven.hager at uni-duesseldorf.de>
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 


More information about the pypy-commit mailing list