Author: edelsohn
Branch: ppc-jit-backend
Changeset: r49341:da65114e1734
Date: 2011-11-11 14:56 -0500
http://bitbucket.org/pypy/pypy/changeset/da65114e1734/
Log: Align PPC64 stack
diff --git a/pypy/jit/backend/ppc/ppcgen/opassembler.py
b/pypy/jit/backend/ppc/ppcgen/opassembler.py
--- a/pypy/jit/backend/ppc/ppcgen/opassembler.py
+++ b/pypy/jit/backend/ppc/ppcgen/opassembler.py
@@ -3,7 +3,8 @@
import pypy.jit.backend.ppc.ppcgen.condition as c
import pypy.jit.backend.ppc.ppcgen.register as r
from pypy.jit.backend.ppc.ppcgen.arch import (IS_PPC_32, WORD,
- GPR_SAVE_AREA, BACKCHAIN_SIZE)
+ GPR_SAVE_AREA, BACKCHAIN_SIZE,
+ MAX_REG_PARAMS)
from pypy.jit.metainterp.history import LoopToken, AbstractFailDescr, FLOAT
from pypy.rlib.objectmodel import we_are_translated
@@ -529,7 +530,9 @@
self.mc.stw(r.r0.value, r.SP.value, stack_space + WORD)
else:
# ABI fixed frame + 8 GPRs + arguments
- stack_space = (6 + 8 + len(stack_args)) * WORD
+ stack_space = (6 + MAX_REG_PARAMS + len(stack_args)) * WORD
+ while stack_space % (2 * WORD) != 0:
+ stack_space += 1
self.mc.stdu(r.SP.value, r.SP.value, -stack_space)
self.mc.mflr(r.r0.value)
self.mc.std(r.r0.value, r.SP.value, stack_space + 2 * WORD)
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit