[Python-checkins] Remove legacy opcache structs (GH-27164)

corona10 webhook-mailer at python.org
Fri Jul 16 11:49:43 EDT 2021


https://github.com/python/cpython/commit/e9cd47d0e58cd468d6482d7ba59730b134d0d521
commit: e9cd47d0e58cd468d6482d7ba59730b134d0d521
branch: main
author: Ken Jin <28750310+Fidget-Spinner at users.noreply.github.com>
committer: corona10 <donghee.na92 at gmail.com>
date: 2021-07-17T00:49:35+09:00
summary:

Remove legacy opcache structs (GH-27164)

files:
M Include/cpython/code.h
M Include/internal/pycore_code.h
M Objects/codeobject.c

diff --git a/Include/cpython/code.h b/Include/cpython/code.h
index 8c00eb90bf0af8..b232f80367e772 100644
--- a/Include/cpython/code.h
+++ b/Include/cpython/code.h
@@ -23,8 +23,6 @@ typedef uint16_t _Py_CODEUNIT;
 #  define _Py_MAKECODEUNIT(opcode, oparg) ((opcode)|((oparg)<<8))
 #endif
 
-typedef struct _PyOpcache _PyOpcache;
-
 
 /* Bytecode object */
 struct PyCodeObject {
diff --git a/Include/internal/pycore_code.h b/Include/internal/pycore_code.h
index 06a8b1b1e7df32..bc469763670d4e 100644
--- a/Include/internal/pycore_code.h
+++ b/Include/internal/pycore_code.h
@@ -4,29 +4,6 @@
 extern "C" {
 #endif
 
-/* Legacy Opcache */
-
-typedef struct {
-    PyObject *ptr;  /* Cached pointer (borrowed reference) */
-    uint64_t globals_ver;  /* ma_version of global dict */
-    uint64_t builtins_ver; /* ma_version of builtin dict */
-} _PyOpcache_LoadGlobal;
-
-typedef struct {
-    PyTypeObject *type;
-    Py_ssize_t hint;
-    unsigned int tp_version_tag;
-} _PyOpCodeOpt_LoadAttr;
-
-struct _PyOpcache {
-    union {
-        _PyOpcache_LoadGlobal lg;
-        _PyOpCodeOpt_LoadAttr la;
-    } u;
-    char optimized;
-};
-
-
 /* PEP 659
  * Specialization and quickening structs and helper functions
  */
diff --git a/Objects/codeobject.c b/Objects/codeobject.c
index a5120ec01f5cb0..3dc9fd787f3859 100644
--- a/Objects/codeobject.c
+++ b/Objects/codeobject.c
@@ -4,7 +4,7 @@
 #include "code.h"
 #include "opcode.h"
 #include "structmember.h"         // PyMemberDef
-#include "pycore_code.h"          // _PyOpcache
+#include "pycore_code.h"          // _PyCodeConstructor
 #include "pycore_interp.h"        // PyInterpreterState.co_extra_freefuncs
 #include "pycore_pystate.h"       // _PyInterpreterState_GET()
 #include "pycore_tuple.h"         // _PyTuple_ITEMS()



More information about the Python-checkins mailing list