diff options
author | Mark Shannon <mark@hotpy.org> | 2024-08-22 14:17:10 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-08-22 14:17:10 +0100 |
commit | a3d8c0542ea093c0e3e12b2839371cfc07463376 (patch) | |
tree | 344c78012dc732d75da5efab75854095c856ed44 /Python/bytecodes.c | |
parent | 3d7b1a526d858496add5b188c790b8d5fe73b06b (diff) | |
download | cpython-a3d8c0542ea093c0e3e12b2839371cfc07463376.tar.gz cpython-a3d8c0542ea093c0e3e12b2839371cfc07463376.zip |
GH-123197: Only count an instruction as deferred if it hasn't deopted first. (GH-123222)
Only count an instruction as deferred if hasn't deopted first.
Diffstat (limited to 'Python/bytecodes.c')
-rw-r--r-- | Python/bytecodes.c | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/Python/bytecodes.c b/Python/bytecodes.c index 250e2d12a9d..838af3ee3ab 100644 --- a/Python/bytecodes.c +++ b/Python/bytecodes.c @@ -350,7 +350,7 @@ dummy_func( _Py_Specialize_ToBool(value, next_instr); DISPATCH_SAME_OPARG(); } - STAT_INC(TO_BOOL, deferred); + OPCODE_DEFERRED_INC(TO_BOOL); ADVANCE_ADAPTIVE_COUNTER(this_instr[1].counter); #endif /* ENABLE_SPECIALIZATION */ } @@ -651,7 +651,7 @@ dummy_func( _Py_Specialize_BinarySubscr(container, sub, next_instr); DISPATCH_SAME_OPARG(); } - STAT_INC(BINARY_SUBSCR, deferred); + OPCODE_DEFERRED_INC(BINARY_SUBSCR); ADVANCE_ADAPTIVE_COUNTER(this_instr[1].counter); #endif /* ENABLE_SPECIALIZATION */ } @@ -835,7 +835,7 @@ dummy_func( _Py_Specialize_StoreSubscr(container, sub, next_instr); DISPATCH_SAME_OPARG(); } - STAT_INC(STORE_SUBSCR, deferred); + OPCODE_DEFERRED_INC(STORE_SUBSCR); ADVANCE_ADAPTIVE_COUNTER(this_instr[1].counter); #endif /* ENABLE_SPECIALIZATION */ } @@ -1048,7 +1048,7 @@ dummy_func( _Py_Specialize_Send(receiver, next_instr); DISPATCH_SAME_OPARG(); } - STAT_INC(SEND, deferred); + OPCODE_DEFERRED_INC(SEND); ADVANCE_ADAPTIVE_COUNTER(this_instr[1].counter); #endif /* ENABLE_SPECIALIZATION */ } @@ -1314,7 +1314,7 @@ dummy_func( _Py_Specialize_UnpackSequence(seq, next_instr, oparg); DISPATCH_SAME_OPARG(); } - STAT_INC(UNPACK_SEQUENCE, deferred); + OPCODE_DEFERRED_INC(UNPACK_SEQUENCE); ADVANCE_ADAPTIVE_COUNTER(this_instr[1].counter); #endif /* ENABLE_SPECIALIZATION */ (void)seq; @@ -1386,7 +1386,7 @@ dummy_func( _Py_Specialize_StoreAttr(owner, next_instr, name); DISPATCH_SAME_OPARG(); } - STAT_INC(STORE_ATTR, deferred); + OPCODE_DEFERRED_INC(STORE_ATTR); ADVANCE_ADAPTIVE_COUNTER(this_instr[1].counter); #endif /* ENABLE_SPECIALIZATION */ } @@ -1503,7 +1503,7 @@ dummy_func( _Py_Specialize_LoadGlobal(GLOBALS(), BUILTINS(), next_instr, name); DISPATCH_SAME_OPARG(); } - STAT_INC(LOAD_GLOBAL, deferred); + OPCODE_DEFERRED_INC(LOAD_GLOBAL); ADVANCE_ADAPTIVE_COUNTER(this_instr[1].counter); #endif /* ENABLE_SPECIALIZATION */ } @@ -1836,7 +1836,7 @@ dummy_func( _Py_Specialize_LoadSuperAttr(global_super_st, class_st, next_instr, load_method); DISPATCH_SAME_OPARG(); } - STAT_INC(LOAD_SUPER_ATTR, deferred); + OPCODE_DEFERRED_INC(LOAD_SUPER_ATTR); ADVANCE_ADAPTIVE_COUNTER(this_instr[1].counter); #endif /* ENABLE_SPECIALIZATION */ } @@ -1953,7 +1953,7 @@ dummy_func( _Py_Specialize_LoadAttr(owner, next_instr, name); DISPATCH_SAME_OPARG(); } - STAT_INC(LOAD_ATTR, deferred); + OPCODE_DEFERRED_INC(LOAD_ATTR); ADVANCE_ADAPTIVE_COUNTER(this_instr[1].counter); #endif /* ENABLE_SPECIALIZATION */ } @@ -2284,7 +2284,7 @@ dummy_func( _Py_Specialize_CompareOp(left, right, next_instr, oparg); DISPATCH_SAME_OPARG(); } - STAT_INC(COMPARE_OP, deferred); + OPCODE_DEFERRED_INC(COMPARE_OP); ADVANCE_ADAPTIVE_COUNTER(this_instr[1].counter); #endif /* ENABLE_SPECIALIZATION */ } @@ -2405,7 +2405,7 @@ dummy_func( _Py_Specialize_ContainsOp(right, next_instr); DISPATCH_SAME_OPARG(); } - STAT_INC(CONTAINS_OP, deferred); + OPCODE_DEFERRED_INC(CONTAINS_OP); ADVANCE_ADAPTIVE_COUNTER(this_instr[1].counter); #endif /* ENABLE_SPECIALIZATION */ } @@ -2720,7 +2720,7 @@ dummy_func( _Py_Specialize_ForIter(iter, next_instr, oparg); DISPATCH_SAME_OPARG(); } - STAT_INC(FOR_ITER, deferred); + OPCODE_DEFERRED_INC(FOR_ITER); ADVANCE_ADAPTIVE_COUNTER(this_instr[1].counter); #endif /* ENABLE_SPECIALIZATION */ } @@ -3189,7 +3189,7 @@ dummy_func( _Py_Specialize_Call(callable, next_instr, oparg + !PyStackRef_IsNull(self_or_null)); DISPATCH_SAME_OPARG(); } - STAT_INC(CALL, deferred); + OPCODE_DEFERRED_INC(CALL); ADVANCE_ADAPTIVE_COUNTER(this_instr[1].counter); #endif /* ENABLE_SPECIALIZATION */ } @@ -4196,7 +4196,7 @@ dummy_func( _Py_Specialize_CallKw(callable, next_instr, oparg + !PyStackRef_IsNull(self_or_null)); DISPATCH_SAME_OPARG(); } - STAT_INC(CALL_KW, deferred); + OPCODE_DEFERRED_INC(CALL_KW); ADVANCE_ADAPTIVE_COUNTER(this_instr[1].counter); #endif /* ENABLE_SPECIALIZATION */ } @@ -4471,7 +4471,7 @@ dummy_func( _Py_Specialize_BinaryOp(lhs, rhs, next_instr, oparg, LOCALS_ARRAY); DISPATCH_SAME_OPARG(); } - STAT_INC(BINARY_OP, deferred); + OPCODE_DEFERRED_INC(BINARY_OP); ADVANCE_ADAPTIVE_COUNTER(this_instr[1].counter); #endif /* ENABLE_SPECIALIZATION */ assert(NB_ADD <= oparg); |