[pypy-svn] r67475 - pypy/branch/no-recompilation/pypy/jit/backend/x86

pedronis at codespeak.net pedronis at codespeak.net
Fri Sep 4 15:45:46 CEST 2009


Author: pedronis
Date: Fri Sep  4 15:45:45 2009
New Revision: 67475

Modified:
   pypy/branch/no-recompilation/pypy/jit/backend/x86/assembler.py
Log:
(pedronis, arigo) force the LEA to be fixed sized so that it can be patched safely



Modified: pypy/branch/no-recompilation/pypy/jit/backend/x86/assembler.py
==============================================================================
--- pypy/branch/no-recompilation/pypy/jit/backend/x86/assembler.py	(original)
+++ pypy/branch/no-recompilation/pypy/jit/backend/x86/assembler.py	Fri Sep  4 15:45:45 2009
@@ -175,7 +175,7 @@
             self.logger.log_operations
             mc = self.mc._mc
             adr_lea = mc.tell()
-            mc.LEA(esp, addr_add(imm32(0), ebp, 0))
+            mc.LEA(esp, fixedsize_ebp_ofs(0))
             regalloc._walk_operations(operations)
         stack_depth = regalloc.max_stack_depth
         self.mc.done()
@@ -186,8 +186,8 @@
         else:
             guard_op._x86_stack_depth = stack_depth
             mc = codebuf.InMemoryCodeBuilder(adr_lea, adr_lea + 128)
-            mc.LEA(esp, addr_add(imm32(0), ebp,
-                                 -(stack_depth + RET_BP - 2) * WORD))
+            
+            mc.LEA(esp, fixedsize_ebp_ofs(-(stack_depth + RET_BP - 2) * WORD))
             mc.done()
         if we_are_translated():
             self._regalloc = None   # else keep it around for debugging



More information about the Pypy-commit mailing list