diff options
author | Pablo Galindo Salgado <Pablogsal@gmail.com> | 2024-05-05 03:07:29 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-05 03:07:29 +0200 |
commit | 1b22d801b86ed314c4804b19a1fc4b13484e3cea (patch) | |
tree | 9cb5cea113afe83bb1ce106c565396a7bb344691 /Python/pylifecycle.c | |
parent | 999f0c512281995fb61a0d9eda075fd846e8c505 (diff) | |
download | cpython-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.c | 9 |
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"); } |