Author: Maciej Fijalkowski <[email protected]>
Branch: resume-refactor
Changeset: r66419:480e2c71e31a
Date: 2013-08-28 18:06 +0100
http://bitbucket.org/pypy/pypy/changeset/480e2c71e31a/
Log: (fijal, antocuni) start fixing the assembler backend tests
diff --git a/rpython/jit/backend/llsupport/llmodel.py
b/rpython/jit/backend/llsupport/llmodel.py
--- a/rpython/jit/backend/llsupport/llmodel.py
+++ b/rpython/jit/backend/llsupport/llmodel.py
@@ -339,27 +339,17 @@
assert isinstance(res, history.AbstractFailDescr)
return res
- def _decode_pos(self, deadframe, index):
- descr = self.get_latest_descr(deadframe)
- if descr.final_descr:
- assert index == 0
- return 0
- return descr.rd_locs[index]
-
- def get_int_value(self, deadframe, index):
- pos = self._decode_pos(deadframe, index)
+ def get_int_value(self, deadframe, pos):
descr = self.gc_ll_descr.getframedescrs(self).arraydescr
ofs = self.unpack_arraydescr(descr)
return self.read_int_at_mem(deadframe, pos + ofs, WORD, 1)
- def get_ref_value(self, deadframe, index):
- pos = self._decode_pos(deadframe, index)
+ def get_ref_value(self, deadframe, pos):
descr = self.gc_ll_descr.getframedescrs(self).arraydescr
ofs = self.unpack_arraydescr(descr)
return self.read_ref_at_mem(deadframe, pos + ofs)
- def get_float_value(self, deadframe, index):
- pos = self._decode_pos(deadframe, index)
+ def get_float_value(self, deadframe, pos):
descr = self.gc_ll_descr.getframedescrs(self).arraydescr
ofs = self.unpack_arraydescr(descr)
return self.read_float_at_mem(deadframe, pos + ofs)
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
@@ -664,8 +664,7 @@
return False
if operations[i + 1].getarg(0) is not op.result:
return False
- if (self.longevity[op.result][1] > i + 1 or
- op.result in operations[i + 1].getfailargs()):
+ if self.longevity[op.result][1] > i + 1:
return False
return True
diff --git a/rpython/jit/backend/test/runner_test.py
b/rpython/jit/backend/test/runner_test.py
--- a/rpython/jit/backend/test/runner_test.py
+++ b/rpython/jit/backend/test/runner_test.py
@@ -168,7 +168,6 @@
ResOperation(rop.JUMP, [i1], None, descr=targettoken),
]
inputargs = [i0]
- operations[3].setfailargs([i1])
self.cpu.compile_loop(None, inputargs, operations, looptoken)
deadframe = self.cpu.execute_token(looptoken, 2)
@@ -177,31 +176,6 @@
res = self.cpu.get_int_value(deadframe, 0)
assert res == 10
- def test_compile_with_holes_in_fail_args(self):
- i0 = BoxInt()
- i1 = BoxInt()
- i2 = BoxInt()
- i3 = BoxInt()
- looptoken = JitCellToken()
- targettoken = TargetToken()
- operations = [
- ResOperation(rop.INT_SUB, [i3, ConstInt(42)], i0),
- ResOperation(rop.LABEL, [i0], None, descr=targettoken),
- ResOperation(rop.INT_ADD, [i0, ConstInt(1)], i1),
- ResOperation(rop.INT_LE, [i1, ConstInt(9)], i2),
- ResOperation(rop.GUARD_TRUE, [i2], None, descr=BasicFailDescr(2)),
- ResOperation(rop.JUMP, [i1], None, descr=targettoken),
- ]
- inputargs = [i3]
- operations[4].setfailargs([None, None, i1, None])
-
- self.cpu.compile_loop(None, inputargs, operations, looptoken)
- deadframe = self.cpu.execute_token(looptoken, 44)
- fail = self.cpu.get_latest_descr(deadframe)
- assert fail.identifier == 2
- res = self.cpu.get_int_value(deadframe, 2)
- assert res == 10
-
def test_backends_dont_keep_loops_alive(self):
import weakref, gc
self.cpu.dont_keepalive_stuff = True
@@ -218,7 +192,6 @@
ResOperation(rop.JUMP, [i1], None, descr=targettoken),
]
inputargs = [i0]
- operations[3].setfailargs([i1])
wr_i1 = weakref.ref(i1)
wr_guard = weakref.ref(operations[2])
self.cpu.compile_loop(None, inputargs, operations, looptoken)
@@ -248,7 +221,6 @@
ResOperation(rop.JUMP, [i1], None, descr=targettoken),
]
inputargs = [i0]
- operations[3].setfailargs([i1])
self.cpu.compile_loop(None, inputargs, operations, looptoken)
i1b = BoxInt()
@@ -258,7 +230,6 @@
ResOperation(rop.GUARD_TRUE, [i3], None, descr=faildescr2),
ResOperation(rop.JUMP, [i1b], None, descr=targettoken),
]
- bridge[1].setfailargs([i1b])
self.cpu.compile_bridge(None, faildescr1, [i1b], bridge, looptoken)
diff --git a/rpython/jit/metainterp/compile.py
b/rpython/jit/metainterp/compile.py
--- a/rpython/jit/metainterp/compile.py
+++ b/rpython/jit/metainterp/compile.py
@@ -507,8 +507,6 @@
CNT_FLOAT = 0x60000000
def store_final_boxes(self, guard_op, boxes):
- guard_op.setfailargs(boxes)
- self.rd_count = len(boxes)
self.guard_opnum = guard_op.getopnum()
def make_a_counter_per_value(self, guard_value_op):
diff --git a/rpython/jit/metainterp/history.py
b/rpython/jit/metainterp/history.py
--- a/rpython/jit/metainterp/history.py
+++ b/rpython/jit/metainterp/history.py
@@ -700,12 +700,6 @@
if hasattr(op.getdescr(), '_debug_suboperations'):
ops = op.getdescr()._debug_suboperations
TreeLoop.check_consistency_of_branch(ops, seen.copy())
- for box in op.getfailargs() or []:
- if box is not None:
- assert isinstance(box, Box)
- assert box in seen
- else:
- assert op.getfailargs() is None
box = op.result
if box is not None:
assert isinstance(box, Box)
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit