[pypy-svn] r51832 - in pypy/branch/jit-refactoring/pypy/jit/rainbow: . test
cfbolz at codespeak.net
cfbolz at codespeak.net
Sun Feb 24 12:52:52 CET 2008
Author: cfbolz
Date: Sun Feb 24 12:52:48 2008
New Revision: 51832
Modified:
pypy/branch/jit-refactoring/pypy/jit/rainbow/codewriter.py
pypy/branch/jit-refactoring/pypy/jit/rainbow/interpreter.py
pypy/branch/jit-refactoring/pypy/jit/rainbow/portal.py
pypy/branch/jit-refactoring/pypy/jit/rainbow/test/test_portal.py
Log:
implement hint(reverse_split_queue), some passing tests
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 Sun Feb 24 12:52:48 2008
@@ -565,6 +565,9 @@
return
if "global_merge_point" in hints:
return # the compute_merge_points function already cared
+ if "reverse_split_queue" in hints:
+ self.emit("reverse_split_queue")
+ return
XXX
def args_of_call(self, args, colored_as):
Modified: pypy/branch/jit-refactoring/pypy/jit/rainbow/interpreter.py
==============================================================================
--- pypy/branch/jit-refactoring/pypy/jit/rainbow/interpreter.py (original)
+++ pypy/branch/jit-refactoring/pypy/jit/rainbow/interpreter.py Sun Feb 24 12:52:48 2008
@@ -376,6 +376,9 @@
assert gv_switchvar.is_const
self.green_result(gv_switchvar)
+ def opimpl_reverse_split_queue(self):
+ rtimeshift.reverse_split_queue(self.frame.dispatchqueue)
+
def opimpl_red_direct_call(self):
greenargs = self.get_green_varargs()
redargs = self.get_red_varargs()
Modified: pypy/branch/jit-refactoring/pypy/jit/rainbow/portal.py
==============================================================================
--- pypy/branch/jit-refactoring/pypy/jit/rainbow/portal.py (original)
+++ pypy/branch/jit-refactoring/pypy/jit/rainbow/portal.py Sun Feb 24 12:52:48 2008
@@ -190,16 +190,6 @@
return gv_generated
- def make_dummy_args(self):
- redargs = ()
- greenargs = ()
- for color, _, make_arg_redbox in args_specification:
- if color == "green":
- greenargs += (None, )
- else:
- redargs += (None, )
- return list(greenargs), list(redargs)
-
# debug helpers
def readportal(self, *args):
i = 0
Modified: pypy/branch/jit-refactoring/pypy/jit/rainbow/test/test_portal.py
==============================================================================
--- pypy/branch/jit-refactoring/pypy/jit/rainbow/test/test_portal.py (original)
+++ pypy/branch/jit-refactoring/pypy/jit/rainbow/test/test_portal.py Sun Feb 24 12:52:48 2008
@@ -119,7 +119,6 @@
self.check_insns({})
def test_multiple_portal_calls(self):
- py.test.skip("promote not implemented")
def ll_function(n):
hint(None, global_merge_point=True)
k = n
More information about the Pypy-commit
mailing list