[pypy-svn] r65472 - in pypy/branch/pyjitpl5-experiments/pypy/jit/metainterp: . test
fijal at codespeak.net
fijal at codespeak.net
Thu May 28 00:53:44 CEST 2009
Author: fijal
Date: Thu May 28 00:53:43 2009
New Revision: 65472
Modified:
pypy/branch/pyjitpl5-experiments/pypy/jit/metainterp/optimize2.py
pypy/branch/pyjitpl5-experiments/pypy/jit/metainterp/test/test_optimize2.py
Log:
oops, make this more real world
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 Thu May 28 00:53:43 2009
@@ -134,8 +134,8 @@
def rebuild_virtual(self, ops, node):
assert node.virtual
- ops.append(ResOperation(rop.NEW_WITH_VTABLE, [node.size, node.cls],
- node.source))
+ ops.append(ResOperation(rop.NEW_WITH_VTABLE, [node.cls],
+ node.source, node.size))
for field, valuenode in node.cleanfields.iteritems():
if valuenode.virtual:
self.rebuild_virtual(ops, valuenode)
@@ -344,8 +344,8 @@
if node.escaped:
return False
node.virtual = True
- node.cls = op.args[1]
- node.size = op.args[0]
+ node.cls = op.args[0]
+ node.size = op.descr
return True
@staticmethod
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 Thu May 28 00:53:43 2009
@@ -57,6 +57,7 @@
node = lltype.malloc(NODE)
nodebox = BoxPtr(lltype.cast_opaque_ptr(llmemory.GCREF, node))
nodedescr = cpu.fielddescrof(NODE, 'value')
+ nodesize = cpu.sizeof(NODE)
TP = lltype.GcArray(lltype.Signed)
NODE_ARRAY = lltype.GcArray(lltype.Ptr(NODE))
@@ -93,6 +94,7 @@
node = ootype.new(NODE)
nodebox = BoxObj(ootype.cast_to_object(node))
nodedescr = cpu.fielddescrof(NODE, 'value')
+ nodesize = cpu.sizeof(node)
TP = ootype.Array(ootype.Signed)
@@ -305,14 +307,14 @@
def test_newly_allocated_virtualizable_is_not_virtualized(self):
pre_op = """
[]
- p0 = new_with_vtable(13, ConstClass(xy_vtable))
+ p0 = new_with_vtable(ConstClass(xy_vtable))
guard_nonvirtualized(p0, vdesc=vdesc)
fail()
setfield_gc(p0, 3, descr=field_desc)
"""
expected = """
[]
- p0 = new_with_vtable(13, ConstClass(xy_vtable))
+ p0 = new_with_vtable(ConstClass(xy_vtable))
setfield_gc(p0, 3, descr=field_desc)
"""
self.assert_equal(self.optimize(pre_op, [SimpleVirtualizableOpt()]),
@@ -373,7 +375,7 @@
def test_simple_virtual(self):
pre_op = """
[]
- p0 = new_with_vtable(13, ConstClass(node_vtable))
+ p0 = new_with_vtable(ConstClass(node_vtable))
setfield_gc(p0, 1, descr=field_desc)
i2 = getfield_gc(p0, descr=field_desc)
fail(i2)
@@ -388,7 +390,7 @@
def test_virtual_with_virtualizable(self):
pre_op = """
[p0]
- p1 = new_with_vtable(13, ConstClass(node_vtable))
+ p1 = new_with_vtable(ConstClass(node_vtable))
setfield_gc(p1, 1, descr=nodedescr)
guard_nonvirtualized(p0, vdesc=vdesc)
fail()
@@ -410,7 +412,7 @@
def test_rebuild_ops(self):
pre_op = """
[i1]
- p1 = new_with_vtable(13, ConstClass(node_vtable))
+ p1 = new_with_vtable(ConstClass(node_vtable), descr=nodesize)
setfield_gc(p1, 1, descr=field_desc)
guard_true(i1)
fail(p1)
@@ -418,7 +420,7 @@
expected = """
[i1]
guard_true(i1)
- p1 = new_with_vtable(13, ConstClass(node_vtable))
+ p1 = new_with_vtable(ConstClass(node_vtable), descr=nodesize)
setfield_gc(p1, 1, descr=field_desc)
fail(p1)
"""
More information about the Pypy-commit
mailing list