GH-107596: Specialize str[int] (GH-107597)

This commit is contained in:
Brandt Bucher 2023-08-08 13:42:43 -07:00 committed by GitHub
parent aab6f7173a
commit ea72c6fe3b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 172 additions and 97 deletions

103
Include/opcode.h generated
View file

@ -175,57 +175,58 @@ extern "C" {
#define BINARY_SUBSCR_DICT 38
#define BINARY_SUBSCR_GETITEM 39
#define BINARY_SUBSCR_LIST_INT 42
#define BINARY_SUBSCR_TUPLE_INT 43
#define STORE_SUBSCR_DICT 44
#define STORE_SUBSCR_LIST_INT 45
#define SEND_GEN 46
#define UNPACK_SEQUENCE_TWO_TUPLE 47
#define UNPACK_SEQUENCE_TUPLE 48
#define UNPACK_SEQUENCE_LIST 56
#define STORE_ATTR_INSTANCE_VALUE 57
#define STORE_ATTR_SLOT 58
#define STORE_ATTR_WITH_HINT 59
#define LOAD_GLOBAL_MODULE 62
#define LOAD_GLOBAL_BUILTIN 63
#define LOAD_SUPER_ATTR_ATTR 64
#define LOAD_SUPER_ATTR_METHOD 65
#define LOAD_ATTR_INSTANCE_VALUE 66
#define LOAD_ATTR_MODULE 67
#define LOAD_ATTR_WITH_HINT 70
#define LOAD_ATTR_SLOT 72
#define LOAD_ATTR_CLASS 73
#define LOAD_ATTR_PROPERTY 76
#define LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN 77
#define LOAD_ATTR_METHOD_WITH_VALUES 78
#define LOAD_ATTR_METHOD_NO_DICT 79
#define LOAD_ATTR_METHOD_LAZY_DICT 80
#define LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 81
#define LOAD_ATTR_NONDESCRIPTOR_NO_DICT 82
#define COMPARE_OP_FLOAT 84
#define COMPARE_OP_INT 86
#define COMPARE_OP_STR 88
#define FOR_ITER_LIST 111
#define FOR_ITER_TUPLE 112
#define FOR_ITER_RANGE 113
#define FOR_ITER_GEN 132
#define CALL_BOUND_METHOD_EXACT_ARGS 136
#define CALL_PY_EXACT_ARGS 148
#define CALL_PY_WITH_DEFAULTS 153
#define CALL_NO_KW_TYPE_1 154
#define CALL_NO_KW_STR_1 155
#define CALL_NO_KW_TUPLE_1 159
#define CALL_BUILTIN_CLASS 160
#define CALL_NO_KW_BUILTIN_O 161
#define CALL_NO_KW_BUILTIN_FAST 166
#define CALL_BUILTIN_FAST_WITH_KEYWORDS 167
#define CALL_NO_KW_LEN 178
#define CALL_NO_KW_ISINSTANCE 179
#define CALL_NO_KW_LIST_APPEND 180
#define CALL_NO_KW_METHOD_DESCRIPTOR_O 181
#define CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS 182
#define CALL_NO_KW_METHOD_DESCRIPTOR_NOARGS 183
#define CALL_NO_KW_METHOD_DESCRIPTOR_FAST 184
#define CALL_NO_KW_ALLOC_AND_ENTER_INIT 185
#define BINARY_SUBSCR_STR_INT 43
#define BINARY_SUBSCR_TUPLE_INT 44
#define STORE_SUBSCR_DICT 45
#define STORE_SUBSCR_LIST_INT 46
#define SEND_GEN 47
#define UNPACK_SEQUENCE_TWO_TUPLE 48
#define UNPACK_SEQUENCE_TUPLE 56
#define UNPACK_SEQUENCE_LIST 57
#define STORE_ATTR_INSTANCE_VALUE 58
#define STORE_ATTR_SLOT 59
#define STORE_ATTR_WITH_HINT 62
#define LOAD_GLOBAL_MODULE 63
#define LOAD_GLOBAL_BUILTIN 64
#define LOAD_SUPER_ATTR_ATTR 65
#define LOAD_SUPER_ATTR_METHOD 66
#define LOAD_ATTR_INSTANCE_VALUE 67
#define LOAD_ATTR_MODULE 70
#define LOAD_ATTR_WITH_HINT 72
#define LOAD_ATTR_SLOT 73
#define LOAD_ATTR_CLASS 76
#define LOAD_ATTR_PROPERTY 77
#define LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN 78
#define LOAD_ATTR_METHOD_WITH_VALUES 79
#define LOAD_ATTR_METHOD_NO_DICT 80
#define LOAD_ATTR_METHOD_LAZY_DICT 81
#define LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 82
#define LOAD_ATTR_NONDESCRIPTOR_NO_DICT 84
#define COMPARE_OP_FLOAT 86
#define COMPARE_OP_INT 88
#define COMPARE_OP_STR 111
#define FOR_ITER_LIST 112
#define FOR_ITER_TUPLE 113
#define FOR_ITER_RANGE 132
#define FOR_ITER_GEN 136
#define CALL_BOUND_METHOD_EXACT_ARGS 148
#define CALL_PY_EXACT_ARGS 153
#define CALL_PY_WITH_DEFAULTS 154
#define CALL_NO_KW_TYPE_1 155
#define CALL_NO_KW_STR_1 159
#define CALL_NO_KW_TUPLE_1 160
#define CALL_BUILTIN_CLASS 161
#define CALL_NO_KW_BUILTIN_O 166
#define CALL_NO_KW_BUILTIN_FAST 167
#define CALL_BUILTIN_FAST_WITH_KEYWORDS 178
#define CALL_NO_KW_LEN 179
#define CALL_NO_KW_ISINSTANCE 180
#define CALL_NO_KW_LIST_APPEND 181
#define CALL_NO_KW_METHOD_DESCRIPTOR_O 182
#define CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS 183
#define CALL_NO_KW_METHOD_DESCRIPTOR_NOARGS 184
#define CALL_NO_KW_METHOD_DESCRIPTOR_FAST 185
#define CALL_NO_KW_ALLOC_AND_ENTER_INIT 186
#define NB_ADD 0
#define NB_AND 1