-
-
Notifications
You must be signed in to change notification settings - Fork 33.2k
Closed
Labels
type-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error
Description
The SPEC_FAIL_KIND is not displayed correctly due to not being adequately maintained.
e.g
Lines 1471 to 1482 in b1dcdef
| #ifdef Py_STATS | |
| static int | |
| builtin_call_fail_kind(int ml_flags) | |
| { | |
| switch (ml_flags & (METH_VARARGS | METH_FASTCALL | METH_NOARGS | METH_O | | |
| METH_KEYWORDS | METH_METHOD)) { | |
| case METH_VARARGS: | |
| return SPEC_FAIL_CALL_PYCFUNCTION; | |
| case METH_VARARGS | METH_KEYWORDS: | |
| return SPEC_FAIL_CALL_PYCFUNCTION_WITH_KEYWORDS; | |
| case METH_FASTCALL | METH_KEYWORDS: | |
| return SPEC_FAIL_CALL_PYCFUNCTION_FAST_WITH_KEYWORDS; |
According to the context, METH_FASTCALL | METH_KEYWORDS flag does not cause specialization failure.
However, the method descr fail kind will also be shown as SPEC_FAIL_CALL_PYCFUNCTION, because builtin_call_fail_kind function is called incorrectly in the specialize_method_descriptor function.
I'd like to submit a PR to fix them and make them display correctly.
Linked PRs
Metadata
Metadata
Assignees
Labels
type-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error