Author: Maciej Fijalkowski <[email protected]>
Branch: optresult-unroll
Changeset: r79272:93c7bd243702
Date: 2015-08-28 12:00 +0200
http://bitbucket.org/pypy/pypy/changeset/93c7bd243702/
Log: finish porting test_virtualizable
diff --git a/rpython/jit/metainterp/test/test_virtualizable.py
b/rpython/jit/metainterp/test/test_virtualizable.py
--- a/rpython/jit/metainterp/test/test_virtualizable.py
+++ b/rpython/jit/metainterp/test/test_virtualizable.py
@@ -315,8 +315,9 @@
assert f(18) == 10360
res = self.meta_interp(f, [18])
assert res == 10360
- self.check_simple_loop(setfield_gc=0, getarrayitem_gc=0,
- getfield_gc=0, setarrayitem_gc=0)
+ self.check_simple_loop(setfield_gc=0, getarrayitem_gc_i=0,
+ getfield_gc_i=0, getfield_gc_r=0,
+ setarrayitem_gc=0, getarrayitem_gc_r=0)
def test_array_length(self):
myjitdriver = JitDriver(greens = [], reds = ['n', 'xy2'],
@@ -342,8 +343,9 @@
return xy2.inst_l1[1]
res = self.meta_interp(f, [18])
assert res == 2941309 + 18
- self.check_simple_loop(setfield_gc=0, getarrayitem_gc=0,
- arraylen_gc=0, getfield_gc=0)
+ self.check_simple_loop(setfield_gc=0, getarrayitem_gc_i=0,
+ getarrayitem_gc_r=0, getfield_gc_i=0,
+ arraylen_gc=0, getfield_gc_r=0)
def test_residual_function(self):
myjitdriver = JitDriver(greens = [], reds = ['n', 'xy2'],
@@ -376,8 +378,9 @@
return xy2.inst_l1[1]
res = self.meta_interp(f, [18])
assert res == 2941309 + 18
- self.check_simple_loop(call=1, setfield_gc=0, getarrayitem_gc=0,
- arraylen_gc=1, getfield_gc=0)
+ self.check_simple_loop(call_r=1, setfield_gc=0, getarrayitem_gc_i=0,
+ getarrayitem_gc_r=0, arraylen_gc=1, getfield_gc_i=0,
+ getfield_gc_r=0)
def test_double_frame_array(self):
myjitdriver = JitDriver(greens = [], reds = ['n', 'xy2', 'other'],
@@ -414,7 +417,8 @@
res = self.meta_interp(f, [20], enable_opts='')
assert res == expected
self.check_simple_loop(setarrayitem_gc=1, setfield_gc=0,
- getarrayitem_gc=1, arraylen_gc=1, getfield_gc=2)
+ getarrayitem_gc_i=1, arraylen_gc=1,
+ getfield_gc_r=2)
# ------------------------------
@@ -463,7 +467,8 @@
assert f(18) == 10360
res = self.meta_interp(f, [18])
assert res == 10360
- self.check_simple_loop(getfield_gc=0, getarrayitem_gc=0,
+ self.check_simple_loop(getfield_gc_i=0, getfield_gc_r=0,
+ getarrayitem_gc_i=0, getarrayitem_gc_r=0,
setfield_gc=0, setarrayitem_gc=0)
# ------------------------------
@@ -497,7 +502,8 @@
res = self.meta_interp(f, [10])
assert res == 55
- self.check_simple_loop(setfield_gc=0, getfield_gc=0)
+ self.check_simple_loop(setfield_gc=0, getfield_gc_i=0,
+ getfield_gc_r=0)
def test_virtualizable_with_array(self):
myjitdriver = JitDriver(greens = [], reds = ['n', 'x', 'frame'],
@@ -531,8 +537,10 @@
res = self.meta_interp(f, [10, 1], listops=True)
assert res == f(10, 1)
- self.check_simple_loop(getfield_gc=0, getarrayitem_gc=0)
- self.check_resops(getfield_gc=2, getarrayitem_gc=4)
+ self.check_simple_loop(getfield_gc_i=0, getarrayitem_gc_i=0,
+ getarrayitem_gc_r=0, getfield_gc_r=0)
+ self.check_resops(getfield_gc_r=1, getarrayitem_gc_i=4,
+ getfield_gc_i=1)
def test_subclass_of_virtualizable(self):
myjitdriver = JitDriver(greens = [], reds = ['frame'],
@@ -560,7 +568,8 @@
res = self.meta_interp(f, [10])
assert res == 55
- self.check_simple_loop(setfield_gc=0, getfield_gc=0)
+ self.check_simple_loop(setfield_gc=0, getfield_gc_i=0,
+ getfield_gc_r=0)
def test_external_pass(self):
jitdriver = JitDriver(greens = [], reds = ['n', 'z', 'frame'],
@@ -1093,7 +1102,8 @@
res = self.meta_interp(f, [10])
assert res == 55
- self.check_simple_loop(setfield_gc=0, getfield_gc=0)
+ self.check_simple_loop(setfield_gc=0, getfield_gc_i=0,
+ getfield_gc_r=0)
from rpython.jit.backend.test.support import BaseCompiledMixin
if isinstance(self, BaseCompiledMixin):
@@ -1253,8 +1263,10 @@
res = self.meta_interp(f, [10])
assert res == 155
- self.check_simple_loop(setfield_gc=0, getfield_gc=0)
- self.check_resops(setfield_gc=0, getfield_gc=2)
+ self.check_simple_loop(setfield_gc=0, getfield_gc_i=0,
+ getfield_gc_r=0)
+ self.check_resops(setfield_gc=0, getfield_gc_i=2,
+ getfield_gc_r=0)
def test_blackhole_should_synchronize(self):
myjitdriver = JitDriver(greens = [], reds = ['frame'],
@@ -1290,8 +1302,9 @@
res = self.meta_interp(f, [10])
assert res == 155
- self.check_simple_loop(setfield_gc=0, getfield_gc=0)
- self.check_resops(setfield_gc=0, getfield_gc=2)
+ self.check_simple_loop(setfield_gc=0, getfield_gc_i=0,
+ getfield_gc_r=0)
+ self.check_resops(setfield_gc=0, getfield_gc_i=2, getfield_gc_r=0)
def test_blackhole_should_not_reenter(self):
if not self.basic:
@@ -1502,7 +1515,7 @@
res = self.meta_interp(main, [10])
assert res == main(10)
self.check_resops({
- "getfield_gc": 1, "int_lt": 2, "ptr_eq": 1, "guard_true": 3,
+ "getfield_gc_i": 1, "int_lt": 2, "ptr_eq": 1, "guard_true": 3,
"int_add": 2, "jump": 1
})
@@ -1608,7 +1621,7 @@
if bridge is not None:
l = [op for op in
bridge.operations if op.getopnum() == rop.SETFIELD_GC]
- assert "'inst_x'" in str(l[0].getdescr().realdescrref())
+ assert "'inst_x'" in str(l[1].getdescr().realdescrref())
assert len(l) == 2 # vable token set to null
l = [op for op in bridge.operations if
op.getopnum() == rop.GUARD_NOT_FORCED_2]
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit