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
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit