summaryrefslogtreecommitdiffstats
path: root/Python/bytecodes.c
diff options
context:
space:
mode:
authorBrandt Bucher <brandtbucher@microsoft.com>2024-08-12 19:39:31 (GMT)
committerGitHub <noreply@github.com>2024-08-12 19:39:31 (GMT)
commit9621a7d0170bf1ec48bcfc35825007cdf75265ea (patch)
tree354b055c106043806da2b10b9cf144aa98ded0de /Python/bytecodes.c
parent503af8fe9a93ea6bc5bdfc76eb56b106a47c7292 (diff)
downloadcpython-9621a7d0170bf1ec48bcfc35825007cdf75265ea.zip
cpython-9621a7d0170bf1ec48bcfc35825007cdf75265ea.tar.gz
cpython-9621a7d0170bf1ec48bcfc35825007cdf75265ea.tar.bz2
GH-118093: Handle some polymorphism before requiring progress in tier two (GH-122843)
Diffstat (limited to 'Python/bytecodes.c')
-rw-r--r--Python/bytecodes.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/Python/bytecodes.c b/Python/bytecodes.c
index 7c448f4..ffa53bb 100644
--- a/Python/bytecodes.c
+++ b/Python/bytecodes.c
@@ -2501,7 +2501,7 @@ dummy_func(
start--;
}
_PyExecutorObject *executor;
- int optimized = _PyOptimizer_Optimize(frame, start, stack_pointer, &executor);
+ int optimized = _PyOptimizer_Optimize(frame, start, stack_pointer, &executor, 0);
ERROR_IF(optimized < 0, error);
if (optimized) {
assert(tstate->previous_executor == NULL);
@@ -4543,7 +4543,8 @@ dummy_func(
Py_INCREF(executor);
}
else {
- int optimized = _PyOptimizer_Optimize(frame, target, stack_pointer, &executor);
+ int chain_depth = current_executor->vm_data.chain_depth + 1;
+ int optimized = _PyOptimizer_Optimize(frame, target, stack_pointer, &executor, chain_depth);
if (optimized <= 0) {
exit->temperature = restart_backoff_counter(temperature);
if (optimized < 0) {
@@ -4626,7 +4627,7 @@ dummy_func(
exit->temperature = advance_backoff_counter(exit->temperature);
GOTO_TIER_ONE(target);
}
- int optimized = _PyOptimizer_Optimize(frame, target, stack_pointer, &executor);
+ int optimized = _PyOptimizer_Optimize(frame, target, stack_pointer, &executor, 0);
if (optimized <= 0) {
exit->temperature = restart_backoff_counter(exit->temperature);
if (optimized < 0) {