Author: Ivan Sichmann Freitas <ivansichfrei...@gmail.com> Branch: ppc-updated-backend Changeset: r72317:034413cecc37 Date: 2014-07-02 17:56 +0000 http://bitbucket.org/pypy/pypy/changeset/034413cecc37/
Log: Fix frame_depth calculated size diff --git a/rpython/jit/backend/ppc/ppc_assembler.py b/rpython/jit/backend/ppc/ppc_assembler.py --- a/rpython/jit/backend/ppc/ppc_assembler.py +++ b/rpython/jit/backend/ppc/ppc_assembler.py @@ -9,7 +9,8 @@ FPR_SAVE_AREA, NONVOLATILES_FLOAT, FLOAT_INT_CONVERSION, FORCE_INDEX, SIZE_LOAD_IMM_PATCH_SP, - FORCE_INDEX_OFS, LR_BC_OFFSET) + FORCE_INDEX_OFS, LR_BC_OFFSET, + JITFRAME_FIXED_SIZE) from rpython.jit.backend.ppc.helper.assembler import Saved_Volatiles from rpython.jit.backend.ppc.helper.regalloc import _check_imm_arg import rpython.jit.backend.ppc.register as r @@ -783,6 +784,10 @@ operations = newoperations return operations + def update_frame_depth(self, frame_depth): + baseofs = self.cpu.get_baseofs_of_frame_field() + self.current_clt.frame_info.update_frame_depth(baseofs, frame_depth) + def assemble_loop(self, loopname, inputargs, operations, looptoken, log): clt = CompiledLoopToken(self.cpu, looptoken.number) clt.allgcrefs = [] @@ -813,11 +818,11 @@ frame_info = self.datablockwrapper.malloc_aligned(jitframe.JITFRAMEINFO_SIZE, alignment=WORD) clt.frame_info = rffi.cast(jitframe.JITFRAMEINFOPTR, frame_info) - clt.allgcreafs = [] - clt.frame_info.clear() direct_bootstrap_code = self.mc.currpos() frame_depth = self.compute_frame_depth(spilling_area, param_depth) + frame_depth += JITFRAME_FIXED_SIZE + self.update_frame_depth(frame_depth) self.gen_bootstrap_code(start_pos, frame_depth) self.write_pending_failure_recoveries() _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit