diff options
author | Mark Shannon <mark@hotpy.org> | 2023-09-08 10:34:40 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-08 10:34:40 +0100 |
commit | 15d4c9fabce67b8a1b5bd9dec9612014ec18291a (patch) | |
tree | 1c728c98663c224ec93022b0bdd0dd685c9fdf38 /Python/import.c | |
parent | 00cf626cd41f806062c22a913b647b4efa84c476 (diff) | |
download | cpython-15d4c9fabce67b8a1b5bd9dec9612014ec18291a.tar.gz cpython-15d4c9fabce67b8a1b5bd9dec9612014ec18291a.zip |
GH-108716: Turn off deep-freezing of code objects. (GH-108722)
Diffstat (limited to 'Python/import.c')
-rw-r--r-- | Python/import.c | 13 |
1 files changed, 1 insertions, 12 deletions
diff --git a/Python/import.c b/Python/import.c index 48090d05240..126eb5e162a 100644 --- a/Python/import.c +++ b/Python/import.c @@ -2006,7 +2006,6 @@ look_up_frozen(const char *name) struct frozen_info { PyObject *nameobj; const char *data; - PyObject *(*get_code)(void); Py_ssize_t size; bool is_package; bool is_alias; @@ -2040,7 +2039,6 @@ find_frozen(PyObject *nameobj, struct frozen_info *info) if (info != NULL) { info->nameobj = nameobj; // borrowed info->data = (const char *)p->code; - info->get_code = p->get_code; info->size = p->size; info->is_package = p->is_package; if (p->size < 0) { @@ -2052,10 +2050,6 @@ find_frozen(PyObject *nameobj, struct frozen_info *info) info->is_alias = resolve_module_alias(name, _PyImport_FrozenAliases, &info->origname); } - if (p->code == NULL && p->size == 0 && p->get_code != NULL) { - /* It is only deepfrozen. */ - return FROZEN_OKAY; - } if (p->code == NULL) { /* It is frozen but marked as un-importable. */ return FROZEN_EXCLUDED; @@ -2070,11 +2064,6 @@ find_frozen(PyObject *nameobj, struct frozen_info *info) static PyObject * unmarshal_frozen_code(PyInterpreterState *interp, struct frozen_info *info) { - if (info->get_code && _Py_IsMainInterpreter(interp)) { - PyObject *code = info->get_code(); - assert(code != NULL); - return code; - } PyObject *co = PyMarshal_ReadObjectFromString(info->data, info->size); if (co == NULL) { /* Does not contain executable code. */ @@ -3567,7 +3556,7 @@ _imp_get_frozen_object_impl(PyObject *module, PyObject *name, if (info.nameobj == NULL) { info.nameobj = name; } - if (info.size == 0 && info.get_code == NULL) { + if (info.size == 0) { /* Does not contain executable code. */ set_frozen_error(FROZEN_INVALID, name); return NULL; |