[pypy-svn] r67866 - pypy/branch/experiment-less-resumeinfo/pypy/jit/backend

fijal at codespeak.net fijal at codespeak.net
Thu Sep 24 16:31:23 CEST 2009


Author: fijal
Date: Thu Sep 24 16:31:22 2009
New Revision: 67866

Added:
   pypy/branch/experiment-less-resumeinfo/pypy/jit/backend/loopviewer.py   (contents, props changed)
Log:
Resurrect loopviewer, because carl wants it. A fix that shows all pointers
as null ptrs, but at least displays stuff.


Added: pypy/branch/experiment-less-resumeinfo/pypy/jit/backend/loopviewer.py
==============================================================================
--- (empty file)
+++ pypy/branch/experiment-less-resumeinfo/pypy/jit/backend/loopviewer.py	Thu Sep 24 16:31:22 2009
@@ -0,0 +1,34 @@
+#!/usr/bin/env python
+""" Usage: loopviewer.py [loopnum] loopfile
+"""
+
+import py
+import sys
+from pypy.jit.metainterp.test.oparser import parse
+from pypy.jit.metainterp.history import ConstInt
+from pypy.rpython.lltypesystem import llmemory, lltype
+
+class AllDict(dict):
+    def __getitem__(self, item):
+        return lltype.nullptr(llmemory.GCREF.TO)
+
+alldict = AllDict()
+
+def main(loopnum, loopfile):
+    data = py.path.local(loopfile).read()
+    loops = [i for i in data.split("[") if i]
+    inp = "[" + loops[loopnum]
+    loop = parse(inp, namespace=alldict)
+    loop.show()
+
+if __name__ == '__main__':
+    if len(sys.argv) == 2:
+        loopnum = -1
+        loopfile = sys.argv[1]
+    elif len(sys.argv) == 3:
+        loopnum = int(sys.argv[1])
+        loopfile = sys.argv[2]
+    else:
+        print __doc__
+        sys.exit(1)
+    main(loopnum, loopfile)



More information about the Pypy-commit mailing list