[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