[Python-checkins] bpo-45039: Consistently use ADDOP_LOAD_CONST in compiler rather than ADDOP_O(c, LOAD_CONST, ...) (GH-28015)
miss-islington
webhook-mailer at python.org
Tue Aug 31 14:08:42 EDT 2021
https://github.com/python/cpython/commit/ebbd0ac5d8850a1630090c210b2454b4b26c7daa
commit: ebbd0ac5d8850a1630090c210b2454b4b26c7daa
branch: 3.10
author: Miss Islington (bot) <31488909+miss-islington at users.noreply.github.com>
committer: miss-islington <31488909+miss-islington at users.noreply.github.com>
date: 2021-08-31T11:08:32-07:00
summary:
bpo-45039: Consistently use ADDOP_LOAD_CONST in compiler rather than ADDOP_O(c, LOAD_CONST,...) (GH-28015)
(cherry picked from commit 70ccee418d1f9d34ed15cfe7104221f9cfd27d03)
Co-authored-by: Irit Katriel <1055913+iritkatriel at users.noreply.github.com>
files:
M Python/compile.c
diff --git a/Python/compile.c b/Python/compile.c
index d55b0beaec77c..baea4940d3724 100644
--- a/Python/compile.c
+++ b/Python/compile.c
@@ -1568,12 +1568,14 @@ compiler_addop_j_noline(struct compiler *c, int opcode, basicblock *b)
}
#define ADDOP_O(C, OP, O, TYPE) { \
+ assert((OP) != LOAD_CONST); /* use ADDOP_LOAD_CONST */ \
if (!compiler_addop_o((C), (OP), (C)->u->u_ ## TYPE, (O))) \
return 0; \
}
/* Same as ADDOP_O, but steals a reference. */
#define ADDOP_N(C, OP, O, TYPE) { \
+ assert((OP) != LOAD_CONST); /* use ADDOP_LOAD_CONST_NEW */ \
if (!compiler_addop_o((C), (OP), (C)->u->u_ ## TYPE, (O))) { \
Py_DECREF((O)); \
return 0; \
@@ -1751,7 +1753,7 @@ compiler_pop_fblock(struct compiler *c, enum fblocktype t, basicblock *b)
static int
compiler_call_exit_with_nones(struct compiler *c) {
- ADDOP_O(c, LOAD_CONST, Py_None, consts);
+ ADDOP_LOAD_CONST(c, Py_None);
ADDOP(c, DUP_TOP);
ADDOP(c, DUP_TOP);
ADDOP_I(c, CALL_FUNCTION, 3);
@@ -5062,7 +5064,7 @@ compiler_async_with(struct compiler *c, stmt_ty s, int pos)
if(!compiler_call_exit_with_nones(c))
return 0;
ADDOP(c, GET_AWAITABLE);
- ADDOP_O(c, LOAD_CONST, Py_None, consts);
+ ADDOP_LOAD_CONST(c, Py_None);
ADDOP(c, YIELD_FROM);
ADDOP(c, POP_TOP);
More information about the Python-checkins
mailing list