summaryrefslogtreecommitdiffstats
path: root/Python
diff options
context:
space:
mode:
authorKen Jin <kenjin@python.org>2024-02-23 15:41:10 (GMT)
committerGitHub <noreply@github.com>2024-02-23 15:41:10 (GMT)
commit2ec50b4a66de6be418bfad058117249d4775df0f (patch)
treeb53ae7f04935cdf85ff15805300c4b1b6b14cb69 /Python
parentacd6f41ecf9987c21c3d238d5496b17857c05482 (diff)
downloadcpython-2ec50b4a66de6be418bfad058117249d4775df0f.zip
cpython-2ec50b4a66de6be418bfad058117249d4775df0f.tar.gz
cpython-2ec50b4a66de6be418bfad058117249d4775df0f.tar.bz2
gh-114058: Improve method information in redundancy eliminator (GH-115848)
Diffstat (limited to 'Python')
-rw-r--r--Python/tier2_redundancy_eliminator_bytecodes.c10
-rw-r--r--Python/tier2_redundancy_eliminator_cases.c.h10
2 files changed, 14 insertions, 6 deletions
diff --git a/Python/tier2_redundancy_eliminator_bytecodes.c b/Python/tier2_redundancy_eliminator_bytecodes.c
index ef7b43d..b9afd30 100644
--- a/Python/tier2_redundancy_eliminator_bytecodes.c
+++ b/Python/tier2_redundancy_eliminator_bytecodes.c
@@ -296,21 +296,25 @@ dummy_func(void) {
}
op(_LOAD_ATTR_METHOD_WITH_VALUES, (descr/4, owner -- attr, self if (1))) {
+ (void)descr;
OUT_OF_SPACE_IF_NULL(attr = sym_new_known_notnull(ctx));
- OUT_OF_SPACE_IF_NULL(self = sym_new_known_notnull(ctx));
+ self = owner;
}
op(_LOAD_ATTR_METHOD_NO_DICT, (descr/4, owner -- attr, self if (1))) {
+ (void)descr;
OUT_OF_SPACE_IF_NULL(attr = sym_new_known_notnull(ctx));
- OUT_OF_SPACE_IF_NULL(self = sym_new_known_notnull(ctx));
+ self = owner;
}
op(_LOAD_ATTR_METHOD_LAZY_DICT, (descr/4, owner -- attr, self if (1))) {
+ (void)descr;
OUT_OF_SPACE_IF_NULL(attr = sym_new_known_notnull(ctx));
- OUT_OF_SPACE_IF_NULL(self = sym_new_known_notnull(ctx));
+ self = owner;
}
op(_INIT_CALL_BOUND_METHOD_EXACT_ARGS, (callable, unused, unused[oparg] -- func, self, unused[oparg])) {
+ (void)callable;
OUT_OF_SPACE_IF_NULL(func = sym_new_known_notnull(ctx));
OUT_OF_SPACE_IF_NULL(self = sym_new_known_notnull(ctx));
}
diff --git a/Python/tier2_redundancy_eliminator_cases.c.h b/Python/tier2_redundancy_eliminator_cases.c.h
index ca9b595..ca341e4 100644
--- a/Python/tier2_redundancy_eliminator_cases.c.h
+++ b/Python/tier2_redundancy_eliminator_cases.c.h
@@ -1305,8 +1305,9 @@
_Py_UOpsSymType *self = NULL;
owner = stack_pointer[-1];
PyObject *descr = (PyObject *)this_instr->operand;
+ (void)descr;
OUT_OF_SPACE_IF_NULL(attr = sym_new_known_notnull(ctx));
- OUT_OF_SPACE_IF_NULL(self = sym_new_known_notnull(ctx));
+ self = owner;
stack_pointer[-1] = attr;
stack_pointer[0] = self;
stack_pointer += 1;
@@ -1319,8 +1320,9 @@
_Py_UOpsSymType *self = NULL;
owner = stack_pointer[-1];
PyObject *descr = (PyObject *)this_instr->operand;
+ (void)descr;
OUT_OF_SPACE_IF_NULL(attr = sym_new_known_notnull(ctx));
- OUT_OF_SPACE_IF_NULL(self = sym_new_known_notnull(ctx));
+ self = owner;
stack_pointer[-1] = attr;
stack_pointer[0] = self;
stack_pointer += 1;
@@ -1353,8 +1355,9 @@
_Py_UOpsSymType *self = NULL;
owner = stack_pointer[-1];
PyObject *descr = (PyObject *)this_instr->operand;
+ (void)descr;
OUT_OF_SPACE_IF_NULL(attr = sym_new_known_notnull(ctx));
- OUT_OF_SPACE_IF_NULL(self = sym_new_known_notnull(ctx));
+ self = owner;
stack_pointer[-1] = attr;
stack_pointer[0] = self;
stack_pointer += 1;
@@ -1380,6 +1383,7 @@
_Py_UOpsSymType *func;
_Py_UOpsSymType *self;
callable = stack_pointer[-2 - oparg];
+ (void)callable;
OUT_OF_SPACE_IF_NULL(func = sym_new_known_notnull(ctx));
OUT_OF_SPACE_IF_NULL(self = sym_new_known_notnull(ctx));
stack_pointer[-2 - oparg] = func;