Author: Justin Peel <[email protected]>
Branch:
Changeset: r47029:0f015355e6c5
Date: 2011-09-02 11:40 -0600
http://bitbucket.org/pypy/pypy/changeset/0f015355e6c5/
Log: force _trace_drag_out to always be inlined. The function is only
called by 2-3 other functions. This change really helps with gc-
intensive scripts like using a dict as a counter (can be a 10%
speed-up).
diff --git a/pypy/rpython/memory/gc/minimark.py
b/pypy/rpython/memory/gc/minimark.py
--- a/pypy/rpython/memory/gc/minimark.py
+++ b/pypy/rpython/memory/gc/minimark.py
@@ -1461,6 +1461,7 @@
# We will fix such references to point to the copy of the young
# objects when we walk 'old_objects_pointing_to_young'.
self.old_objects_pointing_to_young.append(newobj)
+ _trace_drag_out._always_inline_ = True
def _visit_young_rawmalloced_object(self, obj):
# 'obj' points to a young, raw-malloced object.
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit