[pypy-svn] pypy out-of-line-guards-2: merge heads

arigo commits-noreply at bitbucket.org
Fri May 6 15:24:32 CEST 2011


Author: Armin Rigo <arigo at tunes.org>
Branch: out-of-line-guards-2
Changeset: r43929:326cd5661f11
Date: 2011-05-06 13:24 +0000
http://bitbucket.org/pypy/pypy/changeset/326cd5661f11/

Log:	merge heads

diff --git a/pypy/jit/metainterp/test/support.py b/pypy/jit/metainterp/test/support.py
--- a/pypy/jit/metainterp/test/support.py
+++ b/pypy/jit/metainterp/test/support.py
@@ -8,11 +8,11 @@
 from pypy.jit.metainterp import pyjitpl, history
 from pypy.jit.metainterp.warmstate import set_future_value
 from pypy.jit.codewriter.policy import JitPolicy
-from pypy.jit.codewriter import longlong
+from pypy.jit.codewriter import codewriter, longlong
 
 def _get_jitcodes(testself, CPUClass, func, values, type_system,
                   supports_longlong=False, **kwds):
-    from pypy.jit.codewriter import support, codewriter
+    from pypy.jit.codewriter import support
 
     class FakeJitCell:
         __compiled_merge_points = []
@@ -49,6 +49,7 @@
     stats = history.Stats()
     cpu = CPUClass(rtyper, stats, None, False)
     cw = codewriter.CodeWriter(cpu, [FakeJitDriverSD()])
+    cw.debug = True
     testself.cw = cw
     policy = JitPolicy()
     policy.set_supports_longlong(supports_longlong)
@@ -171,7 +172,12 @@
         kwds['type_system'] = self.type_system
         if "backendopt" not in kwds:
             kwds["backendopt"] = False
-        return ll_meta_interp(*args, **kwds)
+        old = codewriter.CodeWriter.debug
+        try:
+            codewriter.CodeWriter.debug = True
+            return ll_meta_interp(*args, **kwds)
+        finally:
+            codewriter.CodeWriter.debug = old
 
     def interp_operations(self, f, args, **kwds):
         # get the JitCodes for the function f
diff --git a/pypy/jit/metainterp/test/test_jitprof.py b/pypy/jit/metainterp/test/test_jitprof.py
--- a/pypy/jit/metainterp/test/test_jitprof.py
+++ b/pypy/jit/metainterp/test/test_jitprof.py
@@ -65,7 +65,7 @@
             ]
         assert profiler.events == expected
         assert profiler.times == [3, 2, 1, 1]
-        assert profiler.counters == [1, 2, 1, 1, 3, 3, 1, 13, 2, 0, 0, 0,
+        assert profiler.counters == [1, 2, 1, 1, 3, 3, 1, 13, 2, 0, 0, 0, 0,
                                      0, 0, 0, 0, 0]
 
     def test_simple_loop_with_call(self):
diff --git a/pypy/jit/metainterp/test/test_quasiimmut.py b/pypy/jit/metainterp/test/test_quasiimmut.py
--- a/pypy/jit/metainterp/test/test_quasiimmut.py
+++ b/pypy/jit/metainterp/test/test_quasiimmut.py
@@ -389,12 +389,15 @@
             assert isinstance(loop.quasi_immutable_deps.keys()[0], QuasiImmut)
 
     def test_list_pass_around(self):
+        py.test.skip("think about a way to fix it")
         myjitdriver = JitDriver(greens=['foo'], reds=['x', 'total'])
         class Foo:
             _immutable_fields_ = ['lst?[*]']
             def __init__(self, lst):
                 self.lst = lst
         def g(lst):
+            # here, 'lst' is statically annotated as a "modified" list,
+            # so the following doesn't generate a getarrayitem_gc_pure...
             return lst[1]
         def f(a, x):
             lst1 = [0, 0]


More information about the Pypy-commit mailing list