summaryrefslogtreecommitdiffstats
path: root/Tools/scripts/deepfreeze.py
Commit message (Collapse)AuthorAgeFilesLines
* gh-94773: deepfreeze: support frozensets with unsortable types (GH-94775)Miss Islington (bot)2022-07-121-1/+6
| | | | | (cherry picked from commit 0c66074e9f8c9728e1d920910d35da0c62f30403) Co-authored-by: Christian Heimes <christian@python.org>
* [3.11] GH-93516: Backport GH-93769 (GH-94231)Mark Shannon2022-06-281-0/+7
| | | * Store offset of first traceable instruction to avoid having to recompute it all the time when tracing.
* gh-93771: Clarify how deepfreeze.py is run (GH-94150)Miss Islington (bot)2022-06-231-2/+4
| | | | | (cherry picked from commit 4e796f56465f7264ddba63c8396d2649e098b617) Co-authored-by: Guido van Rossum <guido@python.org>
* [3.11] gh-93382: Cache result of `PyCode_GetCode` in codeobject (GH-93383) ↵Ken Jin2022-06-231-0/+1
| | | | | | (#93493) Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com> Co-authored-by: Dennis Sweeney <36520290+sweeneyde@users.noreply.github.com>
* [3.11] GH-93516: Backport GH-93769: Speedup line number checks when tracing ↵Mark Shannon2022-06-221-0/+2
| | | | | (GH-94127) Co-authored-by: Pablo Galindo <pablogsal@gmail.com>
* GH-88116: Use a compact format to represent end line and column offsets. ↵Mark Shannon2022-04-211-4/+0
| | | | | | | | | | | | (GH-91666) * Stores all location info in linetable to conform to PEP 626. * Remove column table from code objects. * Remove end-line table from code objects. * Document new location table format
* bpo-46712: share more global strings in deepfreeze (gh-32152)Kumar Aditya2022-04-191-1/+3
| | | (for gh-90868)
* bpo-46429: tweak deepfreeze output (#32107)Kumar Aditya2022-03-271-0/+6
|
* bpo-47084: Clear Unicode cached representations on finalization (GH-32032)Jeremy Kloth2022-03-221-0/+1
|
* bpo-46841: Quicken code in-place (GH-31888)Brandt Bucher2022-03-211-25/+22
| | | | | | | | | | | | | | | | | | | * Moves the bytecode to the end of the corresponding PyCodeObject, and quickens it in-place. * Removes the almost-always-unused co_varnames, co_freevars, and co_cellvars member caches * _PyOpcode_Deopt is a new mapping from all opcodes to their un-quickened forms. * _PyOpcode_InlineCacheEntries is renamed to _PyOpcode_Caches * _Py_IncrementCountAndMaybeQuicken is renamed to _PyCode_Warmup * _Py_Quicken is renamed to _PyCode_Quicken * _co_quickened is renamed to _co_code_adaptive (and is now a read-only memoryview). * Do not emit unused nonzero opargs anymore in the compiler.
* bpo-46753: Add the empty tuple to the _PyRuntimeState.global_objects. (gh-31345)Eric Snow2022-02-281-0/+2
| | | https://bugs.python.org/issue46753
* Propagate errors (however unlikely) from _Py_Deepfreeze_Init() (GH-31596)Kumar Aditya2022-02-261-3/+5
|
* bpo-46712: Share global string identifiers in deepfreeze (GH-31261)Kumar Aditya2022-02-251-1/+4
| | | Where appropriate, deepfreeze.c now uses `&_Py_ID(blah)` references instead of locally defining constants. This saves some space.
* bpo-46430: Fix memory leak in interned strings of deep-frozen modules (GH-31549)Kumar Aditya2022-02-241-1/+5
|
* bpo-46430: Intern strings in deep-frozen modules (GH-30683)Kumar Aditya2022-02-091-0/+1
|
* bpo-46449: deepfreeze get_code() now returns strong ref (GH-30987)Kumar Aditya2022-01-281-1/+1
|
* bpo-46476: Simplify and fix _PyStaticCode_Dealloc (GH-30965)Christian Heimes2022-01-271-1/+1
|
* bpo-46476: Fix memory leak in code objects generated by deepfreeze (GH-30853)Kumar Aditya2022-01-271-0/+5
| | | Add _Py_Deepfreeze_Fini() and _PyStaticCode_Dealloc() functions.
* bpo-46471: Use single byte singletons (GH-30781)Kumar Aditya2022-01-231-0/+2
|
* bpo-46429: Merge all deepfrozen files into one (GH-30572)Kumar Aditya2022-01-201-29/+30
|
* bpo-46443: deepfreeze: use small ints and singleton zero bytes (GH-30715)Kumar Aditya2022-01-201-0/+5
|
* bpo-45949: Pure Python freeze module for cross builds (GH-29899)Christian Heimes2021-12-131-2/+3
|
* bpo-45950: Introduce Bootstrap Python again (#29859)Christian Heimes2021-12-031-1/+5
| | | | | | | | | The build system now uses a :program:`_bootstrap_python` interpreter for freezing and deepfreezing again. To speed up build process the build tools :program:`_bootstrap_python` and :program:`_freeze_module` are no longer build with LTO. Cross building depends on a build Python interpreter, which must have same version and bytecode as target host Python.
* bpo-45020: Fix strict-prototypes warning (GH-29755)Christian Heimes2021-11-241-1/+1
|
* bpo-45873: Restore Python 3.6 compatibility (GH-29730)Christian Heimes2021-11-231-1/+7
| | | Co-authored-by: Guido van Rossum <gvanrossum@gmail.com>
* bpo-45873: Get rid of bootstrap_python (#29717)Guido van Rossum2021-11-231-41/+46
| | | | | | | | | | | | | Instead we use $(PYTHON_FOR_REGEN) .../deepfreeze.py with the frozen .h file as input, as we did for Windows in bpo-45850. We also get rid of the code that generates the .h files when make regen-frozen is run (i.e., .../make_frozen.py), and the MANIFEST file. Restore Python 3.8 and 3.9 as Windows host Python again Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com>
* bpo-45850: Implement deep-freeze on Windows (#29648)Guido van Rossum2021-11-221-12/+46
| | | | | | Implement changes to build with deep-frozen modules on Windows. Note that we now require Python 3.10 as the "bootstrap" or "host" Python. This causes a modest startup speed (around 7%) on Windows.
* bpo-45696: Deep-freeze selected modules (GH-29118)Guido van Rossum2021-11-111-0/+418
This gains 10% or more in startup time for `python -c pass` on UNIX-ish systems. The Makefile.pre.in generating code builds on Eric's work for bpo-45020, but the .c file generator is new. Windows version TBD.