Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | gh-124296: Remove private dictionary version tag (PEP 699) (#124472) | Sam Gross | 2024-10-01 | 1 | -3/+1 |
| | |||||
* | GH-123516: Improve JIT memory consumption by invalidating cold executors ↵ | Savannah Ostrowski | 2024-09-27 | 1 | -0/+8 |
| | | | | | (GH-124443) Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com> | ||||
* | gh-117376: Fix off-by-ones in conversion functions (GH-124301) | Ken Jin | 2024-09-25 | 1 | -2/+2 |
| | | | Fix off-by-ones in conversion function | ||||
* | gh-124285: Fix bug where bool() is called multiple times for the same part ↵ | Irit Katriel | 2024-09-25 | 1 | -0/+8 |
| | | | | of a boolean expression (#124394) | ||||
* | gh-123923: Defer refcounting for `f_funcobj` in `_PyInterpreterFrame` (#124026) | Sam Gross | 2024-09-24 | 1 | -24/+21 |
| | | | | | | Use a `_PyStackRef` and defer the reference to `f_funcobj` when possible. This avoids some reference count contention in the common case of executing the same code object from multiple threads concurrently in the free-threaded build. | ||||
* | gh-121459: Deferred LOAD_GLOBAL (GH-123128) | Ken Jin | 2024-09-13 | 1 | -6/+6 |
| | | | | Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com> Co-authored-by: Sam Gross <655866+colesbury@users.noreply.github.com> | ||||
* | gh-123923: Defer refcounting for `f_executable` in `_PyInterpreterFrame` ↵ | Sam Gross | 2024-09-12 | 1 | -2/+2 |
| | | | | | | | | (#123924) Use a `_PyStackRef` and defer the reference to `f_executable` when possible. This avoids some reference count contention in the common case of executing the same code object from multiple threads concurrently in the free-threaded build. | ||||
* | GH-123996: Explicitly mark 'self_or_null' as an array of size 1 to ensure ↵ | Mark Shannon | 2024-09-12 | 1 | -76/+67 |
| | | | | that it is kept in memory for calls (GH-124003) | ||||
* | GH-123545: Remove duplicate Py_DECREF when handling _PyOptimizer_Optimize ↵ | Savannah Ostrowski | 2024-09-05 | 1 | -4/+0 |
| | | | | errors (GH-123546) | ||||
* | gh-123091: Use _Py_IsImmortalLoose() (#123511) | Victor Stinner | 2024-09-02 | 1 | -2/+2 |
| | | | | Use _Py_IsImmortalLoose() in bytesobject.c, typeobject.c and ceval.c. | ||||
* | GH-123232: Factor BINARY_SLICE and STORE_SLICE to handle stats properly for ↵ | Mark Shannon | 2024-08-27 | 1 | -4/+20 |
| | | | | tier 2. (GH-123381) | ||||
* | gh-123205: `Python/bytecodes.c`: Fix compiler warning (#123206) | Kirill Podoprigora | 2024-08-23 | 1 | -1/+1 |
| | | | Fix MSVC warning "conversion from '__int64' to 'int'" | ||||
* | GH-123232: Fix "not specialized" stats (GH-123236) | Mark Shannon | 2024-08-23 | 1 | -0/+2 |
| | |||||
* | GH-123040: Specialize shadowed `LOAD_ATTR`. (GH-123219) | Mark Shannon | 2024-08-23 | 1 | -1/+7 |
| | |||||
* | gh-123083: Fix a potential use-after-free in ``STORE_ATTR_WITH_HINT`` ↵ | Donghee Na | 2024-08-22 | 1 | -6/+7 |
| | | | | (gh-123092) | ||||
* | GH-123197: Only count an instruction as deferred if it hasn't deopted first. ↵ | Mark Shannon | 2024-08-22 | 1 | -15/+15 |
| | | | | | (GH-123222) Only count an instruction as deferred if hasn't deopted first. | ||||
* | GH-115776: Allow any fixed sized object to have inline values (GH-123192) | Mark Shannon | 2024-08-21 | 1 | -7/+9 |
| | |||||
* | GH-123197: Increment correct stat for CALL_KW (GH-123200) | Mark Shannon | 2024-08-21 | 1 | -1/+1 |
| | |||||
* | GH-123185: Check for `NULL` after calling `_PyEvalFramePushAndInit` (GH-123194) | Mark Shannon | 2024-08-21 | 1 | -1/+5 |
| | |||||
* | GH-118093: Make `CALL_ALLOC_AND_ENTER_INIT` suitable for tier 2. (GH-123140) | Mark Shannon | 2024-08-20 | 1 | -42/+39 |
| | | | | | * Convert CALL_ALLOC_AND_ENTER_INIT to micro-ops such that tier 2 supports it * Allow inexact arguments for CALL_ALLOC_AND_ENTER_INIT. | ||||
* | GH-118093: Specialize `CALL_KW` (GH-123006) | Mark Shannon | 2024-08-16 | 1 | -4/+148 |
| | |||||
* | GH-118093: Turn some DEOPT_IFs into EXIT_IFs (GH-122998) | Brandt Bucher | 2024-08-14 | 1 | -25/+25 |
| | |||||
* | GH-120024: Remove `CHECK_EVAL_BREAKER` macro. (GH-122968) | Mark Shannon | 2024-08-14 | 1 | -57/+76 |
| | | | | | * Factor some instructions into micro-ops to isolate CHECK_EVAL_BREAKER for escape analysis * Eliminate CHECK_EVAL_BREAKER macro | ||||
* | GH-118093: Handle some polymorphism before requiring progress in tier two ↵ | Brandt Bucher | 2024-08-12 | 1 | -3/+4 |
| | | | | (GH-122843) | ||||
* | gh-117139: Replace _PyList_FromArraySteal with stack ref variant (#122830) | Sam Gross | 2024-08-12 | 1 | -7/+1 |
| | | | | | | | This replaces `_PyList_FromArraySteal` with `_PyList_FromStackRefSteal`. It's functionally equivalent, but takes a `_PyStackRef` array instead of an array of `PyObject` pointers. Co-authored-by: Ken Jin <kenjin@python.org> | ||||
* | gh-117139: Fix a few `_PyStackRef` related bugs (#122831) | Sam Gross | 2024-08-12 | 1 | -4/+6 |
| | | | | | | `BUILD_SET` should use a borrow instead of a steal. The cleanup in `_DO_CALL` `CONVERSION_FAILED` was incorrect. Co-authored-by: Ken Jin <kenjin@python.org> | ||||
* | gh-118926: Spill deferred references to stack in cases generator (#122748) | Sam Gross | 2024-08-07 | 1 | -1/+1 |
| | | | | | | | This automatically spills the results from `_PyStackRef_FromPyObjectNew` to the in-memory stack so that the deferred references are visible to the GC before we make any possibly escaping call. Co-authored-by: Ken Jin <kenjin@python.org> | ||||
* | gh-122759: Remove `assert` from `RERAISE` error handling (#122760) | sobolevn | 2024-08-07 | 1 | -1/+0 |
| | |||||
* | gh-117139: Fix an incorrect borrow in bytecodes.c (#122318) | Sam Gross | 2024-08-07 | 1 | -3/+4 |
| | | | `_PyDict_SetItem_Take2` steals both the key (i.e., `sub`) and the value. | ||||
* | GH-120024: Move three more escaping calls out of conditional statements ↵ | Mark Shannon | 2024-08-06 | 1 | -4/+12 |
| | | | | (GH-122734) | ||||
* | GH-120024: Refactor code a bit so that escaping calls can be wrapped in ↵ | Mark Shannon | 2024-08-06 | 1 | -18/+32 |
| | | | | spill code in code generator (GH-122693) | ||||
* | GH-122616: Simplify LOAD_ATTR_WITH_HINT and STORE_ATTR_WITH_HINT (GH-122620) | Mark Shannon | 2024-08-05 | 1 | -27/+12 |
| | |||||
* | GH-117224: Move the body of a few large-ish micro-ops into helper functions ↵ | Mark Shannon | 2024-08-02 | 1 | -117/+8 |
| | | | | (GH-122601) | ||||
* | GH-118095: Add tier two support for BINARY_SUBSCR_GETITEM (GH-120793) | Mark Shannon | 2024-08-01 | 1 | -17/+25 |
| | |||||
* | GH-122155: Track local variables between pops and pushes in cases generator ↵ | Mark Shannon | 2024-08-01 | 1 | -5/+4 |
| | | | | (GH-122286) | ||||
* | GH-116090: Fire RAISE events from _FOR_ITER_TIER_TWO (GH-122413) | Brandt Bucher | 2024-07-29 | 1 | -3/+4 |
| | |||||
* | GH-122294: Burn in the addresses of side exits (GH-122295) | Brandt Bucher | 2024-07-26 | 1 | -6/+6 |
| | |||||
* | GH-122029: Break INSTRUMENTED_CALL into micro-ops, so that its behavior is ↵ | Mark Shannon | 2024-07-26 | 1 | -29/+42 |
| | | | | consistent with CALL (GH-122177) | ||||
* | GH-121131: Clean up and fix some instrumented instructions. (GH-121132) | Mark Shannon | 2024-07-26 | 1 | -58/+57 |
| | | | | * Add support for 'prev_instr' to code generator and refactor some INSTRUMENTED instructions | ||||
* | GH-118093: Add tier two support for BINARY_OP_INPLACE_ADD_UNICODE (GH-122253) | Brandt Bucher | 2024-07-25 | 1 | -3/+12 |
| | |||||
* | GH-118093: Add tier two support for LOAD_ATTR_PROPERTY (GH-122283) | Brandt Bucher | 2024-07-25 | 1 | -16/+14 |
| | |||||
* | GH-122034: Add StackRef variants of type checks to reduce the number of ↵ | Mark Shannon | 2024-07-25 | 1 | -10/+10 |
| | | | | PyStackRef_AsPyObjectBorrow calls (GH-122037) | ||||
* | GH-122160: Remove BUILD_CONST_KEY_MAP opcode. (GH-122164) | Mark Shannon | 2024-07-25 | 1 | -19/+0 |
| | |||||
* | GH-118093: Remove invalidated executors from side exits (GH-121885) | Brandt Bucher | 2024-07-24 | 1 | -1/+5 |
| | |||||
* | GH-118093: Add tier two support to several instructions (GH-121884) | Brandt Bucher | 2024-07-18 | 1 | -30/+28 |
| | |||||
* | GH-121784: Generate an error during code gen if a variable is marked ↵ | Mark Shannon | 2024-07-18 | 1 | -10/+7 |
| | | | | | | | | | | | | `unused`, but is used and thus cached in a prior uop. (#121788) * Reject uop definitions that declare values as 'unused' that are already cached by prior uops * Track which variables are defined and only load from memory when needed * Support explicit `flush` in macro definitions. * Make sure stack is flushed in where needed. | ||||
* | GH-121012: Set index to -1 when list iterators become exhausted in tier 2 ↵ | Mark Shannon | 2024-07-08 | 1 | -1/+4 |
| | | | | (GH-121483) | ||||
* | gh-117139: Add _PyTuple_FromStackRefSteal and use it (#121244) | Sam Gross | 2024-07-02 | 1 | -7/+1 |
| | | | Avoids the extra conversion from stack refs to PyObjects. | ||||
* | GH-116017: Get rid of _COLD_EXITs (GH-120960) | Brandt Bucher | 2024-07-01 | 1 | -38/+55 |
| | |||||
* | gh-117139: Fix a few wrong steals in bytecodes.c (GH-121127) | Ken Jin | 2024-06-28 | 1 | -8/+8 |
| | | | Fix a few wrong steals in bytecodes.c |