[pypy-svn] r69557 - in pypy/branch/compress-virtuals-resumedata2/pypy/jit/metainterp: . test

pedronis at codespeak.net pedronis at codespeak.net
Mon Nov 23 17:02:58 CET 2009


Author: pedronis
Date: Mon Nov 23 17:02:57 2009
New Revision: 69557

Modified:
   pypy/branch/compress-virtuals-resumedata2/pypy/jit/metainterp/logger.py
   pypy/branch/compress-virtuals-resumedata2/pypy/jit/metainterp/test/oparser.py
   pypy/branch/compress-virtuals-resumedata2/pypy/jit/metainterp/test/test_logger.py
Log:
adjust logger/oparser to deal with holes in fail_args



Modified: pypy/branch/compress-virtuals-resumedata2/pypy/jit/metainterp/logger.py
==============================================================================
--- pypy/branch/compress-virtuals-resumedata2/pypy/jit/metainterp/logger.py	(original)
+++ pypy/branch/compress-virtuals-resumedata2/pypy/jit/metainterp/logger.py	Mon Nov 23 17:02:57 2009
@@ -63,6 +63,8 @@
             if not name:
                 name = 'cls' + str(mv)
             return 'ConstClass(' + name + ')'
+        elif arg is None:
+            return 'None'
         else:
             return '?'
 

Modified: pypy/branch/compress-virtuals-resumedata2/pypy/jit/metainterp/test/oparser.py
==============================================================================
--- pypy/branch/compress-virtuals-resumedata2/pypy/jit/metainterp/test/oparser.py	(original)
+++ pypy/branch/compress-virtuals-resumedata2/pypy/jit/metainterp/test/oparser.py	Mon Nov 23 17:02:57 2009
@@ -205,10 +205,15 @@
             if i < j:
                 for arg in line[i:j].split(','):
                     arg = arg.strip()
-                    try:
-                        fail_args.append(self.vars[arg])
-                    except KeyError:
-                        raise ParseError("Unknown var in fail_args: %s" % arg)
+                    if arg == 'None':
+                        fail_arg = None
+                    else:
+                        try:
+                            fail_arg = self.vars[arg]
+                        except KeyError:
+                            raise ParseError(
+                                "Unknown var in fail_args: %s" % arg)
+                    fail_args.append(fail_arg)
             if descr is None and self.invent_fail_descr:
                 descr = self.invent_fail_descr(fail_args)
             if hasattr(descr, '_oparser_uses_descr_of_guard'):

Modified: pypy/branch/compress-virtuals-resumedata2/pypy/jit/metainterp/test/test_logger.py
==============================================================================
--- pypy/branch/compress-virtuals-resumedata2/pypy/jit/metainterp/test/test_logger.py	(original)
+++ pypy/branch/compress-virtuals-resumedata2/pypy/jit/metainterp/test/test_logger.py	Mon Nov 23 17:02:57 2009
@@ -83,6 +83,15 @@
         '''
         self.reparse(inp)
 
+    def test_guard_w_hole(self):
+        inp = '''
+        [i0]
+        i1 = int_add(i0, 1)
+        guard_true(i0) [i0, None, i1]
+        finish(i1)
+        '''
+        self.reparse(inp)
+
     def test_debug_merge_point(self):
         inp = '''
         []
@@ -112,7 +121,7 @@
         assert output.splitlines()[-1] == "jump(i0, descr=<Loop3>)"
         pure_parse(output)
         
-    def test_guard(self):
+    def test_guard_descr(self):
         namespace = {'fdescr': BasicFailDescr(4)}
         inp = '''
         [i0]



More information about the Pypy-commit mailing list