Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | GH-122029: Break INSTRUMENTED_CALL into micro-ops, so that its behavior is ↵ | Mark Shannon | 2024-07-26 | 5 | -59/+242 |
| | | | | consistent with CALL (GH-122177) | ||||
* | GH-121131: Clean up and fix some instrumented instructions. (GH-121132) | Mark Shannon | 2024-07-26 | 7 | -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 Bucher | 2024-07-25 | 5 | -5/+87 |
| | |||||
* | GH-118093: Add tier two support for LOAD_ATTR_PROPERTY (GH-122283) | Brandt Bucher | 2024-07-25 | 6 | -48/+112 |
| | |||||
* | GH-122034: Add StackRef variants of type checks to reduce the number of ↵ | Mark Shannon | 2024-07-25 | 3 | -27/+27 |
| | | | | PyStackRef_AsPyObjectBorrow calls (GH-122037) | ||||
* | GH-122160: Remove BUILD_CONST_KEY_MAP opcode. (GH-122164) | Mark Shannon | 2024-07-25 | 6 | -157/+6 |
| | |||||
* | gh-121404: extract compiler_lookup_arg out of compiler_make_closure (#122181) | Irit Katriel | 2024-07-24 | 1 | -41/+49 |
| | |||||
* | GH-118093: Remove invalidated executors from side exits (GH-121885) | Brandt Bucher | 2024-07-24 | 3 | -27/+26 |
| | |||||
* | gh-122029: Log call events in sys.setprofile when it's a method with c ↵ | Tian Gao | 2024-07-23 | 1 | -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 Zijlstra | 2024-07-23 | 1 | -0/+1 |
| | | | Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com> | ||||
* | gh-121637: Syntax error for optimized-away incorrect await (#121656) | Jelle Zijlstra | 2024-07-22 | 2 | -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 Katriel | 2024-07-22 | 1 | -20/+28 |
| | | | | to compiler_codegen (#122127) | ||||
* | gh-100240: Use a consistent implementation for freelists (#121934) | Sam Gross | 2024-07-22 | 6 | -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) | mpage | 2024-07-19 | 1 | -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 Storchaka | 2024-07-19 | 1 | -2/+2 |
| | | | | (GH-121907) | ||||
* | GH-118093: Add tier two support to several instructions (GH-121884) | Brandt Bucher | 2024-07-18 | 7 | -82/+311 |
| | |||||
* | GH-121784: Generate an error during code gen if a variable is marked ↵ | Mark Shannon | 2024-07-18 | 3 | -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 Shannon | 2024-07-18 | 2 | -10/+14 |
| | |||||
* | gh-121621: Move asyncio_running_loop to private struct (#121939) | Sam Gross | 2024-07-17 | 1 | -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 Droettboom | 2024-07-16 | 1 | -0/+4 |
| | | | Co-authored-by: Peter Bierma <zintensitydev@gmail.com> | ||||
* | gh-118934: Make PyEval_GetLocals return borrowed reference (#119769) | Tian Gao | 2024-07-16 | 1 | -1/+32 |
| | | | Co-authored-by: Alyssa Coghlan <ncoghlan@gmail.com> | ||||
* | gh-121621: Move asyncio running loop to thread state (GH-121695) | Ken Jin | 2024-07-16 | 1 | -0/+4 |
| | |||||
* | gh-120317: Lock around global state in the tokenize module (#120318) | Lysandros Nikolaou | 2024-07-16 | 1 | -43/+72 |
| | | | Co-authored-by: Pablo Galindo <pablogsal@gmail.com> | ||||
* | gh-121814: Only check f_trace_opcodes if Python frame exists (#121818) | Tian Gao | 2024-07-15 | 1 | -1/+1 |
| | | | Co-authored-by: Matt Wozniski <godlygeek@gmail.com> | ||||
* | gh-121794: Don't set `ob_tid` to zero in fast-path dealloc (#121799) | Sam Gross | 2024-07-15 | 1 | -11/+54 |
| | | | | | | | | | | | | We should maintain the invariant that a zero `ob_tid` implies the refcount fields are merged. * Move the assignment in `_Py_MergeZeroLocalRefcount` to immediately before the refcount merge. * Update `_PyTrash_thread_destroy_chain` to set `ob_ref_shared` to `_Py_REF_MERGED` when setting `ob_tid` to zero. Also check this invariant with assertions in the GC in debug builds. That uncovered a bug when running out of memory during GC. | ||||
* | gh-121546: Disable contextvar caching on free-threading build (GH-121740) | Ken Jin | 2024-07-15 | 1 | -0/+14 |
| | |||||
* | gh-118297: Make Sure All Pending Calls Run in _Py_FinishPendingCalls() ↵ | Eric Snow | 2024-07-15 | 1 | -6/+28 |
| | | | | (gh-118298) | ||||
* | gh-121698 Emscripten: Use updated WebAssembly type reflection proposal ↵ | Hood Chatham | 2024-07-14 | 1 | -2/+12 |
| | | | | (GH-121699) | ||||
* | gh-121657: Display correct error message for yield from outside of a ↵ | Gregor | 2024-07-13 | 1 | -1/+1 |
| | | | | | | function (GH-121680) Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com> Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com> | ||||
* | gh-121153: Fix some errors with use of _PyLong_CompactValue() (GH-121154) | Serhiy Storchaka | 2024-07-13 | 1 | -2/+2 |
| | | | | | | * The result has type Py_ssize_t, not intptr_t. * Type cast between unsigned and signdet integer types should be explicit. * Downcasting should be explicit. * Fix integer overflow check in sum(). | ||||
* | gh-121332: Make AST node constructor check _attributes instead of hardcoding ↵ | Jelle Zijlstra | 2024-07-11 | 1 | -14/+25 |
| | | | | attributes (#121334) | ||||
* | gh-121554: remove unnecessary internal functions in compile.c (#121555) | Irit Katriel | 2024-07-10 | 1 | -48/+0 |
| | | | Co-authored-by: Erlend E. Aasland <erlend@python.org> | ||||
* | gh-121404: remove some accesses to compiler internals from codegen functions ↵ | Irit Katriel | 2024-07-10 | 1 | -101/+120 |
| | | | | (#121538) | ||||
* | gh-121547: deduplicate the code of const_cache update functions (#121548) | Irit Katriel | 2024-07-10 | 1 | -25/+22 |
| | |||||
* | gh-121110: Fix Extension Module Tests Under Py_TRACE_REFS Builds (gh-121503) | Eric Snow | 2024-07-08 | 1 | -19/+43 |
| | | | The change in gh-118157 (b2cd54a) should have also updated clear_singlephase_extension() but didn't. We fix that here. Note that clear_singlephase_extension() (AKA _PyImport_ClearExtension()) is only used in tests. | ||||
* | gh-121404: remove direct accesses to u_private from codegen functions (#121500) | Irit Katriel | 2024-07-08 | 1 | -27/+42 |
| | |||||
* | gh-121368: Fix seq lock memory ordering in _PyType_Lookup (#121388) | Sam Gross | 2024-07-08 | 1 | -11/+15 |
| | | | | | | | | | The `_PySeqLock_EndRead` function needs an acquire fence to ensure that the load of the sequence happens after any loads within the read side critical section. The missing fence can trigger bugs on macOS arm64. Additionally, we need a release fence in `_PySeqLock_LockWrite` to ensure that the sequence update is visible before any modifications to the cache entry. | ||||
* | GH-121012: Set index to -1 when list iterators become exhausted in tier 2 ↵ | Mark Shannon | 2024-07-08 | 2 | -3/+9 |
| | | | | (GH-121483) | ||||
* | gh-121338: Remove #pragma optimize (#121340) | Michael Droettboom | 2024-07-08 | 1 | -10/+0 |
| | |||||
* | gh-121149: improve accuracy of builtin sum() for complex inputs (gh-121176) | Sergey B Kirpichev | 2024-07-05 | 1 | -26/+105 |
| | |||||
* | gh-121390: tracemalloc: Fix tracebacks memory leak (#121391) | Josh Brobst | 2024-07-05 | 1 | -1/+1 |
| | | | | | | The tracemalloc_tracebacks hash table has traceback keys and NULL values, but its destructors do not reflect this -- key_destroy_func is NULL while value_destroy_func is raw_free. Swap these to free the traceback keys instead. | ||||
* | gh-121272: move async for/with validation from compiler to symtable (#121361) | Irit Katriel | 2024-07-04 | 2 | -13/+22 |
| | |||||
* | gh-121352: use _Py_SourceLocation in symtable (#121353) | Irit Katriel | 2024-07-04 | 1 | -127/+68 |
| | |||||
* | gh-121141: add support for `copy.replace` to AST nodes (#121162) | Bénédikt Tran | 2024-07-04 | 1 | -0/+279 |
| | |||||
* | gh-121272: set ste_coroutine during symtable construction (#121297) | Irit Katriel | 2024-07-03 | 2 | -3/+15 |
| | | | compiler no longer modifies the symtable after this. | ||||
* | gh-117139: Add _PyTuple_FromStackRefSteal and use it (#121244) | Sam Gross | 2024-07-02 | 4 | -32/+4 |
| | | | Avoids the extra conversion from stack refs to PyObjects. | ||||
* | gh-121272: move __future__ import validation from compiler to symtable (#121273) | Irit Katriel | 2024-07-02 | 2 | -16/+24 |
| | |||||
* | GH-116017: Get rid of _COLD_EXITs (GH-120960) | Brandt Bucher | 2024-07-01 | 7 | -183/+121 |
| | |||||
* | gh-121199: Use _Py__has_attribute() in timemodule.c (#121203) | Victor Stinner | 2024-07-01 | 1 | -1/+1 |
| | | | | | Use the _Py__has_attribute() macro in timemodule.c and bootstrap_hash.c to fix a build error on old GCC versions (GCC 4.8.5 on s390x). | ||||
* | gh-121163: Add "all" as an valid alias for "always" in ↵ | Kirill Podoprigora | 2024-06-30 | 1 | -2/+2 |
| | | | | | | warnings.simplefilter() (#121164) Add support for ``all`` as an valid alias for ``always`` in ``warnings.simplefilter()`` and ``warnings.filterswarnings()``. |