[pypy-commit] pypy default: Fix.
arigo
noreply at buildbot.pypy.org
Mon Sep 5 12:29:43 CEST 2011
Author: Armin Rigo <arigo at tunes.org>
Branch:
Changeset: r47079:86b5fa5dac13
Date: 2011-09-05 10:55 +0200
http://bitbucket.org/pypy/pypy/changeset/86b5fa5dac13/
Log: Fix.
diff --git a/pypy/jit/backend/x86/assembler.py b/pypy/jit/backend/x86/assembler.py
--- a/pypy/jit/backend/x86/assembler.py
+++ b/pypy/jit/backend/x86/assembler.py
@@ -957,6 +957,7 @@
if (isinstance(from_loc, RegLoc) and from_loc.is_xmm) or (isinstance(to_loc, RegLoc) and to_loc.is_xmm):
self.mc.MOVSD(to_loc, from_loc)
else:
+ assert to_loc is not ebp
self.mc.MOV(to_loc, from_loc)
regalloc_mov = mov # legacy interface
diff --git a/pypy/jit/backend/x86/regalloc.py b/pypy/jit/backend/x86/regalloc.py
--- a/pypy/jit/backend/x86/regalloc.py
+++ b/pypy/jit/backend/x86/regalloc.py
@@ -313,8 +313,11 @@
self.fm.frame_bindings[arg] = loc
else:
if isinstance(loc, RegLoc):
- self.rm.reg_bindings[arg] = loc
- used[loc] = None
+ if loc is ebp:
+ self.rm.bindings_to_frame_reg[arg] = None
+ else:
+ self.rm.reg_bindings[arg] = loc
+ used[loc] = None
else:
self.fm.frame_bindings[arg] = loc
self.rm.free_regs = []
More information about the pypy-commit
mailing list