From 4cb7263f0c7199280c01d911a1e7021568b548fd Mon Sep 17 00:00:00 2001 From: Pablo Galindo Salgado Date: Thu, 15 Jul 2021 14:43:59 +0100 Subject: Remove sys._deactivate_opcache() now that is not needed (GH-27154) --- Lib/test/libregrtest/setup.py | 1 - Python/ceval.c | 13 ------------- Python/clinic/sysmodule.c.h | 20 +------------------- Python/sysmodule.c | 17 ----------------- 4 files changed, 1 insertion(+), 50 deletions(-) diff --git a/Lib/test/libregrtest/setup.py b/Lib/test/libregrtest/setup.py index 83ce2f7..345b584 100644 --- a/Lib/test/libregrtest/setup.py +++ b/Lib/test/libregrtest/setup.py @@ -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) diff --git a/Python/ceval.c b/Python/ceval.c index 1467c12..a6eb83a 100644 --- a/Python/ceval.c +++ b/Python/ceval.c @@ -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 diff --git a/Python/clinic/sysmodule.c.h b/Python/clinic/sysmodule.c.h index 763fe7a..8350fbf 100644 --- a/Python/clinic/sysmodule.c.h +++ b/Python/clinic/sysmodule.c.h @@ -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]*/ diff --git a/Python/sysmodule.c b/Python/sysmodule.c index b71a096..f809e2f 100644 --- a/Python/sysmodule.c +++ b/Python/sysmodule.c @@ -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 */ }; -- cgit v0.12