[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