summaryrefslogtreecommitdiffstats
path: root/Include/opcode.h
diff options
context:
space:
mode:
authorKen Jin <28750310+Fidget-Spinner@users.noreply.github.com>2021-10-19 23:16:36 (GMT)
committerGitHub <noreply@github.com>2021-10-19 23:16:36 (GMT)
commit3163e68c342434db37c69669017f96a4bb2d5f13 (patch)
treec3a42ae0839c533db3fac33d6005b7a1d7bf5e78 /Include/opcode.h
parent3592980f9122ab0d9ed93711347742d110b749c2 (diff)
downloadcpython-3163e68c342434db37c69669017f96a4bb2d5f13.zip
cpython-3163e68c342434db37c69669017f96a4bb2d5f13.tar.gz
cpython-3163e68c342434db37c69669017f96a4bb2d5f13.tar.bz2
bpo-44525: Specialize ``CALL_FUNCTION`` for C function calls (GH-26934)
Diffstat (limited to 'Include/opcode.h')
-rw-r--r--Include/opcode.h51
1 files changed, 28 insertions, 23 deletions
diff --git a/Include/opcode.h b/Include/opcode.h
index fabb8d1..22d968e 100644
--- a/Include/opcode.h
+++ b/Include/opcode.h
@@ -148,29 +148,34 @@ extern "C" {
#define BINARY_SUBSCR_LIST_INT 40
#define BINARY_SUBSCR_TUPLE_INT 41
#define BINARY_SUBSCR_DICT 42
-#define JUMP_ABSOLUTE_QUICK 43
-#define LOAD_ATTR_ADAPTIVE 44
-#define LOAD_ATTR_INSTANCE_VALUE 45
-#define LOAD_ATTR_WITH_HINT 46
-#define LOAD_ATTR_SLOT 47
-#define LOAD_ATTR_MODULE 48
-#define LOAD_GLOBAL_ADAPTIVE 58
-#define LOAD_GLOBAL_MODULE 80
-#define LOAD_GLOBAL_BUILTIN 81
-#define LOAD_METHOD_ADAPTIVE 87
-#define LOAD_METHOD_CACHED 88
-#define LOAD_METHOD_CLASS 120
-#define LOAD_METHOD_MODULE 122
-#define LOAD_METHOD_NO_DICT 123
-#define STORE_ATTR_ADAPTIVE 127
-#define STORE_ATTR_INSTANCE_VALUE 128
-#define STORE_ATTR_SLOT 134
-#define STORE_ATTR_WITH_HINT 140
-#define LOAD_FAST__LOAD_FAST 143
-#define STORE_FAST__LOAD_FAST 149
-#define LOAD_FAST__LOAD_CONST 150
-#define LOAD_CONST__LOAD_FAST 151
-#define STORE_FAST__STORE_FAST 153
+#define CALL_FUNCTION_ADAPTIVE 43
+#define CALL_FUNCTION_BUILTIN_O 44
+#define CALL_FUNCTION_BUILTIN_FAST 45
+#define CALL_FUNCTION_LEN 46
+#define CALL_FUNCTION_ISINSTANCE 47
+#define JUMP_ABSOLUTE_QUICK 48
+#define LOAD_ATTR_ADAPTIVE 58
+#define LOAD_ATTR_INSTANCE_VALUE 80
+#define LOAD_ATTR_WITH_HINT 81
+#define LOAD_ATTR_SLOT 87
+#define LOAD_ATTR_MODULE 88
+#define LOAD_GLOBAL_ADAPTIVE 120
+#define LOAD_GLOBAL_MODULE 122
+#define LOAD_GLOBAL_BUILTIN 123
+#define LOAD_METHOD_ADAPTIVE 127
+#define LOAD_METHOD_CACHED 128
+#define LOAD_METHOD_CLASS 134
+#define LOAD_METHOD_MODULE 140
+#define LOAD_METHOD_NO_DICT 143
+#define STORE_ATTR_ADAPTIVE 149
+#define STORE_ATTR_INSTANCE_VALUE 150
+#define STORE_ATTR_SLOT 151
+#define STORE_ATTR_WITH_HINT 153
+#define LOAD_FAST__LOAD_FAST 154
+#define STORE_FAST__LOAD_FAST 158
+#define LOAD_FAST__LOAD_CONST 159
+#define LOAD_CONST__LOAD_FAST 167
+#define STORE_FAST__STORE_FAST 168
#define DO_TRACING 255
#ifdef NEED_OPCODE_JUMP_TABLES
static uint32_t _PyOpcode_RelativeJump[8] = {