Author: Antonio Cuni <[email protected]>
Branch: autoreds
Changeset: r58843:60cf0cbf40a8
Date: 2012-11-12 18:27 +0100
http://bitbucket.org/pypy/pypy/changeset/60cf0cbf40a8/
Log: make sure that we cannot use autoreds with confirm_enter_jit
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
@@ -259,6 +259,7 @@
jitdriver = op.args[1].value
if not jitdriver.autoreds:
continue
+ assert jitdriver.confirm_enter_jit is None
# compute the set of live variables before the jit_marker
alive_v = set(block.inputargs)
for op1 in block.operations:
diff --git a/pypy/rlib/jit.py b/pypy/rlib/jit.py
--- a/pypy/rlib/jit.py
+++ b/pypy/rlib/jit.py
@@ -456,6 +456,7 @@
self.autoreds = True
self.reds = []
self.numreds = None # see warmspot.autodetect_jit_markers_redvars
+ assert confirm_enter_jit is None, 'cannot use automatic reds if
confirm_enter_jit is given'
elif reds is not None:
self.autoreds = False
self.reds = reds
diff --git a/pypy/rlib/test/test_jit.py b/pypy/rlib/test/test_jit.py
--- a/pypy/rlib/test/test_jit.py
+++ b/pypy/rlib/test/test_jit.py
@@ -15,6 +15,15 @@
pass
assert fn.oopspec == 'foobar'
+def test_jitdriver_autoreds():
+ driver = JitDriver(greens=['foo'], reds='auto')
+ assert driver.autoreds
+ assert driver.reds == []
+ assert driver.numreds is None
+ #
+ py.test.raises(AssertionError, "JitDriver(greens=['foo'], reds='auto',
confirm_enter_jit='something')")
+
+
class BaseTestJIT(BaseRtypingTest):
def test_hint(self):
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit