mirror of
https://github.com/python/cpython.git
synced 2025-07-24 11:44:31 +00:00
bpo-30604: clean up co_extra support (#2144)
bpo-30604: port fix from 3.6 dropping binary compatibility tweaks
This commit is contained in:
parent
c90e960150
commit
f3cffd2b78
6 changed files with 130 additions and 23 deletions
|
@ -5287,14 +5287,14 @@ _Py_GetDXProfile(PyObject *self, PyObject *args)
|
|||
Py_ssize_t
|
||||
_PyEval_RequestCodeExtraIndex(freefunc free)
|
||||
{
|
||||
PyThreadState *tstate = PyThreadState_Get();
|
||||
PyInterpreterState *interp = PyThreadState_Get()->interp;
|
||||
Py_ssize_t new_index;
|
||||
|
||||
if (tstate->co_extra_user_count == MAX_CO_EXTRA_USERS - 1) {
|
||||
if (interp->co_extra_user_count == MAX_CO_EXTRA_USERS - 1) {
|
||||
return -1;
|
||||
}
|
||||
new_index = tstate->co_extra_user_count++;
|
||||
tstate->co_extra_freefuncs[new_index] = free;
|
||||
new_index = interp->co_extra_user_count++;
|
||||
interp->co_extra_freefuncs[new_index] = free;
|
||||
return new_index;
|
||||
}
|
||||
|
||||
|
|
|
@ -111,6 +111,7 @@ PyInterpreterState_New(void)
|
|||
interp->importlib = NULL;
|
||||
interp->import_func = NULL;
|
||||
interp->eval_frame = _PyEval_EvalFrameDefault;
|
||||
interp->co_extra_user_count = 0;
|
||||
#ifdef HAVE_DLOPEN
|
||||
#if HAVE_DECL_RTLD_NOW
|
||||
interp->dlopenflags = RTLD_NOW;
|
||||
|
@ -281,7 +282,6 @@ new_threadstate(PyInterpreterState *interp, int init)
|
|||
|
||||
tstate->coroutine_wrapper = NULL;
|
||||
tstate->in_coroutine_wrapper = 0;
|
||||
tstate->co_extra_user_count = 0;
|
||||
|
||||
tstate->async_gen_firstiter = NULL;
|
||||
tstate->async_gen_finalizer = NULL;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue