aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Include/opcode.h
diff options
context:
space:
mode:
authorMark Shannon <mark@hotpy.org>2023-06-14 16:15:08 +0100
committerGitHub <noreply@github.com>2023-06-14 16:15:08 +0100
commit1d857da7f0e4858e561223f319ae5afe737d5657 (patch)
treeebfa22004b373a48769f42f002ed401248cdd3ea /Include/opcode.h
parent307bceaa65c4f1a8e110cd7a9cce6e93a1b021ba (diff)
downloadcpython-1d857da7f0e4858e561223f319ae5afe737d5657.tar.gz
cpython-1d857da7f0e4858e561223f319ae5afe737d5657.zip
GH-77273: Better bytecodes for f-strings (GH-6132)
Diffstat (limited to 'Include/opcode.h')
-rw-r--r--Include/opcode.h86
1 files changed, 44 insertions, 42 deletions
diff --git a/Include/opcode.h b/Include/opcode.h
index be538999d14..c6ffaee3522 100644
--- a/Include/opcode.h
+++ b/Include/opcode.h
@@ -30,6 +30,8 @@ extern "C" {
#define PUSH_EXC_INFO 35
#define CHECK_EXC_MATCH 36
#define CHECK_EG_MATCH 37
+#define FORMAT_SIMPLE 40
+#define FORMAT_WITH_SPEC 41
#define WITH_EXCEPT_START 49
#define GET_AITER 50
#define GET_ANEXT 51
@@ -107,9 +109,9 @@ extern "C" {
#define YIELD_VALUE 150
#define RESUME 151
#define MATCH_CLASS 152
-#define FORMAT_VALUE 155
#define BUILD_CONST_KEY_MAP 156
#define BUILD_STRING 157
+#define CONVERT_VALUE 158
#define LIST_EXTEND 162
#define SET_UPDATE 163
#define DICT_MERGE 164
@@ -175,47 +177,47 @@ extern "C" {
#define CALL_BUILTIN_CLASS 34
#define CALL_BUILTIN_FAST_WITH_KEYWORDS 38
#define CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS 39
-#define CALL_NO_KW_BUILTIN_FAST 40
-#define CALL_NO_KW_BUILTIN_O 41
-#define CALL_NO_KW_ISINSTANCE 42
-#define CALL_NO_KW_LEN 43
-#define CALL_NO_KW_LIST_APPEND 44
-#define CALL_NO_KW_METHOD_DESCRIPTOR_FAST 45
-#define CALL_NO_KW_METHOD_DESCRIPTOR_NOARGS 46
-#define CALL_NO_KW_METHOD_DESCRIPTOR_O 47
-#define CALL_NO_KW_STR_1 48
-#define CALL_NO_KW_TUPLE_1 56
-#define CALL_NO_KW_TYPE_1 57
-#define COMPARE_OP_FLOAT 58
-#define COMPARE_OP_INT 59
-#define COMPARE_OP_STR 62
-#define FOR_ITER_LIST 63
-#define FOR_ITER_TUPLE 64
-#define FOR_ITER_RANGE 65
-#define FOR_ITER_GEN 66
-#define LOAD_SUPER_ATTR_ATTR 67
-#define LOAD_SUPER_ATTR_METHOD 70
-#define LOAD_ATTR_CLASS 72
-#define LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN 73
-#define LOAD_ATTR_INSTANCE_VALUE 76
-#define LOAD_ATTR_MODULE 77
-#define LOAD_ATTR_PROPERTY 78
-#define LOAD_ATTR_SLOT 79
-#define LOAD_ATTR_WITH_HINT 80
-#define LOAD_ATTR_METHOD_LAZY_DICT 81
-#define LOAD_ATTR_METHOD_NO_DICT 82
-#define LOAD_ATTR_METHOD_WITH_VALUES 84
-#define LOAD_GLOBAL_BUILTIN 86
-#define LOAD_GLOBAL_MODULE 88
-#define STORE_ATTR_INSTANCE_VALUE 111
-#define STORE_ATTR_SLOT 112
-#define STORE_ATTR_WITH_HINT 113
-#define STORE_SUBSCR_DICT 132
-#define STORE_SUBSCR_LIST_INT 148
-#define UNPACK_SEQUENCE_LIST 153
-#define UNPACK_SEQUENCE_TUPLE 154
-#define UNPACK_SEQUENCE_TWO_TUPLE 158
-#define SEND_GEN 159
+#define CALL_NO_KW_BUILTIN_FAST 42
+#define CALL_NO_KW_BUILTIN_O 43
+#define CALL_NO_KW_ISINSTANCE 44
+#define CALL_NO_KW_LEN 45
+#define CALL_NO_KW_LIST_APPEND 46
+#define CALL_NO_KW_METHOD_DESCRIPTOR_FAST 47
+#define CALL_NO_KW_METHOD_DESCRIPTOR_NOARGS 48
+#define CALL_NO_KW_METHOD_DESCRIPTOR_O 56
+#define CALL_NO_KW_STR_1 57
+#define CALL_NO_KW_TUPLE_1 58
+#define CALL_NO_KW_TYPE_1 59
+#define COMPARE_OP_FLOAT 62
+#define COMPARE_OP_INT 63
+#define COMPARE_OP_STR 64
+#define FOR_ITER_LIST 65
+#define FOR_ITER_TUPLE 66
+#define FOR_ITER_RANGE 67
+#define FOR_ITER_GEN 70
+#define LOAD_SUPER_ATTR_ATTR 72
+#define LOAD_SUPER_ATTR_METHOD 73
+#define LOAD_ATTR_CLASS 76
+#define LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN 77
+#define LOAD_ATTR_INSTANCE_VALUE 78
+#define LOAD_ATTR_MODULE 79
+#define LOAD_ATTR_PROPERTY 80
+#define LOAD_ATTR_SLOT 81
+#define LOAD_ATTR_WITH_HINT 82
+#define LOAD_ATTR_METHOD_LAZY_DICT 84
+#define LOAD_ATTR_METHOD_NO_DICT 86
+#define LOAD_ATTR_METHOD_WITH_VALUES 88
+#define LOAD_GLOBAL_BUILTIN 111
+#define LOAD_GLOBAL_MODULE 112
+#define STORE_ATTR_INSTANCE_VALUE 113
+#define STORE_ATTR_SLOT 132
+#define STORE_ATTR_WITH_HINT 148
+#define STORE_SUBSCR_DICT 153
+#define STORE_SUBSCR_LIST_INT 154
+#define UNPACK_SEQUENCE_LIST 155
+#define UNPACK_SEQUENCE_TUPLE 159
+#define UNPACK_SEQUENCE_TWO_TUPLE 160
+#define SEND_GEN 161
#define HAS_ARG(op) ((((op) >= HAVE_ARGUMENT) && (!IS_PSEUDO_OPCODE(op)))\
|| ((op) == JUMP) \