Author: fijal
Branch: compress-numbering
Changeset: r80052:dcf276f1076c
Date: 2015-10-08 17:48 +0200
http://bitbucket.org/pypy/pypy/changeset/dcf276f1076c/

Log:    fix until we start finding real problems

diff --git a/rpython/jit/metainterp/test/test_resume.py 
b/rpython/jit/metainterp/test/test_resume.py
--- a/rpython/jit/metainterp/test/test_resume.py
+++ b/rpython/jit/metainterp/test/test_resume.py
@@ -10,7 +10,7 @@
      VArrayInfoNotClear, VStrPlainInfo, VStrConcatInfo, VStrSliceInfo,\
      VUniPlainInfo, VUniConcatInfo, VUniSliceInfo, Snapshot, FrameInfo,\
      capture_resumedata, ResumeDataLoopMemo, UNASSIGNEDVIRTUAL, INT,\
-     annlowlevel, PENDINGFIELDSP
+     annlowlevel, PENDINGFIELDSP, unpack_uint
 from rpython.jit.metainterp.optimizeopt import info
 from rpython.jit.metainterp.history import ConstInt, Const, AbstractDescr
 from rpython.jit.metainterp.history import ConstPtr, ConstFloat
@@ -531,18 +531,25 @@
     assert snap1.prev is snap
     assert snap1.boxes is l1
 
+class FakeJitCode(object):
+    def __init__(self, name, index):
+        self.name = name
+        self.index = index
+
 def test_FrameInfo_create():
-    jitcode = "JITCODE"
+    jitcode = FakeJitCode("jitcode", 13)
     fi = FrameInfo(None, jitcode, 1)
     assert fi.prev is None
-    assert fi.jitcode is jitcode
-    assert fi.pc == 1
+    jitcode_pos, pc = unpack_uint(fi.packed_jitcode_pc)
+    assert jitcode_pos == 13
+    assert pc == 1
 
-    jitcode1 = "JITCODE1"
+    jitcode1 = FakeJitCode("JITCODE1", 42)
     fi1 = FrameInfo(fi, jitcode1, 3)
     assert fi1.prev is fi
-    assert fi1.jitcode is jitcode1
-    assert fi1.pc == 3
+    jitcode_pos, pc = unpack_uint(fi1.packed_jitcode_pc)
+    assert jitcode_pos == 42
+    assert pc == 3
 
 def test_Numbering_create():
     l = [rffi.r_short(1), rffi.r_short(2)]
@@ -558,7 +565,7 @@
 def test_capture_resumedata():
     b1, b2, b3 = [InputArgInt(), InputArgRef(), InputArgInt()]
     c1, c2, c3 = [ConstInt(1), ConstInt(2), ConstInt(3)]
-    fs = [FakeFrame("code0", 0, b1, c1, b2)]
+    fs = [FakeFrame(FakeJitCode("code0", 13), 0, b1, c1, b2)]
 
     storage = Storage()
     capture_resumedata(fs, None, [], storage)
@@ -567,22 +574,21 @@
     assert fs[0].parent_resumedata_frame_info_list is None
 
     assert storage.rd_frame_info_list.prev is None
-    assert storage.rd_frame_info_list.jitcode == 'code0'
+    assert unpack_uint(storage.rd_frame_info_list.packed_jitcode_pc)[0] == 13
     assert storage.rd_snapshot.boxes == []    # for virtualrefs
     snapshot = storage.rd_snapshot.prev
     assert snapshot.prev is None
     assert snapshot.boxes == fs[0]._env
 
     storage = Storage()
-    fs = [FakeFrame("code0", 0, b1, c1, b2),
-          FakeFrame("code1", 3, b3, c2, b1),
-          FakeFrame("code2", 9, c3, b2)]
+    fs = [FakeFrame(FakeJitCode("code0", 0), 0, b1, c1, b2),
+          FakeFrame(FakeJitCode("code1", 1), 3, b3, c2, b1),
+          FakeFrame(FakeJitCode("code2", 2), 9, c3, b2)]
     capture_resumedata(fs, None, [], storage)
 
     frame_info_list = storage.rd_frame_info_list
     assert frame_info_list.prev is fs[2].parent_resumedata_frame_info_list
-    assert frame_info_list.jitcode == 'code2'
-    assert frame_info_list.pc == 9
+    assert unpack_uint(frame_info_list.packed_jitcode_pc) == (2, 9)
 
     assert storage.rd_snapshot.boxes == []    # for virtualrefs
     snapshot = storage.rd_snapshot.prev
@@ -591,14 +597,14 @@
 
     frame_info_list = frame_info_list.prev
     assert frame_info_list.prev is fs[1].parent_resumedata_frame_info_list
-    assert frame_info_list.jitcode == 'code1'
+    assert unpack_uint(frame_info_list.packed_jitcode_pc) == (1, 3)
     snapshot = snapshot.prev
     assert snapshot.prev is fs[1].parent_resumedata_snapshot
     assert snapshot.boxes == fs[1]._env
 
     frame_info_list = frame_info_list.prev
     assert frame_info_list.prev is None
-    assert frame_info_list.jitcode == 'code0'
+    assert unpack_uint(frame_info_list.packed_jitcode_pc) == (0, 0)
     snapshot = snapshot.prev
     assert snapshot.prev is None
     assert snapshot.boxes == fs[0]._env
@@ -611,9 +617,8 @@
 
     frame_info_list = storage.rd_frame_info_list
     assert frame_info_list.prev is fs[2].parent_resumedata_frame_info_list
-    assert frame_info_list.jitcode == 'code2'
-    assert frame_info_list.pc == 15
-
+    assert unpack_uint(frame_info_list.packed_jitcode_pc) == (2, 15)
+    
     snapshot = storage.rd_snapshot
     assert snapshot.boxes == vrs + vbs      # in the same list
 
@@ -914,8 +919,9 @@
     snap2 = Snapshot(snap, env2)
 
     memo = ResumeDataLoopMemo(FakeMetaInterpStaticData())
+    frameinfo = FrameInfo(None, FakeJitCode("jitcode", 0), 0)
 
-    numb, liveboxes, v = memo.number(FakeOptimizer(), snap1)
+    numb, liveboxes, v = memo.number(FakeOptimizer(), snap1, frameinfo)
     assert v == 0
 
     assert liveboxes == {b1: tag(0, TAGBOX), b2: tag(1, TAGBOX),
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to