Author: Richard Plangger <[email protected]>
Branch: vecopt-merge
Changeset: r79035:f874a9f93f05
Date: 2015-08-18 12:48 +0200
http://bitbucket.org/pypy/pypy/changeset/f874a9f93f05/

Log:    set_param second parameter needs to be specialized, thus cannot be
        variable

diff --git a/rpython/rlib/jit.py b/rpython/rlib/jit.py
--- a/rpython/rlib/jit.py
+++ b/rpython/rlib/jit.py
@@ -579,7 +579,7 @@
               'vec': 0,
               'vec_params': '0:0:50:0.60',
               }
-STR_PARAMETERS = ['enable_opts','vec_params']
+STR_PARAMETERS = ('enable_opts','vec_params')
 unroll_parameters = unrolling_iterable(PARAMETERS.items())
 string_parameters = unrolling_iterable(STR_PARAMETERS)
 
@@ -799,11 +799,13 @@
             raise ValueError
         name = parts[0]
         value = parts[1]
-        if name in string_parameters:
-            set_param(driver, name, value)
+        if name == 'enable_opts':
+            set_param(driver, 'enable_opts', value)
+        elif name == 'vec_param':
+            set_param(driver, 'vec_params', value)
         else:
             for name1, _ in unroll_parameters:
-                if name1 == name and name1 not in string_parameters:
+                if name1 == name and name1 not in STR_PARAMETERS:
                     try:
                         set_param(driver, name1, int(value))
                     except ValueError:
@@ -967,7 +969,7 @@
     def compute_result_annotation(self, s_driver, s_name, s_value):
         from rpython.annotator import model as annmodel
         assert s_name.is_constant()
-        if s_name.const in string_parameters:
+        if s_name.const in STR_PARAMETERS:
             assert annmodel.SomeString(can_be_None=True).contains(s_value)
         else:
             assert (s_value == annmodel.s_None or
@@ -982,7 +984,7 @@
         hop.exception_cannot_occur()
         driver = hop.inputarg(lltype.Void, arg=0)
         name = hop.args_s[1].const
-        if name in string_parameters:
+        if name in STR_PARAMETERS:
             repr = string_repr
         else:
             repr = lltype.Signed
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to