[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