[pypy-commit] pypy result-in-resops: (agaynor, fijal) fish the types

fijal noreply at buildbot.pypy.org
Sat Oct 27 18:50:59 CEST 2012


Author: Maciej Fijalkowski <fijall at gmail.com>
Branch: result-in-resops
Changeset: r58507:6cb7afbf9931
Date: 2012-10-27 18:51 +0200
http://bitbucket.org/pypy/pypy/changeset/6cb7afbf9931/

Log:	(agaynor, fijal) fish the types

diff --git a/pypy/jit/metainterp/optimizeopt/test/test_optimizebasic.py b/pypy/jit/metainterp/optimizeopt/test/test_optimizebasic.py
--- a/pypy/jit/metainterp/optimizeopt/test/test_optimizebasic.py
+++ b/pypy/jit/metainterp/optimizeopt/test/test_optimizebasic.py
@@ -185,7 +185,7 @@
         self.optimize_loop(ops, expected)
 
     def test_constfold_all(self):
-        from pypy.jit.backend.llgraph.llimpl import TYPES     # xxx fish
+        from pypy.jit.metainterp.optimizeopt.test.types import TYPES     # xxx fish
         from pypy.jit.metainterp.executor import execute_nonspec
         import random
         for opnum in [rop._ALWAYS_PURE_FIRST, rop._ALWAYS_PURE_NO_PTR_LAST]:
diff --git a/pypy/jit/metainterp/optimizeopt/test/types.py b/pypy/jit/metainterp/optimizeopt/test/types.py
new file mode 100644
--- /dev/null
+++ b/pypy/jit/metainterp/optimizeopt/test/types.py
@@ -0,0 +1,105 @@
+TYPES = {
+    'int_add'         : (('int', 'int'), 'int'),
+    'int_sub'         : (('int', 'int'), 'int'),
+    'int_mul'         : (('int', 'int'), 'int'),
+    'int_floordiv'    : (('int', 'int'), 'int'),
+    'int_mod'         : (('int', 'int'), 'int'),
+    'int_and'         : (('int', 'int'), 'int'),
+    'int_or'          : (('int', 'int'), 'int'),
+    'int_xor'         : (('int', 'int'), 'int'),
+    'int_lshift'      : (('int', 'int'), 'int'),
+    'int_rshift'      : (('int', 'int'), 'int'),
+    'int_lt'          : (('int', 'int'), 'bool'),
+    'int_gt'          : (('int', 'int'), 'bool'),
+    'int_ge'          : (('int', 'int'), 'bool'),
+    'int_le'          : (('int', 'int'), 'bool'),
+    'int_eq'          : (('int', 'int'), 'bool'),
+    'int_ne'          : (('int', 'int'), 'bool'),
+    'int_is_true'     : (('int',), 'bool'),
+    'int_is_zero'     : (('int',), 'bool'),
+    'int_neg'         : (('int',), 'int'),
+    'int_invert'      : (('int',), 'int'),
+    'int_add_ovf'     : (('int', 'int'), 'int'),
+    'int_sub_ovf'     : (('int', 'int'), 'int'),
+    'int_mul_ovf'     : (('int', 'int'), 'int'),
+    'int_force_ge_zero':(('int',), 'int'),
+    'uint_add'        : (('int', 'int'), 'int'),
+    'uint_sub'        : (('int', 'int'), 'int'),
+    'uint_mul'        : (('int', 'int'), 'int'),
+    'uint_lt'         : (('int', 'int'), 'bool'),
+    'uint_le'         : (('int', 'int'), 'bool'),
+    'uint_eq'         : (('int', 'int'), 'bool'),
+    'uint_ne'         : (('int', 'int'), 'bool'),
+    'uint_gt'         : (('int', 'int'), 'bool'),
+    'uint_ge'         : (('int', 'int'), 'bool'),
+    'uint_xor'        : (('int', 'int'), 'int'),
+    'uint_rshift'     : (('int', 'int'), 'int'),
+    'uint_floordiv'   : (('int', 'int'), 'int'),
+    'float_add'       : (('float', 'float'), 'float'),
+    'float_sub'       : (('float', 'float'), 'float'),
+    'float_mul'       : (('float', 'float'), 'float'),
+    'float_truediv'   : (('float', 'float'), 'float'),
+    'float_lt'        : (('float', 'float'), 'bool'),
+    'float_le'        : (('float', 'float'), 'bool'),
+    'float_eq'        : (('float', 'float'), 'bool'),
+    'float_ne'        : (('float', 'float'), 'bool'),
+    'float_gt'        : (('float', 'float'), 'bool'),
+    'float_ge'        : (('float', 'float'), 'bool'),
+    'float_neg'       : (('float',), 'float'),
+    'float_abs'       : (('float',), 'float'),
+    'cast_float_to_int':(('float',), 'int'),
+    'cast_int_to_float':(('int',), 'float'),
+    'same_as'         : (('int',), 'int'),      # could also be ptr=>ptr
+    'new_with_vtable' : (('ref',), 'ref'),
+    'new'             : ((), 'ref'),
+    'new_array'       : (('int',), 'ref'),
+    'oois'            : (('ref', 'ref'), 'bool'),
+    'ooisnot'         : (('ref', 'ref'), 'bool'),
+    'instanceof'      : (('ref',), 'bool'),
+    'subclassof'      : (('ref', 'ref'), 'bool'),
+    'runtimenew'      : (('ref',), 'ref'),
+    'setfield_gc'     : (('ref', 'intorptr'), None),
+    'getfield_gc'     : (('ref',), 'intorptr'),
+    'getfield_gc_pure': (('ref',), 'intorptr'),
+    'setfield_raw'    : (('ref', 'intorptr'), None),
+    'getfield_raw'    : (('ref',), 'intorptr'),
+    'getfield_raw_pure': (('ref',), 'intorptr'),
+    'setarrayitem_gc' : (('ref', 'int', 'intorptr'), None),
+    'getarrayitem_gc' : (('ref', 'int'), 'intorptr'),
+    'getarrayitem_gc_pure' : (('ref', 'int'), 'intorptr'),
+    'setarrayitem_raw' : (('ref', 'int', 'intorptr'), None),
+    'getarrayitem_raw' : (('ref', 'int'), 'intorptr'),
+    'getarrayitem_raw_pure' : (('ref', 'int'), 'intorptr'),
+    'arraylen_gc'     : (('ref',), 'int'),
+    'call'            : (('ref', 'varargs'), 'intorptr'),
+    'call_assembler'  : (('varargs',), 'intorptr'),
+    'cond_call_gc_wb' : (('ptr', 'ptr'), None),
+    'cond_call_gc_wb_array': (('ptr', 'int', 'ptr'), None),
+    'oosend'          : (('varargs',), 'intorptr'),
+    'oosend_pure'     : (('varargs',), 'intorptr'),
+    'guard_true'      : (('bool',), None),
+    'guard_false'     : (('bool',), None),
+    'guard_value'     : (('int', 'int'), None),
+    'guard_class'     : (('ref', 'ref'), None),
+    'guard_no_exception'   : ((), None),
+    'guard_exception'      : (('ref',), 'ref'),
+    'guard_no_overflow'    : ((), None),
+    'guard_overflow'       : ((), None),
+    'guard_nonnull'        : (('ref',), None),
+    'guard_isnull'        : (('ref',), None),
+    'guard_nonnull_class' : (('ref', 'ref'), None),
+    'newstr'          : (('int',), 'ref'),
+    'strlen'          : (('ref',), 'int'),
+    'strgetitem'      : (('ref', 'int'), 'int'),
+    'strsetitem'      : (('ref', 'int', 'int'), None),
+    'newunicode'      : (('int',), 'ref'),
+    'unicodelen'      : (('ref',), 'int'),
+    'unicodegetitem'  : (('ref', 'int'), 'int'),
+    'unicodesetitem'  : (('ref', 'int', 'int'), 'int'),
+    'cast_ptr_to_int' : (('ref',), 'int'),
+    'cast_int_to_ptr' : (('int',), 'ref'),
+    'debug_merge_point': (('ref', 'int', 'int'), None),
+    'force_token'     : ((), 'int'),
+    'call_may_force'  : (('int', 'varargs'), 'intorptr'),
+    'guard_not_forced': ((), None),
+}


More information about the pypy-commit mailing list