aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Include/opcode.h
diff options
context:
space:
mode:
authorMark Shannon <mark@hotpy.org>2022-06-27 12:24:23 +0100
committerGitHub <noreply@github.com>2022-06-27 12:24:23 +0100
commitc0453a40faaadb43d2e69767af6c9680f8689063 (patch)
treed8ab19e5244e552e5d1b371651593be9be5142e4 /Include/opcode.h
parent33fc3b5e42f241ab81cc6d115711545b4f9e271e (diff)
downloadcpython-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.h112
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\