diff options
author | Mark Shannon <mark@hotpy.org> | 2023-06-14 16:15:08 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-06-14 16:15:08 +0100 |
commit | 1d857da7f0e4858e561223f319ae5afe737d5657 (patch) | |
tree | ebfa22004b373a48769f42f002ed401248cdd3ea /Include/opcode.h | |
parent | 307bceaa65c4f1a8e110cd7a9cce6e93a1b021ba (diff) | |
download | cpython-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.h | 86 |
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) \ |