aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Python/pylifecycle.c
diff options
context:
space:
mode:
authorPablo Galindo Salgado <Pablogsal@gmail.com>2024-05-05 03:07:29 +0200
committerGitHub <noreply@github.com>2024-05-05 03:07:29 +0200
commit1b22d801b86ed314c4804b19a1fc4b13484e3cea (patch)
tree9cb5cea113afe83bb1ce106c565396a7bb344691 /Python/pylifecycle.c
parent999f0c512281995fb61a0d9eda075fd846e8c505 (diff)
downloadcpython-1b22d801b86ed314c4804b19a1fc4b13484e3cea.tar.gz
cpython-1b22d801b86ed314c4804b19a1fc4b13484e3cea.zip
gh-118518: Allow perf to work without frame pointers (#112254)
Diffstat (limited to 'Python/pylifecycle.c')
-rw-r--r--Python/pylifecycle.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/Python/pylifecycle.c b/Python/pylifecycle.c
index 9dc6e3f3112..f24b0482c2b 100644
--- a/Python/pylifecycle.c
+++ b/Python/pylifecycle.c
@@ -1210,7 +1210,14 @@ init_interp_main(PyThreadState *tstate)
#ifdef PY_HAVE_PERF_TRAMPOLINE
if (config->perf_profiling) {
- if (_PyPerfTrampoline_SetCallbacks(&_Py_perfmap_callbacks) < 0 ||
+ _PyPerf_Callbacks *cur_cb;
+ if (config->perf_profiling == 1) {
+ cur_cb = &_Py_perfmap_callbacks;
+ }
+ else {
+ cur_cb = &_Py_perfmap_jit_callbacks;
+ }
+ if (_PyPerfTrampoline_SetCallbacks(cur_cb) < 0 ||
_PyPerfTrampoline_Init(config->perf_profiling) < 0) {
return _PyStatus_ERR("can't initialize the perf trampoline");
}