[pypy-commit] pypy default: Fixes
arigo
noreply at buildbot.pypy.org
Sat Aug 30 12:28:21 CEST 2014
Author: Armin Rigo <arigo at tunes.org>
Branch:
Changeset: r73203:bac11f2871ed
Date: 2014-08-30 12:27 +0200
http://bitbucket.org/pypy/pypy/changeset/bac11f2871ed/
Log: Fixes
diff --git a/rpython/jit/backend/arm/callbuilder.py b/rpython/jit/backend/arm/callbuilder.py
--- a/rpython/jit/backend/arm/callbuilder.py
+++ b/rpython/jit/backend/arm/callbuilder.py
@@ -10,6 +10,7 @@
from rpython.jit.backend.arm.helper.assembler import count_reg_args
from rpython.jit.backend.arm.helper.assembler import saved_registers
from rpython.jit.backend.arm.helper.regalloc import check_imm_arg
+from rpython.jit.backend.arm.codebuilder import OverwritingBuilder
class ARMCallbuilder(AbstractCallBuilder):
@@ -107,12 +108,12 @@
# r5 == &root_stack_top
# r6 == fastgil
# r7 == previous value of root_stack_top
- self.mc.LDREX(r.i3.value, r.r6.value) # load the lock value
+ self.mc.LDREX(r.r3.value, r.r6.value) # load the lock value
self.mc.MOV_ri(r.ip.value, 1)
self.mc.CMP_ri(r.r3.value, 0) # is the lock free?
- self.mc.STREX(r.r3.value, r.ipvalue, r.r6.value, c=cond.EQ)
+ self.mc.STREX(r.r3.value, r.ip.value, r.r6.value, c=c.EQ)
# try to claim the lock
- self.mc.CMP_ri(r.r3.value, 0, c=cond.EQ) # did this succeed?
+ self.mc.CMP_ri(r.r3.value, 0, cond=c.EQ) # did this succeed?
self.mc.DMB()
# the success of the lock acquisition is defined by
# 'EQ is true', or equivalently by 'r3 == 0'.
@@ -124,8 +125,8 @@
# thread. So here we check if the shadowstack pointer
# is still the same as before we released the GIL (saved
# in 'r7'), and if not, we fall back to 'reacqgil_addr'.
- self.mc.LDR_ri(r.ip.value, r.r5.value, c=cond.EQ)
- self.mc.CMP_rr(r.ip.value, r.r7.value, c=cond.EQ)
+ self.mc.LDR_ri(r.ip.value, r.r5.value, cond=c.EQ)
+ self.mc.CMP_rr(r.ip.value, r.r7.value, cond=c.EQ)
b1_location = self.mc.currpos()
self.mc.BKPT() # BEQ below
# there are two cases here: either EQ was false from
@@ -134,7 +135,7 @@
# release the fastgil here. We know which case it is
# by checking again r3.
self.mc.CMP_ri(r.r3.value, 0)
- self.mc.STR_ri(r.r3.value, r.r6.value, c=cond.EQ)
+ self.mc.STR_ri(r.r3.value, r.r6.value, cond=c.EQ)
else:
b1_location = self.mc.currpos()
self.mc.BKPT() # BEQ below
@@ -144,7 +145,7 @@
with saved_registers(self.mc, gpr_to_save, vfp_to_save):
self.mc.BL(self.asm.reacqgil_addr)
- # replace b1_location with B(here, cond.EQ)
+ # replace b1_location with B(here, c.EQ)
pmc = OverwritingBuilder(self.mc, b1_location, WORD)
pmc.B_offs(self.mc.currpos(), c.EQ)
More information about the pypy-commit
mailing list