Author: Ivan Sichmann Freitas <ivansichfrei...@gmail.com> Branch: ppc-updated-backend Changeset: r71430:e20b769ecc66 Date: 2014-05-09 14:12 +0000 http://bitbucket.org/pypy/pypy/changeset/e20b769ecc66/
Log: Define JITFRAME_FIXED_SIZE diff --git a/rpython/jit/backend/ppc/arch.py b/rpython/jit/backend/ppc/arch.py --- a/rpython/jit/backend/ppc/arch.py +++ b/rpython/jit/backend/ppc/arch.py @@ -33,6 +33,16 @@ FORCE_INDEX_OFS = (len(MANAGED_REGS) + len(MANAGED_FP_REGS)) * WORD +# The JITFRAME_FIXED_SIZE is measured in words, not bytes or bits. +# Follwing the PPC ABI, we are saving: +# - volatile fpr's +# - volatile gpr's +# - vrsave word +# - alignment padding +# - vector register save area (quadword aligned) +# 3 + 27 + 1 + 4 + 1 +JITFRAME_FIXED_SIZE = len(MANAGED_FP_REGS) + len(MANAGED_REGS) + 1 + 4 + 1 + # offset to LR in BACKCHAIN if IS_PPC_32: LR_BC_OFFSET = WORD diff --git a/rpython/jit/backend/ppc/locations.py b/rpython/jit/backend/ppc/locations.py --- a/rpython/jit/backend/ppc/locations.py +++ b/rpython/jit/backend/ppc/locations.py @@ -1,6 +1,8 @@ from rpython.jit.metainterp.history import INT, FLOAT import sys +# TODO: solve the circular import: runner -> arch -> register -> locations -> +# arch # XXX import from arch.py, currently we have a circular import if sys.maxint == (2**31 - 1): WORD = 4 @@ -10,6 +12,9 @@ FWORD = 8 DWORD = 2 * WORD +# JITFRAME_FIXED_SIZE is also duplicated because of the circular import +JITFRAME_FIXED_SIZE = 27 + 31 + 1 + 4 + 1 + class AssemblerLocation(object): _immutable_ = True type = INT _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit