[pypy-commit] pypy default: Only save registers that really contain something
arigo
noreply at buildbot.pypy.org
Mon Jul 29 15:23:50 CEST 2013
Author: Armin Rigo <arigo at tunes.org>
Branch:
Changeset: r65783:80e614cc3039
Date: 2013-07-29 15:22 +0200
http://bitbucket.org/pypy/pypy/changeset/80e614cc3039/
Log: Only save registers that really contain something
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
@@ -2174,7 +2174,10 @@
# first save away the 4 registers from 'cond_call_register_arguments'
# plus the register 'eax'
base_ofs = self.cpu.get_baseofs_of_frame_field()
+ should_be_saved = self._regalloc.rm.reg_bindings.values()
for gpr in cond_call_register_arguments + [eax]:
+ if gpr not in should_be_saved:
+ continue
v = gpr_reg_mgr_cls.all_reg_indexes[gpr.value]
self.mc.MOV_br(v * WORD + base_ofs, gpr.value)
#
More information about the pypy-commit
mailing list