[pypy-commit] pypy default: Performance issue: reading the f_back attribute at app-level would now
arigo
noreply at buildbot.pypy.org
Tue Sep 13 10:58:02 CEST 2011
Author: Armin Rigo <arigo at tunes.org>
Branch:
Changeset: r47242:5809fd22dee2
Date: 2011-09-13 10:56 +0200
http://bitbucket.org/pypy/pypy/changeset/5809fd22dee2/
Log: Performance issue: reading the f_back attribute at app-level would
now force its result. Thanks fijal for spotting it!
diff --git a/pypy/interpreter/executioncontext.py b/pypy/interpreter/executioncontext.py
--- a/pypy/interpreter/executioncontext.py
+++ b/pypy/interpreter/executioncontext.py
@@ -48,6 +48,7 @@
return frame
@staticmethod
+ @jit.unroll_safe # should usually loop 0 times, very rarely more than once
def getnextframe_nohidden(frame):
frame = frame.f_backref()
while frame and frame.hide():
diff --git a/pypy/interpreter/pyframe.py b/pypy/interpreter/pyframe.py
--- a/pypy/interpreter/pyframe.py
+++ b/pypy/interpreter/pyframe.py
@@ -614,8 +614,8 @@
return self.get_builtin().getdict(space)
def fget_f_back(self, space):
- f_backref = ExecutionContext.getnextframe_nohidden(self)
- return self.space.wrap(f_backref)
+ f_back = ExecutionContext.getnextframe_nohidden(self)
+ return self.space.wrap(f_back)
def fget_f_lasti(self, space):
return self.space.wrap(self.last_instr)
More information about the pypy-commit
mailing list