summaryrefslogtreecommitdiffstats
path: root/Lib/_opcode_metadata.py
Commit message (Collapse)AuthorAgeFilesLines
* GH-128685: Specialize (rather than quicken) LOAD_CONST into ↵Mark Shannon2025-01-131-20/+22
| | | | LOAD_CONST_[IM]MORTAL (GH-128708)
* GH-128375: Better instrument for `FOR_ITER` (GH-128445)Mark Shannon2025-01-061-90/+92
|
* GH-122548: Implement branch taken and not taken events for sys.monitoring ↵Mark Shannon2024-12-191-98/+100
| | | | (GH-122564)
* GH-125837: Split `LOAD_CONST` into three. (GH-125972)Mark Shannon2024-10-291-48/+51
| | | | | | | | * Add LOAD_CONST_IMMORTAL opcode * Add LOAD_SMALL_INT opcode * Remove RETURN_CONST opcode
* GH-119866: Spill the stack around escaping calls. (GH-124392)Mark Shannon2024-10-071-1/+0
| | | | | | | * Spill the evaluation around escaping calls in the generated interpreter and JIT. * The code generator tracks live, cached values so they can be saved to memory when needed. * Spills the stack pointer around escaping calls, so that the exact stack is visible to the cycle GC.
* gh-124285: Fix bug where bool() is called multiple times for the same part ↵Irit Katriel2024-09-251-7/+9
| | | | of a boolean expression (#124394)
* GH-123040: Specialize shadowed `LOAD_ATTR`. (GH-123219)Mark Shannon2024-08-231-31/+33
|
* GH-118093: Specialize `CALL_KW` (GH-123006)Mark Shannon2024-08-161-53/+61
|
* GH-120024: Remove `CHECK_EVAL_BREAKER` macro. (GH-122968)Mark Shannon2024-08-141-18/+19
| | | | | * Factor some instructions into micro-ops to isolate CHECK_EVAL_BREAKER for escape analysis * Eliminate CHECK_EVAL_BREAKER macro
* GH-122390: Replace `_Py_GetbaseOpcode` with `_Py_GetBaseCodeUnit` (GH-122942)Mark Shannon2024-08-131-51/+51
|
* GH-122029: Break INSTRUMENTED_CALL into micro-ops, so that its behavior is ↵Mark Shannon2024-07-261-13/+13
| | | | consistent with CALL (GH-122177)
* GH-121131: Clean up and fix some instrumented instructions. (GH-121132)Mark Shannon2024-07-261-15/+15
| | | | * Add support for 'prev_instr' to code generator and refactor some INSTRUMENTED instructions
* GH-122160: Remove BUILD_CONST_KEY_MAP opcode. (GH-122164)Mark Shannon2024-07-251-75/+74
|
* GH-120507: Lower the `BEFORE_WITH` and `BEFORE_ASYNC_WITH` instructions. ↵Mark Shannon2024-06-181-117/+116
| | | | | | | | | (#120640) * Remove BEFORE_WITH and BEFORE_ASYNC_WITH instructions. * Add LOAD_SPECIAL instruction * Reimplement `with` and `async with` statements using LOAD_SPECIAL
* gh-119676: remove several pseudo instructions which are use only in codegen ↵Irit Katriel2024-05-281-9/+5
| | | | (#119677)
* gh-119180: Add LOAD_COMMON_CONSTANT opcode (#119321)Jelle Zijlstra2024-05-221-61/+61
| | | | | | | | | | The PEP 649 implementation will require a way to load NotImplementedError from the bytecode. @markshannon suggested implementing this by converting LOAD_ASSERTION_ERROR into a more general mechanism for loading constants. This PR adds this new opcode. I will work on the rest of the implementation of the PEP separately. Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com>
* GH-118095: Use broader specializations of CALL in tier 1, for better tier 2 ↵Mark Shannon2024-05-041-58/+62
| | | | | | | | | | support of calls. (GH-118322) * Add CALL_PY_GENERAL, CALL_BOUND_METHOD_GENERAL and call CALL_NON_PY_GENERAL specializations. * Remove CALL_PY_WITH_DEFAULTS specialization * Use CALL_NON_PY_GENERAL in more cases when otherwise failing to specialize
* gh-116381: Remove bad specializations, add fail stats (GH-116464)Ken Jin2024-03-071-43/+37
| | | * Remove bad specializations, add fail stats
* gh-116381: Specialize CONTAINS_OP (GH-116385)Ken Jin2024-03-061-36/+48
| | | | | | | | | | | * Specialize CONTAINS_OP * 📜🤖 Added by blurb_it. * Add PyAPI_FUNC for JIT --------- Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
* GH-111485: Generate instruction and uop metadata (GH-113287)Mark Shannon2023-12-201-10/+8
|
* gh-111354: Simplify _PyGen_yf by moving some of its work to the compiler and ↵Irit Katriel2023-11-031-75/+75
| | | | frame state (#111648)
* gh-111354: simplify detection of RESUME after YIELD_VALUE at except-depth 1 ↵Irit Katriel2023-11-021-75/+75
| | | | (#111459)
* GH-105848: Replace KW_NAMES + CALL with LOAD_CONST + CALL_KW (GH-109300)Brandt Bucher2023-09-131-63/+64
|
* gh-109256: allocate opcode IDs for internal opcodes in their own range (#109269)Irit Katriel2023-09-121-186/+186
|
* GH-108614: Add `RESUME_CHECK` instruction (GH-108630)Mark Shannon2023-09-071-141/+145
|
* gh-105481: generate op IDs from bytecode.c instead of hard coding them in ↵Irit Katriel2023-08-161-1/+225
| | | | opcode.py (#107971)
* GH-107596: Specialize str[int] (GH-107597)Brandt Bucher2023-08-081-0/+1
|
* GH-100288: Specialize LOAD_ATTR for simple class attributes. (#105990)Mark Shannon2023-07-101-0/+2
| | | * Add two more specializations of LOAD_ATTR.
* GH-106008: Make implicit boolean conversions explicit (GH-106003)Brandt Bucher2023-06-291-0/+8
|
* GH-91095: Specialize calls to normal Python classes. (GH-99331)Mark Shannon2023-06-221-0/+1
|
* gh-105481: generate _specializations and _specialized_instructions from ↵Irit Katriel2023-06-191-0/+94
bytecodes.c (#105913)