summaryrefslogtreecommitdiffstats
path: root/Python
Commit message (Collapse)AuthorAgeFilesLines
* GH-134584: Remove redundant refcount from `_STORE_ATTR_SLOT` (#142729)Savannah Ostrowski11 days5-11/+46
|
* gh-142737: Handle lost `io.open` in `_Py_FindSourceFile` (GH-142747)Bartosz Sławecki11 days1-0/+3
|
* gh-134584: JIT: Eliminate redundant refcount ops for X_INT (GH-142765)Ken Jin11 days5-456/+204
|
* gh-134584: Eliminate redundant refcounting from `_STORE_ATTR_INSTANCE_VALUE` ↵Nadeshiko Manju11 days5-11/+44
| | | | | (GH-142759) Signed-off-by: Manjusaka <me@manjusaka.me>
* gh-134584: Remove custom float decref ops (GH-142576)Ken Jin11 days7-1995/+1567
|
* GH-142718: JIT: Fix crash due to incorrect caching on side exits when ↵Mark Shannon11 days1-16/+639
| | | | | | | | exiting jitted code. (GH-142762) JIT: Fix crash due to incorrect caching on side exits when exiting jitted code. * Make sure that stack is in correct state at side exits with TOS cached values * Simplify choice of cached items for side exits
* gh-142472: Clean-up _PyStackRef functions (gh-142479)Sam Gross11 days1-3/+3
| | | | | | | | This combines most _PyStackRef functions and macros between the free threaded and default builds. - Remove Py_TAG_DEFERRED (same as Py_TAG_REFCNT) - Remove PyStackRef_IsDeferred (same as !PyStackRef_RefcountOnObject)
* gh-134584: Eliminate redundant refcounting from _STORE_SUBSCR_DICT (GH-142712)Donghee Na11 days5-18/+50
| | | Co-authored-by: Ken Jin <kenjin4096@gmail.com>
* gh-134584: Eliminate redundant refcounting from _CALL_LIST_APPEND (GH-142711)Nadeshiko Manju11 days5-33/+201
| | | | Signed-off-by: Manjusaka <me@manjusaka.me> Co-authored-by: Ken Jin <kenjin4096@gmail.com>
* gh-142029: Raise `ModuleNotFoundError` instead of crashing on nonexsistent ↵dr-carlos11 days1-10/+22
| | | | | | module name given to `create_builtin()` (#142054) Co-authored-by: Brett Cannon <brett@python.org> Co-authored-by: Victor Stinner <vstinner@python.org>
* gh-140414: streamline thread state access in `asyncio` (#142742)Kumar Aditya11 days1-2/+2
|
* gh-134584: Eliminate redundant refcounting from _STORE_SUBSCR_LIST_INT ↵Donghee Na12 days5-16/+73
| | | | (gh-142703)
* gh-134584: Eliminate redundant refcounting from `_CALL_BUILTION_O` (GH-142695)PuQing12 days4-31/+51
| | | Co-authored-by: Ken Jin <kenjin4096@gmail.com>
* gh-142666: Remove unused variable package in import logic (GH-142667)Yongtao Huang12 days1-2/+0
| | | | | The variable was previously used, but became unused after 133138a284b. Signed-off-by: Yongtao Huang <yongtaoh2022@gmail.com>
* gh-134584: Eliminate redundant refcounting from `_CALL_STR_1` (GH-136070)Nadeshiko Manju12 days5-36/+36
| | | Signed-off-by: Manjusaka <me@manjusaka.me>
* gh-134584: Cleanups for GH-135860 (GH-142604)Ken Jin13 days5-26/+33
|
* gh-140550: Correct error message for PyModExport (PEP 793) hook (GH-142583)Petr Viktorin14 days1-2/+2
|
* gh-134584: Revert partially GH-135860 (GH-142620)Ken Jin2025-12-126-45/+24
|
* gh-142627: Ignore anonymous mappings in Linux remote debugging (#142628)Victor Stinner2025-12-121-0/+5
|
* fix typos in crossinterp.c and qsbr.c (#142612)wangjingcun2025-12-122-2/+2
|
* gh-142571: Check for errors before calling each syscall in ↵AZero132025-12-111-6/+17
| | | | | | | | `PyUnstable_CopyPerfMapFile()` (#142460) Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com> Co-authored-by: Victor Stinner <vstinner@python.org> Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com>
* gh-142531: Fix free-threaded GC performance regression (gh-142562)Neil Schemenauer2025-12-111-6/+30
| | | | | | | If there are many untracked tuples, the GC will run too often, resulting in poor performance. The fix is to include untracked tuples in the "long lived" object count. The number of frozen objects is also now included since the free-threaded GC must scan those too.
* GH-65961: Stop setting `__cached__` on modules (GH-142165)Brett Cannon2025-12-111-6/+0
|
* gh-134584: Eliminate redundant refcounting from ``_CALL_LEN`` (gh-136104)Donghee Na2025-12-115-36/+48
|
* gh-134584: Eliminate redundant refcounting from `_CALL_TUPLE_1` (GH-135860)Noam Cohen2025-12-116-36/+50
|
* GH-140683: JIT: Improve machine code for loading smaller constants on ↵Mark Shannon2025-12-114-121/+125
| | | | | | AArch64. (GH-142511) * Use movz and movk instructions for loading 16 and 32 bit operands and oparg. * Loading of 64 bit operands is unchanged.
* GH-135379: Top of stack caching for the JIT. (GH-135465)Mark Shannon2025-12-1110-1161/+11393
| | | | Uses three registers to cache values at the top of the evaluation stack This significantly reduces memory traffic for smaller, more common uops.
* gh-137007: Track executor before any possible deallocations (GH-137016)Ken Jin2025-12-101-1/+4
|
* gh-141976: Protect against non-progressing specializations in tracing JIT ↵Ken Jin2025-12-101-0/+19
| | | | (GH-141989)
* GH-142305: JIT: Deduplicating GOT symbols in the trace (#142316)Diego Russo2025-12-101-26/+54
|
* gh-142048: Fix lost gc allocations count on thread cleanup (#142233)Kevin Wang2025-12-101-2/+9
|
* gh-142029: Raise `ValueError` instead of crashing on empty name given to ↵dr-carlos2025-12-101-0/+6
| | | | | `create_builtin()` (#142033) Co-authored-by: Victor Stinner <vstinner@python.org>
* gh-142276: Watch attribute loads when promoting JIT constants (GH-142303)Ken Jin2025-12-083-13/+15
| | | | Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com> Co-authored-by: Savannah Ostrowski <savannah@python.org>
* GH-139757: JIT: Remove redundant branches to jumps in the assembly optimizer ↵Mark Shannon2025-12-084-8/+12
| | | | | | | | | (GH-140800) JIT: Remove redundant branches to jump in the assembly optimizer * Refactor JIT assembly optimizer making instructions instances not just strings * Remove redundant jumps and branches where legal to do so * Modifies _BINARY_OP_SUBSCR_STR_INT to avoid excessive inlining depth
* gh-141770: Annotate anonymous mmap usage if "-X dev" is used (gh-142079)Donghee Na2025-12-083-0/+8
|
* gh-138122: Don't sample partial frame chains (#141912)Pablo Galindo Salgado2025-12-074-4/+31
|
* gh-138122: Implement frame caching in RemoteUnwinder to reduce memory reads ↵Pablo Galindo Salgado2025-12-063-95/+121
| | | | | | | | | | | (#142137) This PR implements frame caching in the RemoteUnwinder class to significantly reduce memory reads when profiling remote processes with deep call stacks. When cache_frames=True, the unwinder stores the frame chain from each sample and reuses unchanged portions in subsequent samples. Since most profiling samples capture similar call stacks (especially the parent frames), this optimization avoids repeatedly reading the same frame data from the target process. The implementation adds a last_profiled_frame field to the thread state that tracks where the previous sample stopped. On the next sample, if the current frame chain reaches this marker, the cached frames from that point onward are reused instead of being re-read from remote memory. The sampling profiler now enables frame caching by default.
* gh-142168: explicitly initialize `stack_array` in `_PyEval_Vector` and ↵Kir Chou2025-12-061-2/+2
| | | | | `_PyEvalFramePushAndInit_Ex` (#142192) Co-authored-by: Kir Chou <note351@hotmail.com>
* gh-141370: Fix undefined behavior when using Py_ABS() (GH-141548)Serhiy Storchaka2025-12-052-3/+2
| | | Co-authored-by: Sergey B Kirpichev <skirpichev@gmail.com>
* gh-141976: Check stack bounds in JIT optimizer (GH-142201)Ken Jin2025-12-042-4/+194
|
* GH-139757: Fix reference leaks introduced in GH-140800 (GH-142257)Mark Shannon2025-12-041-2/+4
|
* GH-141794: Limit size of generated machine code. (GH-142228)Mark Shannon2025-12-038-1703/+1306
| | | | | | * Factor out bodies of the largest uops, to reduce jit code size. * Factor out common assert, also reducing jit code size. * Limit size of jitted code for a single executor to 1MB.
* gh-142217: Remove internal _Py_Identifier functions (#142219)Victor Stinner2025-12-031-6/+0
| | | | | | | | | | | | | | | | Remove internal functions: * _PyDict_ContainsId() * _PyDict_DelItemId() * _PyDict_GetItemIdWithError() * _PyDict_SetItemId() * _PyEval_GetBuiltinId() * _PyObject_CallMethodIdNoArgs() * _PyObject_CallMethodIdObjArgs() * _PyObject_CallMethodIdOneArg() * _PyObject_VectorcallMethodId() * _PyUnicode_EqualToASCIIId() These functions were not exported and so no usable outside CPython.
* gh-142048: Fix quadratically increasing GC delays (gh-142051)Kevin Wang2025-12-021-1/+13
| | | | The GC for the free threaded build would get slower with each collection due to effectively double counting objects freed by the GC.
* gh-116008: Detect freed thread state in faulthandler (#141988)Victor Stinner2025-11-271-4/+19
| | | Add _PyMem_IsULongFreed() function.
* gh-127635: Use flexible array in tracemalloc (#141991)Victor Stinner2025-11-271-8/+18
| | | Replace frames[1] with frames[] in tracemalloc_traceback structure.
* GH-141861: Fix TRACE_RECORD if full (GH-141959)Sergey Miryanov2025-11-262-4/+4
|
* gh-140011: Delete importdl assertion that prevents importing embedded ↵Itamar Oren2025-11-261-1/+0
| | | | modules from packages (GH-141605)
* gh-138122: Split Modules/_remote_debugging_module.c into multiple files ↵Pablo Galindo Salgado2025-11-251-4/+4
| | | | | (#141934) gh-1381228: Split Modules/_remote_debugging_module.c into multiple files
* GH-141861: Fix invalid memory read in the ENTER_EXECUTOR (GH-141921)Sergey Miryanov2025-11-242-2/+2
|