Author: David Schneider <[email protected]>
Branch: arm-backend-2
Changeset: r51451:8dd9c2555f29
Date: 2012-01-18 17:46 +0100
http://bitbucket.org/pypy/pypy/changeset/8dd9c2555f29/
Log: (bivab, arigo) Add test for an operation that does not correctly
emit the code for the guard, i.e. emitting two guards for the same
operation
diff --git a/pypy/jit/backend/test/runner_test.py
b/pypy/jit/backend/test/runner_test.py
--- a/pypy/jit/backend/test/runner_test.py
+++ b/pypy/jit/backend/test/runner_test.py
@@ -3273,6 +3273,24 @@
fail = self.cpu.execute_token(looptoken2, -9)
assert fail.identifier == 42
+ def test_some_issue(self):
+ t_box, T_box = self.alloc_instance(self.T)
+ null_box = self.null_instance()
+ faildescr = BasicFailDescr(42)
+ operations = [
+ ResOperation(rop.GUARD_NONNULL_CLASS, [t_box, T_box], None,
+ descr=faildescr),
+ ResOperation(rop.FINISH, [], None, descr=BasicFailDescr(1))]
+ operations[0].setfailargs([])
+ looptoken = JitCellToken()
+ inputargs = [t_box]
+ self.cpu.compile_loop(inputargs, operations, looptoken)
+ operations = [
+ ResOperation(rop.FINISH, [], None, descr=BasicFailDescr(99))
+ ]
+ self.cpu.compile_bridge(faildescr, [], operations, looptoken)
+ fail = self.cpu.execute_token(looptoken, null_box.getref_base())
+ assert fail.identifier == 99
class OOtypeBackendTest(BaseBackendTest):
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit