Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | GH-128685: Specialize (rather than quicken) LOAD_CONST into ↵ | Mark Shannon | 2025-01-13 | 1 | -20/+22 |
| | | | | 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/+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 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/+33 |
| | |||||
* | GH-118093: Specialize `CALL_KW` (GH-123006) | Mark Shannon | 2024-08-16 | 1 | -53/+61 |
| | |||||
* | 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/+51 |
| | |||||
* | 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 | -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 Jin | 2024-03-07 | 1 | -43/+37 |
| | | | * Remove bad specializations, add fail stats | ||||
* | gh-116381: Specialize CONTAINS_OP (GH-116385) | Ken Jin | 2024-03-06 | 1 | -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 Shannon | 2023-12-20 | 1 | -10/+8 |
| | |||||
* | 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 | -63/+64 |
| | |||||
* | 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/+145 |
| | |||||
* | gh-105481: generate op IDs from bytecode.c instead of hard coding them in ↵ | Irit Katriel | 2023-08-16 | 1 | -1/+225 |
| | | | | opcode.py (#107971) | ||||
* | GH-107596: Specialize str[int] (GH-107597) | Brandt Bucher | 2023-08-08 | 1 | -0/+1 |
| | |||||
* | GH-100288: Specialize LOAD_ATTR for simple class attributes. (#105990) | Mark Shannon | 2023-07-10 | 1 | -0/+2 |
| | | | * Add two more specializations of LOAD_ATTR. | ||||
* | GH-106008: Make implicit boolean conversions explicit (GH-106003) | Brandt Bucher | 2023-06-29 | 1 | -0/+8 |
| | |||||
* | GH-91095: Specialize calls to normal Python classes. (GH-99331) | Mark Shannon | 2023-06-22 | 1 | -0/+1 |
| | |||||
* | gh-105481: generate _specializations and _specialized_instructions from ↵ | Irit Katriel | 2023-06-19 | 1 | -0/+94 |
bytecodes.c (#105913) |