[pypy-svn] r59884 - pypy/trunk/pypy/translator/tool

antocuni at codespeak.net antocuni at codespeak.net
Wed Nov 12 11:49:35 CET 2008


Author: antocuni
Date: Wed Nov 12 11:49:34 2008
New Revision: 59884

Modified:
   pypy/trunk/pypy/translator/tool/staticsizereport.py
Log:
put instances of user-defined classes first



Modified: pypy/trunk/pypy/translator/tool/staticsizereport.py
==============================================================================
--- pypy/trunk/pypy/translator/tool/staticsizereport.py	(original)
+++ pypy/trunk/pypy/translator/tool/staticsizereport.py	Wed Nov 12 11:49:34 2008
@@ -107,6 +107,15 @@
     return totalsize, numobjects
 
 def make_report_static_size(database, nodes, grouper, recursive=None):
+    from pypy.rpython.lltypesystem import lltype
+    # sort structs that belongs to user-defined RPython classes first
+    def nodekey(node):
+        if isinstance(node.T, lltype.Struct) and node.T._name.startswith('pypy.'):
+            return (0, node)
+        else:
+            return (1, node)
+
+    nodes = sorted(nodes, key=nodekey)
     totalsize, numobjects = group_static_size(database, nodes, grouper, recursive)
     l = [(size, key) for key, size in totalsize.iteritems()]
     l.sort()



More information about the Pypy-commit mailing list