summaryrefslogtreecommitdiffstats
path: root/Tools/scripts
Commit message (Collapse)AuthorAgeFilesLines
* Add miss stats for specialized instructions. (GH-31108)Mark Shannon2022-02-041-4/+8
|
* Add specialization stats for FOR_ITER. (GH-31079)Mark Shannon2022-02-021-1/+1
|
* bpo-46072: Add some frame stats. (GH-31060)Mark Shannon2022-02-021-0/+3
|
* bpo-46072: Add some object layout and allocation stats (GH-31051)Mark Shannon2022-02-011-1/+11
|
* bpo-46072: Add simple stats for Python calls. (GH-30989)Mark Shannon2022-01-281-0/+8
|
* 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-46541: Generate the global objects initializer. (gh-30941)Eric Snow2022-01-271-0/+124
| | | | | | | This change is a prerequisite for generating code for other global objects (like strings in gh-30928). (We borrowed some code from Tools/scripts/deepfreeze.py.) https://bugs.python.org/issue46541
* 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-202-55/+49
|
* bpo-46443: deepfreeze: use small ints and singleton zero bytes (GH-30715)Kumar Aditya2022-01-201-0/+5
|
* bpo-45609: More specialization stats for STORE_SUBSCR (GH-30193)Dennis Sweeney2022-01-041-2/+2
|
* bpo-46178: Remove/rename redundant Travis CI code (#30309)Hugo van Kemenade2021-12-311-4/+4
|
* bpo-45189: Drop the "list_frozen" command from _test_embed. (GH-30273)Dong-hee Na2021-12-281-10/+5
|
* bpo-46072: Add top level stats struct (GH-30169)Mark Shannon2021-12-171-19/+69
|
* bpo-46072: Document --enable-stats option. (GH-30139)Mark Shannon2021-12-161-0/+0
|
* bpo-46072: Add --with-pystats configure option to simplify gathering of VM ↵Mark Shannon2021-12-151-1/+1
| | | | | | | | | stats (GH-30116) * Simplify specialization stats collection macros. * Add --enable-pystats option to configure. * Update specialization summary script to handle larger number of kinds
* bpo-45949: Pure Python freeze module for cross builds (GH-29899)Christian Heimes2021-12-132-6/+18
|
* bpo-43795: Document stable_abi.txt format and contents (GH-29956)Petr Viktorin2021-12-101-0/+1
| | | Also mention that removals generally aren't allowed.
* bpo-45654: No need to freeze types (GH-30028)Christian Heimes2021-12-101-2/+1
|
* bpo-45654: Freeze the runpy module and stuff it imports (GH-29903)Kumar Aditya2021-12-091-0/+6
|
* bpo-45950: Introduce Bootstrap Python again (#29859)Christian Heimes2021-12-032-2/+6
| | | | | | | | | 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-45019: Cleanup module freezing and deepfreeze (#29772)Kumar Aditya2021-11-261-40/+28
|
* Fix typo in freeze_modules (#29744)Kumar Aditya2021-11-241-1/+1
|
* bpo-45020: Fix strict-prototypes warning (GH-29755)Christian Heimes2021-11-241-1/+1
|
* bpo-45886: Allow overriding freeze command for cross compiling (GH-29735)Christian Heimes2021-11-241-2/+2
|
* 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-233-264/+170
| | | | | | | | | | | | | 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-45561: Run smelly.py tool from $(srcdir) (GH-29138)Neil Schemenauer2021-11-231-3/+6
|
* bpo-45850: Implement deep-freeze on Windows (#29648)Guido van Rossum2021-11-224-13/+416
| | | | | | 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-45636: Merge all numeric operators (GH-29482)Brandt Bucher2021-11-111-7/+12
|
* bpo-45696: Deep-freeze selected modules (GH-29118)Guido van Rossum2021-11-112-10/+474
| | | | | | | 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.
* bpo-45688: Add _scproxy to sys.stdlib_module_names (GH-29358)Christian Heimes2021-11-021-1/+5
|
* bpo-45395: Make custom frozen modules additions instead of replacements. ↵Eric Snow2021-10-281-19/+44
| | | | | | | | | (gh-28778) Currently custom modules (the array set on PyImport_FrozenModules) replace all the frozen stdlib modules. That can be problematic and is unlikely to be what the user wants. This change treats the custom frozen modules as additions instead. They take precedence over all other frozen modules except for those needed to bootstrap the import system. If the "code" field of an entry in the custom array is NULL then that frozen module is treated as disabled, which allows a custom entry to disable a frozen stdlib module. This change allows us to get rid of is_essential_frozen_module() and simplifies the logic for which frozen modules should be ignored. https://bugs.python.org/issue45395
* bpo-43795: Add a test for Stable ABI symbol availability using ctypes (GH-26354)Petr Viktorin2021-10-221-0/+38
| | | | | | | | | This is a cross-platform check that the symbols are actually exported in the ABI, not e.g. hidden in a macro. Caveat: PyModule_Create2 & PyModule_FromDefAndSpec2 are skipped. These aren't exported on some of our buildbots. This is a bug (bpo-44133). This test now makes sure all the others don't regress.
* po-35134: Move Include/funcobject.h to Include/cpython/ (GH-28958)Victor Stinner2021-10-141-1/+0
| | | Remove redundant "#ifndef Py_LIMITED_API" in funcobject.h.
* Fix EncodingWarning in test_tools. (GH-28846)Inada Naoki2021-10-101-2/+2
|
* bpo-45402: Fix test_tools.test_sundry() (GH-28786)Victor Stinner2021-10-071-3/+4
| | | | Fix test_tools.test_sundry() when Python is built out of tree: fix how the freeze_modules.py tool locates the _freeze_module program.
* Fix typos in the Tools directory (GH-28769)Christian Clauss2021-10-062-5/+5
| | | | | | | Like #28744 but for the Tools directory. [skip issue] Opening a related issue is pending python/psf-infra-meta#130 Automerge-Triggered-By: GH:pablogsal
* bpo-45020: Identify which frozen modules are actually aliases. (gh-28655)Eric Snow2021-10-051-1/+38
| | | | | | | In the list of generated frozen modules at the top of Tools/scripts/freeze_modules.py, you will find that some of the modules have a different name than the module (or .py file) that is actually frozen. Let's call each case an "alias". Aliases do not come into play until we get to the (generated) list of modules in Python/frozen.c. (The tool for freezing modules, Programs/_freeze_module, is only concerned with the source file, not the module it will be used for.) Knowledge of which frozen modules are aliases (and the identity of the original module) normally isn't important. However, this information is valuable when we go to set __file__ on frozen stdlib modules. This change updates Tools/scripts/freeze_modules.py to map aliases to the original module name (or None if not a stdlib module) in Python/frozen.c. We also add a helper function in Python/import.c to look up a frozen module's alias and add the result of that function to the frozen info returned from find_frozen(). https://bugs.python.org/issue45020
* bpo-43760: Check for tracing using 'bitwise or' instead of branch in ↵Mark Shannon2021-10-051-1/+1
| | | | dispatch. (GH-28723)
* bpo-45020: Add more test cases for frozen modules. (gh-28664)Eric Snow2021-10-012-6/+12
| | | | | I've added a number of test-only modules. Some of those cases are covered by the recently frozen stdlib modules (and some will be once we add encodings back in). However, I figured we'd play it safe by having a set of modules guaranteed to be there during tests. https://bugs.python.org/issue45020
* Fix EncodingWarning in freeze_modules. (GH-28591)Inada Naoki2021-09-301-4/+4
|
* bpo-45020: Do not freeze <pkg>/__init__.py twice. (gh-28635)Eric Snow2021-09-291-0/+7
| | | | | Currently we're freezing the __init__.py twice, duplicating the built data unnecessarily With this change we do it once. There is no change in runtime behavior. https://bugs.python.org/issue45020
* Select correct tool platform when building on Windows ARM64 natively (GH-28491)Niyas Sait2021-09-271-1/+5
|
* bpo-45020: Fix some corner cases for frozen module generation. (gh-28538)Eric Snow2021-09-242-32/+76
| | | | | This also includes some cleanup in preparation for a PR to make the "make all" output less noisy. https://bugs.python.org/issue45020
* bpo-45020: Freeze os, site, and codecs. (gh-28398)Eric Snow2021-09-171-11/+11
| | | https://bugs.python.org/issue45020
* bpo-45020: Fix build out of source tree (GH-28410)Victor Stinner2021-09-171-4/+10
| | | | | | * Makefile.pre.in: Add $(srcdir) when needed, remove it when it was used by mistake. * freeze_modules.py tool uses ./Programs/_freeze_module if the executable doesn't exist in the source tree.
* bpo-45231: update_file.py preserves end of line (GH-28411)Victor Stinner2021-09-171-1/+13
| | | | | | The update_file.py tool now preserves the end of line of the updated file. Fix the "make regen-frozen" command: it no longer changes the end of line of PCbuild/ files on Unix. Git changes the end of line depending on the platform.