[pypy-commit] pypy default: - fix the tests to expect the new format of descrs.
arigo
noreply at buildbot.pypy.org
Tue Dec 20 15:53:34 CET 2011
Author: Armin Rigo <arigo at tunes.org>
Branch:
Changeset: r50758:85a5e1fe1ad8
Date: 2011-12-20 14:53 +0000
http://bitbucket.org/pypy/pypy/changeset/85a5e1fe1ad8/
Log: - fix the tests to expect the new format of descrs.
- fix match() to always raise InvalidMatch if the match fails
because I found that at least one test was not doing "assert
match(..)" but just "match(..)" which always passes...
- test_generator still fails, but that should be fixed on the new
version of the 'counter-decay' branch.
diff --git a/pypy/module/pypyjit/test_pypy_c/model.py b/pypy/module/pypyjit/test_pypy_c/model.py
--- a/pypy/module/pypyjit/test_pypy_c/model.py
+++ b/pypy/module/pypyjit/test_pypy_c/model.py
@@ -311,7 +311,7 @@
# to repeat it every time
ticker_check = """
guard_not_invalidated?
- ticker0 = getfield_raw(ticker_address, descr=<SignedFieldDescr pypysig_long_struct.c_value .*>)
+ ticker0 = getfield_raw(ticker_address, descr=<FieldS pypysig_long_struct.c_value .*>)
ticker_cond0 = int_lt(ticker0, 0)
guard_false(ticker_cond0, descr=...)
"""
@@ -320,9 +320,9 @@
# this is the ticker check generated if we have threads
thread_ticker_check = """
guard_not_invalidated?
- ticker0 = getfield_raw(ticker_address, descr=<SignedFieldDescr pypysig_long_struct.c_value .*>)
+ ticker0 = getfield_raw(ticker_address, descr=<FieldS pypysig_long_struct.c_value .*>)
ticker1 = int_sub(ticker0, _)
- setfield_raw(ticker_address, ticker1, descr=<SignedFieldDescr pypysig_long_struct.c_value .*>)
+ setfield_raw(ticker_address, ticker1, descr=<FieldS pypysig_long_struct.c_value .*>)
ticker_cond0 = int_lt(ticker1, 0)
guard_false(ticker_cond0, descr=...)
"""
@@ -330,7 +330,7 @@
#
# this is the ticker check generated in PyFrame.handle_operation_error
exc_ticker_check = """
- ticker2 = getfield_raw(ticker_address, descr=<SignedFieldDescr pypysig_long_struct.c_value .*>)
+ ticker2 = getfield_raw(ticker_address, descr=<FieldS pypysig_long_struct.c_value .*>)
ticker_cond1 = int_lt(ticker2, 0)
guard_false(ticker_cond1, descr=...)
"""
@@ -451,7 +451,6 @@
try:
self.match_loop(expected_ops, ignore_ops)
except InvalidMatch, e:
- #raise # uncomment this and use py.test --pdb for better debugging
print '@' * 40
print "Loops don't match"
print "================="
@@ -464,7 +463,7 @@
print
print "Expected:"
print format(expected_src)
- return False
+ raise # always propagate the exception in case of mismatch
else:
return True
diff --git a/pypy/module/pypyjit/test_pypy_c/test_00_model.py b/pypy/module/pypyjit/test_pypy_c/test_00_model.py
--- a/pypy/module/pypyjit/test_pypy_c/test_00_model.py
+++ b/pypy/module/pypyjit/test_pypy_c/test_00_model.py
@@ -7,8 +7,9 @@
from pypy.tool.udir import udir
from pypy.tool import logparser
from pypy.jit.tool.jitoutput import parse_prof
-from pypy.module.pypyjit.test_pypy_c.model import Log, find_ids_range, find_ids, \
- TraceWithIds, OpMatcher
+from pypy.module.pypyjit.test_pypy_c.model import (Log, find_ids_range,
+ find_ids, TraceWithIds,
+ OpMatcher, InvalidMatch)
class BaseTestPyPyC(object):
def setup_class(cls):
@@ -115,13 +116,18 @@
assert opcodes_names == ['LOAD_FAST', 'LOAD_CONST', 'BINARY_ADD', 'STORE_FAST']
-class TestOpMatcher(object):
+class TestOpMatcher_(object):
def match(self, src1, src2, **kwds):
from pypy.tool.jitlogparser.parser import SimpleParser
loop = SimpleParser.parse_from_input(src1)
matcher = OpMatcher(loop.operations)
- return matcher.match(src2, **kwds)
+ try:
+ res = matcher.match(src2, **kwds)
+ assert res is True
+ return True
+ except InvalidMatch:
+ return False
def test_match_var(self):
match_var = OpMatcher([]).match_var
@@ -447,7 +453,7 @@
jump(p0, p1, p2, p3, i8, descr=...)
""")
#
- assert not loop.match("""
+ py.test.raises(InvalidMatch, loop.match, """
i6 = int_lt(i4, 1003)
guard_true(i6)
i8 = int_add(i5, 1) # variable mismatch
@@ -492,9 +498,8 @@
guard_no_exception(descr=...)
""")
#
- assert not loop.match_by_id('ntohs', """
+ py.test.raises(InvalidMatch, loop.match_by_id, 'ntohs', """
guard_not_invalidated(descr=...)
p12 = call(ConstClass(foobar), 1, descr=...)
guard_no_exception(descr=...)
""")
-
diff --git a/pypy/module/pypyjit/test_pypy_c/test__ffi.py b/pypy/module/pypyjit/test_pypy_c/test__ffi.py
--- a/pypy/module/pypyjit/test_pypy_c/test__ffi.py
+++ b/pypy/module/pypyjit/test_pypy_c/test__ffi.py
@@ -35,7 +35,7 @@
guard_not_invalidated(descr=...)
i17 = force_token()
setfield_gc(p0, i17, descr=<.* .*PyFrame.vable_token .*>)
- f21 = call_release_gil(%s, 2.000000, 3.000000, descr=<FloatCallDescr>)
+ f21 = call_release_gil(%s, 2.000000, 3.000000, descr=<Callf 8 ff EF=6>)
guard_not_forced(descr=...)
guard_no_exception(descr=...)
""" % pow_addr)
diff --git a/pypy/module/pypyjit/test_pypy_c/test_array.py b/pypy/module/pypyjit/test_pypy_c/test_array.py
--- a/pypy/module/pypyjit/test_pypy_c/test_array.py
+++ b/pypy/module/pypyjit/test_pypy_c/test_array.py
@@ -42,7 +42,7 @@
guard_not_invalidated(descr=...)
i13 = int_lt(i7, i9)
guard_true(i13, descr=...)
- i15 = getarrayitem_raw(i10, i7, descr=<.*ArrayNoLengthDescr>)
+ i15 = getarrayitem_raw(i10, i7, descr=<ArrayS .>)
i16 = int_add_ovf(i8, i15)
guard_no_overflow(descr=...)
i18 = int_add(i7, 1)
@@ -72,17 +72,17 @@
guard_true(i13, descr=...)
guard_not_invalidated(descr=...)
# the bound check guard on img has been killed (thanks to the asserts)
- i14 = getarrayitem_raw(i10, i8, descr=<.*ArrayNoLengthDescr>)
+ i14 = getarrayitem_raw(i10, i8, descr=<ArrayS .>)
i15 = int_add_ovf(i9, i14)
guard_no_overflow(descr=...)
i17 = int_sub(i8, 640)
# the bound check guard on intimg has been killed (thanks to the asserts)
- i18 = getarrayitem_raw(i11, i17, descr=<.*ArrayNoLengthDescr>)
+ i18 = getarrayitem_raw(i11, i17, descr=<ArrayS .>)
i19 = int_add_ovf(i18, i15)
guard_no_overflow(descr=...)
# on 64bit, there is a guard checking that i19 actually fits into 32bit
...
- setarrayitem_raw(i11, i8, _, descr=<.*ArrayNoLengthDescr>)
+ setarrayitem_raw(i11, i8, _, descr=<ArrayS .>)
i28 = int_add(i8, 1)
--TICK--
jump(p0, p1, p2, p3, p4, p5, p6, i28, i15, p9, i10, i11, descr=...)
@@ -107,10 +107,10 @@
guard_true(i10, descr=...)
i11 = int_lt(i6, i7)
guard_true(i11, descr=...)
- f13 = getarrayitem_raw(i8, i6, descr=<FloatArrayNoLengthDescr>)
+ f13 = getarrayitem_raw(i8, i6, descr=<ArrayF 8>)
f15 = float_add(f13, 20.500000)
- setarrayitem_raw(i8, i6, f15, descr=<FloatArrayNoLengthDescr>)
- f16 = getarrayitem_raw(i8, i6, descr=<FloatArrayNoLengthDescr>)
+ setarrayitem_raw(i8, i6, f15, descr=<ArrayF 8>)
+ f16 = getarrayitem_raw(i8, i6, descr=<ArrayF 8>)
i18 = float_eq(f16, 42.000000)
guard_true(i18, descr=...)
i20 = int_add(i6, 1)
@@ -132,28 +132,24 @@
log = self.run(main, [])
assert log.result == 321
loop, = log.loops_by_filename(self.filepath)
- if sys.maxint == 2147483647:
- arraydescr = 'UnsignedArrayNoLengthDescr'
- else:
- arraydescr = 'UINTArrayNoLengthDescr'
assert loop.match("""
i10 = int_lt(i6, 1000)
guard_true(i10, descr=...)
i11 = int_lt(i6, i7)
guard_true(i11, descr=...)
- i13 = getarrayitem_raw(i8, i6, descr=<%s>)
+ i13 = getarrayitem_raw(i8, i6, descr=<Array. 4>)
f14 = cast_singlefloat_to_float(i13)
f16 = float_add(f14, 20.500000)
i17 = cast_float_to_singlefloat(f16)
- setarrayitem_raw(i8, i6,i17, descr=<%s>)
- i18 = getarrayitem_raw(i8, i6, descr=<%s>)
+ setarrayitem_raw(i8, i6,i17, descr=<Array. 4>)
+ i18 = getarrayitem_raw(i8, i6, descr=<Array. 4>)
f19 = cast_singlefloat_to_float(i18)
i21 = float_eq(f19, 42.000000)
guard_true(i21, descr=...)
i23 = int_add(i6, 1)
--TICK--
jump(..., descr=...)
- """ % (arraydescr, arraydescr, arraydescr))
+ """)
def test_zeropadded(self):
diff --git a/pypy/module/pypyjit/test_pypy_c/test_call.py b/pypy/module/pypyjit/test_pypy_c/test_call.py
--- a/pypy/module/pypyjit/test_pypy_c/test_call.py
+++ b/pypy/module/pypyjit/test_pypy_c/test_call.py
@@ -75,12 +75,12 @@
assert log.opnames(ops) == []
#
assert entry_bridge.match_by_id('call', """
- p38 = call(ConstClass(getexecutioncontext), descr=<GcPtrCallDescr>)
- p39 = getfield_gc(p38, descr=<GcPtrFieldDescr pypy.interpreter.executioncontext.ExecutionContext.inst_topframeref .*>)
+ p38 = call(ConstClass(getexecutioncontext), descr=<Callr . EF=1>)
+ p39 = getfield_gc(p38, descr=<FieldP pypy.interpreter.executioncontext.ExecutionContext.inst_topframeref .*>)
i40 = force_token()
- p41 = getfield_gc(p38, descr=<GcPtrFieldDescr pypy.interpreter.executioncontext.ExecutionContext.inst_w_tracefunc .*>)
+ p41 = getfield_gc(p38, descr=<FieldP pypy.interpreter.executioncontext.ExecutionContext.inst_w_tracefunc .*>)
guard_isnull(p41, descr=...)
- i42 = getfield_gc(p38, descr=<NonGcPtrFieldDescr pypy.interpreter.executioncontext.ExecutionContext.inst_profilefunc .*>)
+ i42 = getfield_gc(p38, descr=<FieldU pypy.interpreter.executioncontext.ExecutionContext.inst_profilefunc .*>)
i43 = int_is_zero(i42)
guard_true(i43, descr=...)
i50 = force_token()
@@ -192,7 +192,7 @@
assert log.result == 1000
loop, = log.loops_by_id('call')
assert loop.match_by_id('call', """
- p14 = getarrayitem_gc_pure(p8, i9, descr=<GcPtrArrayDescr>)
+ p14 = getarrayitem_gc_pure(p8, i9, descr=<ArrayP .>)
i14 = force_token()
i16 = force_token()
""")
@@ -336,15 +336,15 @@
loop, = log.loops_by_filename(self.filepath)
# the int strategy is used here
assert loop.match_by_id('append', """
- i13 = getfield_gc(p8, descr=<SignedFieldDescr list.length .*>)
+ i13 = getfield_gc(p8, descr=<FieldS list.length .*>)
i15 = int_add(i13, 1)
# Will be killed by the backend
- p15 = getfield_gc(p8, descr=<GcPtrFieldDescr list.items .*>)
- i17 = arraylen_gc(p15, descr=<SignedArrayDescr>)
- call(_, p8, i15, descr=<VoidCallDescr>) # this is a call to _ll_list_resize_ge_trampoline__...
+ p15 = getfield_gc(p8, descr=<FieldP list.items .*>)
+ i17 = arraylen_gc(p15, descr=<ArrayS .>)
+ call(_, p8, i15, descr=<Callv 0 ri EF=4>) # this is a call to _ll_list_resize_ge_trampoline__...
guard_no_exception(descr=...)
- p17 = getfield_gc(p8, descr=<GcPtrFieldDescr list.items .*>)
- setarrayitem_gc(p17, i13, i12, descr=<SignedArrayDescr>)
+ p17 = getfield_gc(p8, descr=<FieldP list.items .*>)
+ setarrayitem_gc(p17, i13, i12, descr=<ArrayS .>)
""")
def test_blockstack_virtualizable(self):
@@ -368,13 +368,13 @@
...
i20 = force_token()
p22 = new_with_vtable(19511408)
- p24 = new_array(1, descr=<GcPtrArrayDescr>)
+ p24 = new_array(1, descr=<ArrayP .>)
p26 = new_with_vtable(ConstClass(W_ListObject))
- setfield_gc(p0, i20, descr=<SignedFieldDescr .*PyFrame.vable_token .*>)
- setfield_gc(p26, ConstPtr(ptr22), descr=<GcPtrFieldDescr pypy.objspace.std.listobject.W_ListObject.inst_strategy .*>)
- 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>)
+ setfield_gc(p0, i20, descr=<FieldS .*PyFrame.vable_token .*>)
+ setfield_gc(p26, ConstPtr(ptr22), descr=<FieldP pypy.objspace.std.listobject.W_ListObject.inst_strategy .*>)
+ setarrayitem_gc(p24, 0, p26, descr=<ArrayP .>)
+ setfield_gc(p22, p24, descr=<FieldP .*Arguments.inst_arguments_w .*>)
+ p32 = call_may_force(11376960, p18, p22, descr=<Callr . rr EF=6>)
...
""")
@@ -415,26 +415,26 @@
guard_nonnull_class(p8, ConstClass(W_IntObject), descr=...)
guard_value(i4, 0, descr=...)
guard_value(p3, ConstPtr(ptr14), descr=...)
- i15 = getfield_gc_pure(p8, descr=<SignedFieldDescr pypy.objspace.std.intobject.W_IntObject.inst_intval .*>)
+ i15 = getfield_gc_pure(p8, descr=<FieldS pypy.objspace.std.intobject.W_IntObject.inst_intval .*>)
i17 = int_lt(i15, 5000)
guard_true(i17, descr=...)
- p18 = getfield_gc(p0, descr=<GcPtrFieldDescr pypy.interpreter.eval.Frame.inst_w_globals .*>)
+ p18 = getfield_gc(p0, descr=<FieldP pypy.interpreter.eval.Frame.inst_w_globals .*>)
guard_value(p18, ConstPtr(ptr19), descr=...)
- p20 = getfield_gc(p18, descr=<GcPtrFieldDescr pypy.objspace.std.dictmultiobject.W_DictMultiObject.inst_strategy .*>)
+ p20 = getfield_gc(p18, descr=<FieldP pypy.objspace.std.dictmultiobject.W_DictMultiObject.inst_strategy .*>)
guard_value(p20, ConstPtr(ptr21), descr=...)
guard_not_invalidated(descr=...)
# most importantly, there is no getarrayitem_gc here
- p23 = call(ConstClass(getexecutioncontext), descr=<GcPtrCallDescr>)
- p24 = getfield_gc(p23, descr=<GcPtrFieldDescr pypy.interpreter.executioncontext.ExecutionContext.inst_topframeref .*>)
+ p23 = call(ConstClass(getexecutioncontext), descr=<Callr . EF=1>)
+ p24 = getfield_gc(p23, descr=<FieldP pypy.interpreter.executioncontext.ExecutionContext.inst_topframeref .*>)
i25 = force_token()
- p26 = getfield_gc(p23, descr=<GcPtrFieldDescr pypy.interpreter.executioncontext.ExecutionContext.inst_w_tracefunc .*>)
+ p26 = getfield_gc(p23, descr=<FieldP pypy.interpreter.executioncontext.ExecutionContext.inst_w_tracefunc .*>)
guard_isnull(p26, descr=...)
- i27 = getfield_gc(p23, descr=<NonGcPtrFieldDescr pypy.interpreter.executioncontext.ExecutionContext.inst_profilefunc .*>)
+ i27 = getfield_gc(p23, descr=<FieldU pypy.interpreter.executioncontext.ExecutionContext.inst_profilefunc .*>)
i28 = int_is_zero(i27)
guard_true(i28, descr=...)
- p30 = getfield_gc(ConstPtr(ptr29), descr=<GcPtrFieldDescr pypy.interpreter.nestedscope.Cell.inst_w_value .*>)
+ p30 = getfield_gc(ConstPtr(ptr29), descr=<FieldP pypy.interpreter.nestedscope.Cell.inst_w_value .*>)
guard_nonnull_class(p30, ConstClass(W_IntObject), descr=...)
- i32 = getfield_gc_pure(p30, descr=<SignedFieldDescr pypy.objspace.std.intobject.W_IntObject.inst_intval .*>)
+ i32 = getfield_gc_pure(p30, descr=<FieldS pypy.objspace.std.intobject.W_IntObject.inst_intval .*>)
i33 = int_add_ovf(i15, i32)
guard_no_overflow(descr=...)
--TICK--
@@ -452,15 +452,15 @@
""", [])
loop, = log.loops_by_id('call')
assert loop.match("""
- i8 = getfield_gc_pure(p6, descr=<SignedFieldDescr pypy.objspace.std.intobject.W_IntObject.inst_intval .*>)
+ i8 = getfield_gc_pure(p6, descr=<FieldS pypy.objspace.std.intobject.W_IntObject.inst_intval .*>)
i10 = int_lt(i8, 5000)
guard_true(i10, descr=...)
i11 = force_token()
i13 = int_add(i8, 1)
--TICK--
p22 = new_with_vtable(ConstClass(W_IntObject))
- setfield_gc(p22, i13, descr=<SignedFieldDescr pypy.objspace.std.intobject.W_IntObject.inst_intval .*>)
- setfield_gc(p4, p22, descr=<GcPtrFieldDescr pypy.interpreter.nestedscope.Cell.inst_w_value .*>)
+ setfield_gc(p22, i13, descr=<FieldS pypy.objspace.std.intobject.W_IntObject.inst_intval .*>)
+ setfield_gc(p4, p22, descr=<FieldP pypy.interpreter.nestedscope.Cell.inst_w_value .*>)
jump(p0, p1, p2, p3, p4, p7, p22, p7, descr=...)
""")
diff --git a/pypy/module/pypyjit/test_pypy_c/test_containers.py b/pypy/module/pypyjit/test_pypy_c/test_containers.py
--- a/pypy/module/pypyjit/test_pypy_c/test_containers.py
+++ b/pypy/module/pypyjit/test_pypy_c/test_containers.py
@@ -46,7 +46,7 @@
assert loop.match_by_id("getitem", """
i26 = call(ConstClass(ll_dict_lookup), p18, p6, i25, descr=...)
...
- p33 = getinteriorfield_gc(p31, i26, descr=<InteriorFieldDescr <GcPtrFieldDescr dictentry.value .*>>)
+ p33 = getinteriorfield_gc(p31, i26, descr=<InteriorFieldDescr <FieldP dictentry.value .*>>)
...
""")
@@ -86,28 +86,28 @@
i8 = int_lt(i5, i7)
guard_true(i8, descr=...)
guard_not_invalidated(descr=...)
- p10 = call(ConstClass(ll_int_str), i5, descr=<GcPtrCallDescr>)
+ p10 = call(ConstClass(ll_int_str), i5, descr=<Callr . i EF=3>)
guard_no_exception(descr=...)
- i12 = call(ConstClass(ll_strhash), p10, descr=<SignedCallDescr>)
+ i12 = call(ConstClass(ll_strhash), p10, descr=<Calli . r EF=0>)
p13 = new(descr=...)
- p15 = new_array(8, descr=<dictentryArrayDescr>)
- setfield_gc(p13, p15, descr=<GcPtrFieldDescr dicttable.entries .*>)
- i17 = call(ConstClass(ll_dict_lookup_trampoline), p13, p10, i12, descr=<SignedCallDescr>)
- setfield_gc(p13, 16, descr=<SignedFieldDescr dicttable.resize_counter .*>)
+ p15 = new_array(8, descr=<ArrayX .*>)
+ setfield_gc(p13, p15, descr=<FieldP dicttable.entries .*>)
+ i17 = call(ConstClass(ll_dict_lookup_trampoline), p13, p10, i12, descr=<Calli . rri EF=4>)
+ setfield_gc(p13, 16, descr=<FieldS dicttable.resize_counter .*>)
guard_no_exception(descr=...)
p20 = new_with_vtable(ConstClass(W_IntObject))
- call(ConstClass(_ll_dict_setitem_lookup_done_trampoline), p13, p10, p20, i12, i17, descr=<VoidCallDescr>)
- setfield_gc(p20, i5, descr=<SignedFieldDescr .*W_IntObject.inst_intval .*>)
+ call(ConstClass(_ll_dict_setitem_lookup_done_trampoline), p13, p10, p20, i12, i17, descr=<Callv 0 rrrii EF=4>)
+ setfield_gc(p20, i5, descr=<FieldS .*W_IntObject.inst_intval .*>)
guard_no_exception(descr=...)
- i23 = call(ConstClass(ll_dict_lookup_trampoline), p13, p10, i12, descr=<SignedCallDescr>)
+ i23 = call(ConstClass(ll_dict_lookup_trampoline), p13, p10, i12, descr=<Calli . rri EF=4>)
guard_no_exception(descr=...)
i26 = int_and(i23, .*)
i27 = int_is_true(i26)
guard_false(i27, descr=...)
- p28 = getfield_gc(p13, descr=<GcPtrFieldDescr dicttable.entries .*>)
- p29 = getinteriorfield_gc(p28, i23, descr=<InteriorFieldDescr <GcPtrFieldDescr dictentry.value .*>>)
+ p28 = getfield_gc(p13, descr=<FieldP dicttable.entries .*>)
+ p29 = getinteriorfield_gc(p28, i23, descr=<InteriorFieldDescr <FieldP dictentry.value .*>>)
guard_nonnull_class(p29, ConstClass(W_IntObject), descr=...)
- i31 = getfield_gc_pure(p29, descr=<SignedFieldDescr .*W_IntObject.inst_intval .*>)
+ i31 = getfield_gc_pure(p29, descr=<FieldS .*W_IntObject.inst_intval .*>)
i32 = int_sub_ovf(i31, i5)
guard_no_overflow(descr=...)
i34 = int_add_ovf(i32, 1)
diff --git a/pypy/module/pypyjit/test_pypy_c/test_globals.py b/pypy/module/pypyjit/test_pypy_c/test_globals.py
--- a/pypy/module/pypyjit/test_pypy_c/test_globals.py
+++ b/pypy/module/pypyjit/test_pypy_c/test_globals.py
@@ -16,11 +16,11 @@
assert log.result == 500
loop, = log.loops_by_filename(self.filepath)
assert loop.match_by_id("loadglobal", """
- p10 = getfield_gc(p0, descr=<GcPtrFieldDescr .*Frame.inst_w_globals .*>)
+ p10 = getfield_gc(p0, descr=<FieldP .*Frame.inst_w_globals .*>)
guard_value(p10, ConstPtr(ptr11), descr=...)
- p12 = getfield_gc(p10, descr=<GcPtrFieldDescr .*W_DictMultiObject.inst_strategy .*>)
+ p12 = getfield_gc(p10, descr=<FieldP .*W_DictMultiObject.inst_strategy .*>)
guard_value(p12, ConstPtr(ptr13), descr=...)
guard_not_invalidated(descr=...)
- p19 = getfield_gc(ConstPtr(p17), descr=<GcPtrFieldDescr .*W_DictMultiObject.inst_strategy .*>)
+ p19 = getfield_gc(ConstPtr(p17), descr=<FieldP .*W_DictMultiObject.inst_strategy .*>)
guard_value(p19, ConstPtr(ptr20), descr=...)
- """)
\ No newline at end of file
+ """)
diff --git a/pypy/module/pypyjit/test_pypy_c/test_instance.py b/pypy/module/pypyjit/test_pypy_c/test_instance.py
--- a/pypy/module/pypyjit/test_pypy_c/test_instance.py
+++ b/pypy/module/pypyjit/test_pypy_c/test_instance.py
@@ -125,8 +125,8 @@
i12 = force_token()
--TICK--
p20 = new_with_vtable(ConstClass(W_IntObject))
- setfield_gc(p20, i11, descr=<SignedFieldDescr.*W_IntObject.inst_intval .*>)
- setfield_gc(ConstPtr(ptr21), p20, descr=<GcPtrFieldDescr .*TypeCell.inst_w_value .*>)
+ setfield_gc(p20, i11, descr=<FieldS.*W_IntObject.inst_intval .*>)
+ setfield_gc(ConstPtr(ptr21), p20, descr=<FieldP .*TypeCell.inst_w_value .*>)
jump(p0, p1, p2, p3, p4, p20, p6, i7, p20, descr=...)
""")
diff --git a/pypy/module/pypyjit/test_pypy_c/test_math.py b/pypy/module/pypyjit/test_pypy_c/test_math.py
--- a/pypy/module/pypyjit/test_pypy_c/test_math.py
+++ b/pypy/module/pypyjit/test_pypy_c/test_math.py
@@ -23,8 +23,8 @@
f1 = cast_int_to_float(i0)
i3 = float_le(f1, 0)
guard_false(i3, descr=...)
- f2 = call(ConstClass(log), f1, descr=<FloatCallDescr>)
- f3 = call(ConstClass(log10), f1, descr=<FloatCallDescr>)
+ f2 = call(ConstClass(log), f1, descr=<Callf . f EF=2>)
+ f3 = call(ConstClass(log10), f1, descr=<Callf . f EF=2>)
f4 = float_sub(f2, f3)
f5 = float_add(f0, f4)
i4 = int_add(i0, 1)
@@ -52,8 +52,8 @@
f1 = cast_int_to_float(i0)
i6 = --ISINF--(f1)
guard_false(i6, descr=...)
- f2 = call(ConstClass(sin), f1, descr=<FloatCallDescr>)
- f3 = call(ConstClass(cos), f1, descr=<FloatCallDescr>)
+ f2 = call(ConstClass(sin), f1, descr=<Callf . f EF=2>)
+ f3 = call(ConstClass(cos), f1, descr=<Callf . f EF=2>)
f4 = float_sub(f2, f3)
f5 = float_add(f0, f4)
i7 = int_add(i0, f1)
@@ -84,7 +84,7 @@
i4 = int_or(i2, i3)
i5 = int_is_true(i4)
guard_false(i5, descr=...)
- f2 = call(ConstClass(fmod), f1, 2.0, descr=<FloatCallDescr>)
+ f2 = call(ConstClass(fmod), f1, 2.0, descr=<Callf . ff EF=2>)
f3 = float_add(f0, f2)
i6 = int_sub(i0, 1)
--TICK--
diff --git a/pypy/module/pypyjit/test_pypy_c/test_misc.py b/pypy/module/pypyjit/test_pypy_c/test_misc.py
--- a/pypy/module/pypyjit/test_pypy_c/test_misc.py
+++ b/pypy/module/pypyjit/test_pypy_c/test_misc.py
@@ -204,18 +204,18 @@
assert log.result == 1000000
loop, = log.loops_by_filename(self.filepath)
assert loop.match("""
- i14 = getfield_gc(p12, descr=<SignedFieldDescr list.length .*>)
+ i14 = getfield_gc(p12, descr=<FieldS list.length .*>)
i16 = uint_ge(i12, i14)
guard_false(i16, descr=...)
- p16 = getfield_gc(p12, descr=<GcPtrFieldDescr list.items .*>)
- p17 = getarrayitem_gc(p16, i12, descr=<GcPtrArrayDescr>)
+ p16 = getfield_gc(p12, descr=<FieldP list.items .*>)
+ p17 = getarrayitem_gc(p16, i12, descr=<ArrayP .>)
i19 = int_add(i12, 1)
- setfield_gc(p9, i19, descr=<SignedFieldDescr .*W_AbstractSeqIterObject.inst_index .*>)
+ setfield_gc(p9, i19, descr=<FieldS .*W_AbstractSeqIterObject.inst_index .*>)
guard_nonnull_class(p17, 146982464, descr=...)
- i21 = getfield_gc(p17, descr=<SignedFieldDescr .*W_ArrayTypei.inst_len .*>)
+ i21 = getfield_gc(p17, descr=<FieldS .*W_ArrayTypei.inst_len .*>)
i23 = int_lt(0, i21)
guard_true(i23, descr=...)
- i24 = getfield_gc(p17, descr=<NonGcPtrFieldDescr .*W_ArrayTypei.inst_buffer .*>)
+ i24 = getfield_gc(p17, descr=<FieldU .*W_ArrayTypei.inst_buffer .*>)
i25 = getarrayitem_raw(i24, 0, descr=<.*>)
i27 = int_lt(1, i21)
guard_false(i27, descr=...)
diff --git a/pypy/module/pypyjit/test_pypy_c/test_string.py b/pypy/module/pypyjit/test_pypy_c/test_string.py
--- a/pypy/module/pypyjit/test_pypy_c/test_string.py
+++ b/pypy/module/pypyjit/test_pypy_c/test_string.py
@@ -1,6 +1,9 @@
from pypy.module.pypyjit.test_pypy_c.test_00_model import BaseTestPyPyC
+# XXX review the <Call> descrs to replace some EF=4 with EF=3 (elidable)
+
+
class TestString(BaseTestPyPyC):
def test_lookup_default_encoding(self):
def main(n):
@@ -72,7 +75,7 @@
i23 = strgetitem(p10, i19)
p25 = newstr(1)
strsetitem(p25, 0, i23)
- p28 = call(ConstClass(strip_spaces), p25, descr=<GcPtrCallDescr>)
+ p28 = call(ConstClass(strip_spaces), p25, descr=<Callr . r EF=4>)
guard_no_exception(descr=...)
i29 = strlen(p28)
i30 = int_is_true(i29)
@@ -88,9 +91,9 @@
guard_false(i41, descr=...)
i43 = int_eq(i39, 43)
guard_false(i43, descr=...)
- i43 = call(ConstClass(ll_startswith__rpy_stringPtr_rpy_stringPtr), p28, ConstPtr(ptr42), descr=<BoolCallDescr>)
+ i43 = call(ConstClass(ll_startswith__rpy_stringPtr_rpy_stringPtr), p28, ConstPtr(ptr42), descr=<Calli 1 rr EF=0>)
guard_false(i43, descr=...)
- i46 = call(ConstClass(ll_startswith__rpy_stringPtr_rpy_stringPtr), p28, ConstPtr(ptr45), descr=<BoolCallDescr>)
+ i46 = call(ConstClass(ll_startswith__rpy_stringPtr_rpy_stringPtr), p28, ConstPtr(ptr45), descr=<Calli 1 rr EF=0>)
guard_false(i46, descr=...)
p51 = new_with_vtable(21136408)
setfield_gc(p51, _, descr=...) # 7 setfields, but the order is dict-order-dependent
@@ -100,9 +103,9 @@
setfield_gc(p51, _, descr=...)
setfield_gc(p51, _, descr=...)
setfield_gc(p51, _, descr=...)
- p55 = call(ConstClass(parse_digit_string), p51, descr=<GcPtrCallDescr>)
+ p55 = call(ConstClass(parse_digit_string), p51, descr=<Callr . r EF=4>)
guard_no_exception(descr=...)
- i57 = call(ConstClass(rbigint.toint), p55, descr=<SignedCallDescr>)
+ i57 = call(ConstClass(rbigint.toint), p55, descr=<Calli . r EF=3>)
guard_no_exception(descr=...)
i58 = int_add_ovf(i6, i57)
guard_no_overflow(descr=...)
@@ -125,7 +128,7 @@
i7 = int_gt(i4, 0)
guard_true(i7, descr=...)
guard_not_invalidated(descr=...)
- p9 = call(ConstClass(ll_int2dec__Signed), i4, descr=<GcPtrCallDescr>)
+ p9 = call(ConstClass(ll_int2dec__Signed), i4, descr=<Callr . i EF=3>)
guard_no_exception(descr=...)
i10 = strlen(p9)
i11 = int_is_true(i10)
@@ -149,7 +152,7 @@
copystrcontent(p9, p21, 0, i25, i10)
i33 = int_lt(i30, 23)
guard_true(i33, descr=...)
- p35 = call(ConstClass(ll_shrink_array__rpy_stringPtr_Signed), p21, i30, descr=<GcPtrCallDescr>)
+ p35 = call(ConstClass(ll_shrink_array__rpy_stringPtr_Signed), p21, i30, descr=<Callr . ri EF=4>)
guard_no_exception(descr=...)
i37 = strlen(p35)
i38 = int_add_ovf(i5, i37)
@@ -192,6 +195,6 @@
strsetitem(p35, 3, 104)
strsetitem(p35, 4, 95)
copystrcontent(p31, p35, 0, 5, i32)
- i49 = call(ConstClass(_ll_2_str_eq_nonnull__rpy_stringPtr_rpy_stringPtr), p35, ConstPtr(ptr48), descr=<SignedCallDescr>)
- guard_value(i49, 1, descr=<Guard8>)
+ i49 = call(ConstClass(_ll_2_str_eq_nonnull__rpy_stringPtr_rpy_stringPtr), p35, ConstPtr(ptr48), descr=<Calli [48] rr EF=0 OS=28>)
+ guard_value(i49, 1, descr=...)
''')
More information about the pypy-commit
mailing list