[pypy-svn] r65435 - in pypy/branch/pyjitpl5-experiments/pypy/jit/metainterp: . test
fijal at codespeak.net
fijal at codespeak.net
Tue May 26 21:16:14 CEST 2009
Author: fijal
Date: Tue May 26 21:16:14 2009
New Revision: 65435
Modified:
pypy/branch/pyjitpl5-experiments/pypy/jit/metainterp/optimize2.py
pypy/branch/pyjitpl5-experiments/pypy/jit/metainterp/test/test_optimize2.py
Log:
remove the hack about guard_nonvirtualized
Modified: pypy/branch/pyjitpl5-experiments/pypy/jit/metainterp/optimize2.py
==============================================================================
--- pypy/branch/pyjitpl5-experiments/pypy/jit/metainterp/optimize2.py (original)
+++ pypy/branch/pyjitpl5-experiments/pypy/jit/metainterp/optimize2.py Tue May 26 21:16:14 2009
@@ -94,6 +94,13 @@
newboxes.append(box)
return newboxes
+ def _guard_for_node(self, node):
+ gop = ResOperation(rop.GUARD_NONVIRTUALIZED,
+ [node.source], None)
+ gop.vdesc = node.vdesc
+ gop.suboperations = [ResOperation(rop.FAIL, [], None)]
+ return gop
+
def optimize_guard(self, op):
if op.is_foldable_guard():
for arg in op.args:
@@ -109,20 +116,14 @@
op.suboperations = []
for node, d in self.additional_stores.iteritems():
for field, fieldnode in d.iteritems():
- gop = ResOperation(rop.GUARD_NONVIRTUALIZED,
- [node.source, node.cls], None)
- gop.vdesc = node.vdesc
- gop.suboperations = [ResOperation(rop.FAIL, [], None)]
+ gop = self._guard_for_node(node)
op.suboperations.append(gop)
op.suboperations.append(ResOperation(rop.SETFIELD_GC,
[node.source, fieldnode.source], None, field))
for node, d in self.additional_setarrayitems.iteritems():
for field, (fieldnode, descr) in d.iteritems():
box = fieldnode.source
- gop = ResOperation(rop.GUARD_NONVIRTUALIZED,
- [node.source, node.cls], None)
- gop.suboperations = [ResOperation(rop.FAIL, [], None)]
- gop.vdesc = node.vdesc
+ gop = self._guard_for_node(node)
op.suboperations.append(gop)
op.suboperations.append(ResOperation(rop.SETARRAYITEM_GC,
[node.source, ConstInt(field), box], None, descr))
Modified: pypy/branch/pyjitpl5-experiments/pypy/jit/metainterp/test/test_optimize2.py
==============================================================================
--- pypy/branch/pyjitpl5-experiments/pypy/jit/metainterp/test/test_optimize2.py (original)
+++ pypy/branch/pyjitpl5-experiments/pypy/jit/metainterp/test/test_optimize2.py Tue May 26 21:16:14 2009
@@ -187,7 +187,7 @@
i1 = getfield_gc(p0, descr=field_desc)
i2 = getfield_gc(p0, descr=other_field_desc)
guard_true(i2)
- guard_nonvirtualized(p0, ConstClass(xy_vtable))
+ guard_nonvirtualized(p0)
fail()
setfield_gc(p0, i2, descr=field_desc)
fail()
@@ -256,7 +256,7 @@
i2 = int_add(i0, i0)
i3 = int_is_true(i2)
guard_true(i3)
- guard_nonvirtualized(p1, None)
+ guard_nonvirtualized(p1)
fail()
setarrayitem_gc(p1, 0, i0, descr=array_descr)
fail()
@@ -286,7 +286,7 @@
i4 = int_add(i0, i1)
i5 = int_is_true(i4)
guard_true(i5)
- guard_nonvirtualized(p1, None)
+ guard_nonvirtualized(p1)
fail()
setarrayitem_gc(p1, 0, i1, descr=array_descr)
fail()
More information about the Pypy-commit
mailing list