Author: Maciej Fijalkowski <fij...@gmail.com> 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 pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit