| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | GH-131729: Code-gen better liveness analysis (GH-131732) | Mark Shannon | 2025-03-26 | 1 | -14/+25 | |
| | | | | | | | | | | | | | * Rename 'defined' attribute to 'in_local' to more accurately reflect how it is used * Make death of variables explicit even for array variables. * Convert in_memory from boolean to stack offset * Don't apply liveness analysis to optimizer generated code * Fix RETURN_VALUE in optimizer | |||||
| * | gh-130312: SET_ADD should not lock (#130136) | Dino Viehland | 2025-03-21 | 1 | -7/+13 | |
| | | | | SET_ADD should not lock | |||||
| * | GH-130415: Optimize constant comparison in JIT builds (GH-131489) | Savannah Ostrowski | 2025-03-21 | 1 | -0/+6 | |
| | | ||||||
| * | GH-131498: Remove conditional stack effects (GH-131499) | Mark Shannon | 2025-03-20 | 1 | -3/+4 | |
| | | | | * Adds some missing #includes | |||||
| * | GH-131238: More refactoring of core header files (GH-131351) | Mark Shannon | 2025-03-17 | 1 | -0/+1 | |
| | | | | | Adds new pycore_stats.h header file to help break dependencies involving the pycore_code.h header. | |||||
| * | gh-131281: fix compile error due to `BINARY_SUBSCR` (GH-131283) | Xuanteng Huang | 2025-03-15 | 1 | -1/+1 | |
| | | | | | | * fix compile error due to `BINARY_SUBSCR` * replace stat_inc with `BINARY_OP` | |||||
| * | gh-115999: Add free-threaded specialization for FOR_ITER (#128798) | T. Wouters | 2025-03-12 | 1 | -10/+103 | |
| | | | | | Add free-threaded versions of existing specialization for FOR_ITER (list, tuples, fast range iterators and generators), without significantly affecting their thread-safety. (Iterating over shared lists/tuples/ranges should be fine like before. Reusing iterators between threads is not fine, like before. Sharing generators between threads is a recipe for significant crashes, like before.) | |||||
| * | GH-127705: Use `_PyStackRef`s in the default build. (GH-127875) | Mark Shannon | 2025-03-10 | 1 | -30/+40 | |
| | | ||||||
| * | GH-128534: Fix behavior of branch monitoring for `async for` (GH-130847) | Mark Shannon | 2025-03-07 | 1 | -3/+6 | |
| | | | | * Both branches in a pair now have a common source and are included in co_branches | |||||
| * | gh-130920: Fix data race in STORE_SUBSCR_LIST_INT (#130923) | Sam Gross | 2025-03-06 | 1 | -1/+2 | |
| | | | | | | | The write of the item to the list needs to use an atomic operation in the free threading build. Co-authored-by: Tomasz Pytel <tompytel@gmail.com> | |||||
| * | GH-130296: Avoid stack transients in four instructions. (GH-130310) | Mark Shannon | 2025-02-28 | 1 | -95/+33 | |
| | | | | | | | | | | * Combine _GUARD_GLOBALS_VERSION_PUSH_KEYS and _LOAD_GLOBAL_MODULE_FROM_KEYS into _LOAD_GLOBAL_MODULE * Combine _GUARD_BUILTINS_VERSION_PUSH_KEYS and _LOAD_GLOBAL_BUILTINS_FROM_KEYS into _LOAD_GLOBAL_BUILTINS * Combine _CHECK_ATTR_MODULE_PUSH_KEYS and _LOAD_ATTR_MODULE_FROM_KEYS into _LOAD_ATTR_MODULE * Remove stack transient in LOAD_ATTR_WITH_HINT | |||||
| * | gh-130595: Fix leak in WITH_EXCEPT_START error case (GH-130626) | Petr Viktorin | 2025-02-28 | 1 | -1/+1 | |
| | | | | Co-authored-by: Ken Jin <kenjin@python.org> | |||||
| * | GH-128534: Instrument branches for `async for` loops. (GH-130569) | Mark Shannon | 2025-02-27 | 1 | -1/+11 | |
| | | ||||||
| * | gh-130595: Keep traceback alive for WITH_EXCEPT_START (#130562) | Dino Viehland | 2025-02-26 | 1 | -4/+2 | |
| | | | | Keep traceback alive for WITH_EXCEPT_START | |||||
| * | gh-122029: Move monitoring after method expand for CALL_KW (GH-130488) | Tian Gao | 2025-02-25 | 1 | -1/+1 | |
| | | ||||||
| * | GH-130396: Use computed stack limits on linux (GH-130398) | Mark Shannon | 2025-02-25 | 1 | -8/+3 | |
| | | | | | | | | | | | | * Implement C recursion protection with limit pointers for Linux, MacOS and Windows * Remove calls to PyOS_CheckStack * Add stack protection to parser * Make tests more robust to low stacks * Improve error messages for stack overflow | |||||
| * | GH-91079: Revert "GH-91079: Implement C stack limits using addresses, not ↵ | Petr Viktorin | 2025-02-24 | 1 | -3/+8 | |
| | | | | | | | | | | counters. (GH-130007)" for now (GH130413) Revert "GH-91079: Implement C stack limits using addresses, not counters. (GH-130007)" for now Unfortunatlely, the change broke some buildbots. This reverts commit 2498c22fa0a2b560491bc503fa676585c1a603d0. | |||||
| * | GH-91079: Implement C stack limits using addresses, not counters. (GH-130007) | Mark Shannon | 2025-02-19 | 1 | -8/+3 | |
| | | | | | | | | | | | | | * Implement C recursion protection with limit pointers * Remove calls to PyOS_CheckStack * Add stack protection to parser * Make tests more robust to low stacks * Improve error messages for stack overflow | |||||
| * | gh-129989: Change Py_TAIL_CALL_INTERP ifndef to ! (#130269) | Ken Jin | 2025-02-18 | 1 | -1/+1 | |
| | | | | Change Py_TAIL_CALL_INTERP ifndef to ! | |||||
| * | gh-129989: Properly disable tailcall interp in configure (GH-129991) | Ken Jin | 2025-02-15 | 1 | -2/+2 | |
| | | | | Co-authored-by: Zanie Blue <contact@zanie.dev> | |||||
| * | GH-128682: Account for escapes in `DECREF_INPUTS` (GH-129953) | Mark Shannon | 2025-02-12 | 1 | -55/+56 | |
| | | | | | | | | | * Handle escapes in DECREF_INPUTS * Mark a few more functions as escaping * Replace DECREF_INPUTS with PyStackRef_CLOSE where possible | |||||
| * | gh-100239: replace BINARY_SUBSCR & family by BINARY_OP with oparg NB_SUBSCR ↵ | Irit Katriel | 2025-02-07 | 1 | -50/+22 | |
| | | | | | (#129700) | |||||
| * | GH-129715: Remove _DYNAMIC_EXIT (GH-129716) | Brandt Bucher | 2025-02-07 | 1 | -36/+0 | |
| | | ||||||
| * | GH-129709: Clean up tier two (GH-129710) | Brandt Bucher | 2025-02-07 | 1 | -24/+16 | |
| | | ||||||
| * | GH-129763: Remove the LLTRACE macro (GH-129764) | Brandt Bucher | 2025-02-07 | 1 | -10/+2 | |
| | | ||||||
| * | gh-128563: A new tail-calling interpreter (GH-128718) | Ken Jin | 2025-02-06 | 1 | -1/+8 | |
| | | | | | | Co-authored-by: Garrett Gu <garrettgu777@gmail.com> Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com> Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> | |||||
| * | GH-128682: Mark two more macros as escaping. (GH-129645) | Mark Shannon | 2025-02-04 | 1 | -7/+18 | |
| | | | | Expand out SETLOCAL so that code generator can see the decref. Mark Py_CLEAR as escaping | |||||
| * | GH-128682: Spill the stack pointer in labels, as well as instructions ↵ | Mark Shannon | 2025-02-04 | 1 | -21/+24 | |
| | | | | | (GH-129618) | |||||
| * | GH-128563: Generate `opcode = ...` in instructions that need `opcode` ↵ | Mark Shannon | 2025-02-03 | 1 | -20/+32 | |
| | | | | | | (GH-129608) * Remove support for GO_TO_INSTRUCTION | |||||
| * | GH-128682: Make `PyStackRef_CLOSE` escaping. (GH-129404) | Mark Shannon | 2025-02-03 | 1 | -42/+37 | |
| | | ||||||
| * | GH-128563: Move some labels, to simplify implementing tailcalling ↵ | Mark Shannon | 2025-01-31 | 1 | -4/+29 | |
| | | | | | interpreter. (GH-129525) | |||||
| * | gh-100239: specialize bitwise logical binary ops on ints (#128927) | Irit Katriel | 2025-01-29 | 1 | -1/+1 | |
| | | ||||||
| * | GH-126599: Remove the PyOptimizer API (GH-129194) | Brandt Bucher | 2025-01-29 | 1 | -9/+35 | |
| | | ||||||
| * | gh-115999: Enable free-threaded specialization of LOAD_CONST (#129365) | T. Wouters | 2025-01-29 | 1 | -2/+12 | |
| | | | | | Enable free-threaded specialization of LOAD_CONST. | |||||
| * | GH-128914: Remove all but one conditional stack effects (GH-129226) | Mark Shannon | 2025-01-27 | 1 | -62/+51 | |
| | | | | | | | | | | | | | | * 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 | |||||
| * | gh-128563: Move labels in ceval.c to bytecodes.c (GH-129112) | Ken Jin | 2025-01-27 | 1 | -1/+120 | |
| | | ||||||
| * | gh-128799: Add frame of except* to traceback when wrapping a naked exception ↵ | Irit Katriel | 2025-01-25 | 1 | -1/+1 | |
| | | | | | (#128971) | |||||
| * | Revert "GH-128914: Remove conditional stack effects from `bytecodes.c` and ↵ | Sam Gross | 2025-01-23 | 1 | -123/+94 | |
| | | | | | | | | 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-128682: Change a couple of functions to only steal references on success. ↵ | Mark Shannon | 2025-01-22 | 1 | -4/+8 | |
| | | | | | | (GH-129132) Change PyTuple_FromStackRefSteal and PyList_FromStackRefSteal to only steal on success to avoid escaping | |||||
| * | gh-128563: Move lltrace into the frame struct (GH-129113) | Ken Jin | 2025-01-21 | 1 | -2/+2 | |
| | | ||||||
| * | GH-128563: Add new frame owner type for interpreter entry frames (GH-129078) | Mark Shannon | 2025-01-21 | 1 | -8/+4 | |
| | | | | Add new frame owner type for interpreter entry frames | |||||
| * | GH-127953: Make line number lookup O(1) regardless of the size of the code ↵ | Mark Shannon | 2025-01-21 | 1 | -1/+2 | |
| | | | | | object (GH-128350) | |||||
| * | GH-128914: Remove conditional stack effects from `bytecodes.c` and the code ↵ | Mark Shannon | 2025-01-20 | 1 | -94/+123 | |
| | | | | | generators (GH-128918) | |||||
| * | GH-126599: Remove the "counter" optimizer/executor (GH-126853) | Xuanteng Huang | 2025-01-16 | 1 | -7/+0 | |
| | | ||||||
| * | gh-100239: specialize long tail of binary operations (#128722) | Irit Katriel | 2025-01-16 | 1 | -9/+36 | |
| | | ||||||
| * | gh-115999: Specialize `LOAD_ATTR` for instance and class receivers in ↵ | mpage | 2025-01-14 | 1 | -27/+58 | |
| | | | | | | | | free-threaded builds (#128164) Finish specialization for LOAD_ATTR in the free-threaded build by adding support for class and instance receivers. | |||||
| * | GH-128682: Convert explicit loops closing arrays into `DECREF_INPUTS`. ↵ | Mark Shannon | 2025-01-14 | 1 | -93/+46 | |
| | | | | | | | | (GH-128822) * Mark Py_DECREF and Py_XDECREF as escaping * Remove explicit loops for clearing array inputs | |||||
| * | GH-128682: Stronger checking of `PyStackRef_CLOSE` and `DEAD`. (GH-128683) | Mark Shannon | 2025-01-13 | 1 | -36/+38 | |
| | | ||||||
| * | GH-128685: Specialize (rather than quicken) LOAD_CONST into ↵ | Mark Shannon | 2025-01-13 | 1 | -2/+16 | |
| | | | | | LOAD_CONST_[IM]MORTAL (GH-128708) | |||||
| * | GH-127809: Fix the JIT's understanding of ** (GH-127844) | Brandt Bucher | 2025-01-08 | 1 | -0/+16 | |
| | | ||||||
