[pypy-svn] pypy default: port one more test
antocuni
commits-noreply at bitbucket.org
Wed Mar 16 18:06:32 CET 2011
Author: Antonio Cuni <anto.cuni at gmail.com>
Branch:
Changeset: r42716:362e8bfdc5ca
Date: 2011-03-16 14:34 +0100
http://bitbucket.org/pypy/pypy/changeset/362e8bfdc5ca/
Log: port one more test
diff --git a/pypy/module/pypyjit/test_pypy_c/test_pypy_c_new.py b/pypy/module/pypyjit/test_pypy_c/test_pypy_c_new.py
--- a/pypy/module/pypyjit/test_pypy_c/test_pypy_c_new.py
+++ b/pypy/module/pypyjit/test_pypy_c/test_pypy_c_new.py
@@ -638,3 +638,36 @@
assert log.result == 250 + 250*2
loops = log.loops_by_filename(self.filepath)
assert len(loops) == 1
+
+ def test_blockstack_virtualizable(self):
+ def main(n):
+ from pypyjit import residual_call
+ i = 0
+ while i < n:
+ try:
+ residual_call(len, []) # ID: call
+ except:
+ pass
+ i += 1
+ return i
+ #
+ log = self.run(main, [500], threshold=400)
+ assert log.result == 500
+ loop, = log.loops_by_id('call')
+ loop.match_by_id('call', opcode='CALL_FUNCTION', expected_src="""
+ # make sure that the "block" is not allocated
+ ...
+ i20 = force_token()
+ setfield_gc(p0, i20, descr=<SignedFieldDescr .*PyFrame.vable_token .*>)
+ p22 = new_with_vtable(19511408)
+ p24 = new_array(1, descr=<GcPtrArrayDescr>)
+ p26 = new_with_vtable(ConstClass(W_ListObject))
+ p27 = new(descr=<SizeDescr 24>)
+ p29 = new_array(0, descr=<GcPtrArrayDescr>)
+ setfield_gc(p27, p29, descr=<GcPtrFieldDescr list.items .*>)
+ setfield_gc(p26, p27, descr=<.* .*W_ListObject.inst_wrappeditems .*>)
+ setarrayitem_gc(p24, 0, p26, descr=<GcPtrArrayDescr>)
+ setfield_gc(p22, p24, descr=<GcPtrFieldDescr .*Arguments.inst_arguments_w .*>)
+ p32 = call_may_force(11376960, p18, p22, descr=<GcPtrCallDescr>)
+ ...
+ """)
More information about the Pypy-commit
mailing list