Author: Antonio Cuni <anto.c...@gmail.com>
Branch: core-only-tracing
Changeset: r53100:5ecd8a0b0a52
Date: 2012-01-20 16:35 +0100
http://bitbucket.org/pypy/pypy/changeset/5ecd8a0b0a52/

Log:    bah, actually fix rpython

diff --git a/pypy/jit/metainterp/warmspot.py b/pypy/jit/metainterp/warmspot.py
--- a/pypy/jit/metainterp/warmspot.py
+++ b/pypy/jit/metainterp/warmspot.py
@@ -904,8 +904,9 @@
             funcname = op.args[2].value
             key = jd, funcname
             if key not in closures:
+                is_string = funcname in ('enable_opts', 'jitmode')
                 closures[key] = make_closure(jd, 'set_param_' + funcname,
-                                             funcname == 'enable_opts')
+                                             is_string)
             op.opname = 'direct_call'
             op.args[:3] = [closures[key]]
 
diff --git a/pypy/module/pypyjit/interp_jit.py 
b/pypy/module/pypyjit/interp_jit.py
--- a/pypy/module/pypyjit/interp_jit.py
+++ b/pypy/module/pypyjit/interp_jit.py
@@ -151,10 +151,12 @@
     for key, w_value in kwds_w.items():
         if key == 'enable_opts':
             jit.set_param(None, 'enable_opts', space.str_w(w_value))
+        elif key == 'jitmode':
+            jit.set_param(None, 'jitmode', space.str_w(w_value))        
         else:
             intval = space.int_w(w_value)
             for name, _ in unroll_parameters:
-                if name == key and name != 'enable_opts':
+                if name == key and name != 'enable_opts' and name != 'jitmode':
                     jit.set_param(None, name, intval)
                     break
             else:
diff --git a/pypy/rlib/jit.py b/pypy/rlib/jit.py
--- a/pypy/rlib/jit.py
+++ b/pypy/rlib/jit.py
@@ -527,11 +527,13 @@
             raise ValueError
         name = parts[0]
         value = parts[1]
-        if name == 'enable_opts' or name == 'jitmode':
-            set_param(driver, name, value)
+        if name == 'enable_opts':
+            set_param(driver, 'enable_opts', value)
+        elif name == 'jitmode':
+            set_param(driver, 'jitmode', value)
         else:
             for name1, _ in unroll_parameters:
-                if name1 == name and name1 != 'enable_opts':
+                if name1 == name and name1 != 'enable_opts' and name1 != 
'jitmode':
                     try:
                         set_param(driver, name1, int(value))
                     except ValueError:
@@ -717,7 +719,7 @@
         from pypy.annotation import model as annmodel
         assert s_name.is_constant()
         if not self.bookkeeper.immutablevalue(DEFAULT).contains(s_value):
-            if s_name.const == 'enable_opts':
+            if s_name.const in ('enable_opts', 'jitmode'):
                 assert annmodel.SomeString(can_be_None=True).contains(s_value)
             else:
                 assert annmodel.SomeInteger().contains(s_value)
@@ -731,7 +733,7 @@
         hop.exception_cannot_occur()
         driver = hop.inputarg(lltype.Void, arg=0)
         name = hop.args_s[1].const
-        if name == 'enable_opts':
+        if name in ('enable_opts', 'jitmode'):
             repr = string_repr
         else:
             repr = lltype.Signed
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to