[pypy-commit] pypy gc-counters: export the first crude approximation

fijal noreply at buildbot.pypy.org
Tue Dec 23 09:40:05 CET 2014


Author: Maciej Fijalkowski <fijall at gmail.com>
Branch: gc-counters
Changeset: r75074:c2056dcff6bd
Date: 2014-12-23 10:39 +0200
http://bitbucket.org/pypy/pypy/changeset/c2056dcff6bd/

Log:	export the first crude approximation

diff --git a/pypy/module/gc/__init__.py b/pypy/module/gc/__init__.py
--- a/pypy/module/gc/__init__.py
+++ b/pypy/module/gc/__init__.py
@@ -10,6 +10,7 @@
         'enable_finalizers': 'interp_gc.enable_finalizers',
         'disable_finalizers': 'interp_gc.disable_finalizers',
         'garbage': 'space.newlist([])',
+        'get_tid_counters': 'interp_gc.get_tid_counters',
         #'dump_heap_stats': 'interp_gc.dump_heap_stats',
     }
     appleveldefs = {}
diff --git a/pypy/module/gc/interp_gc.py b/pypy/module/gc/interp_gc.py
--- a/pypy/module/gc/interp_gc.py
+++ b/pypy/module/gc/interp_gc.py
@@ -61,3 +61,13 @@
         f.write("%d %d " % (tb[i].count, tb[i].size))
         f.write(",".join([str(tb[i].links[j]) for j in range(len(tb))]) + "\n")
     f.close()
+
+def get_tid_counters(space):
+    a = rgc.get_tid_counters()
+    l_w = [None] * 65536
+    i = 0
+    while i < 65536:
+        l_w[i] = space.wrap(a[i])
+        i += 1
+    rgc.reset_tid_counters()
+    return space.newlist(l_w)


More information about the pypy-commit mailing list