summaryrefslogtreecommitdiffstats
path: root/Python
Commit message (Collapse)AuthorAgeFilesLines
...
* gh-118926: Spill deferred references to stack in cases generator (#122748)Sam Gross2024-08-073-35/+41
| | | | | | | 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)sobolevn2024-08-072-2/+0
|
* gh-117139: Fix an incorrect borrow in bytecodes.c (#122318)Sam Gross2024-08-073-11/+14
| | | `_PyDict_SetItem_Take2` steals both the key (i.e., `sub`) and the value.
* gh-122728: Fix SystemError in PyEval_GetLocals() (#122735)Victor Stinner2024-08-061-1/+1
| | | | | | | Fix PyEval_GetLocals() to avoid SystemError ("bad argument to internal function"). Don't redefine the 'ret' variable in the if block. Add an unit test on PyEval_GetLocals().
* gh-122417: Implement per-thread heap type refcounts (#122418)Sam Gross2024-08-063-51/+231
| | | | | | | The free-threaded build partially stores heap type reference counts in distributed manner in per-thread arrays. This avoids reference count contention when creating or destroying instances. Co-authored-by: Ken Jin <kenjin@python.org>
* GH-120024: Move three more escaping calls out of conditional statements ↵Mark Shannon2024-08-063-10/+32
| | | | (GH-122734)
* GH-120024: Refactor code a bit so that escaping calls can be wrapped in ↵Mark Shannon2024-08-063-42/+78
| | | | spill code in code generator (GH-122693)
* gh-122595: Add more error checks in the compiler (GH-122596)Serhiy Storchaka2024-08-062-52/+145
|
* GH-122616: Simplify LOAD_ATTR_WITH_HINT and STORE_ATTR_WITH_HINT (GH-122620)Mark Shannon2024-08-053-95/+44
|
* gh-122313: Clean up deep recursion guarding code in the compiler (GH-122640)Serhiy Storchaka2024-08-033-162/+164
| | | | | | | | | Add ENTER_RECURSIVE and LEAVE_RECURSIVE macros in ast.c, ast_opt.c and symtable.c. Remove VISIT_QUIT macro in symtable.c. The current recursion depth counter only needs to be updated during normal execution -- all functions should just return an error code if an error occurs.
* GH-117224: Move the body of a few large-ish micro-ops into helper functions ↵Mark Shannon2024-08-024-335/+159
| | | | (GH-122601)
* gh-122445: populate only modified fields in __static_attributes__ (#122446)Irit Katriel2024-08-021-7/+11
|
* gh-122334: Fix crash when importing ssl after re-initialization (#122481)neonene2024-08-021-0/+13
| | | | * Fix crash when importing ssl after re-initialization
* gh-122188: Remove _imp.pyc_magic_number (GH-122503)Serhiy Storchaka2024-08-021-5/+1
| | | _imp.pyc_magic_number_token should be enough.
* gh-122562: Remove ste_free and ste_child_free from symtable (#122563)Jelle Zijlstra2024-08-011-12/+0
|
* GH-118095: Add tier two support for BINARY_SUBSCR_GETITEM (GH-120793)Mark Shannon2024-08-016-60/+150
|
* Replace PyObject_Del with PyObject_Free (#122453)Victor Stinner2024-08-011-1/+1
| | | | PyObject_Del() is just a alias to PyObject_Free() kept for backward compatibility. Use directly PyObject_Free() instead.
* GH-122155: Track local variables between pops and pushes in cases generator ↵Mark Shannon2024-08-014-48/+192
| | | | (GH-122286)
* Fix typos in docs, error messages and comments (#122502)jianghuyiyuan2024-08-011-1/+1
| | | Signed-off-by: jianghuyiyuan <shuangcui@live.com>
* gh-122188: Move magic number to its own file (#122243)Michael Droettboom2024-07-301-15/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gh-122188: Move magic number to its own file * Add versionadded directive * Do work in C * Integrate launcher.c * Make _pyc_magic_number private * Remove metadata * Move sys.implementation -> _imp * Modernize comment * Move _RAW_MAGIC_NUMBER to the C side as well * _pyc_magic_number -> pyc_magic_number * Remove unused import * Update docs * Apply suggestions from code review Co-authored-by: Eric Snow <ericsnowcurrently@gmail.com> * Fix typo in tests --------- Co-authored-by: Eric Snow <ericsnowcurrently@gmail.com>
* gh-117657: Avoid race in `PAUSE_ADAPTIVE_COUNTER` in free-threaded build ↵Sam Gross2024-07-301-1/+2
| | | | | | | (#122190) The adaptive counter doesn't do anything currently in the free-threaded build and TSan reports a data race due to concurrent modifications to the counter.
* GH-118093: Improve handling of short and mid-loop traces (GH-122252)Brandt Bucher2024-07-291-33/+31
|
* GH-116090: Fire RAISE events from _FOR_ITER_TIER_TWO (GH-122413)Brandt Bucher2024-07-294-12/+11
|
* gh-122234: Add DECREFs to error paths (#122406)Petr Viktorin2024-07-291-0/+4
| | | Co-Authored-By: Kirill Podoprigora <kirill.bast9@mail.ru>
* gh-122234: fix accuracy issues for sum() (#122236)Sergey B Kirpichev2024-07-291-11/+13
| | | | | | | | * Use compensated summation for complex sums with floating-point items. This amends #121176. * sum() specializations for floats and complexes now use PyLong_AsDouble() instead of PyLong_AsLongAndOverflow() and compensated summation as well.
* gh-119180: Add evaluate functions for type params and type aliases (#122212)Jelle Zijlstra2024-07-272-25/+19
|
* Manually override bytecode definition in optimizer, to avoid build error ↵Mark Shannon2024-07-262-4/+17
| | | | (GH-122316)
* gh-122201: Lock mutex when setting handling_thread to NULL (#122204)Sam Gross2024-07-261-3/+15
| | | | | In the free-threaded build, we need to lock pending->mutex when clearing the handling_thread in order not to race with a concurrent make_pending_calls in the same interpreter.
* GH-122294: Burn in the addresses of side exits (GH-122295)Brandt Bucher2024-07-265-17/+22
|
* gh-122245: move checks for writes and shadowing of __debug__ to symtable ↵Irit Katriel2024-07-262-83/+85
| | | | (#122246)
* GH-122029: Break INSTRUMENTED_CALL into micro-ops, so that its behavior is ↵Mark Shannon2024-07-265-59/+242
| | | | consistent with CALL (GH-122177)
* GH-121131: Clean up and fix some instrumented instructions. (GH-121132)Mark Shannon2024-07-267-171/+233
| | | | * 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 Bucher2024-07-255-5/+87
|
* GH-118093: Add tier two support for LOAD_ATTR_PROPERTY (GH-122283)Brandt Bucher2024-07-256-48/+112
|
* GH-122034: Add StackRef variants of type checks to reduce the number of ↵Mark Shannon2024-07-253-27/+27
| | | | PyStackRef_AsPyObjectBorrow calls (GH-122037)
* GH-122160: Remove BUILD_CONST_KEY_MAP opcode. (GH-122164)Mark Shannon2024-07-256-157/+6
|
* gh-121404: extract compiler_lookup_arg out of compiler_make_closure (#122181)Irit Katriel2024-07-241-41/+49
|
* GH-118093: Remove invalidated executors from side exits (GH-121885)Brandt Bucher2024-07-243-27/+26
|
* gh-122029: Log call events in sys.setprofile when it's a method with c ↵Tian Gao2024-07-231-0/+13
| | | | | function (GH-122072) Log call events in sys.setprofile when it is a method with a C function.
* gh-119180: Add `annotationlib` module to support PEP 649 (#119891)Jelle Zijlstra2024-07-231-0/+1
| | | Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
* gh-121637: Syntax error for optimized-away incorrect await (#121656)Jelle Zijlstra2024-07-222-30/+53
| | | Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
* gh-121404: move calculation of module start location from compiler_body up ↵Irit Katriel2024-07-221-20/+28
| | | | to compiler_codegen (#122127)
* gh-100240: Use a consistent implementation for freelists (#121934)Sam Gross2024-07-226-104/+13
| | | | | | | | This combines and updates our freelist handling to use a consistent implementation. Objects in the freelist are linked together using the first word of memory block. If configured with freelists disabled, these operations are essentially no-ops.
* gh-120973: Fix thread-safety issues with `threading.local` (#121655)mpage2024-07-191-0/+3
| | | | | | This is a small refactoring to the current design that allows us to avoid manually iterating over threads. This should also fix gh-118490.
* gh-121905: Consistently use "floating-point" instead of "floating point" ↵Serhiy Storchaka2024-07-191-2/+2
| | | | (GH-121907)
* GH-118093: Add tier two support to several instructions (GH-121884)Brandt Bucher2024-07-187-82/+311
|
* GH-121784: Generate an error during code gen if a variable is marked ↵Mark Shannon2024-07-183-146/+137
| | | | | | | | | | | | `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-120024: Use pointer for stack pointer (GH-121923)Mark Shannon2024-07-182-10/+14
|
* gh-121621: Move asyncio_running_loop to private struct (#121939)Sam Gross2024-07-171-2/+2
| | | | This avoids changing the ABI and keeps the field in the private struct.
* GH-121583: Remove dependency from pystats.h to internal header file (GH-121587)Michael Droettboom2024-07-161-0/+4
| | | Co-authored-by: Peter Bierma <zintensitydev@gmail.com>