aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Python/bytecodes.c
diff options
context:
space:
mode:
authorMark Shannon <mark@hotpy.org>2024-08-22 14:17:10 +0100
committerGitHub <noreply@github.com>2024-08-22 14:17:10 +0100
commita3d8c0542ea093c0e3e12b2839371cfc07463376 (patch)
tree344c78012dc732d75da5efab75854095c856ed44 /Python/bytecodes.c
parent3d7b1a526d858496add5b188c790b8d5fe73b06b (diff)
downloadcpython-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.c30
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);