summaryrefslogtreecommitdiffstats
path: root/Include
diff options
context:
space:
mode:
authorpenguin_wwy <940375606@qq.com>2023-02-07 22:32:21 (GMT)
committerGitHub <noreply@github.com>2023-02-07 22:32:21 (GMT)
commit753fc8a5d64369cd228c3e43fef1811ac3cfde83 (patch)
treea71d295db633dbe497aa5461d0a410e2792c0e22 /Include
parent0d3d5007b136ff1bc0faa960d6526e047dd92396 (diff)
downloadcpython-753fc8a5d64369cd228c3e43fef1811ac3cfde83.zip
cpython-753fc8a5d64369cd228c3e43fef1811ac3cfde83.tar.gz
cpython-753fc8a5d64369cd228c3e43fef1811ac3cfde83.tar.bz2
gh-101632: Add the new RETURN_CONST opcode (#101633)
Diffstat (limited to 'Include')
-rw-r--r--Include/internal/pycore_opcode.h10
-rw-r--r--Include/opcode.h16
2 files changed, 14 insertions, 12 deletions
diff --git a/Include/internal/pycore_opcode.h b/Include/internal/pycore_opcode.h
index 05c0485..47c8472 100644
--- a/Include/internal/pycore_opcode.h
+++ b/Include/internal/pycore_opcode.h
@@ -192,6 +192,7 @@ const uint8_t _PyOpcode_Deopt[256] = {
[RAISE_VARARGS] = RAISE_VARARGS,
[RERAISE] = RERAISE,
[RESUME] = RESUME,
+ [RETURN_CONST] = RETURN_CONST,
[RETURN_GENERATOR] = RETURN_GENERATOR,
[RETURN_VALUE] = RETURN_VALUE,
[SEND] = SEND,
@@ -349,7 +350,7 @@ static const char *const _PyOpcode_OpName[263] = {
[CONTAINS_OP] = "CONTAINS_OP",
[RERAISE] = "RERAISE",
[COPY] = "COPY",
- [STORE_FAST__LOAD_FAST] = "STORE_FAST__LOAD_FAST",
+ [RETURN_CONST] = "RETURN_CONST",
[BINARY_OP] = "BINARY_OP",
[SEND] = "SEND",
[LOAD_FAST] = "LOAD_FAST",
@@ -371,7 +372,7 @@ static const char *const _PyOpcode_OpName[263] = {
[JUMP_BACKWARD] = "JUMP_BACKWARD",
[COMPARE_AND_BRANCH] = "COMPARE_AND_BRANCH",
[CALL_FUNCTION_EX] = "CALL_FUNCTION_EX",
- [STORE_FAST__STORE_FAST] = "STORE_FAST__STORE_FAST",
+ [STORE_FAST__LOAD_FAST] = "STORE_FAST__LOAD_FAST",
[EXTENDED_ARG] = "EXTENDED_ARG",
[LIST_APPEND] = "LIST_APPEND",
[SET_ADD] = "SET_ADD",
@@ -381,15 +382,15 @@ static const char *const _PyOpcode_OpName[263] = {
[YIELD_VALUE] = "YIELD_VALUE",
[RESUME] = "RESUME",
[MATCH_CLASS] = "MATCH_CLASS",
+ [STORE_FAST__STORE_FAST] = "STORE_FAST__STORE_FAST",
[STORE_SUBSCR_DICT] = "STORE_SUBSCR_DICT",
- [STORE_SUBSCR_LIST_INT] = "STORE_SUBSCR_LIST_INT",
[FORMAT_VALUE] = "FORMAT_VALUE",
[BUILD_CONST_KEY_MAP] = "BUILD_CONST_KEY_MAP",
[BUILD_STRING] = "BUILD_STRING",
+ [STORE_SUBSCR_LIST_INT] = "STORE_SUBSCR_LIST_INT",
[UNPACK_SEQUENCE_LIST] = "UNPACK_SEQUENCE_LIST",
[UNPACK_SEQUENCE_TUPLE] = "UNPACK_SEQUENCE_TUPLE",
[UNPACK_SEQUENCE_TWO_TUPLE] = "UNPACK_SEQUENCE_TWO_TUPLE",
- [161] = "<161>",
[LIST_EXTEND] = "LIST_EXTEND",
[SET_UPDATE] = "SET_UPDATE",
[DICT_MERGE] = "DICT_MERGE",
@@ -495,7 +496,6 @@ static const char *const _PyOpcode_OpName[263] = {
#endif
#define EXTRA_CASES \
- case 161: \
case 166: \
case 167: \
case 168: \
diff --git a/Include/opcode.h b/Include/opcode.h
index 827f993..77ad7c224 100644
--- a/Include/opcode.h
+++ b/Include/opcode.h
@@ -76,6 +76,7 @@ extern "C" {
#define CONTAINS_OP 118
#define RERAISE 119
#define COPY 120
+#define RETURN_CONST 121
#define BINARY_OP 122
#define SEND 123
#define LOAD_FAST 124
@@ -179,13 +180,13 @@ extern "C" {
#define STORE_ATTR_INSTANCE_VALUE 86
#define STORE_ATTR_SLOT 87
#define STORE_ATTR_WITH_HINT 113
-#define STORE_FAST__LOAD_FAST 121
-#define STORE_FAST__STORE_FAST 143
-#define STORE_SUBSCR_DICT 153
-#define STORE_SUBSCR_LIST_INT 154
-#define UNPACK_SEQUENCE_LIST 158
-#define UNPACK_SEQUENCE_TUPLE 159
-#define UNPACK_SEQUENCE_TWO_TUPLE 160
+#define STORE_FAST__LOAD_FAST 143
+#define STORE_FAST__STORE_FAST 153
+#define STORE_SUBSCR_DICT 154
+#define STORE_SUBSCR_LIST_INT 158
+#define UNPACK_SEQUENCE_LIST 159
+#define UNPACK_SEQUENCE_TUPLE 160
+#define UNPACK_SEQUENCE_TWO_TUPLE 161
#define DO_TRACING 255
#define HAS_ARG(op) ((((op) >= HAVE_ARGUMENT) && (!IS_PSEUDO_OPCODE(op)))\
@@ -196,6 +197,7 @@ extern "C" {
#define HAS_CONST(op) (false\
|| ((op) == LOAD_CONST) \
+ || ((op) == RETURN_CONST) \
|| ((op) == KW_NAMES) \
)