[pypy-commit] pypy invalidate-virtualrefs: _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

antocuni noreply at buildbot.pypy.org
Fri May 27 13:58:42 CEST 2011


Author: Antonio Cuni <anto.cuni at gmail.com>
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
 


More information about the pypy-commit mailing list