]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-45654: No need to freeze types (GH-30028)
authorChristian Heimes <christian@python.org>
Fri, 10 Dec 2021 18:09:09 +0000 (20:09 +0200)
committerGitHub <noreply@github.com>
Fri, 10 Dec 2021 18:09:09 +0000 (19:09 +0100)
Lib/runpy.py
Makefile.pre.in
PCbuild/_freeze_module.vcxproj
PCbuild/_freeze_module.vcxproj.filters
PCbuild/pythoncore.vcxproj
Python/frozen.c
Tools/scripts/freeze_modules.py

index caba1214262380aa00473484e111da6c4e2db9cb..949fd5939ba2c015c832abb69da6dad2957a3e74 100644 (file)
@@ -14,18 +14,20 @@ import sys
 import importlib.machinery # importlib first so we can test #15386 via -m
 import importlib.util
 import io
-import types
 import os
 
 __all__ = [
     "run_module", "run_path",
 ]
 
+# avoid 'import types' just for ModuleType
+ModuleType = type(sys)
+
 class _TempModule(object):
     """Temporarily replace a module in sys.modules with an empty namespace"""
     def __init__(self, mod_name):
         self.mod_name = mod_name
-        self.module = types.ModuleType(mod_name)
+        self.module = ModuleType(mod_name)
         self._saved_module = []
 
     def __enter__(self):
index 57928eead4384b7a0a91624f0aa3258dbf37b460..a182786e5b58732e1696562fff58c0ad994535d2 100644 (file)
@@ -490,7 +490,6 @@ DEEPFREEZE_OBJS = \
                Python/deepfreeze/os.o \
                Python/deepfreeze/site.o \
                Python/deepfreeze/stat.o \
-               Python/deepfreeze/types.o \
                Python/deepfreeze/importlib.util.o \
                Python/deepfreeze/importlib.machinery.o \
                Python/deepfreeze/runpy.o \
@@ -1014,9 +1013,6 @@ Python/deepfreeze/site.c: Python/frozen_modules/site.h $(DEEPFREEZE_DEPS)
 Python/deepfreeze/stat.c: Python/frozen_modules/stat.h $(DEEPFREEZE_DEPS)
        $(PYTHON_FOR_FREEZE) $(srcdir)/Tools/scripts/deepfreeze.py Python/frozen_modules/stat.h -m stat -o Python/deepfreeze/stat.c
 
-Python/deepfreeze/types.c: Python/frozen_modules/types.h $(DEEPFREEZE_DEPS)
-       $(PYTHON_FOR_FREEZE) $(srcdir)/Tools/scripts/deepfreeze.py Python/frozen_modules/types.h -m types -o Python/deepfreeze/types.c
-
 Python/deepfreeze/importlib.util.c: Python/frozen_modules/importlib.util.h $(DEEPFREEZE_DEPS)
        $(PYTHON_FOR_FREEZE) $(srcdir)/Tools/scripts/deepfreeze.py Python/frozen_modules/importlib.util.h -m importlib.util -o Python/deepfreeze/importlib.util.c
 
@@ -1065,7 +1061,6 @@ FROZEN_FILES_IN = \
                Lib/os.py \
                Lib/site.py \
                Lib/stat.py \
-               Lib/types.py \
                Lib/importlib/util.py \
                Lib/importlib/machinery.py \
                Lib/runpy.py \
@@ -1091,7 +1086,6 @@ FROZEN_FILES_OUT = \
                Python/frozen_modules/os.h \
                Python/frozen_modules/site.h \
                Python/frozen_modules/stat.h \
-               Python/frozen_modules/types.h \
                Python/frozen_modules/importlib.util.h \
                Python/frozen_modules/importlib.machinery.h \
                Python/frozen_modules/runpy.h \
@@ -1154,9 +1148,6 @@ Python/frozen_modules/site.h: $(FREEZE_MODULE) Lib/site.py
 Python/frozen_modules/stat.h: $(FREEZE_MODULE) Lib/stat.py
        $(FREEZE_MODULE) stat $(srcdir)/Lib/stat.py Python/frozen_modules/stat.h
 
-Python/frozen_modules/types.h: $(FREEZE_MODULE) Lib/types.py
-       $(FREEZE_MODULE) types $(srcdir)/Lib/types.py Python/frozen_modules/types.h
-
 Python/frozen_modules/importlib.util.h: $(FREEZE_MODULE) Lib/importlib/util.py
        $(FREEZE_MODULE) importlib.util $(srcdir)/Lib/importlib/util.py Python/frozen_modules/importlib.util.h
 
index 2beb425647407a117fe511c34bd1dcec8424d3ca..11a6a87daf91b70893b22a8fe478afd198bc49e4 100644 (file)
       <DeepIntFile>$(IntDir)stat.g.c</DeepIntFile>
       <DeepOutFile>$(PySourcePath)Python\deepfreeze\df.stat.c</DeepOutFile>
     </None>
-    <None Include="..\Lib\types.py">
-      <ModName>types</ModName>
-      <IntFile>$(IntDir)types.g.h</IntFile>
-      <OutFile>$(PySourcePath)Python\frozen_modules\types.h</OutFile>
-      <DeepIntFile>$(IntDir)types.g.c</DeepIntFile>
-      <DeepOutFile>$(PySourcePath)Python\deepfreeze\df.types.c</DeepOutFile>
-    </None>
     <None Include="..\Lib\importlib\util.py">
       <ModName>importlib.util</ModName>
       <IntFile>$(IntDir)importlib.util.g.h</IntFile>
index 7690e5ee58890a8facee6df2d99ecfd3e7cb3278..d107849c856213cb566c95d0ef25c664db620415 100644 (file)
     <None Include="..\Lib\stat.py">
       <Filter>Python Files</Filter>
     </None>
-    <None Include="..\Lib\types.py">
-      <Filter>Python Files</Filter>
-    </None>
     <None Include="..\Lib\importlib\util.py">
       <Filter>Python Files</Filter>
     </None>
index 33abfaf53652f9e70e699c3cdb54dd93688e6f73..098cc2107234472acfe57b25e1aa9588866c1c42 100644 (file)
     <ClCompile Include="..\Python\deepfreeze\df.os.c" />
     <ClCompile Include="..\Python\deepfreeze\df.site.c" />
     <ClCompile Include="..\Python\deepfreeze\df.stat.c" />
-    <ClCompile Include="..\Python\deepfreeze\df.types.c" />
     <ClCompile Include="..\Python\deepfreeze\df.importlib.util.c" />
     <ClCompile Include="..\Python\deepfreeze\df.importlib.machinery.c" />
     <ClCompile Include="..\Python\deepfreeze\df.runpy.c" />
index 377c32249a83e5b07fe76508a739f5ca83f63bf8..25cf0a8d37c789034768d8318a03318bde7ee66d 100644 (file)
@@ -53,7 +53,6 @@
 #include "frozen_modules/os.h"
 #include "frozen_modules/site.h"
 #include "frozen_modules/stat.h"
-#include "frozen_modules/types.h"
 #include "frozen_modules/importlib.util.h"
 #include "frozen_modules/importlib.machinery.h"
 #include "frozen_modules/runpy.h"
@@ -83,7 +82,6 @@ extern PyObject *_Py_get_posixpath_toplevel(void);
 extern PyObject *_Py_get_os_toplevel(void);
 extern PyObject *_Py_get_site_toplevel(void);
 extern PyObject *_Py_get_stat_toplevel(void);
-extern PyObject *_Py_get_types_toplevel(void);
 extern PyObject *_Py_get_importlib_util_toplevel(void);
 extern PyObject *_Py_get_importlib_machinery_toplevel(void);
 extern PyObject *_Py_get_runpy_toplevel(void);
@@ -126,7 +124,6 @@ static const struct _frozen stdlib_modules[] = {
     {"stat", _Py_M__stat, (int)sizeof(_Py_M__stat), GET_CODE(stat)},
 
     /* runpy - run module with -m */
-    {"types", _Py_M__types, (int)sizeof(_Py_M__types), GET_CODE(types)},
     {"importlib.util", _Py_M__importlib_util, (int)sizeof(_Py_M__importlib_util), GET_CODE(importlib_util)},
     {"importlib.machinery", _Py_M__importlib_machinery, (int)sizeof(_Py_M__importlib_machinery), GET_CODE(importlib_machinery)},
     {"runpy", _Py_M__runpy, (int)sizeof(_Py_M__runpy), GET_CODE(runpy)},
index b0c953159dc347e067e0a6bcb3e6eed353085b62..58d13985608359aabdcdc5c925463571f5805116 100644 (file)
@@ -69,10 +69,9 @@ FROZEN = [
         'stat',
         ]),
     ('runpy - run module with -m', [
-        "types",
         "importlib.util",
         "importlib.machinery",
-        "runpy"
+        "runpy",
     ]),
     (TESTS_SECTION, [
         '__hello__',