[pypy-svn] r70717 - in pypy/branch/direct-assembler-call/pypy/jit/metainterp: . test

fijal at codespeak.net fijal at codespeak.net
Tue Jan 19 21:32:29 CET 2010


Author: fijal
Date: Tue Jan 19 21:32:27 2010
New Revision: 70717

Modified:
   pypy/branch/direct-assembler-call/pypy/jit/metainterp/test/test_recursive.py
   pypy/branch/direct-assembler-call/pypy/jit/metainterp/warmspot.py
   pypy/branch/direct-assembler-call/pypy/jit/metainterp/warmstate.py
Log:
Call portal directly, instead of setting future values. Should sort-of-work,
needs more tests


Modified: pypy/branch/direct-assembler-call/pypy/jit/metainterp/test/test_recursive.py
==============================================================================
--- pypy/branch/direct-assembler-call/pypy/jit/metainterp/test/test_recursive.py	(original)
+++ pypy/branch/direct-assembler-call/pypy/jit/metainterp/test/test_recursive.py	Tue Jan 19 21:32:27 2010
@@ -733,7 +733,8 @@
                 i += 1
             return k
 
-        self.meta_interp(portal, [2, 0], inline=True)
+        res = self.meta_interp(portal, [2, 0], inline=True)
+        assert res == portal(2, 0)
 
 class TestLLtype(RecursiveTests, LLJitMixin):
     pass

Modified: pypy/branch/direct-assembler-call/pypy/jit/metainterp/warmspot.py
==============================================================================
--- pypy/branch/direct-assembler-call/pypy/jit/metainterp/warmspot.py	(original)
+++ pypy/branch/direct-assembler-call/pypy/jit/metainterp/warmspot.py	Tue Jan 19 21:32:27 2010
@@ -572,8 +572,7 @@
                     for _, name, _ in portalfunc_ARGS:
                         v = getattr(e, name)
                         args = args + (v,)
-                    # XXX we need to get back to the general portal no? we got new green args as well
-                    self.state.set_future_values(*args)
+                    return ll_portal_runner(*args)
                 except self.DoneWithThisFrameVoid:
                     assert result_kind == 'void'
                     return

Modified: pypy/branch/direct-assembler-call/pypy/jit/metainterp/warmstate.py
==============================================================================
--- pypy/branch/direct-assembler-call/pypy/jit/metainterp/warmstate.py	(original)
+++ pypy/branch/direct-assembler-call/pypy/jit/metainterp/warmstate.py	Tue Jan 19 21:32:27 2010
@@ -194,7 +194,7 @@
         ContinueRunningNormally = self.warmrunnerdesc.ContinueRunningNormally
         num_green_args = self.warmrunnerdesc.num_green_args
         get_jitcell = self.make_jitcell_getter()
-        self.set_future_values = self.make_set_future_values()
+        set_future_values = self.make_set_future_values()
         self.make_jitdriver_callbacks()
         confirm_enter_jit = self.confirm_enter_jit
 
@@ -245,7 +245,7 @@
                     return
                 # machine code was already compiled for these greenargs
                 # get the assembler and fill in the boxes
-                self.set_future_values(*args[num_green_args:])
+                set_future_values(*args[num_green_args:])
                 loop_token = cell.entry_loop_token
 
             # ---------- execute assembler ----------



More information about the Pypy-commit mailing list