[pypy-svn] r71164 - pypy/branch/abort-no-asm/pypy/jit/metainterp/test

cfbolz at codespeak.net cfbolz at codespeak.net
Mon Feb 8 12:24:12 CET 2010


Author: cfbolz
Date: Mon Feb  8 12:24:11 2010
New Revision: 71164

Modified:
   pypy/branch/abort-no-asm/pypy/jit/metainterp/test/test_recursive.py
Log:
a test for r71114


Modified: pypy/branch/abort-no-asm/pypy/jit/metainterp/test/test_recursive.py
==============================================================================
--- pypy/branch/abort-no-asm/pypy/jit/metainterp/test/test_recursive.py	(original)
+++ pypy/branch/abort-no-asm/pypy/jit/metainterp/test/test_recursive.py	Mon Feb  8 12:24:11 2010
@@ -666,6 +666,26 @@
         self.meta_interp(portal, [2], inline=True)
         self.check_history(call_assembler=1)
 
+    def test_directly_call_assembler_abort_calltarget_not_present(self):
+        driver = JitDriver(greens = ['codeno'], reds = ['i'],
+                           get_printable_location = lambda codeno : str(codeno),
+                           can_inline = lambda codeno : False)
+
+        def portal(codeno):
+            i = 0
+            while i < 10:
+                driver.can_enter_jit(codeno = codeno, i = i)
+                driver.jit_merge_point(codeno = codeno, i = i)
+                if codeno == 2:
+                    if i >= 2:
+                        portal(1)
+                else:
+                    return
+                i += 1
+
+        self.meta_interp(portal, [2], inline=True)
+        self.check_history(call_assembler=1)
+
     def test_directly_call_assembler_return(self):
         driver = JitDriver(greens = ['codeno'], reds = ['i', 'k'],
                            get_printable_location = lambda codeno : str(codeno),



More information about the Pypy-commit mailing list