[pypy-svn] r53290 - pypy/branch/jit-hotpath/pypy/jit/codegen/ia32

fijal at codespeak.net fijal at codespeak.net
Thu Apr 3 21:33:13 CEST 2008


Author: fijal
Date: Thu Apr  3 21:33:12 2008
New Revision: 53290

Modified:
   pypy/branch/jit-hotpath/pypy/jit/codegen/ia32/rgenop.py
Log:
put * WORD everywhere in stack access, still segfaults.


Modified: pypy/branch/jit-hotpath/pypy/jit/codegen/ia32/rgenop.py
==============================================================================
--- pypy/branch/jit-hotpath/pypy/jit/codegen/ia32/rgenop.py	(original)
+++ pypy/branch/jit-hotpath/pypy/jit/codegen/ia32/rgenop.py	Thu Apr  3 21:33:12 2008
@@ -489,7 +489,7 @@
     def genop_get_frame_base(self):
         # XXX really?
         self.mc.MOV(eax, esp)
-        self.mc.SUB(eax, imm(self.stackdepth - 1))
+        self.mc.SUB(eax, imm((self.stackdepth - 1) * WORD))
         return self.returnintvar(eax)
 
     def get_frame_info(self, vars_gv):
@@ -1478,7 +1478,7 @@
     def read_frame_var(T, base, info, index):
         assert T is lltype.Signed
         v = info[index]
-        value = peek_word_at(base + v.stackpos)
+        value = peek_word_at(base + v.stackpos * WORD)
         return value
 
     @staticmethod
@@ -1487,19 +1487,19 @@
         v = info[index]
         if isinstance(v, GenConst):
             return
-        return IntConst(peek_word_at(base + v.stackpos))
+        return IntConst(peek_word_at(base + v.stackpos * WORD))
 
     @staticmethod
     @specialize.arg(0)
     def write_frame_place(T, base, place, value):
         assert T is lltype.Signed
-        poke_word_into(base + place.stackpos, value)
+        poke_word_into(base + place.stackpos * WORD, value)
 
     @staticmethod
     @specialize.arg(0)
     def read_frame_place(T, base, place):
         assert T is lltype.Signed
-        return peek_word_at(base + place.stackpos)
+        return peek_word_at(base + place.stackpos * WORD)
 
 global_rgenop = RI386GenOp()
 RI386GenOp.constPrebuiltGlobal = global_rgenop.genconst



More information about the Pypy-commit mailing list