[pypy-svn] r64203 - pypy/branch/pyjitpl5-simplify/pypy/jit/backend/x86

fijal at codespeak.net fijal at codespeak.net
Fri Apr 17 00:26:22 CEST 2009


Author: fijal
Date: Fri Apr 17 00:26:21 2009
New Revision: 64203

Modified:
   pypy/branch/pyjitpl5-simplify/pypy/jit/backend/x86/assembler.py
Log:
a bit slower version that is less fragile against someone doing
unrelated changes


Modified: pypy/branch/pyjitpl5-simplify/pypy/jit/backend/x86/assembler.py
==============================================================================
--- pypy/branch/pyjitpl5-simplify/pypy/jit/backend/x86/assembler.py	(original)
+++ pypy/branch/pyjitpl5-simplify/pypy/jit/backend/x86/assembler.py	Fri Apr 17 00:26:21 2009
@@ -272,7 +272,11 @@
                 self.mc.MOV(loc, ecx)
         for i in range(len(arglocs)):
             loc = arglocs[i]
-            if isinstance(loc, REG):
+            if isinstance(loc, REG) and loc is not eax:
+                self.mc.MOV(loc, mem(eax, i * WORD))
+        for i in range(len(arglocs)):
+            loc = arglocs[i]
+            if loc is eax:
                 self.mc.MOV(loc, mem(eax, i * WORD))
         self.mc.JMP(rel32(jumpaddr))
         self.mc.done()



More information about the Pypy-commit mailing list