[pypy-commit] pypy jitframe-on-heap: oops
fijal
noreply at buildbot.pypy.org
Wed Jan 23 22:40:12 CET 2013
Author: Maciej Fijalkowski <fijall at gmail.com>
Branch: jitframe-on-heap
Changeset: r60405:a200f8221461
Date: 2013-01-23 23:39 +0200
http://bitbucket.org/pypy/pypy/changeset/a200f8221461/
Log: oops
diff --git a/rpython/jit/backend/llsupport/regalloc.py b/rpython/jit/backend/llsupport/regalloc.py
--- a/rpython/jit/backend/llsupport/regalloc.py
+++ b/rpython/jit/backend/llsupport/regalloc.py
@@ -2,6 +2,7 @@
from rpython.jit.metainterp.history import Const, Box, REF, INT
from rpython.rlib.objectmodel import we_are_translated, specialize
from rpython.jit.metainterp.resoperation import rop
+from collections import OrderedDict
class TempBox(Box):
def __init__(self):
@@ -268,7 +269,10 @@
def __init__(self, longevity, frame_manager=None, assembler=None):
self.free_regs = self.all_regs[:]
self.longevity = longevity
- self.reg_bindings = {}
+ if not we_are_translated():
+ self.reg_bindings = OrderedDict()
+ else:
+ self.reg_bindings = {}
self.bindings_to_frame_reg = {}
self.position = -1
self.frame_manager = frame_manager
diff --git a/rpython/jit/backend/x86/assembler.py b/rpython/jit/backend/x86/assembler.py
--- a/rpython/jit/backend/x86/assembler.py
+++ b/rpython/jit/backend/x86/assembler.py
@@ -696,7 +696,7 @@
assert not IS_X86_32
mc.J_il8(rx86.Conditions['GE'], 0)
jg_location = mc.get_relative_pos()
- mc.MOV_si(0, 0xffffff)
+ mc.MOV_si(WORD, 0xffffff)
ofs2 = mc.get_relative_pos() - 4
self.push_gcmap(mc, gcmap, mov=True)
mc.CALL(imm(self._stack_check_failure))
diff --git a/rpython/jit/backend/x86/test/test_gc_integration.py b/rpython/jit/backend/x86/test/test_gc_integration.py
--- a/rpython/jit/backend/x86/test/test_gc_integration.py
+++ b/rpython/jit/backend/x86/test/test_gc_integration.py
@@ -334,6 +334,11 @@
GcCache.__init__(self, False, None)
self.gcrootmap = MockShadowStackRootMap()
+def unpack_gcmap(frame):
+ pass
+ #for i in range(len(frame.jf_gcmap)):
+ # item = frame.jf_gcmap[item]
+
class TestGcShadowstackDirect(BaseTestRegalloc):
cpu = CPU(None, None)
@@ -353,6 +358,8 @@
new_frame = frame.copy()
self.cpu.gc_ll_descr.gcrootmap.stack[0] = rffi.cast(lltype.Signed, new_frame)
frames.append(new_frame)
+ import pdb
+ pdb.set_trace()
def check2(i):
assert self.cpu.gc_ll_descr.gcrootmap.stack[0] == i - ofs
More information about the pypy-commit
mailing list