summaryrefslogtreecommitdiffstats
path: root/Tools/scripts
Commit message (Collapse)AuthorAgeFilesLines
...
* GH-90230: Add stats to breakdown the origin of calls to `PyEval_EvalFrame` ↵Mark Shannon2022-05-271-5/+12
| | | | (GH-93284)
* Split refcount stats into 'interpreter' and 'non-interpreter' (GH-92919)Mark Shannon2022-05-181-0/+6
|
* Summarize stats: Increase number of predecessor/successor pairs shown from 3 ↵Mark Shannon2022-05-171-3/+3
| | | | to 5. (GH-92853)
* Improve object stats (#92845)Mark Shannon2022-05-161-5/+13
| | | | | * Add incref/decref stats * Show ratios for allocation in summary
* gh-92536: PEP 623: Remove wstr and legacy APIs from Unicode (GH-92537)Inada Naoki2022-05-121-12/+0
|
* gh-92651: Remove the Include/token.h header file (#92652)Victor Stinner2022-05-111-13/+16
| | | | | | | | | | | | | | | Remove the token.h header file. There was never any public tokenizer C API. The token.h header file was only designed to be used by Python internals. Move Include/token.h to Include/internal/pycore_token.h. Including this header file now requires that the Py_BUILD_CORE macro is defined. It no longer checks for the Py_LIMITED_API macro. Rename functions: * PyToken_OneChar() => _PyToken_OneChar() * PyToken_TwoChars() => _PyToken_TwoChars() * PyToken_ThreeChars() => _PyToken_ThreeChars()
* bpo-44712: Replace "type(literal)" with corresponding builtin types (GH-27294)Serhiy Storchaka2022-05-081-3/+3
| | | | I suppose it is a remnants of very old code written when str, int, list, dict, etc were functions and not classes.
* gh-92031: Deoptimize Static Code at Finalization (GH-92039)Dennis Sweeney2022-05-031-0/+7
|
* gh-91324: Convert the stable ABI manifest to TOML (GH-92026)Petr Viktorin2022-04-291-126/+123
|
* bpo-36329: Remove 'make -C Doc serve' in favour of 'make -C Doc htmlview' ↵Hugo van Kemenade2022-04-292-37/+0
| | | | | | | | | | | | | | | | | | (GH-32354) Also updated `make -C htmlview` so it used a full path with `file://`, because the original didn't open the page (macOS). For example: ```sh cd Doc # Doesn't open anything: python3 -c "import webbrowser; webbrowser.open('build/html/index.html')" # Opens the docs page e.g. file:///Users/hugo/github/cpython/Doc/build/html/index.html : python3 -c "import os, webbrowser; webbrowser.open('file://' + os.path.realpath('build/html/index.html'))" ``` https://bugs.python.org/issue36329
* gh-91324: List feature macros in the stable ABI manifest, improve tests ↵Petr Viktorin2022-04-281-23/+88
| | | | (GH-32415)
* gh-91719: Add pycore_opcode.h internal header file (#91906)Victor Stinner2022-04-251-28/+59
| | | | | | | | | | | Move the following API from Include/opcode.h (public C API) to a new Include/internal/pycore_opcode.h header file (internal C API): * EXTRA_CASES * _PyOpcode_Caches * _PyOpcode_Deopt * _PyOpcode_Jump * _PyOpcode_OpName * _PyOpcode_RelativeJump
* gh-91575: Add a script for generating data for case-insensitive matching in ↵Serhiy Storchaka2022-04-221-0/+95
| | | | | re (GH-91660) Also test that all extra cases are in BMP.
* GH-91719: Make MSVC generate somewhat faster switch code (#91718)Guido van Rossum2022-04-211-0/+7
| | | | | | | | | | | Apparently a switch on an 8-bit quantity where all cases are present generates a more efficient jump (doing only one indexed memory load instead of two). So we make opcode and use_tracing uint8_t, and generate a macro full of extra `case NNN:` lines for all unused opcodes. See https://github.com/faster-cpython/ideas/issues/321#issuecomment-1103263673
* bpo-47169: Export PyOS_CheckStack on Windows (GH-32414)Petr Viktorin2022-04-211-0/+1
|
* GH-88116: Use a compact format to represent end line and column offsets. ↵Mark Shannon2022-04-212-6/+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-192-14/+9
| | | (for gh-90868)
* gh-91404: Use computed gotos and reduce indirection in re (#91495)Brandt Bucher2022-04-151-2/+18
|
* gh-91428: include specialized opcodes in _PyOpcode_OpName (GH-91467)Dennis Sweeney2022-04-141-8/+21
|
* bpo-47152: Automatically regenerate sre_constants.h (GH-91439)Serhiy Storchaka2022-04-121-0/+62
| | | | | | | * Move the code for generating Modules/_sre/sre_constants.h from Lib/re/_constants.py into a separate script Tools/scripts/generate_sre_constants.py. * Add target `regen-sre` in the makefile. * Make target `regen-all` depending on `regen-sre`.
* gh-91428: Add _PyOpcode_OpName to opcode.h of debug builds (GH-91430)Dennis Sweeney2022-04-111-0/+8
|
* Add feature macro PY_HAVE_THREAD_NATIVE_ID to the stable ABI definition ↵Petr Viktorin2022-04-081-2/+11
| | | | (GH-32365)
* bpo-47115: Document which parts of structs are in limited API/stable ABI ↵Petr Viktorin2022-04-061-2/+21
| | | | | | (GH-32196) Co-authored-by: Erlend Egeberg Aasland <erlend.aasland@innova.no>
* bpo-47146: Stop Depending On regen-deepfreeze For regen-global-objects ↵Eric Snow2022-03-311-1/+0
| | | | | | | | | (gh-32218) This effectively reverts the Makefile change in gh-31637. I've added some notes so it is more clear what is going on. We also update the "Check if generated files are up to date" job to run "make regen-deepfreeze" to ensure "make regen-global-objects" catches deepfreeze.c. https://bugs.python.org/issue47146
* bpo-47146: Avoid Using make Recursively (gh-32206)Eric Snow2022-03-311-1/+6
| | | https://bugs.python.org/issue47146
* bpo-47126: Update to canonical PEP URLs specified by PEP 676 (GH-32124)Hugo van Kemenade2022-03-301-1/+1
|
* bpo-46429: tweak deepfreeze output (#32107)Kumar Aditya2022-03-271-0/+6
|
* bpo-46712: Do not Regen Deep-Frozen Modules before Generating Global Objects ↵Eric Snow2022-03-231-11/+30
| | | | | | | | | (gh-32061) We have to run "make regen-deepfreeze" before running Tools/scripts/generate-global-objects.py; otherwise we will miss any changes to global objects in deep-frozen modules (which aren't committed in the repo). However, building $(PYTHON_FOR_FREEZE) fails if one of its source files had a global object (e.g. via _Py_ID(...)) added or removed, without generate-global-objects.py running first. So "make regen-global-objects" would sometimes fail. We solve this by running generate-global-objects.py before *and* after "make regen-deepfreeze". To speed things up and cut down on noise, we also avoid updating the global objects files if there are no changes to them. https://bugs.python.org/issue46712
* 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-212-28/+36
| | | | | | | | | | | | | | | | | | | * 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.
* summarize_stats.py: add pairs by opcode (GH-31957)Dennis Sweeney2022-03-181-9/+44
|
* CI: Fix patchcheck (GH-31708)Hugo van Kemenade2022-03-141-0/+2
|
* bpo-46881: Statically allocate and initialize the latin1 characters. (GH-31616)Kumar Aditya2022-03-091-0/+13
|
* Remove trailing spaces (GH-31695)Serhiy Storchaka2022-03-051-2/+2
|
* 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
|
* 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-46430: Fix memory leak in interned strings of deep-frozen modules (GH-31549)Kumar Aditya2022-02-241-1/+5
|
* 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
|
* 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
|