summaryrefslogtreecommitdiffstats
path: root/Python/executor_cases.c.h
diff options
context:
space:
mode:
authorSavannah Ostrowski <savannahostrowski@gmail.com>2024-09-27 00:35:42 (GMT)
committerGitHub <noreply@github.com>2024-09-27 00:35:42 (GMT)
commit65f12370982b9982b204d07f9f26ca8740f21845 (patch)
tree4ae4d96bd67052e4c801a805292fb081adf792b4 /Python/executor_cases.c.h
parent23e812b84ae688a56a1011ed69a0d178c70e35ea (diff)
downloadcpython-65f12370982b9982b204d07f9f26ca8740f21845.zip
cpython-65f12370982b9982b204d07f9f26ca8740f21845.tar.gz
cpython-65f12370982b9982b204d07f9f26ca8740f21845.tar.bz2
GH-123516: Improve JIT memory consumption by invalidating cold executors (GH-124443)
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Diffstat (limited to 'Python/executor_cases.c.h')
-rw-r--r--Python/executor_cases.c.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/Python/executor_cases.c.h b/Python/executor_cases.c.h
index 7a9c6ab..650bf45 100644
--- a/Python/executor_cases.c.h
+++ b/Python/executor_cases.c.h
@@ -5435,6 +5435,15 @@
break;
}
+ case _MAKE_WARM: {
+ current_executor->vm_data.warm = true;
+ // It's okay if this ends up going negative.
+ if (--tstate->interp->trace_run_counter == 0) {
+ _Py_set_eval_breaker_bit(tstate, _PY_EVAL_JIT_INVALIDATE_COLD_BIT);
+ }
+ break;
+ }
+
case _FATAL_ERROR: {
assert(0);
Py_FatalError("Fatal error uop executed.");