| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | gh-142982: Specialize CALL_FUNCTION_EX (GH-143391) | Ken Jin | 9 days | 1 | -60/+62 |
| | | |||||
| * | gh-139757: Add BINARY_OP_SUBSCR_USTR_INT (GH-143389) | Chris Eibl | 11 days | 1 | -69/+70 |
| | | |||||
| * | GH-139109: Support switch/case dispatch with the tracing interpreter. ↵ | Mark Shannon | 2025-11-18 | 1 | -23/+24 |
| | | | | | (GH-141703) | ||||
| * | GH-134282: Always borrow references LOAD_CONST (GH-134284) | Mark Shannon | 2025-05-20 | 1 | -22/+20 |
| | | |||||
| * | gh-100239: specialize BINARY_OP/SUBSCR for list-slice (#132626) | Irit Katriel | 2025-05-01 | 1 | -73/+74 |
| | | |||||
| * | gh-132661: Implement PEP 750 (#132662) | Lysandros Nikolaou | 2025-04-30 | 1 | -116/+118 |
| | | | | | | | | | | | | | | Co-authored-by: Lysandros Nikolaou <lisandrosnik@gmail.com> Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com> Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com> Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> Co-authored-by: Wingy <git@wingysam.xyz> Co-authored-by: Koudai Aono <koxudaxi@gmail.com> Co-authored-by: Dave Peck <davepeck@gmail.com> Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu> Co-authored-by: Paul Everitt <pauleveritt@me.com> Co-authored-by: sobolevn <mail@sobolevn.me> | ||||
| * | gh-130907: Treat all module-level annotations as conditional (#131550) | Jelle Zijlstra | 2025-04-28 | 1 | -10/+11 |
| | | |||||
| * | gh-130704: Strength reduce `LOAD_FAST{_LOAD_FAST}` (#130708) | mpage | 2025-04-01 | 1 | -33/+35 |
| | | | | Optimize `LOAD_FAST` opcodes into faster versions that load borrowed references onto the operand stack when we can prove that the lifetime of the local outlives the lifetime of the temporary that is loaded onto the stack. | ||||
| * | GH-128534: Fix behavior of branch monitoring for `async for` (GH-130847) | Mark Shannon | 2025-03-07 | 1 | -59/+59 |
| | | | | * Both branches in a pair now have a common source and are included in co_branches | ||||
| * | gh-130574: renumber RESUME opcode from 149 to 128 (GH-130685) | Tomasz Pytel | 2025-03-06 | 1 | -84/+84 |
| | | |||||
| * | GH-128534: Instrument branches for `async for` loops. (GH-130569) | Mark Shannon | 2025-02-27 | 1 | -15/+16 |
| | | |||||
| * | gh-100239: replace BINARY_SUBSCR & family by BINARY_OP with oparg NB_SUBSCR ↵ | Irit Katriel | 2025-02-07 | 1 | -122/+121 |
| | | | | | (#129700) | ||||
| * | GH-128563: Generate `opcode = ...` in instructions that need `opcode` ↵ | Mark Shannon | 2025-02-03 | 1 | -15/+15 |
| | | | | | | (GH-129608) * Remove support for GO_TO_INSTRUCTION | ||||
| * | GH-126599: Remove the PyOptimizer API (GH-129194) | Brandt Bucher | 2025-01-29 | 1 | -35/+37 |
| | | |||||
| * | GH-128914: Remove all but one conditional stack effects (GH-129226) | Mark Shannon | 2025-01-27 | 1 | -49/+49 |
| | | | | | | | | | | | | | | * Remove all 'if (0)' and 'if (1)' conditional stack effects * Use array instead of conditional for BUILD_SLICE args * Refactor LOAD_GLOBAL to use a common conditional uop * Remove conditional stack effects from LOAD_ATTR specializations * Replace conditional stack effects in LOAD_ATTR with a 0 or 1 sized array. * Remove conditional stack effects from CALL_FUNCTION_EX | ||||
| * | Revert "GH-128914: Remove conditional stack effects from `bytecodes.c` and ↵ | Sam Gross | 2025-01-23 | 1 | -99/+96 |
| | | | | | | | | the code generators (GH-128918)" (GH-129202) The commit introduced a ~2.5-3% regression in the free threading build. This reverts commit ab61d3f4303d14a413bc9ae6557c730ffdf7579e. | ||||
| * | GH-128914: Remove conditional stack effects from `bytecodes.c` and the code ↵ | Mark Shannon | 2025-01-20 | 1 | -96/+99 |
| | | | | | generators (GH-128918) | ||||
| * | gh-100239: specialize long tail of binary operations (#128722) | Irit Katriel | 2025-01-16 | 1 | -76/+77 |
| | | |||||
| * | GH-128685: Specialize (rather than quicken) LOAD_CONST into ↵ | Mark Shannon | 2025-01-13 | 1 | -20/+21 |
| | | | | | LOAD_CONST_[IM]MORTAL (GH-128708) | ||||
| * | GH-128375: Better instrument for `FOR_ITER` (GH-128445) | Mark Shannon | 2025-01-06 | 1 | -90/+92 |
| | | |||||
| * | GH-122548: Implement branch taken and not taken events for sys.monitoring ↵ | Mark Shannon | 2024-12-19 | 1 | -98/+100 |
| | | | | | (GH-122564) | ||||
| * | GH-125837: Split `LOAD_CONST` into three. (GH-125972) | Mark Shannon | 2024-10-29 | 1 | -48/+48 |
| | | | | | | | | | * 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 Shannon | 2024-10-07 | 1 | -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 Katriel | 2024-09-25 | 1 | -7/+9 |
| | | | | | of a boolean expression (#124394) | ||||
| * | GH-123040: Specialize shadowed `LOAD_ATTR`. (GH-123219) | Mark Shannon | 2024-08-23 | 1 | -31/+32 |
| | | |||||
| * | GH-118093: Specialize `CALL_KW` (GH-123006) | Mark Shannon | 2024-08-16 | 1 | -53/+56 |
| | | |||||
| * | GH-120024: Remove `CHECK_EVAL_BREAKER` macro. (GH-122968) | Mark Shannon | 2024-08-14 | 1 | -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 Shannon | 2024-08-13 | 1 | -51/+52 |
| | | |||||
| * | GH-122029: Break INSTRUMENTED_CALL into micro-ops, so that its behavior is ↵ | Mark Shannon | 2024-07-26 | 1 | -13/+13 |
| | | | | | consistent with CALL (GH-122177) | ||||
| * | GH-121131: Clean up and fix some instrumented instructions. (GH-121132) | Mark Shannon | 2024-07-26 | 1 | -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 Shannon | 2024-07-25 | 1 | -75/+74 |
| | | |||||
| * | GH-120507: Lower the `BEFORE_WITH` and `BEFORE_ASYNC_WITH` instructions. ↵ | Mark Shannon | 2024-06-18 | 1 | -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 Katriel | 2024-05-28 | 1 | -9/+5 |
| | | | | | (#119677) | ||||
| * | gh-119180: Add LOAD_COMMON_CONSTANT opcode (#119321) | Jelle Zijlstra | 2024-05-22 | 1 | -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 Shannon | 2024-05-04 | 1 | -57/+59 |
| | | | | | | | | | | | 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 Jin | 2024-03-07 | 1 | -40/+37 |
| | | | | * Remove bad specializations, add fail stats | ||||
| * | gh-116381: Specialize CONTAINS_OP (GH-116385) | Ken Jin | 2024-03-06 | 1 | -36/+41 |
| | | | | | | | | | | | | * 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 Shannon | 2023-12-20 | 1 | -1/+1 |
| | | |||||
| * | GH-111485: Factor out tier 2 code generation from the rest of the ↵ | Mark Shannon | 2023-12-12 | 1 | -1/+1 |
| | | | | | interpreter code generator (GH-112968) | ||||
| * | GH-111485: Factor out opcode ID generator from the main cases generator. ↵ | Mark Shannon | 2023-12-08 | 1 | -4/+5 |
| | | | | | (GH-112831) | ||||
| * | gh-111354: Simplify _PyGen_yf by moving some of its work to the compiler and ↵ | Irit Katriel | 2023-11-03 | 1 | -75/+75 |
| | | | | | frame state (#111648) | ||||
| * | gh-111354: simplify detection of RESUME after YIELD_VALUE at except-depth 1 ↵ | Irit Katriel | 2023-11-02 | 1 | -75/+75 |
| | | | | | (#111459) | ||||
| * | GH-105848: Replace KW_NAMES + CALL with LOAD_CONST + CALL_KW (GH-109300) | Brandt Bucher | 2023-09-13 | 1 | -51/+52 |
| | | |||||
| * | gh-109256: allocate opcode IDs for internal opcodes in their own range (#109269) | Irit Katriel | 2023-09-12 | 1 | -186/+186 |
| | | |||||
| * | GH-108614: Add `RESUME_CHECK` instruction (GH-108630) | Mark Shannon | 2023-09-07 | 1 | -141/+142 |
| | | |||||
| * | gh-105481: generate op IDs from bytecode.c instead of hard coding them in ↵ | Irit Katriel | 2023-08-16 | 1 | -217/+219 |
| | | | | | opcode.py (#107971) | ||||
| * | gh-105481: split opcode_ids.h out of opcode.h so that it can be generated ↵ | Irit Katriel | 2023-08-11 | 1 | -0/+235 |
| separately (#107866) | |||||
