[Python-checkins] bpo-37146: disable opcache when Py_DEBUG is defined (GH-13787)

Victor Stinner webhook-mailer at python.org
Mon Jun 3 18:38:14 EDT 2019


https://github.com/python/cpython/commit/eddef861b49f1635222a9e1771231c34a807debf
commit: eddef861b49f1635222a9e1771231c34a807debf
branch: master
author: Inada Naoki <songofacandy at gmail.com>
committer: Victor Stinner <vstinner at redhat.com>
date: 2019-06-04T00:38:09+02:00
summary:

bpo-37146: disable opcache when Py_DEBUG is defined (GH-13787)

--with-pydebug is commonly used to find memory leaks.
But opcache makes it harder.
So disable opcache when Py_DEBUG is defined.

files:
M Python/ceval.c

diff --git a/Python/ceval.c b/Python/ceval.c
index 0a4af915d6ff..2590ce6575a1 100644
--- a/Python/ceval.c
+++ b/Python/ceval.c
@@ -103,7 +103,14 @@ static long dxp[256];
 #endif
 
 /* per opcode cache */
+#ifdef Py_DEBUG
+// --with-pydebug is used to find memory leak.  opcache makes it harder.
+// So we disable opcache when Py_DEBUG is defined.
+// See bpo-37146
+#define OPCACHE_MIN_RUNS 0  /* disable opcache */
+#else
 #define OPCACHE_MIN_RUNS 1024  /* create opcache when code executed this time */
+#endif
 #define OPCACHE_STATS 0  /* Enable stats */
 
 #if OPCACHE_STATS



More information about the Python-checkins mailing list