Author: fijal
Branch: jit-leaner-frontend
Changeset: r82840:710fa15b8ea5
Date: 2016-03-07 11:08 +0200
http://bitbucket.org/pypy/pypy/changeset/710fa15b8ea5/

Log:    fixes

diff --git a/rpython/jit/metainterp/opencoder.py 
b/rpython/jit/metainterp/opencoder.py
--- a/rpython/jit/metainterp/opencoder.py
+++ b/rpython/jit/metainterp/opencoder.py
@@ -26,7 +26,7 @@
         self.save_pos = -1
 
     def length(self):
-        return self.end - self.start
+        return self.end - self.start - 1
 
     def done(self):
         return self.pos >= self.end
diff --git a/rpython/jit/metainterp/optimizeopt/test/test_util.py 
b/rpython/jit/metainterp/optimizeopt/test/test_util.py
--- a/rpython/jit/metainterp/optimizeopt/test/test_util.py
+++ b/rpython/jit/metainterp/optimizeopt/test/test_util.py
@@ -494,10 +494,10 @@
 final_descr = history.BasicFinalDescr()
 
 class FakeFrame(object):
-    pc = 0
+    pc = 100
 
     class jitcode:
-        index = 0
+        index = 200
 
     def __init__(self, boxes):
         self.boxes = boxes
diff --git a/rpython/jit/metainterp/resume.py b/rpython/jit/metainterp/resume.py
--- a/rpython/jit/metainterp/resume.py
+++ b/rpython/jit/metainterp/resume.py
@@ -265,8 +265,6 @@
         """
         n = state.n
         v = state.v
-        import pdb
-        pdb.set_trace()
         liveboxes = state.liveboxes
         for i in range(length):
             box = iter.next()
@@ -298,11 +296,6 @@
     def number(self, optimizer, position, trace):
         snapshot_iter = trace.get_snapshot_iter(position)
         state = NumberingState(snapshot_iter.length())
-        while not snapshot_iter.done():
-            size, jitcode_index, pc = snapshot_iter.get_size_jitcode_pc()
-            state.append(rffi.cast(rffi.SHORT, jitcode_index))
-            state.append(rffi.cast(rffi.SHORT, pc))
-            self._number_boxes(snapshot_iter, size, optimizer, state)
 
         state.append(rffi.cast(rffi.SHORT, 0))
         n = 0 # len(topsnapshot.boxes)
@@ -324,6 +317,12 @@
         #self._number_boxes(topsnapshot.boxes, optimizer, state)
         #assert state.position == special_boxes_size
 
+        while not snapshot_iter.done():
+            size, jitcode_index, pc = snapshot_iter.get_size_jitcode_pc()
+            state.append(rffi.cast(rffi.SHORT, jitcode_index))
+            state.append(rffi.cast(rffi.SHORT, pc))
+            self._number_boxes(snapshot_iter, size, optimizer, state)
+
         numb = resumecode.create_numbering(state.current)
         return numb, state.liveboxes, state.v
         
diff --git a/rpython/jit/metainterp/test/test_opencoder.py 
b/rpython/jit/metainterp/test/test_opencoder.py
--- a/rpython/jit/metainterp/test/test_opencoder.py
+++ b/rpython/jit/metainterp/test/test_opencoder.py
@@ -76,6 +76,7 @@
         assert boxes == [i0, i1]
         t.record_op(rop.GUARD_FALSE, [add])
         resume.capture_resumedata([frame0, frame1], None, [], t)
+        t.record_op(rop.INT_ADD, [add, add])
         (i0, i1), l, iter = self.unpack(t)
         assert l[1].opnum == rop.GUARD_FALSE
         boxes = unpack_snapshot(iter, l[1].rd_resume_position)
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
@@ -1145,6 +1145,7 @@
                         index = callback_f(index, index)
                     else:
                         assert 0
+
         size, self.cur_index = resumecode.numb_next_item(self.numb, 0)
         assert size == 0
         size, self.cur_index = resumecode.numb_next_item(self.numb, 
self.cur_index)
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to