diff options
author | mpage <mpage@meta.com> | 2024-05-03 20:21:04 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-03 20:21:04 (GMT) |
commit | 37d095002216a4e45b4e82539ca0421ded8aaae3 (patch) | |
tree | 0cfb64e629fa0f78cbc314ef7a326b93fc021170 /Objects/codeobject.c | |
parent | 52485967813acdb35c274e1b2eaedd34e9ac01fc (diff) | |
download | cpython-37d095002216a4e45b4e82539ca0421ded8aaae3.zip cpython-37d095002216a4e45b4e82539ca0421ded8aaae3.tar.gz cpython-37d095002216a4e45b4e82539ca0421ded8aaae3.tar.bz2 |
gh-117657: Disable the function/code cache in free-threaded builds (#118301)
This is only used by the specializing interpreter and the tier 2
optimizer, both of which are disabled in free-threaded builds.
Diffstat (limited to 'Objects/codeobject.c')
-rw-r--r-- | Objects/codeobject.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/Objects/codeobject.c b/Objects/codeobject.c index 810f847..7d02b03 100644 --- a/Objects/codeobject.c +++ b/Objects/codeobject.c @@ -416,10 +416,16 @@ init_code(PyCodeObject *co, struct _PyCodeConstructor *con) co->co_ncellvars = ncellvars; co->co_nfreevars = nfreevars; PyInterpreterState *interp = _PyInterpreterState_GET(); +#ifdef Py_GIL_DISABLED + PyMutex_Lock(&interp->func_state.mutex); +#endif co->co_version = interp->func_state.next_version; if (interp->func_state.next_version != 0) { interp->func_state.next_version++; } +#ifdef Py_GIL_DISABLED + PyMutex_Unlock(&interp->func_state.mutex); +#endif co->_co_monitoring = NULL; co->_co_instrumentation_version = 0; /* not set */ |