[pypy-svn] r51962 - in pypy/branch/jit-refactoring/pypy/jit/rainbow: . test

cfbolz at codespeak.net cfbolz at codespeak.net
Fri Feb 29 17:53:25 CET 2008


Author: cfbolz
Date: Fri Feb 29 17:53:25 2008
New Revision: 51962

Modified:
   pypy/branch/jit-refactoring/pypy/jit/rainbow/codewriter.py
   pypy/branch/jit-refactoring/pypy/jit/rainbow/test/test_interpreter.py
Log:
fix another test


Modified: pypy/branch/jit-refactoring/pypy/jit/rainbow/codewriter.py
==============================================================================
--- pypy/branch/jit-refactoring/pypy/jit/rainbow/codewriter.py	(original)
+++ pypy/branch/jit-refactoring/pypy/jit/rainbow/codewriter.py	Fri Feb 29 17:53:25 2008
@@ -283,7 +283,7 @@
                 assert 0, "unknown graph calling color %s" % (color, )
         elif len(block.exits) == 1:
             link, = block.exits
-            self.insert_renaming(link)
+            self.emit(*self.insert_renaming(link))
             self.make_bytecode_block(link.target, insert_goto=True)
         elif len(block.exits) == 2:
             linkfalse, linktrue = block.exits
@@ -300,6 +300,9 @@
                         reverse = False
                     elif srcopname == 'ptr_iszero':
                         reverse = True
+
+            falserenaming = self.insert_renaming(linkfalse)
+            truerenaming = self.insert_renaming(linktrue)
             if reverse is not None:
                 ptrindex = self.serialize_oparg("red", srcargs[0])
                 self.emit("red_goto_ifptrnonzero")
@@ -309,10 +312,10 @@
                 self.emit("%s_goto_iftrue" % color)
             self.emit(index)
             self.emit(tlabel(linktrue))
-            self.insert_renaming(linkfalse)
+            self.emit(*falserenaming)
             self.make_bytecode_block(linkfalse.target, insert_goto=True)
             self.emit(label(linktrue))
-            self.insert_renaming(linktrue)
+            self.emit(*truerenaming)
             self.make_bytecode_block(linktrue.target, insert_goto=True)
         else:
             XXX
@@ -350,13 +353,12 @@
 
     def insert_renaming(self, link):
         reds, greens = self.sort_by_color(link.args, link.target.inputargs)
+        result = []
         for color, args in [("red", reds), ("green", greens)]:
-            result = []
+            result += ["make_new_%svars" % (color, ), len(args)]
             for v in args:
                 result.append(self.serialize_oparg(color, v))
-            self.emit("make_new_%svars" % (color, ))
-            self.emit(len(args))
-            self.emit(*result)
+        return result
 
     def serialize_op(self, op):
         specialcase = getattr(self, "serialize_op_%s" % (op.opname, ), None)

Modified: pypy/branch/jit-refactoring/pypy/jit/rainbow/test/test_interpreter.py
==============================================================================
--- pypy/branch/jit-refactoring/pypy/jit/rainbow/test/test_interpreter.py	(original)
+++ pypy/branch/jit-refactoring/pypy/jit/rainbow/test/test_interpreter.py	Fri Feb 29 17:53:25 2008
@@ -1172,7 +1172,6 @@
         self.check_insns({})
 
     def test_normalize_indirect_call_more(self):
-        py.test.skip("not working yet")
         def g1(v):
             if v >= 0:
                 return -17



More information about the Pypy-commit mailing list