[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