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