[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