[pypy-commit] pypy ppc-jit-backend: Bah, found what is causing the ppc bug.
noreply at buildbot.pypy.org
Wed Aug 22 07:42:56 CEST 2012
Author: Armin Rigo <arigo at tunes.org>
Date: 2012-08-22 07:30 +0200
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
@@ -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:
+ # If it's -1 we are done with the JIT frame.
+ while rffi.cast(lltype.Signed, callshape) != -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)
def write_callshape(self, p, force_index):
More information about the pypy-commit