[pypy-commit] pypy trace-limit-hack: Don't call trace_next_iteration() if we didn't call
arigo
noreply at buildbot.pypy.org
Sat Aug 30 18:02:18 CEST 2014
Author: Armin Rigo <arigo at tunes.org>
Branch: trace-limit-hack
Changeset: r73210:f61a39ccf6f7
Date: 2014-08-30 18:02 +0200
http://bitbucket.org/pypy/pypy/changeset/f61a39ccf6f7/
Log: Don't call trace_next_iteration() if we didn't call
disable_noninlinable_function(), to avoid bad performance if we get
a very long, flat list of operations with no disablable call.
diff --git a/rpython/jit/metainterp/pyjitpl.py b/rpython/jit/metainterp/pyjitpl.py
--- a/rpython/jit/metainterp/pyjitpl.py
+++ b/rpython/jit/metainterp/pyjitpl.py
@@ -1991,10 +1991,10 @@
if greenkey_of_huge_function is not None:
warmrunnerstate.disable_noninlinable_function(
greenkey_of_huge_function)
- if self.current_merge_points:
- jd_sd = self.jitdriver_sd
- greenkey = self.current_merge_points[0][0][:jd_sd.num_green_args]
- warmrunnerstate.JitCell.trace_next_iteration(greenkey)
+ if self.current_merge_points:
+ jd_sd = self.jitdriver_sd
+ greenkey = self.current_merge_points[0][0][:jd_sd.num_green_args]
+ warmrunnerstate.JitCell.trace_next_iteration(greenkey)
raise SwitchToBlackhole(Counters.ABORT_TOO_LONG)
def _interpret(self):
More information about the pypy-commit
mailing list