Author: Armin Rigo <[email protected]>
Branch: ppc-jit-backend
Changeset: r56786:69156e674339
Date: 2012-08-22 07:30 +0200
http://bitbucket.org/pypy/pypy/changeset/69156e674339/
Log: Bah, found what is causing the ppc bug.
diff --git a/pypy/jit/backend/llsupport/gc.py b/pypy/jit/backend/llsupport/gc.py
--- a/pypy/jit/backend/llsupport/gc.py
+++ b/pypy/jit/backend/llsupport/gc.py
@@ -487,8 +487,8 @@
callshape = iself.callshape
#
# 'callshape' points to the next INT of the callshape.
- # If it's zero we are done with the JIT frame.
- while rffi.cast(lltype.Signed, callshape[0]) != 0:
+ # If it's -1 we are done with the JIT frame.
+ while rffi.cast(lltype.Signed, callshape[0]) != -1:
#
# Non-zero: it's an offset inside the JIT frame.
# Read it and increment 'callshape'.
@@ -542,7 +542,10 @@
p = rffi.cast(self.INTARRAYPTR, rawaddr)
for i in range(length):
p[i] = rffi.cast(rffi.INT, shape[i])
- p[length] = rffi.cast(rffi.INT, 0)
+ # "-1" is added as an end marker. It used to be 0, but that conflicts
+ # with legal values on the PPC backend :-/ -1 is never a legal value
+ # because it's not aligned to a multiple of 4.
+ p[length] = rffi.cast(rffi.INT, -1)
return p
def write_callshape(self, p, force_index):
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit