GH-100288: Specialize LOAD_ATTR for simple class attributes. (#105990)

* Add two more specializations of LOAD_ATTR.
This commit is contained in:
Mark Shannon
2023-07-10 11:40:35 +01:00
committed by GitHub
parent 34c14147a2
commit 0c90e75610
10 changed files with 405 additions and 290 deletions

52
Include/opcode.h generated
View File

@@ -201,31 +201,33 @@ extern "C" {
#define LOAD_ATTR_METHOD_WITH_VALUES 78
#define LOAD_ATTR_METHOD_NO_DICT 79
#define LOAD_ATTR_METHOD_LAZY_DICT 80
#define COMPARE_OP_FLOAT 81
#define COMPARE_OP_INT 82
#define COMPARE_OP_STR 84
#define FOR_ITER_LIST 86
#define FOR_ITER_TUPLE 88
#define FOR_ITER_RANGE 111
#define FOR_ITER_GEN 112
#define CALL_BOUND_METHOD_EXACT_ARGS 113
#define CALL_PY_EXACT_ARGS 132
#define CALL_PY_WITH_DEFAULTS 136
#define CALL_NO_KW_TYPE_1 148
#define CALL_NO_KW_STR_1 153
#define CALL_NO_KW_TUPLE_1 154
#define CALL_BUILTIN_CLASS 155
#define CALL_NO_KW_BUILTIN_O 159
#define CALL_NO_KW_BUILTIN_FAST 160
#define CALL_BUILTIN_FAST_WITH_KEYWORDS 161
#define CALL_NO_KW_LEN 166
#define CALL_NO_KW_ISINSTANCE 167
#define CALL_NO_KW_LIST_APPEND 178
#define CALL_NO_KW_METHOD_DESCRIPTOR_O 179
#define CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS 180
#define CALL_NO_KW_METHOD_DESCRIPTOR_NOARGS 181
#define CALL_NO_KW_METHOD_DESCRIPTOR_FAST 182
#define CALL_NO_KW_ALLOC_AND_ENTER_INIT 183
#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 NB_ADD 0
#define NB_AND 1