diff options
author | Mark Shannon <mark@hotpy.org> | 2022-06-27 12:24:23 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-06-27 12:24:23 +0100 |
commit | c0453a40faaadb43d2e69767af6c9680f8689063 (patch) | |
tree | d8ab19e5244e552e5d1b371651593be9be5142e4 /Include/opcode.h | |
parent | 33fc3b5e42f241ab81cc6d115711545b4f9e271e (diff) | |
download | cpython-c0453a40faaadb43d2e69767af6c9680f8689063.tar.gz cpython-c0453a40faaadb43d2e69767af6c9680f8689063.zip |
GH-94163: Add BINARY_SLICE and STORE_SLICE instructions. (GH-94168)
Diffstat (limited to 'Include/opcode.h')
-rw-r--r-- | Include/opcode.h | 112 |
1 files changed, 57 insertions, 55 deletions
diff --git a/Include/opcode.h b/Include/opcode.h index 7a22d5257a6..66e8c9e8cf8 100644 --- a/Include/opcode.h +++ b/Include/opcode.h @@ -17,6 +17,8 @@ extern "C" { #define UNARY_NOT 12 #define UNARY_INVERT 15 #define BINARY_SUBSCR 25 +#define BINARY_SLICE 26 +#define STORE_SLICE 27 #define GET_LEN 30 #define MATCH_MAPPING 31 #define MATCH_SEQUENCE 32 @@ -135,61 +137,61 @@ extern "C" { #define CALL_ADAPTIVE 22 #define CALL_PY_EXACT_ARGS 23 #define CALL_PY_WITH_DEFAULTS 24 -#define CALL_BOUND_METHOD_EXACT_ARGS 26 -#define CALL_BUILTIN_CLASS 27 -#define CALL_BUILTIN_FAST_WITH_KEYWORDS 28 -#define CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS 29 -#define CALL_NO_KW_BUILTIN_FAST 34 -#define CALL_NO_KW_BUILTIN_O 38 -#define CALL_NO_KW_ISINSTANCE 39 -#define CALL_NO_KW_LEN 40 -#define CALL_NO_KW_LIST_APPEND 41 -#define CALL_NO_KW_METHOD_DESCRIPTOR_FAST 42 -#define CALL_NO_KW_METHOD_DESCRIPTOR_NOARGS 43 -#define CALL_NO_KW_METHOD_DESCRIPTOR_O 44 -#define CALL_NO_KW_STR_1 45 -#define CALL_NO_KW_TUPLE_1 46 -#define CALL_NO_KW_TYPE_1 47 -#define COMPARE_OP_ADAPTIVE 48 -#define COMPARE_OP_FLOAT_JUMP 55 -#define COMPARE_OP_INT_JUMP 56 -#define COMPARE_OP_STR_JUMP 57 -#define EXTENDED_ARG_QUICK 58 -#define FOR_ITER_ADAPTIVE 59 -#define FOR_ITER_LIST 62 -#define FOR_ITER_RANGE 63 -#define JUMP_BACKWARD_QUICK 64 -#define LOAD_ATTR_ADAPTIVE 65 -#define LOAD_ATTR_CLASS 66 -#define LOAD_ATTR_INSTANCE_VALUE 67 -#define LOAD_ATTR_MODULE 72 -#define LOAD_ATTR_PROPERTY 73 -#define LOAD_ATTR_SLOT 76 -#define LOAD_ATTR_WITH_HINT 77 -#define LOAD_ATTR_METHOD_LAZY_DICT 78 -#define LOAD_ATTR_METHOD_NO_DICT 79 -#define LOAD_ATTR_METHOD_WITH_DICT 80 -#define LOAD_ATTR_METHOD_WITH_VALUES 81 -#define LOAD_CONST__LOAD_FAST 86 -#define LOAD_FAST__LOAD_CONST 113 -#define LOAD_FAST__LOAD_FAST 121 -#define LOAD_GLOBAL_ADAPTIVE 141 -#define LOAD_GLOBAL_BUILTIN 143 -#define LOAD_GLOBAL_MODULE 153 -#define RESUME_QUICK 154 -#define STORE_ATTR_ADAPTIVE 158 -#define STORE_ATTR_INSTANCE_VALUE 159 -#define STORE_ATTR_SLOT 160 -#define STORE_ATTR_WITH_HINT 161 -#define STORE_FAST__LOAD_FAST 166 -#define STORE_FAST__STORE_FAST 167 -#define STORE_SUBSCR_ADAPTIVE 168 -#define STORE_SUBSCR_DICT 169 -#define STORE_SUBSCR_LIST_INT 170 -#define UNPACK_SEQUENCE_ADAPTIVE 177 -#define UNPACK_SEQUENCE_LIST 178 -#define UNPACK_SEQUENCE_TUPLE 179 -#define UNPACK_SEQUENCE_TWO_TUPLE 180 +#define CALL_BOUND_METHOD_EXACT_ARGS 28 +#define CALL_BUILTIN_CLASS 29 +#define CALL_BUILTIN_FAST_WITH_KEYWORDS 34 +#define CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS 38 +#define CALL_NO_KW_BUILTIN_FAST 39 +#define CALL_NO_KW_BUILTIN_O 40 +#define CALL_NO_KW_ISINSTANCE 41 +#define CALL_NO_KW_LEN 42 +#define CALL_NO_KW_LIST_APPEND 43 +#define CALL_NO_KW_METHOD_DESCRIPTOR_FAST 44 +#define CALL_NO_KW_METHOD_DESCRIPTOR_NOARGS 45 +#define CALL_NO_KW_METHOD_DESCRIPTOR_O 46 +#define CALL_NO_KW_STR_1 47 +#define CALL_NO_KW_TUPLE_1 48 +#define CALL_NO_KW_TYPE_1 55 +#define COMPARE_OP_ADAPTIVE 56 +#define COMPARE_OP_FLOAT_JUMP 57 +#define COMPARE_OP_INT_JUMP 58 +#define COMPARE_OP_STR_JUMP 59 +#define EXTENDED_ARG_QUICK 62 +#define FOR_ITER_ADAPTIVE 63 +#define FOR_ITER_LIST 64 +#define FOR_ITER_RANGE 65 +#define JUMP_BACKWARD_QUICK 66 +#define LOAD_ATTR_ADAPTIVE 67 +#define LOAD_ATTR_CLASS 72 +#define LOAD_ATTR_INSTANCE_VALUE 73 +#define LOAD_ATTR_MODULE 76 +#define LOAD_ATTR_PROPERTY 77 +#define LOAD_ATTR_SLOT 78 +#define LOAD_ATTR_WITH_HINT 79 +#define LOAD_ATTR_METHOD_LAZY_DICT 80 +#define LOAD_ATTR_METHOD_NO_DICT 81 +#define LOAD_ATTR_METHOD_WITH_DICT 86 +#define LOAD_ATTR_METHOD_WITH_VALUES 113 +#define LOAD_CONST__LOAD_FAST 121 +#define LOAD_FAST__LOAD_CONST 141 +#define LOAD_FAST__LOAD_FAST 143 +#define LOAD_GLOBAL_ADAPTIVE 153 +#define LOAD_GLOBAL_BUILTIN 154 +#define LOAD_GLOBAL_MODULE 158 +#define RESUME_QUICK 159 +#define STORE_ATTR_ADAPTIVE 160 +#define STORE_ATTR_INSTANCE_VALUE 161 +#define STORE_ATTR_SLOT 166 +#define STORE_ATTR_WITH_HINT 167 +#define STORE_FAST__LOAD_FAST 168 +#define STORE_FAST__STORE_FAST 169 +#define STORE_SUBSCR_ADAPTIVE 170 +#define STORE_SUBSCR_DICT 177 +#define STORE_SUBSCR_LIST_INT 178 +#define UNPACK_SEQUENCE_ADAPTIVE 179 +#define UNPACK_SEQUENCE_LIST 180 +#define UNPACK_SEQUENCE_TUPLE 181 +#define UNPACK_SEQUENCE_TWO_TUPLE 182 #define DO_TRACING 255 #define HAS_CONST(op) (false\ |