Author: Antonio Cuni <[email protected]>
Branch: invalidate-virtualrefs
Changeset: r44544:346184ef2476
Date: 2011-05-27 14:10 +0200
http://bitbucket.org/pypy/pypy/changeset/346184ef2476/

Log:    _application_traceback might be a transparent proxy; in this case,
        we don't need to mark the frame as escaped, because the tb is a
        purely applevel object: even in the case it has indirect access to
        the frame, it's because the frame escaped somewhere else, and thus
        it's already marked

diff --git a/pypy/interpreter/error.py b/pypy/interpreter/error.py
--- a/pypy/interpreter/error.py
+++ b/pypy/interpreter/error.py
@@ -261,8 +261,7 @@
         """
         from pypy.interpreter.pytraceback import PyTraceback
         tb = self._application_traceback
-        if tb is not None:
-            assert isinstance(tb, PyTraceback)
+        if tb is not None and isinstance(tb, PyTraceback):
             tb.frame.mark_as_escaped()
         return tb
 
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to