diff options
author | Ronan Lamy <ronan.lamy@gmail.com> | 2016-04-25 19:35:32 +0100 |
---|---|---|
committer | Ronan Lamy <ronan.lamy@gmail.com> | 2016-04-25 19:35:32 +0100 |
commit | b4c373de6b51683cf5342dbcc5734186adffad42 (patch) | |
tree | 04f8ac5c15f3ed069e52ddb282d0ded6f220c298 /lib-python/3/opcode.py | |
parent | Open branch for 3.5 (diff) | |
parent | Import stdlib 3.5.1 (CPython commit 37a07cee5969) (diff) | |
download | pypy-b4c373de6b51683cf5342dbcc5734186adffad42.tar.gz pypy-b4c373de6b51683cf5342dbcc5734186adffad42.tar.bz2 pypy-b4c373de6b51683cf5342dbcc5734186adffad42.zip |
Merge vendor/stdlib-3.5.1
untested, probably contains a lot of mismerges
Diffstat (limited to 'lib-python/3/opcode.py')
-rw-r--r-- | lib-python/3/opcode.py | 38 |
1 files changed, 35 insertions, 3 deletions
diff --git a/lib-python/3/opcode.py b/lib-python/3/opcode.py index 272b659a90..63aa96ebe0 100644 --- a/lib-python/3/opcode.py +++ b/lib-python/3/opcode.py @@ -8,6 +8,19 @@ __all__ = ["cmp_op", "hasconst", "hasname", "hasjrel", "hasjabs", "haslocal", "hascompare", "hasfree", "opname", "opmap", "HAVE_ARGUMENT", "EXTENDED_ARG", "hasnargs"] +# It's a chicken-and-egg I'm afraid: +# We're imported before _opcode's made. +# With exception unheeded +# (stack_effect is not needed) +# Both our chickens and eggs are allayed. +# --Larry Hastings, 2013/11/23 + +try: + from _opcode import stack_effect + __all__.append('stack_effect') +except ImportError: + pass + cmp_op = ('<', '<=', '==', '!=', '>', '>=', 'in', 'not in', 'is', 'is not', 'exception match', 'BAD') @@ -57,6 +70,9 @@ def_op('UNARY_NOT', 12) def_op('UNARY_INVERT', 15) +def_op('BINARY_MATRIX_MULTIPLY', 16) +def_op('INPLACE_MATRIX_MULTIPLY', 17) + def_op('BINARY_POWER', 19) def_op('BINARY_MULTIPLY', 20) @@ -69,7 +85,10 @@ def_op('BINARY_TRUE_DIVIDE', 27) def_op('INPLACE_FLOOR_DIVIDE', 28) def_op('INPLACE_TRUE_DIVIDE', 29) -def_op('STORE_MAP', 54) +def_op('GET_AITER', 50) +def_op('GET_ANEXT', 51) +def_op('BEFORE_ASYNC_WITH', 52) + def_op('INPLACE_ADD', 55) def_op('INPLACE_SUBTRACT', 56) def_op('INPLACE_MULTIPLY', 57) @@ -84,11 +103,12 @@ def_op('BINARY_XOR', 65) def_op('BINARY_OR', 66) def_op('INPLACE_POWER', 67) def_op('GET_ITER', 68) -def_op('STORE_LOCALS', 69) +def_op('GET_YIELD_FROM_ITER', 69) def_op('PRINT_EXPR', 70) def_op('LOAD_BUILD_CLASS', 71) def_op('YIELD_FROM', 72) +def_op('GET_AWAITABLE', 73) def_op('INPLACE_LSHIFT', 75) def_op('INPLACE_RSHIFT', 76) @@ -96,7 +116,8 @@ def_op('INPLACE_AND', 77) def_op('INPLACE_XOR', 78) def_op('INPLACE_OR', 79) def_op('BREAK_LOOP', 80) -def_op('WITH_CLEANUP', 81) +def_op('WITH_CLEANUP_START', 81) +def_op('WITH_CLEANUP_FINISH', 82) def_op('RETURN_VALUE', 83) def_op('IMPORT_STAR', 84) @@ -179,9 +200,20 @@ def_op('LIST_APPEND', 145) def_op('SET_ADD', 146) def_op('MAP_ADD', 147) +def_op('LOAD_CLASSDEREF', 148) +hasfree.append(148) + +jrel_op('SETUP_ASYNC_WITH', 154) + def_op('EXTENDED_ARG', 144) EXTENDED_ARG = 144 +def_op('BUILD_LIST_UNPACK', 149) +def_op('BUILD_MAP_UNPACK', 150) +def_op('BUILD_MAP_UNPACK_WITH_CALL', 151) +def_op('BUILD_TUPLE_UNPACK', 152) +def_op('BUILD_SET_UNPACK', 153) + # pypy modification, experimental bytecode def_op('LOOKUP_METHOD', 201) # Index in name list hasname.append(201) |