Author: David Schneider <david.schnei...@picle.org> Branch: arm-backend-2 Changeset: r50244:93473354e34c Date: 2011-12-07 13:55 +0100 http://bitbucket.org/pypy/pypy/changeset/93473354e34c/
Log: fix for GUARD_NOT_INVALIDATED diff --git a/pypy/jit/backend/arm/opassembler.py b/pypy/jit/backend/arm/opassembler.py --- a/pypy/jit/backend/arm/opassembler.py +++ b/pypy/jit/backend/arm/opassembler.py @@ -197,7 +197,14 @@ print 'Failargs: ', op.getfailargs() pos = self.mc.currpos() - self.mc.BKPT() + # For all guards that are not GUARD_NOT_INVALIDATED we emit a + # breakpoint to ensure the location is patched correctly. In the case + # of GUARD_NOT_INVALIDATED we use just a NOP, because it is only + # eventually patched at a later point. + if is_guard_not_invalidated: + self.mc.NOP() + else: + self.mc.BKPT() self.pending_guards.append(GuardToken(descr, failargs=op.getfailargs(), faillocs=arglocs, _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit