pFad - Phone/Frame/Anonymizer/Declutterfier! Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

URL: http://github.com/python/cpython/commit/0012686d92fe51f426bcd6797e2f2a50ad4ac74f

48faa60c69660fa.css" /> GH-145278: freeze encodings (partially) and linecache (#148347) · python/cpython@0012686 · GitHub
Skip to content

Commit 0012686

Browse files
authored
GH-145278: freeze encodings (partially) and linecache (#148347)
1 parent 95cbd4a commit 0012686

6 files changed

Lines changed: 88 additions & 4 deletions

File tree

Makefile.pre.in

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1731,6 +1731,10 @@ FROZEN_FILES_IN = \
17311731
Lib/zipimport.py \
17321732
Lib/abc.py \
17331733
Lib/codecs.py \
1734+
Lib/encodings/__init__.py \
1735+
Lib/encodings/aliases.py \
1736+
Lib/encodings/utf_8.py \
1737+
Lib/encodings/_win_cp_codecs.py \
17341738
Lib/io.py \
17351739
Lib/_collections_abc.py \
17361740
Lib/_sitebuiltins.py \
@@ -1740,6 +1744,7 @@ FROZEN_FILES_IN = \
17401744
Lib/os.py \
17411745
Lib/site.py \
17421746
Lib/stat.py \
1747+
Lib/linecache.py \
17431748
Lib/importlib/util.py \
17441749
Lib/importlib/machinery.py \
17451750
Lib/runpy.py \
@@ -1756,6 +1761,10 @@ FROZEN_FILES_OUT = \
17561761
Python/frozen_modules/zipimport.h \
17571762
Python/frozen_modules/abc.h \
17581763
Python/frozen_modules/codecs.h \
1764+
Python/frozen_modules/encodings.h \
1765+
Python/frozen_modules/encodings.aliases.h \
1766+
Python/frozen_modules/encodings.utf_8.h \
1767+
Python/frozen_modules/encodings._win_cp_codecs.h \
17591768
Python/frozen_modules/io.h \
17601769
Python/frozen_modules/_collections_abc.h \
17611770
Python/frozen_modules/_sitebuiltins.h \
@@ -1765,6 +1774,7 @@ FROZEN_FILES_OUT = \
17651774
Python/frozen_modules/os.h \
17661775
Python/frozen_modules/site.h \
17671776
Python/frozen_modules/stat.h \
1777+
Python/frozen_modules/linecache.h \
17681778
Python/frozen_modules/importlib.util.h \
17691779
Python/frozen_modules/importlib.machinery.h \
17701780
Python/frozen_modules/runpy.h \
@@ -1804,6 +1814,18 @@ Python/frozen_modules/abc.h: Lib/abc.py $(FREEZE_MODULE_DEPS)
18041814
Python/frozen_modules/codecs.h: Lib/codecs.py $(FREEZE_MODULE_DEPS)
18051815
$(FREEZE_MODULE) codecs $(srcdir)/Lib/codecs.py Python/frozen_modules/codecs.h
18061816

1817+
Python/frozen_modules/encodings.h: Lib/encodings/__init__.py $(FREEZE_MODULE_DEPS)
1818+
$(FREEZE_MODULE) encodings $(srcdir)/Lib/encodings/__init__.py Python/frozen_modules/encodings.h
1819+
1820+
Python/frozen_modules/encodings.aliases.h: Lib/encodings/aliases.py $(FREEZE_MODULE_DEPS)
1821+
$(FREEZE_MODULE) encodings.aliases $(srcdir)/Lib/encodings/aliases.py Python/frozen_modules/encodings.aliases.h
1822+
1823+
Python/frozen_modules/encodings.utf_8.h: Lib/encodings/utf_8.py $(FREEZE_MODULE_DEPS)
1824+
$(FREEZE_MODULE) encodings.utf_8 $(srcdir)/Lib/encodings/utf_8.py Python/frozen_modules/encodings.utf_8.h
1825+
1826+
Python/frozen_modules/encodings._win_cp_codecs.h: Lib/encodings/_win_cp_codecs.py $(FREEZE_MODULE_DEPS)
1827+
$(FREEZE_MODULE) encodings._win_cp_codecs $(srcdir)/Lib/encodings/_win_cp_codecs.py Python/frozen_modules/encodings._win_cp_codecs.h
1828+
18071829
Python/frozen_modules/io.h: Lib/io.py $(FREEZE_MODULE_DEPS)
18081830
$(FREEZE_MODULE) io $(srcdir)/Lib/io.py Python/frozen_modules/io.h
18091831

@@ -1831,6 +1853,9 @@ Python/frozen_modules/site.h: Lib/site.py $(FREEZE_MODULE_DEPS)
18311853
Python/frozen_modules/stat.h: Lib/stat.py $(FREEZE_MODULE_DEPS)
18321854
$(FREEZE_MODULE) stat $(srcdir)/Lib/stat.py Python/frozen_modules/stat.h
18331855

1856+
Python/frozen_modules/linecache.h: Lib/linecache.py $(FREEZE_MODULE_DEPS)
1857+
$(FREEZE_MODULE) linecache $(srcdir)/Lib/linecache.py Python/frozen_modules/linecache.h
1858+
18341859
Python/frozen_modules/importlib.util.h: Lib/importlib/util.py $(FREEZE_MODULE_DEPS)
18351860
$(FREEZE_MODULE) importlib.util $(srcdir)/Lib/importlib/util.py Python/frozen_modules/importlib.util.h
18361861

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
The :mod:`encodings` is now partially frozen, including
2+
the ``aliases`` and ``utf_8`` submodules.
3+
4+
The :mod:`linecache` is now frozen.

PCbuild/_freeze_module.vcxproj

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -310,6 +310,26 @@
310310
<IntFile>$(IntDir)codecs.g.h</IntFile>
311311
<OutFile>$(GeneratedFrozenModulesDir)Python\frozen_modules\codecs.h</OutFile>
312312
</None>
313+
<None Include="..\Lib\encodings\__init__.py">
314+
<ModName>encodings</ModName>
315+
<IntFile>$(IntDir)encodings.g.h</IntFile>
316+
<OutFile>$(GeneratedFrozenModulesDir)Python\frozen_modules\encodings.h</OutFile>
317+
</None>
318+
<None Include="..\Lib\encodings\aliases.py">
319+
<ModName>encodings.aliases</ModName>
320+
<IntFile>$(IntDir)encodings.aliases.g.h</IntFile>
321+
<OutFile>$(GeneratedFrozenModulesDir)Python\frozen_modules\encodings.aliases.h</OutFile>
322+
</None>
323+
<None Include="..\Lib\encodings\utf_8.py">
324+
<ModName>encodings.utf_8</ModName>
325+
<IntFile>$(IntDir)encodings.utf_8.g.h</IntFile>
326+
<OutFile>$(GeneratedFrozenModulesDir)Python\frozen_modules\encodings.utf_8.h</OutFile>
327+
</None>
328+
<None Include="..\Lib\encodings\_win_cp_codecs.py">
329+
<ModName>encodings._win_cp_codecs</ModName>
330+
<IntFile>$(IntDir)encodings._win_cp_codecs.g.h</IntFile>
331+
<OutFile>$(GeneratedFrozenModulesDir)Python\frozen_modules\encodings._win_cp_codecs.h</OutFile>
332+
</None>
313333
<None Include="..\Lib\io.py">
314334
<ModName>io</ModName>
315335
<IntFile>$(IntDir)io.g.h</IntFile>
@@ -355,6 +375,11 @@
355375
<IntFile>$(IntDir)stat.g.h</IntFile>
356376
<OutFile>$(GeneratedFrozenModulesDir)Python\frozen_modules\stat.h</OutFile>
357377
</None>
378+
<None Include="..\Lib\linecache.py">
379+
<ModName>linecache</ModName>
380+
<IntFile>$(IntDir)linecache.g.h</IntFile>
381+
<OutFile>$(GeneratedFrozenModulesDir)Python\frozen_modules\linecache.h</OutFile>
382+
</None>
358383
<None Include="..\Lib\importlib\util.py">
359384
<ModName>importlib.util</ModName>
360385
<IntFile>$(IntDir)importlib.util.g.h</IntFile>

PCbuild/_freeze_module.vcxproj.filters

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -537,6 +537,18 @@
537537
<None Include="..\Lib\codecs.py">
538538
<Filter>Python Files</Filter>
539539
</None>
540+
<None Include="..\Lib\encodings\__init__.py">
541+
<Filter>Python Files</Filter>
542+
</None>
543+
<None Include="..\Lib\encodings\aliases.py">
544+
<Filter>Python Files</Filter>
545+
</None>
546+
<None Include="..\Lib\encodings\utf_8.py">
547+
<Filter>Python Files</Filter>
548+
</None>
549+
<None Include="..\Lib\encodings\_win_cp_codecs.py">
550+
<Filter>Python Files</Filter>
551+
</None>
540552
<None Include="..\Lib\io.py">
541553
<Filter>Python Files</Filter>
542554
</None>
@@ -564,6 +576,9 @@
564576
<None Include="..\Lib\stat.py">
565577
<Filter>Python Files</Filter>
566578
</None>
579+
<None Include="..\Lib\linecache.py">
580+
<Filter>Python Files</Filter>
581+
</None>
567582
<None Include="..\Lib\importlib\util.py">
568583
<Filter>Python Files</Filter>
569584
</None>

Python/frozen.c

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,10 @@
4646
#include "frozen_modules/zipimport.h"
4747
#include "frozen_modules/abc.h"
4848
#include "frozen_modules/codecs.h"
49+
#include "frozen_modules/encodings.h"
50+
#include "frozen_modules/encodings.aliases.h"
51+
#include "frozen_modules/encodings.utf_8.h"
52+
#include "frozen_modules/encodings._win_cp_codecs.h"
4953
#include "frozen_modules/io.h"
5054
#include "frozen_modules/_collections_abc.h"
5155
#include "frozen_modules/_sitebuiltins.h"
@@ -55,6 +59,7 @@
5559
#include "frozen_modules/os.h"
5660
#include "frozen_modules/site.h"
5761
#include "frozen_modules/stat.h"
62+
#include "frozen_modules/linecache.h"
5863
#include "frozen_modules/importlib.util.h"
5964
#include "frozen_modules/importlib.machinery.h"
6065
#include "frozen_modules/runpy.h"
@@ -76,6 +81,10 @@ static const struct _frozen stdlib_modules[] = {
7681
/* stdlib - startup, without site (python -S) */
7782
{"abc", _Py_M__abc, (int)sizeof(_Py_M__abc), false},
7883
{"codecs", _Py_M__codecs, (int)sizeof(_Py_M__codecs), false},
84+
{"encodings", _Py_M__encodings, (int)sizeof(_Py_M__encodings), true},
85+
{"encodings.aliases", _Py_M__encodings_aliases, (int)sizeof(_Py_M__encodings_aliases), false},
86+
{"encodings.utf_8", _Py_M__encodings_utf_8, (int)sizeof(_Py_M__encodings_utf_8), false},
87+
{"encodings._win_cp_codecs", _Py_M__encodings__win_cp_codecs, (int)sizeof(_Py_M__encodings__win_cp_codecs), false},
7988
{"io", _Py_M__io, (int)sizeof(_Py_M__io), false},
8089

8190
/* stdlib - startup, with site */
@@ -88,6 +97,9 @@ static const struct _frozen stdlib_modules[] = {
8897
{"site", _Py_M__site, (int)sizeof(_Py_M__site), false},
8998
{"stat", _Py_M__stat, (int)sizeof(_Py_M__stat), false},
9099

100+
/* pythonrun - interactive */
101+
{"linecache", _Py_M__linecache, (int)sizeof(_Py_M__linecache), false},
102+
91103
/* runpy - run module with -m */
92104
{"importlib.util", _Py_M__importlib_util, (int)sizeof(_Py_M__importlib_util), false},
93105
{"importlib.machinery", _Py_M__importlib_machinery, (int)sizeof(_Py_M__importlib_machinery), false},

Tools/build/freeze_modules.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,10 @@
5050
('stdlib - startup, without site (python -S)', [
5151
'abc',
5252
'codecs',
53-
# For now we do not freeze the encodings, due # to the noise all
54-
# those extra modules add to the text printed during the build.
55-
# (See https://github.com/python/cpython/pull/28398#pullrequestreview-756856469.)
56-
#'<encodings.*>',
53+
'<encodings>',
54+
'encodings.aliases',
55+
'encodings.utf_8',
56+
'encodings._win_cp_codecs',
5757
'io',
5858
]),
5959
('stdlib - startup, with site', [
@@ -66,6 +66,9 @@
6666
'site',
6767
'stat',
6868
]),
69+
('pythonrun - interactive', [
70+
'linecache',
71+
]),
6972
('runpy - run module with -m', [
7073
"importlib.util",
7174
"importlib.machinery",

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.





Check this box to remove all script contents from the fetched content.



Check this box to remove all images from the fetched content.


Check this box to remove all CSS styles from the fetched content.


Check this box to keep images inefficiently compressed and original size.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy