aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Python/pylifecycle.c
diff options
context:
space:
mode:
authorPablo Galindo Salgado <Pablogsal@gmail.com>2024-10-30 00:12:45 +0000
committerGitHub <noreply@github.com>2024-10-30 00:12:45 +0000
commit2d37c719ed7c54430257028be6b48a1e2d065973 (patch)
tree772e7edbb2170fae1cccb2c016d2747ee87ad9a8 /Python/pylifecycle.c
parent2d9d10179ff3f13029bf4430e62c455a839987ca (diff)
downloadcpython-2d37c719ed7c54430257028be6b48a1e2d065973.tar.gz
cpython-2d37c719ed7c54430257028be6b48a1e2d065973.zip
gh-124855: Don't allow the JIT and perf support to be active at the same time (#124856)
Diffstat (limited to 'Python/pylifecycle.c')
-rw-r--r--Python/pylifecycle.c21
1 files changed, 14 insertions, 7 deletions
diff --git a/Python/pylifecycle.c b/Python/pylifecycle.c
index 8f38fbedae9..2efaa9db7d7 100644
--- a/Python/pylifecycle.c
+++ b/Python/pylifecycle.c
@@ -1310,14 +1310,21 @@ init_interp_main(PyThreadState *tstate)
enabled = *env != '0';
}
if (enabled) {
- PyObject *opt = _PyOptimizer_NewUOpOptimizer();
- if (opt == NULL) {
- return _PyStatus_ERR("can't initialize optimizer");
- }
- if (_Py_SetTier2Optimizer((_PyOptimizerObject *)opt)) {
- return _PyStatus_ERR("can't install optimizer");
+ if (config->perf_profiling > 0) {
+ (void)PyErr_WarnEx(
+ PyExc_RuntimeWarning,
+ "JIT deactivated as perf profiling support is active",
+ 0);
+ } else {
+ PyObject *opt = _PyOptimizer_NewUOpOptimizer();
+ if (opt == NULL) {
+ return _PyStatus_ERR("can't initialize optimizer");
+ }
+ if (_Py_SetTier2Optimizer((_PyOptimizerObject *)opt)) {
+ return _PyStatus_ERR("can't install optimizer");
+ }
+ Py_DECREF(opt);
}
- Py_DECREF(opt);
}
}
#endif