diff options
author | Brandt Bucher <brandtbucher@microsoft.com> | 2022-03-03 19:28:47 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-03 19:28:47 (GMT) |
commit | 127797f572cc7374192e415c44ea2e95b009d5ab (patch) | |
tree | 582f20ed225250c33e2e7ea7b81a715ab9e8dd18 /Python/specialize.c | |
parent | cc400585fab02994255f21ae8183d5f147236815 (diff) | |
download | cpython-127797f572cc7374192e415c44ea2e95b009d5ab.zip cpython-127797f572cc7374192e415c44ea2e95b009d5ab.tar.gz cpython-127797f572cc7374192e415c44ea2e95b009d5ab.tar.bz2 |
bpo-46841: Improve the failure stats for COMPARE_OP (GH-31663)
Diffstat (limited to 'Python/specialize.c')
-rw-r--r-- | Python/specialize.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/Python/specialize.c b/Python/specialize.c index 6762582..4a94aaf 100644 --- a/Python/specialize.c +++ b/Python/specialize.c @@ -616,6 +616,7 @@ initial_counter_value(void) { #define SPEC_FAIL_COMPARE_OP_BASEOBJECT 21 #define SPEC_FAIL_COMPARE_OP_FLOAT_LONG 22 #define SPEC_FAIL_COMPARE_OP_LONG_FLOAT 23 +#define SPEC_FAIL_COMPARE_OP_EXTENDED_ARG 24 /* FOR_ITER */ #define SPEC_FAIL_FOR_ITER_GENERATOR 10 @@ -2088,6 +2089,10 @@ _Py_Specialize_CompareOp(PyObject *lhs, PyObject *rhs, _Py_CODEUNIT *instr, *instr = _Py_MAKECODEUNIT(COMPARE_OP, oparg); return; #endif + if (next_opcode == EXTENDED_ARG) { + SPECIALIZATION_FAIL(COMPARE_OP, SPEC_FAIL_COMPARE_OP_EXTENDED_ARG); + goto failure; + } SPECIALIZATION_FAIL(COMPARE_OP, SPEC_FAIL_COMPARE_OP_NOT_FOLLOWED_BY_COND_JUMP); goto failure; } |