[pypy-commit] pypy optresult-unroll: fix test_resume
fijal
noreply at buildbot.pypy.org
Wed Aug 19 15:10:22 CEST 2015
Author: Maciej Fijalkowski <fijall at gmail.com>
Branch: optresult-unroll
Changeset: r79058:89142fbe7604
Date: 2015-08-19 15:10 +0200
http://bitbucket.org/pypy/pypy/changeset/89142fbe7604/
Log: fix test_resume
diff --git a/rpython/jit/metainterp/optimizeopt/test/test_optimizebasic.py b/rpython/jit/metainterp/optimizeopt/test/test_optimizebasic.py
--- a/rpython/jit/metainterp/optimizeopt/test/test_optimizebasic.py
+++ b/rpython/jit/metainterp/optimizeopt/test/test_optimizebasic.py
@@ -9,7 +9,7 @@
from rpython.jit.metainterp.history import ConstInt, get_const_ptr_for_string
from rpython.jit.metainterp import executor, compile, resume
from rpython.jit.metainterp.resoperation import rop, ResOperation, InputArgInt,\
- OpHelpers
+ OpHelpers, InputArgRef
from rpython.rlib.rarithmetic import LONG_BIT
from rpython.jit.tool.oparser import parse
@@ -2483,11 +2483,13 @@
fieldvalue.strip(), strict=False)
index += 1
- def check_expanded_fail_descr(self, expectedtext, guard_opnum):
+ def check_expanded_fail_descr(self, expectedtext, guard_opnum, values=None):
from rpython.jit.metainterp.test.test_resume import ResumeDataFakeReader
from rpython.jit.metainterp.test.test_resume import MyMetaInterp
guard_op, = [op for op in self.loop.operations if op.is_guard()]
fail_args = guard_op.getfailargs()
+ if values is not None:
+ fail_args = values
fdescr = guard_op.getdescr()
assert fdescr.guard_opnum == guard_opnum
reader = ResumeDataFakeReader(fdescr, fail_args,
@@ -2727,11 +2729,12 @@
jump(p1, i2, i4)
"""
self.optimize_loop(ops, expected)
- self.loop.inputargs[0].setref_base(self.nodeaddr)
- self.check_expanded_fail_descr('''
+ self.check_expanded_fail_descr(
+ '''
p1.nextdescr = p2
where p2 is a node_vtable, valuedescr=i2
- ''', rop.GUARD_TRUE)
+ ''', rop.GUARD_TRUE, values=[InputArgInt(0),
+ InputArgRef(self.nodeaddr)])
def test_expand_fail_lazy_setfield_2(self):
ops = """
diff --git a/rpython/jit/metainterp/optimizeopt/test/test_util.py b/rpython/jit/metainterp/optimizeopt/test/test_util.py
--- a/rpython/jit/metainterp/optimizeopt/test/test_util.py
+++ b/rpython/jit/metainterp/optimizeopt/test/test_util.py
@@ -111,6 +111,7 @@
node = lltype.malloc(NODE)
node.value = 5
+ node.next = node
node.parent.typeptr = node_vtable
nodeaddr = lltype.cast_opaque_ptr(llmemory.GCREF, node)
#nodebox = InputArgRef(lltype.cast_opaque_ptr(llmemory.GCREF, node))
diff --git a/rpython/jit/metainterp/test/test_resume.py b/rpython/jit/metainterp/test/test_resume.py
--- a/rpython/jit/metainterp/test/test_resume.py
+++ b/rpython/jit/metainterp/test/test_resume.py
@@ -1207,16 +1207,16 @@
modifier.vfieldboxes = {}
vdescr = LLtypeMixin.nodesize2
- v4 = info.InstancePtrInfo(ConstAddr(LLtypeMixin.node_vtable_adr2,
- LLtypeMixin.cpu), vdescr)
+ ca = ConstAddr(LLtypeMixin.node_vtable_adr2, LLtypeMixin.cpu)
+ v4 = info.InstancePtrInfo(ca, vdescr)
b4s.set_forwarded(v4)
- v4.setfield(LLtypeMixin.nextdescr, b2s)
- v4.setfield(LLtypeMixin.valuedescr, b3s)
- v4.setfield(LLtypeMixin.otherdescr, b5s)
- v2 = info.InstancePtrInfo(ConstAddr(LLtypeMixin.node_vtable_adr,
- LLtypeMixin.cpu), LLtypeMixin.nodesize)
- v2.setfield(LLtypeMixin.nextdescr, b4s)
- v2.setfield(LLtypeMixin.valuedescr, c1s)
+ v4.setfield(LLtypeMixin.nextdescr, ca, b2s)
+ v4.setfield(LLtypeMixin.valuedescr, ca, b3s)
+ v4.setfield(LLtypeMixin.otherdescr, ca, b5s)
+ ca = ConstAddr(LLtypeMixin.node_vtable_adr, LLtypeMixin.cpu)
+ v2 = info.InstancePtrInfo(ca, LLtypeMixin.nodesize)
+ v2.setfield(LLtypeMixin.nextdescr, b4s, ca)
+ v2.setfield(LLtypeMixin.valuedescr, c1s, ca)
b2s.set_forwarded(v2)
modifier.register_virtual_fields(b2s, [c1s, None, None, b4s])
@@ -1335,9 +1335,10 @@
modifier.vfieldboxes = {}
v2 = info.StructPtrInfo(LLtypeMixin.ssize)
b2s.set_forwarded(v2)
- v2.setfield(LLtypeMixin.adescr, c1s)
- v2.setfield(LLtypeMixin.bdescr, b4s)
- modifier.register_virtual_fields(b2s, [c1s, b4s])
+ v2.setfield(LLtypeMixin.adescr, b2s, c1s)
+ v2.setfield(LLtypeMixin.abisdescr, b2s, c1s)
+ v2.setfield(LLtypeMixin.bdescr, b2s, b4s)
+ modifier.register_virtual_fields(b2s, [c1s, c1s, b4s])
liveboxes = []
modifier._number_virtuals(liveboxes, FakeOptimizer(), 0)
dump_storage(storage, liveboxes)
@@ -1357,6 +1358,7 @@
expected = [
(rop.NEW, [], b2t.getref_base(), LLtypeMixin.ssize),
(rop.SETFIELD_GC, [b2t, c1s], None, LLtypeMixin.adescr),
+ (rop.SETFIELD_GC, [b2t, c1s], None, LLtypeMixin.abisdescr),
(rop.SETFIELD_GC, [b2t, b4t], None, LLtypeMixin.bdescr),
]
with CompareableConsts():
More information about the pypy-commit
mailing list