summaryrefslogtreecommitdiffstats
path: root/Python/generated_cases.c.h
Commit message (Collapse)AuthorAgeFilesLines
* GH-115651: Convert `LOAD_MODULE_ATTR` into `LOAD_INLINE_CONST` when the ↵Mark Shannon2024-02-221-2/+2
| | | | module is itself a constant. (GH-115711)
* gh-115733: Fix crash involving exhausted list iterator (#115740)Sam Gross2024-02-201-1/+1
| | | | | * gh-115733: Fix crash involving exhausted iterator * Add blurb
* gh-112175: Add `eval_breaker` to `PyThreadState` (#115194)Brett Simmers2024-02-201-3/+3
| | | | | | | | | | | This change adds an `eval_breaker` field to `PyThreadState`. The primary motivation is for performance in free-threaded builds: with thread-local eval breakers, we can stop a specific thread (e.g., for an async exception) without interrupting other threads. The source of truth for the global instrumentation version is stored in the `instrumentation_version` field in PyInterpreterState. Threads usually read the version from their local `eval_breaker`, where it continues to be colocated with the eval breaker bits.
* gh-115687: Split up guards from COMPARE_OP (GH-115688)Ken Jin2024-02-201-40/+58
|
* GH-115457: Support splitting and replication of micro ops. (GH-115558)Mark Shannon2024-02-201-11/+7
|
* GH-112354: Initial implementation of warm up on exits and trace-stitching ↵Mark Shannon2024-02-201-13/+18
| | | | (GH-114142)
* gh-114626: add PyCFunctionFast and PyCFunctionFastWithKeywords (GH-114627)David Hewitt2024-02-151-7/+7
| | | Co-authored-by: Petr Viktorin <encukou@gmail.com>
* gh-112087: Make __sizeof__ and listiter_{len, next} to be threadsafe (gh-114843)Donghee Na2024-02-141-1/+4
|
* GH-113710: Backedge counter improvements. (GH-115166)Mark Shannon2024-02-131-13/+16
|
* gh-114058: Foundations of the Tier2 redundancy eliminator (GH-115085)Ken Jin2024-02-131-1/+1
| | | | | | | --------- Co-authored-by: Mark Shannon <9448417+markshannon@users.noreply.github.com> Co-authored-by: Jules <57632293+JuliaPoo@users.noreply.github.com> Co-authored-by: Guido van Rossum <gvanrossum@users.noreply.github.com>
* GH-114695: Add `sys._clear_internal_caches` (GH-115152)Brandt Bucher2024-02-121-18/+7
|
* GH-112354: `END_FOR` instruction to only pop one value. (GH-114247)Mark Shannon2024-01-241-22/+13
| | | | * Compiler emits END_FOR; POP_TOP instead of END_FOR. To support tier 2 side exits in loops.
* gh-113102: Fix typo in INSTRUMENTED_RESUME (GH-114349)Guido van Rossum2024-01-221-1/+1
|
* GH-113860: Get rid of `_PyUOpExecutorObject` (GH-113954)Brandt Bucher2024-01-121-2/+2
|
* GH-113853: Guarantee forward progress in executors (GH-113854)Mark Shannon2024-01-111-5/+13
|
* GH-113860: All executors are now defined in terms of micro ops. Convert ↵Mark Shannon2024-01-101-10/+2
| | | | counter executor to use uops. (GH-113864)
* GH-113689: Fix broken handling of invalid executors (GH-113694)Brandt Bucher2024-01-041-1/+2
|
* GH-113595: Don't enter invalid executor (GH-113596)Mark Shannon2024-01-031-10/+20
|
* GH-111485: Delete the old generator code. (GH-113321)Mark Shannon2023-12-211-30/+30
|
* gh-111375: Use `NULL` rather than `None` in the exception stack to indicate ↵Carey Metcalfe2023-12-211-1/+1
| | | | that an exception was handled (#113302)
* GH-111485: Generate instruction and uop metadata (GH-113287)Mark Shannon2023-12-201-0/+19
|
* GH-111485: Break up instructions with unused cache entries into component ↵Mark Shannon2023-12-181-0/+71
| | | | micro-ops (GH-113169)
* GH-111485: Test the new cases generator (GH-113252)Mark Shannon2023-12-181-15/+15
|
* GH-111485: Mark some instructions as `TIER_ONE_ONLY` (GH-113155)Brandt Bucher2023-12-151-0/+7
|
* GH-108866: Guarantee forward progress in executors. (GH-113006)Mark Shannon2023-12-121-7/+5
|
* GH-111485: Factor out tier 2 code generation from the rest of the ↵Mark Shannon2023-12-121-1/+4
| | | | interpreter code generator (GH-112968)
* GH-111485: Separate out parsing, analysis and code-gen phases of tier 1 code ↵Mark Shannon2023-12-071-511/+536
| | | | generator (GH-112299)
* Rename ...Uop... to ...UOp... (uppercase O) for consistency (#112327)Guido van Rossum2023-11-291-1/+1
| | | | * Rename _PyUopExecute to _PyUOpExecute (uppercase O) for consistency * Also rename _PyUopName and _PyUOp_Replacements, and some output strings
* GH-111485: Sort cases in the case generator output (GH-112315)Mark Shannon2023-11-221-4196/+4196
|
* gh-110319: Assert type_version != 0 before using it (#112226)Guido van Rossum2023-11-181-2/+2
| | | | | | - Ensure that `assert(type_version != 0);` always comes *before* using `type_version` Also: - In cases_generator, rename `-v` to from `--verbose` to `--viable`
* gh-106529: Cleanups split off gh-112134 (#112214)Guido van Rossum2023-11-171-0/+1
| | | | | | | - Double max trace size to 256 - Add a dependency on executor_cases.c.h for ceval.o - Mark `_SPECIALIZE_UNPACK_SEQUENCE` as `TIER_ONE_ONLY` - Add debug output back showing the optimized trace - Bunch of cleanups to Tools/cases_generator/
* GH-111848: Convert remaining jumps to deopts into tier 2 code. (GH-112045)Mark Shannon2023-11-141-8/+8
|
* gh-111789: Simplify bytecodes.c by using PyDict_GetItemRef() (GH-111978)Serhiy Storchaka2023-11-141-47/+17
|
* GH-111843: Tier 2 exponential backoff (GH-111850)Mark Shannon2023-11-091-5/+18
|
* GH-111485: Make BEFORE_WITH a uop (GH-111812)Brandt Bucher2023-11-071-3/+2
|
* gh-111354: Simplify _PyGen_yf by moving some of its work to the compiler and ↵Irit Katriel2023-11-031-2/+6
| | | | frame state (#111648)
* gh-111654: remove redundant decref in LOAD_FROM_DICT_OR_DEREF (#111655)AN Long2023-11-031-2/+1
|
* gh-111354: simplify detection of RESUME after YIELD_VALUE at except-depth 1 ↵Irit Katriel2023-11-021-4/+2
| | | | (#111459)
* GH-111485: Silence warnings in Python/executor_cases.c.h (#111619)Guido van Rossum2023-11-011-0/+2
|
* gh-111520: Integrate the Tier 2 interpreter in the Tier 1 interpreter (#111428)Guido van Rossum2023-11-011-54/+64
| | | | | | | | | | | - There is no longer a separate Python/executor.c file. - Conventions in Python/bytecodes.c are slightly different -- don't use `goto error`, you must use `GOTO_ERROR(error)` (same for others like `unused_local_error`). - The `TIER_ONE` and `TIER_TWO` symbols are only valid in the generated (.c.h) files. - In Lib/test/support/__init__.py, `Py_C_RECURSION_LIMIT` is imported from `_testcapi`. - On Windows, in debug mode, stack allocation grows from 8MiB to 12MiB. - **Beware!** This changes the env vars to enable uops and their debugging to `PYTHON_UOPS` and `PYTHON_LLTRACE`.
* GH-111537: Avoid using `this_instr` in asserts. (GH-111600)Mark Shannon2023-11-011-18/+12
|
* GH-111485: Use micro-ops to split specialization code from base action ↵Mark Shannon2023-11-011-347/+445
| | | | (GH-111561)
* GH-111485: Remove some special cases from the code generator and bytecodes.c ↵Mark Shannon2023-10-311-5/+13
| | | | (GH-111540)
* GH-111485: Increment `next_instr` consistently at the start of the ↵Mark Shannon2023-10-311-285/+807
| | | | instruction. (GH-111486)
* gh-111386: Fix `uint32_t` cast in `generated_cases.c.h` (#111387)Nikita Sobolev2023-10-271-1/+1
|
* gh-111354: define names for RESUME oparg values (#111365)Irit Katriel2023-10-261-1/+1
|
* gh-109094: replace frame->prev_instr by frame->instr_ptr (#109095)Irit Katriel2023-10-261-40/+67
|
* GH-109214: _SET_IP before _PUSH_FRAME (but not _POP_FRAME) (GH-111001)Brandt Bucher2023-10-241-32/+19
|
* gh-109094: remove redundant arg to _PyFrame_PushTrampolineUnchecked (GH-110759)Irit Katriel2023-10-121-1/+1
|
* GH-109214: Convert _SAVE_CURRENT_IP to _SET_IP in tier 2 trace creation. ↵Mark Shannon2023-10-121-24/+4
| | | | (GH-110755)