[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