[pypy-svn] r34137 - in pypy/dist/pypy/jit: hintannotator timeshifter/test
rxe at codespeak.net
rxe at codespeak.net
Fri Nov 3 18:49:07 CET 2006
Author: rxe
Date: Fri Nov 3 18:48:56 2006
New Revision: 34137
Modified:
pypy/dist/pypy/jit/hintannotator/model.py
pypy/dist/pypy/jit/timeshifter/test/test_portal.py
Log:
fix broken tests with over eager HintError. add some more binary ops. add test for dfa recognizeparts() - (arre, rxe)
Modified: pypy/dist/pypy/jit/hintannotator/model.py
==============================================================================
--- pypy/dist/pypy/jit/hintannotator/model.py (original)
+++ pypy/dist/pypy/jit/hintannotator/model.py Fri Nov 3 18:48:56 2006
@@ -17,7 +17,7 @@
ptr_nonzero
ptr_iszero""".split()
-BINARY_OPERATIONS = """int_add int_sub int_mul int_mod int_and int_rshift int_floordiv
+BINARY_OPERATIONS = """int_add int_sub int_mul int_mod int_and int_rshift int_floordiv int_xor int_or
uint_add uint_sub uint_mul uint_mod uint_and uint_lshift uint_rshift uint_floordiv
char_gt char_lt char_le char_ge char_eq char_ne
int_gt int_lt int_le int_ge int_eq int_ne
@@ -267,6 +267,10 @@
hs_concrete = SomeLLAbstractConstant(hs_v1.concretetype, {})
hs_concrete.eager_concrete = True
return hs_concrete
+ for name in ["reverse_split_queue", "global_merge_point"]:
+ if hs_flags.const.get(name, False):
+ return
+
raise HintError("hint %s makes no sense on %r" % (hs_flags.const,
hs_v1))
Modified: pypy/dist/pypy/jit/timeshifter/test/test_portal.py
==============================================================================
--- pypy/dist/pypy/jit/timeshifter/test/test_portal.py (original)
+++ pypy/dist/pypy/jit/timeshifter/test/test_portal.py Fri Nov 3 18:48:56 2006
@@ -153,6 +153,19 @@
res = self.timeshift_from_portal(main, recognizetable, [1], policy=P_NOVIRTUAL)
assert not res
+ def test_dfa_compile2(self):
+ from pypy.lang.automata.dfa import getautomaton, recognizeparts
+ a = getautomaton()
+ def main(gets):
+ s = ["aaaaaaaaaab", "aaaa"][gets]
+ return recognizeparts(a.transitions, a.final_states, s)
+
+ res = self.timeshift_from_portal(main, recognizeparts, [0], policy=P_NOVIRTUAL)
+ assert res
+
+ res = self.timeshift_from_portal(main, recognizeparts, [1], policy=P_NOVIRTUAL)
+ assert not res
+
def test_method_call_promote(self):
class Base(object):
pass
More information about the Pypy-commit
mailing list