diff options
author | Ken Jin <kenjin@python.org> | 2024-02-23 15:41:10 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-23 15:41:10 (GMT) |
commit | 2ec50b4a66de6be418bfad058117249d4775df0f (patch) | |
tree | b53ae7f04935cdf85ff15805300c4b1b6b14cb69 /Python | |
parent | acd6f41ecf9987c21c3d238d5496b17857c05482 (diff) | |
download | cpython-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.c | 10 | ||||
-rw-r--r-- | Python/tier2_redundancy_eliminator_cases.c.h | 10 |
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; |