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

Reply via email to