Author: Armin Rigo <ar...@tunes.org> Branch: Changeset: r66098:95401f5d05ba Date: 2013-08-12 19:24 +0200 http://bitbucket.org/pypy/pypy/changeset/95401f5d05ba/
Log: merge heads diff --git a/rpython/jit/backend/arm/assembler.py b/rpython/jit/backend/arm/assembler.py --- a/rpython/jit/backend/arm/assembler.py +++ b/rpython/jit/backend/arm/assembler.py @@ -62,7 +62,8 @@ self.current_clt = looptoken.compiled_loop_token self.mc = InstrBuilder(self.cpu.cpuinfo.arch_version) self.pending_guards = [] - assert self.datablockwrapper is None + #assert self.datablockwrapper is None --- but obscure case + # possible, e.g. getting MemoryError and continuing allblocks = self.get_asmmemmgr_blocks(looptoken) self.datablockwrapper = MachineDataBlockWrapper(self.cpu.asmmemmgr, allblocks) @@ -76,7 +77,6 @@ self._regalloc = None self.mc = None self.pending_guards = None - assert self.datablockwrapper is None def setup_failure_recovery(self): self.failure_recovery_code = [0, 0, 0, 0] diff --git a/rpython/jit/backend/arm/regalloc.py b/rpython/jit/backend/arm/regalloc.py --- a/rpython/jit/backend/arm/regalloc.py +++ b/rpython/jit/backend/arm/regalloc.py @@ -1196,9 +1196,8 @@ def prepare_op_guard_not_forced_2(self, op, fcond): self.rm.before_call(op.getfailargs(), save_all_regs=True) - fail_locs = [self.loc(v) for v in op.getfailargs()] - self.assembler.store_force_descr(op, fail_locs, - self.fm.get_frame_depth()) + fail_locs = self._prepare_guard(op) + self.assembler.store_force_descr(op, fail_locs[1:], fail_locs[0].value) self.possibly_free_vars(op.getfailargs()) def prepare_guard_call_may_force(self, op, guard_op, fcond): _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit