Remove sys._deactivate_opcache() now that is not needed (GH-27154)

This commit is contained in:
Pablo Galindo Salgado 2021-07-15 14:43:59 +01:00 committed by GitHub
parent f333ab0f2e
commit 4cb7263f0c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 1 additions and 50 deletions

View file

@ -63,7 +63,6 @@ def setup_tests(ns):
if ns.huntrleaks:
unittest.BaseTestSuite._cleanup = False
sys._deactivate_opcache()
if ns.memlimit is not None:
support.set_memlimit(ns.memlimit)

View file

@ -106,19 +106,6 @@ static long dxp[256];
#endif
#endif
/* per opcode cache */
static int opcache_min_runs = 1024; /* create opcache when code executed this many times */
#define OPCODE_CACHE_MAX_TRIES 20
// This function allows to deactivate the opcode cache. As different cache mechanisms may hold
// references, this can mess with the reference leak detector functionality so the cache needs
// to be deactivated in such scenarios to avoid false positives. See bpo-3714 for more information.
void
_PyEval_DeactivateOpCache(void)
{
opcache_min_runs = 0;
}
#ifndef NDEBUG
/* Ensure that tstate is valid: sanity check for PyEval_AcquireThread() and
PyEval_RestoreThread(). Detect if tstate memory was freed. It can happen

View file

@ -965,24 +965,6 @@ sys_getandroidapilevel(PyObject *module, PyObject *Py_UNUSED(ignored))
#endif /* defined(ANDROID_API_LEVEL) */
PyDoc_STRVAR(sys__deactivate_opcache__doc__,
"_deactivate_opcache($module, /)\n"
"--\n"
"\n"
"Deactivate the opcode cache permanently");
#define SYS__DEACTIVATE_OPCACHE_METHODDEF \
{"_deactivate_opcache", (PyCFunction)sys__deactivate_opcache, METH_NOARGS, sys__deactivate_opcache__doc__},
static PyObject *
sys__deactivate_opcache_impl(PyObject *module);
static PyObject *
sys__deactivate_opcache(PyObject *module, PyObject *Py_UNUSED(ignored))
{
return sys__deactivate_opcache_impl(module);
}
#ifndef SYS_GETWINDOWSVERSION_METHODDEF
#define SYS_GETWINDOWSVERSION_METHODDEF
#endif /* !defined(SYS_GETWINDOWSVERSION_METHODDEF) */
@ -1010,4 +992,4 @@ sys__deactivate_opcache(PyObject *module, PyObject *Py_UNUSED(ignored))
#ifndef SYS_GETANDROIDAPILEVEL_METHODDEF
#define SYS_GETANDROIDAPILEVEL_METHODDEF
#endif /* !defined(SYS_GETANDROIDAPILEVEL_METHODDEF) */
/*[clinic end generated code: output=e77bf636a177c5c3 input=a9049054013a1b77]*/
/*[clinic end generated code: output=855fc93b2347710b input=a9049054013a1b77]*/

View file

@ -1971,22 +1971,6 @@ sys_getandroidapilevel_impl(PyObject *module)
}
#endif /* ANDROID_API_LEVEL */
/*[clinic input]
sys._deactivate_opcache
Deactivate the opcode cache permanently
[clinic start generated code]*/
static PyObject *
sys__deactivate_opcache_impl(PyObject *module)
/*[clinic end generated code: output=00e20982bd012122 input=501eac146735ccf9]*/
{
_PyEval_DeactivateOpCache();
Py_RETURN_NONE;
}
static PyMethodDef sys_methods[] = {
/* Might as well keep this in alphabetic order */
SYS_ADDAUDITHOOK_METHODDEF
@ -2040,7 +2024,6 @@ static PyMethodDef sys_methods[] = {
SYS_GET_ASYNCGEN_HOOKS_METHODDEF
SYS_GETANDROIDAPILEVEL_METHODDEF
SYS_UNRAISABLEHOOK_METHODDEF
SYS__DEACTIVATE_OPCACHE_METHODDEF
{NULL, NULL} /* sentinel */
};