[pypy-svn] r66656 - pypy/branch/pyjitpl5/pypy/jit/metainterp

arigo at codespeak.net arigo at codespeak.net
Mon Jul 27 21:07:23 CEST 2009


Author: arigo
Date: Mon Jul 27 21:07:20 2009
New Revision: 66656

Modified:
   pypy/branch/pyjitpl5/pypy/jit/metainterp/history.py
   pypy/branch/pyjitpl5/pypy/jit/metainterp/optimize.py
Log:
An RPython-friendly way to dump a loop.


Modified: pypy/branch/pyjitpl5/pypy/jit/metainterp/history.py
==============================================================================
--- pypy/branch/pyjitpl5/pypy/jit/metainterp/history.py	(original)
+++ pypy/branch/pyjitpl5/pypy/jit/metainterp/history.py	Mon Jul 27 21:07:20 2009
@@ -595,6 +595,22 @@
         if operations[-1].opnum == rop.JUMP:
             assert isinstance(operations[-1].jump_target, TreeLoop)
 
+    def dump(self):
+        # RPython-friendly
+        print '%r: inputargs =' % self, self._dump_args(self.inputargs)
+        for op in self.operations:
+            print '\t', op.getopname(), self._dump_args(op.args), \
+                  self._dump_box(op.result)
+
+    def _dump_args(self, boxes):
+        return '[' + ', '.join([self._dump_box(box) for box in boxes]) + ']'
+
+    def _dump_box(self, box):
+        if box is None:
+            return 'None'
+        else:
+            return box.repr_rpython()
+
     def __repr__(self):
         return '<%s>' % (self.name,)
 

Modified: pypy/branch/pyjitpl5/pypy/jit/metainterp/optimize.py
==============================================================================
--- pypy/branch/pyjitpl5/pypy/jit/metainterp/optimize.py	(original)
+++ pypy/branch/pyjitpl5/pypy/jit/metainterp/optimize.py	Mon Jul 27 21:07:20 2009
@@ -10,6 +10,7 @@
             return old_loops[0]
         else:
             return None
+    #loop.dump()
     finder = PerfectSpecializationFinder()
     finder.find_nodes_loop(loop)
     for old_loop in old_loops:



More information about the Pypy-commit mailing list