[pypy-commit] pypy fast-slowpath: bah took forever to fix - make sure gcmap and push_all_regs is consistent
fijal
noreply at buildbot.pypy.org
Mon Jul 22 18:47:40 CEST 2013
Author: Maciej Fijalkowski <fijall at gmail.com>
Branch: fast-slowpath
Changeset: r65527:b35486184116
Date: 2013-07-22 18:46 +0200
http://bitbucket.org/pypy/pypy/changeset/b35486184116/
Log: bah took forever to fix - make sure gcmap and push_all_regs is
consistent
diff --git a/rpython/jit/backend/x86/assembler.py b/rpython/jit/backend/x86/assembler.py
--- a/rpython/jit/backend/x86/assembler.py
+++ b/rpython/jit/backend/x86/assembler.py
@@ -155,9 +155,6 @@
"""
mc = codebuf.MachineCodeBlockWrapper()
self._push_all_regs_to_frame(mc, [], supports_floats, callee_only)
- gcrootmap = self.cpu.gc_ll_descr.gcrootmap
- if gcrootmap and gcrootmap.is_shadow_stack:
- self._call_header_shadowstack(mc, gcrootmap, selected_reg=r8)
mc.SUB(esp, imm(WORD))
self.set_extra_stack_depth(mc, 2 * WORD)
# args are in their respective positions
@@ -165,8 +162,6 @@
mc.ADD(esp, imm(WORD))
self.set_extra_stack_depth(mc, 0)
self._reload_frame_if_necessary(mc, align_stack=True)
- if gcrootmap and gcrootmap.is_shadow_stack:
- self._call_footer_shadowstack(mc, gcrootmap, selected_reg=r8)
self._pop_all_regs_from_frame(mc, [], supports_floats,
callee_only)
mc.RET()
@@ -1745,7 +1740,8 @@
regs = gpr_reg_mgr_cls.all_regs
for i, gpr in enumerate(regs):
if gpr not in ignored_regs:
- mc.MOV_br(i * WORD + base_ofs, gpr.value)
+ v = gpr_reg_mgr_cls.all_reg_indexes[gpr.value]
+ mc.MOV_br(v * WORD + base_ofs, gpr.value)
if withfloats:
if IS_X86_64:
coeff = 1
@@ -1766,7 +1762,8 @@
regs = gpr_reg_mgr_cls.all_regs
for i, gpr in enumerate(regs):
if gpr not in ignored_regs:
- mc.MOV_rb(gpr.value, i * WORD + base_ofs)
+ v = gpr_reg_mgr_cls.all_reg_indexes[gpr.value]
+ mc.MOV_rb(gpr.value, v * WORD + base_ofs)
if withfloats:
# Pop all XMM regs
if IS_X86_64:
More information about the pypy-commit
mailing list