Author: Armin Rigo <[email protected]>
Branch: 
Changeset: r75448:7e73ff3a2eac
Date: 2015-01-20 14:23 +0100
http://bitbucket.org/pypy/pypy/changeset/7e73ff3a2eac/

Log:    Trying to change the order: the "nocollect" marker can appear
        anywhere, but putting it after the call prevents gcc from generating
        a tail-call

diff --git a/rpython/memory/gctransform/framework.py 
b/rpython/memory/gctransform/framework.py
--- a/rpython/memory/gctransform/framework.py
+++ b/rpython/memory/gctransform/framework.py
@@ -690,9 +690,9 @@
             self.default(hop)
             self.pop_roots(hop, livevars)
         else:
-            self.default(hop)
             if hop.spaceop.opname == "direct_call":
                 self.mark_call_cannotcollect(hop, hop.spaceop.args[0])
+            self.default(hop)
 
     def mark_call_cannotcollect(self, hop, name):
         pass
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to