summaryrefslogtreecommitdiffstats
path: root/Include/opcode.h
diff options
context:
space:
mode:
authorMark Shannon <mark@hotpy.org>2023-07-10 10:40:35 (GMT)
committerGitHub <noreply@github.com>2023-07-10 10:40:35 (GMT)
commit0c90e7561046a2deb358e6695148060a1c199b49 (patch)
tree981359878b814a308c6fe977dd0c552e99bdd653 /Include/opcode.h
parent34c14147a2c52930b8b471905074509639e82d5b (diff)
downloadcpython-0c90e7561046a2deb358e6695148060a1c199b49.zip
cpython-0c90e7561046a2deb358e6695148060a1c199b49.tar.gz
cpython-0c90e7561046a2deb358e6695148060a1c199b49.tar.bz2
GH-100288: Specialize LOAD_ATTR for simple class attributes. (#105990)
* Add two more specializations of LOAD_ATTR.
Diffstat (limited to 'Include/opcode.h')
-rw-r--r--Include/opcode.h52
1 files changed, 27 insertions, 25 deletions
diff --git a/Include/opcode.h b/Include/opcode.h
index 6b855bd..6975209 100644
--- a/Include/opcode.h
+++ b/Include/opcode.h
@@ -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