summaryrefslogtreecommitdiffstats
path: root/Tools
Commit message (Collapse)AuthorAgeFilesLines
* bpo-46744: Move Windows ARM64 installation directory to correct ProgramFiles ↵Steve Dower2022-03-042-38/+1
| | | | (GH-31677)
* bpo-46845: Reduce dict size when all keys are Unicode (GH-31564)Inada Naoki2022-03-011-7/+4
|
* bpo-46712: Let generate_global_objects.py Run on Earlier Python Versions ↵Eric Snow2022-03-011-1/+1
| | | | | (gh-31637) https://bugs.python.org/issue46712
* bpo-46753: Add the empty tuple to the _PyRuntimeState.global_objects. (gh-31345)Eric Snow2022-02-282-0/+5
| | | https://bugs.python.org/issue46753
* bpo-46841: Move the cache for `LOAD_GLOBAL` inline. (GH-31575)Mark Shannon2022-02-281-8/+9
|
* bpo-46567: Add Tcl/Tk build for Windows ARM64 (GH-31574)Steve Dower2022-02-283-11/+3
|
* 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-252-6/+13
| | | Where appropriate, deepfreeze.c now uses `&_Py_ID(blah)` references instead of locally defining constants. This saves some space.
* bpo-46841: Use *inline* caching for `BINARY_OP` (GH-31543)Brandt Bucher2022-02-251-1/+8
|
* bpo-46748: Don't import <stdbool.h> in public headers (GH-31553)Petr Viktorin2022-02-251-2/+2
| | | | | | | <stdbool.h> is the standard/modern way to define embedd/extends Python free to define bool, true and false, but there are existing applications that use slightly different redefinitions, which fail if the header is included. It's OK to use stdbool outside the public headers, though. https://bugs.python.org/issue46748
* bpo-46430: Fix memory leak in interned strings of deep-frozen modules (GH-31549)Kumar Aditya2022-02-241-1/+5
|
* bpo-45459: C API uses type names rather than structure names (GH-31528)Victor Stinner2022-02-241-2/+1
| | | | Thanks to the new pytypedefs.h, it becomes to use type names like PyObject rather like structure names like "struct _object".
* bpo-46765: Replace Locally Cached Strings with Statically Initialized ↵Eric Snow2022-02-232-89/+2
| | | | | Objects (gh-31366) https://bugs.python.org/issue46765
* Fix reporting of specialization stats. (GH-31503)Mark Shannon2022-02-221-1/+1
|
* Remove pair-counts from specialization stats. (GH-31500)Mark Shannon2022-02-221-2/+5
|
* bpo-46541: Scan Fewer Files in generate_global_objects.py (gh-31364)Eric Snow2022-02-161-15/+19
| | | https://bugs.python.org/issue46541
* bpo-46541: Drop the check for orphaned global strings. (gh-31363)Eric Snow2022-02-161-142/+1
| | | https://bugs.python.org/issue46541
* bpo-46541: Discover the global strings. (gh-31346)Eric Snow2022-02-151-255/+74
| | | | | | | Instead of manually enumerating the global strings in generate_global_objects.py, we extrapolate the list from usage of _Py_ID() and _Py_STR() in the source files. This is partly inspired by gh-31261. https://bugs.python.org/issue46541
* Regen the global objects using PYTHON_FOR_REGEN. (gh-31344)Eric Snow2022-02-141-1/+1
| | | https://bugs.python.org/issue46541
* Add pair counts to stats output and summary. (GH-31324)Mark Shannon2022-02-141-5/+35
|
* bpo-36876: Make sure the c-analyzer is checking all the source files.' ↵Eric Snow2022-02-105-22/+159
| | | | | (gh-31264) https://bugs.python.org/issue36876
* Allow the parser to avoid nested processing of invalid rules (GH-31252)Pablo Galindo Salgado2022-02-101-2/+15
|
* Add stats for PRECALL_FUNCTION. (GH-31250)Mark Shannon2022-02-101-0/+2
|
* Right justify numeric columns in stats summary script. (GH-31234)Mark Shannon2022-02-101-8/+17
|
* bpo-36876: Minor cleanup to c-analyzer "ignored" data.' (gh-31239)Eric Snow2022-02-103-512/+260
| | | https://bugs.python.org/issue36876
* bpo-46430: Intern strings in deep-frozen modules (GH-30683)Kumar Aditya2022-02-091-0/+1
|
* bpo-46072: Output stats as markdown with collapsible sections. (GH-31228)Mark Shannon2022-02-091-70/+186
|
* bpo-36876: Update the c-analyzer whitelist. (gh-31225)Eric Snow2022-02-094-2010/+2364
| | | | | This change adds variables that had been added since the last time the whitelist was updated. It also cleans up the list a little. https://bugs.python.org/issue36876
* bpo-46541: Replace core use of _Py_IDENTIFIER() with statically initialized ↵Eric Snow2022-02-082-11/+486
| | | | | | | | | | | | | | | | | | | | | | | | | | | | global objects. (gh-30928) We're no longer using _Py_IDENTIFIER() (or _Py_static_string()) in any core CPython code. It is still used in a number of non-builtin stdlib modules. The replacement is: PyUnicodeObject (not pointer) fields under _PyRuntimeState, statically initialized as part of _PyRuntime. A new _Py_GET_GLOBAL_IDENTIFIER() macro facilitates lookup of the fields (along with _Py_GET_GLOBAL_STRING() for non-identifier strings). https://bugs.python.org/issue46541#msg411799 explains the rationale for this change. The core of the change is in: * (new) Include/internal/pycore_global_strings.h - the declarations for the global strings, along with the macros * Include/internal/pycore_runtime_init.h - added the static initializers for the global strings * Include/internal/pycore_global_objects.h - where the struct in pycore_global_strings.h is hooked into _PyRuntimeState * Tools/scripts/generate_global_objects.py - added generation of the global string declarations and static initializers I've also added a --check flag to generate_global_objects.py (along with make check-global-objects) to check for unused global strings. That check is added to the PR CI config. The remainder of this change updates the core code to use _Py_GET_GLOBAL_IDENTIFIER() instead of _Py_IDENTIFIER() and the related _Py*Id functions (likewise for _Py_GET_GLOBAL_STRING() instead of _Py_static_string()). This includes adding a few functions where there wasn't already an alternative to _Py*Id(), replacing the _Py_Identifier * parameter with PyObject *. The following are not changed (yet): * stop using _Py_IDENTIFIER() in the stdlib modules * (maybe) get rid of _Py_IDENTIFIER(), etc. entirely -- this may not be doable as at least one package on PyPI using this (private) API * (maybe) intern the strings during runtime init https://bugs.python.org/issue46541
* bpo-45952: Get the C analyzer tool working again. (gh-31220)Eric Snow2022-02-081-0/+1
| | | https://bugs.python.org/issue45952
* bpo-45952: Get the C analyzer tool working again. (gh-31219)Eric Snow2022-02-081-0/+3
| | | https://bugs.python.org/issue45952
* Print summary stats for overall success of specialization. (GH-31211)Mark Shannon2022-02-081-0/+32
|
* bpo-40280: Address more test failures on Emscripten (GH-31050)Christian Heimes2022-02-052-23/+109
| | | Co-authored-by: Brett Cannon <brett@python.org>
* bpo-46608: Fix argument parsing in freeze_modules.py (GH-31131)Kumar Aditya2022-02-051-10/+12
|
* bpo-46608: exclude marshalled-frozen data if deep-freezing to save 300 KB ↵Kumar Aditya2022-02-042-22/+28
| | | | | | | | | | | | | space (GH-31074) This reduces the size of the data segment by **300 KB** of the executable because if the modules are deep-frozen then the marshalled frozen data just wastes space. This was inspired by comment by @gvanrossum in https://github.com/python/cpython/pull/29118#issuecomment-958521863. Note: There is a new option `--deepfreeze-only` in `freeze_modules.py` to change this behavior, it is on be default to save disk space. ```console # du -s ./python before 27892 ./python # du -s ./python after 27524 ./python ``` Automerge-Triggered-By: GH:ericsnowcurrently
* Add miss stats for specialized instructions. (GH-31108)Mark Shannon2022-02-041-4/+8
|
* Optimize images by IMGbot (GH-21348)Manish Kumar ⛄2022-02-041-0/+0
| | | Co-authored-by: ImgBotApp <ImgBotHelp@gmail.com>
* bpo-46576: bpo-46524: Disable compiler optimization within ↵Gregory P. Smith2022-02-021-0/+10
| | | | | | | | | | | | | | | | | | | | test_peg_generator. (#31015) Disable compiler optimization within test_peg_generator. This speed up test_peg_generator by always disabling compiler optimizations by using -O0 or equivalent when the test is building its own C extensions. A build not using --with-pydebug in order to speed up test execution winds up with this test taking a very long time as it would do repeated compilation of parser C code using the same optimization flags as CPython was built with. This speeds the test up 6-8x on gps-raspbian. Also incorporate's #31017's win32 conditional and flags. Co-authored-by: Kumar Aditya kumaraditya303
* 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-33125: Enables building traditional installer for Windows ARM64 (GH-30885)Steve Dower2022-01-2838-95/+242
| | | Also makes a few general improvements to the build process and removes some dead code.
* 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-40280: Get help() working and more (GH-30858)Christian Heimes2022-01-241-1/+5
|
* bpo-46471: Use single byte singletons (GH-30781)Kumar Aditya2022-01-231-0/+2
|
* bpo-40280: Misc fixes for wasm32-emscripten (GH-30722)Christian Heimes2022-01-201-0/+2
|