summaryrefslogtreecommitdiffstats
path: root/Include/cpython/optimizer.h
Commit message (Collapse)AuthorAgeFilesLines
* GH-115802: JIT "small" code for Windows (GH-115964)Brandt Bucher2024-02-291-3/+0
|
* gh-115168: Add pystats counter for invalidated executors (GH-115169)Michael Droettboom2024-02-261-2/+2
|
* GH-112354: Initial implementation of warm up on exits and trace-stitching ↵Mark Shannon2024-02-201-6/+19
| | | | (GH-114142)
* GH-113710: Backedge counter improvements. (GH-115166)Mark Shannon2024-02-131-3/+7
|
* GH-114695: Add `sys._clear_internal_caches` (GH-115152)Brandt Bucher2024-02-121-1/+2
|
* GH-113710: Add a "globals to constants" pass (GH-114592)Mark Shannon2024-02-021-1/+7
| | | Converts specializations of `LOAD_GLOBAL` into constants during tier 2 optimization.
* GH-113464: Add a JIT backend for tier 2 (GH-113465)Brandt Bucher2024-01-291-0/+2
| | | | | | | Add an option (--enable-experimental-jit for configure-based builds or --experimental-jit for PCbuild-based ones) to build an *experimental* just-in-time compiler, based on copy-and-patch (https://fredrikbk.com/publications/copy-and-patch.pdf). See Tools/jit/README.md for more information on how to install the required build-time tooling.
* GH-113860: Get rid of `_PyUOpExecutorObject` (GH-113954)Brandt Bucher2024-01-121-1/+8
|
* GH-113853: Guarantee forward progress in executors (GH-113854)Mark Shannon2024-01-111-1/+1
|
* GH-113860: All executors are now defined in terms of micro ops. Convert ↵Mark Shannon2024-01-101-2/+6
| | | | counter executor to use uops. (GH-113864)
* GH-108866: Guarantee forward progress in executors. (GH-113006)Mark Shannon2023-12-121-1/+1
|
* GH-111843: Tier 2 exponential backoff (GH-111850)Mark Shannon2023-11-091-0/+4
|
* GH-109369: Add machinery for deoptimizing tier2 executors, both individually ↵Mark Shannon2023-10-231-0/+26
| | | | and globally. (GH-110384)
* GH-104584: Don't call executors from JUMP_BACKWARD (GH-109347)Brandt Bucher2023-09-131-1/+1
|
* gh-106320: Remove private _PySys functions (#108452)Victor Stinner2023-08-241-1/+1
| | | | | | | | | | Move private functions to the internal C API (pycore_sysmodule.h): * _PySys_GetAttr() * _PySys_GetSizeOf() No longer export most of these functions. Fix also a typo in Include/cpython/optimizer.h: add a missing space.
* gh-107557: Setup abstract interpretation (#107847)Ken Jin2023-08-151-1/+1
| | | | Co-authored-by: Guido van Rossum <gvanrossum@users.noreply.github.com> Co-authored-by: Jules <57632293+juliapoo@users.noreply.github.com>
* gh-106608: make uop trace variable length (#107531)Ivin Lee2023-08-051-1/+1
| | | Executors are now more like tuples.
* GH-106360: Support very basic superblock introspection (#106422)Mark Shannon2023-07-041-0/+2
| | | * Add len() and indexing support to uop superblocks.
* gh-104584: Baby steps towards generating and executing traces (#105924)Guido van Rossum2023-06-271-0/+1
| | | | | Added a new, experimental, tracing optimizer and interpreter (a.k.a. "tier 2"). This currently pessimizes, so don't use yet -- this is infrastructure so we can experiment with optimizing passes. To enable it, pass ``-Xuops`` or set ``PYTHONUOPS=1``. To get debug output, set ``PYTHONUOPSDEBUG=N`` where ``N`` is a debug level (0-4, where 0 is no debug output and 4 is excessively verbose). All of this code is likely to change dramatically before the 3.13 feature freeze. But this is a first step.
* GH-104584: Allow optimizers to opt out of optimizing. (GH-105244)Mark Shannon2023-06-051-1/+2
|
* GH-104584: Plugin optimizer API (GH-105100)Mark Shannon2023-06-021-0/+54