Author: Richard Plangger <[email protected]>
Branch:
Changeset: r85572:35001d8b5219
Date: 2016-07-06 11:19 +0200
http://bitbucket.org/pypy/pypy/changeset/35001d8b5219/
Log: apply further changes to correctly push/pop gcmap (started in
a09c99e17a27)
diff --git a/rpython/jit/backend/zarch/assembler.py
b/rpython/jit/backend/zarch/assembler.py
--- a/rpython/jit/backend/zarch/assembler.py
+++ b/rpython/jit/backend/zarch/assembler.py
@@ -317,7 +317,7 @@
self._push_fp_regs_to_jitframe(mc)
- # First argument is SPP (= r31), which is the jitframe
+ # First argument is SPP, which is the jitframe
mc.LGR(r.r2, r.SPP)
# no need to move second argument (frame_depth),
@@ -385,14 +385,12 @@
# signature of these cond_call_slowpath functions:
# * on entry, r11 contains the function to call
# * r2, r3, r4, r5 contain arguments for the call
- # * r0 is the gcmap
+ # * gcmap is pushed
# * the old value of these regs must already be stored in the
jitframe
# * on exit, all registers are restored from the jitframe
mc = InstrBuilder()
self.mc = mc
- ofs2 = self.cpu.get_ofs_of_frame_field('jf_gcmap')
- mc.STG(r.SCRATCH2, l.addr(ofs2,r.SPP))
mc.store_link()
mc.push_std_frame()
diff --git a/rpython/jit/backend/zarch/opassembler.py
b/rpython/jit/backend/zarch/opassembler.py
--- a/rpython/jit/backend/zarch/opassembler.py
+++ b/rpython/jit/backend/zarch/opassembler.py
@@ -387,8 +387,7 @@
if reg in self._COND_CALL_SAVE_REGS]
self._push_core_regs_to_jitframe(self.mc, should_be_saved)
- # load gc map into unusual location: r0
- self.load_gcmap(self.mc, r.SCRATCH2, regalloc.get_gcmap())
+ self.push_gcmap(self.mc, regalloc.get_gcmap())
#
# load the 0-to-4 arguments into these registers, with the address of
# the function to call into r11
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit