Author: Armin Rigo <ar...@tunes.org> Branch: Changeset: r45306:f0dc295dc82d Date: 2011-07-03 08:14 +0200 http://bitbucket.org/pypy/pypy/changeset/f0dc295dc82d/
Log: For '--jit enable_opts', use a default value of 'all' instead of the complete string from optimizeopt. diff --git a/pypy/jit/metainterp/optimizeopt/__init__.py b/pypy/jit/metainterp/optimizeopt/__init__.py --- a/pypy/jit/metainterp/optimizeopt/__init__.py +++ b/pypy/jit/metainterp/optimizeopt/__init__.py @@ -3,7 +3,7 @@ from pypy.jit.metainterp.optimizeopt.intbounds import OptIntBounds from pypy.jit.metainterp.optimizeopt.virtualize import OptVirtualize from pypy.jit.metainterp.optimizeopt.heap import OptHeap -from pypy.jit.metainterp.optimizeopt.string import OptString +from pypy.jit.metainterp.optimizeopt.vstring import OptString from pypy.jit.metainterp.optimizeopt.unroll import optimize_unroll, OptInlineShortPreamble from pypy.jit.metainterp.optimizeopt.fficall import OptFfiCall from pypy.jit.metainterp.optimizeopt.simplify import OptSimplify @@ -21,14 +21,17 @@ unroll_all_opts = unrolling_iterable(ALL_OPTS) ALL_OPTS_DICT = dict.fromkeys([name for name, _ in ALL_OPTS]) - +ALL_OPTS_LIST = [name for name, _ in ALL_OPTS] ALL_OPTS_NAMES = ':'.join([name for name, _ in ALL_OPTS]) -PARAMETERS['enable_opts'] = ALL_OPTS_NAMES def build_opt_chain(metainterp_sd, enable_opts, inline_short_preamble=True, retraced=False): config = metainterp_sd.config optimizations = [] + if enable_opts == 'all': + enable_opts = ALL_OPTS_LIST + else: + enable_opts = enable_opts.split(':') unroll = 'unroll' in enable_opts for name, opt in unroll_all_opts: if name in enable_opts: diff --git a/pypy/jit/metainterp/optimizeopt/test/test_optimizebasic.py b/pypy/jit/metainterp/optimizeopt/test/test_optimizebasic.py --- a/pypy/jit/metainterp/optimizeopt/test/test_optimizebasic.py +++ b/pypy/jit/metainterp/optimizeopt/test/test_optimizebasic.py @@ -4123,7 +4123,6 @@ # ---------- def optimize_strunicode_loop_extradescrs(self, ops, optops): - from pypy.jit.metainterp.optimizeopt import string class FakeCallInfoCollection: def callinfo_for_oopspec(self, oopspecindex): calldescrtype = type(LLtypeMixin.strequaldescr) diff --git a/pypy/jit/metainterp/optimizeopt/test/test_optimizeopt.py b/pypy/jit/metainterp/optimizeopt/test/test_optimizeopt.py --- a/pypy/jit/metainterp/optimizeopt/test/test_optimizeopt.py +++ b/pypy/jit/metainterp/optimizeopt/test/test_optimizeopt.py @@ -5373,7 +5373,6 @@ # ---------- def optimize_strunicode_loop_extradescrs(self, ops, optops, preamble=None): - from pypy.jit.metainterp.optimizeopt import string class FakeCallInfoCollection: def callinfo_for_oopspec(self, oopspecindex): calldescrtype = type(LLtypeMixin.strequaldescr) diff --git a/pypy/jit/metainterp/optimizeopt/string.py b/pypy/jit/metainterp/optimizeopt/vstring.py rename from pypy/jit/metainterp/optimizeopt/string.py rename to pypy/jit/metainterp/optimizeopt/vstring.py diff --git a/pypy/rlib/jit.py b/pypy/rlib/jit.py --- a/pypy/rlib/jit.py +++ b/pypy/rlib/jit.py @@ -291,7 +291,7 @@ 'inlining': 0, 'loop_longevity': 1000, 'retrace_limit': 5, - 'enable_opts': None, # patched later by optimizeopt/__init__.py + 'enable_opts': 'all', } unroll_parameters = unrolling_iterable(PARAMETERS.items()) DEFAULT = object() @@ -355,20 +355,12 @@ @specialize.arg(0, 1) def set_param(self, name, value): """Set one of the tunable JIT parameter.""" - for name1, _ in unroll_parameters: - if name1 == name: - self._set_param(name1, value) - return - raise ValueError("no such parameter") + self._set_param(name, value) @specialize.arg(0, 1) def set_param_to_default(self, name): """Reset one of the tunable JIT parameters to its default value.""" - for name1, _ in unroll_parameters: - if name1 == name: - self._set_param(name1, DEFAULT) - return - raise ValueError("no such parameter") + self._set_param(name, DEFAULT) def set_user_param(self, text): """Set the tunable JIT parameters from a user-supplied string _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit