summaryrefslogtreecommitdiffstats
path: root/Python
Commit message (Collapse)AuthorAgeFilesLines
...
* gh-116622: Redirect stdout and stderr to system log when embedded in an ↵Malcolm Smith2024-04-302-0/+78
| | | | Android app (#118063)
* GH-118095: Add tier 2 support for YIELD_VALUE (GH-118380)Mark Shannon2024-04-306-16/+86
|
* GH-118306: Update JIT to use LLVM 18 (GH-118307)Savannah Ostrowski2024-04-291-0/+3
|
* gh-117657: TSAN fix race on `gstate->young.count` (#118313)Alex Turner2024-04-291-12/+13
|
* gh-117953: Share More Machinery Code Between Builtin and Dynamic Extensions ↵Eric Snow2024-04-292-156/+194
| | | | | (gh-118204) This change will make some later changes simpler. It also brings more consistent behavior and lower maintenance costs.
* gh-117783: Immortalize objects that use deferred reference counting (#118112)Sam Gross2024-04-292-0/+41
| | | | | | | | | Deferred reference counting is not fully implemented yet. As a temporary measure, we immortalize objects that would use deferred reference counting to avoid multi-threaded scaling bottlenecks. This is only performed in the free-threaded build once the first non-main thread is started. Additionally, some tests, including refleak tests, suppress this behavior.
* gh-117953: Split Up _PyImport_LoadDynamicModuleWithSpec() (gh-118203)Eric Snow2024-04-292-137/+181
| | | | | | | Basically, I've turned most of _PyImport_LoadDynamicModuleWithSpec() into two new functions (_PyImport_GetModInitFunc() and _PyImport_RunModInitFunc()) and moved the rest of it out into _imp_create_dynamic_impl(). There shouldn't be any changes in behavior. This change makes some future changes simpler. This is particularly relevant to potentially calling each module init function in the main interpreter first. Thus the critical part of the PR is the addition of _PyImport_RunModInitFunc(), which is strictly focused on running the init func and validating the result. A later PR will take it a step farther by capturing error information rather than raising exceptions. FWIW, this change also helps readers by clarifying a bit more about what happens when an extension/builtin module is imported.
* gh-107674: Lazy load line number to improve performance of tracing (GH-118127)Tian Gao2024-04-292-15/+48
|
* GH-118095: Allow a variant of RESUME_CHECK in tier 2 (GH-118286)Mark Shannon2024-04-294-1/+77
|
* gh-109118: Make comprehensions work within annotation scopes, but without ↵Jelle Zijlstra2024-04-281-14/+4
| | | | | inlining (#118160) Co-authored-by: Carl Meyer <carl@oddbird.net>
* gh-116749: Disable GIL by default in free-threaded build (#118295)Sam Gross2024-04-261-3/+1
| | | | Switch GIL to disabled by default in free-threaded build so that the free-threaded CIs catch thread-safety issues.
* GH-118095: Add dynamic exit support and FOR_ITER_GEN support to tier 2 ↵Mark Shannon2024-04-267-34/+181
| | | | (GH-118279)
* gh-117680: Fix msvc warning in instruction_sequence.c (#118326)neonene2024-04-261-2/+2
|
* gh-117385: Remove unhooked events on sys.settrace (GH-117386)Tian Gao2024-04-261-3/+2
|
* gh-110693: Pending Calls Machinery Cleanups (gh-118296)Eric Snow2024-04-261-55/+104
| | | This does some cleanup in preparation for later changes.
* GH-118095: Handle `RETURN_GENERATOR` in tier 2 (GH-118180)Mark Shannon2024-04-259-72/+111
|
* gh-102511: Speed up os.path.splitroot() with native helpers (GH-118089)Nice Zombies2024-04-251-32/+115
|
* gh-117953: Fix Refleaks Introduced by gh-118194 (gh-118250)Eric Snow2024-04-241-1/+5
| | | | | A couple of refleaks slipped through in gh-118194. This takes care of them. (AKA _Py_ext_module_loader_info_init() does not steal references.)
* gh-117953: Add Internal struct _Py_ext_module_loader_info (gh-118194)Eric Snow2024-04-242-93/+151
| | | This helps with a later change that splits up _PyImport_LoadDynamicModuleWithSpec().
* gh-117953: Let update_global_state_for_extension() Caller Decide If ↵Eric Snow2024-04-241-20/+93
| | | | | Singlephase or Not (gh-118193) This change makes other upcoming changes simpler.
* gh-76785: Rename _xxsubinterpreters to _interpreters (gh-117791)Eric Snow2024-04-241-0/+3
| | | See https://discuss.python.org/t/pep-734-multiple-interpreters-in-the-stdlib/41147/26.
* gh-117953: Cleanups For fix_up_extension() in import.c (gh-118192)Eric Snow2024-04-244-97/+161
| | | These are cleanups I've pulled out of gh-118116. Mostly, this change moves code around to align with some future changes and to improve clarity a little. There is one very small change in behavior: we now add the module to the per-interpreter caches after updating the global state, rather than before.
* GH-115419: Move setting the instruction pointer to error exit stubs (GH-118088)Mark Shannon2024-04-244-4/+5
|
* GH-118095: Convert DEOPT_IFs on likely side exits to EXIT_IFs (GH-118106)Mark Shannon2024-04-242-12/+12
| | | Covert DEOPT_IFs on likely side exits to EXIT_IFs
* gh-117901: Add option for compiler's codegen to save nested instruction ↵Irit Katriel2024-04-241-0/+18
| | | | sequences for introspection (#118007)
* gh-118074: Immortal executors are not GC-able (#118182)Guido van Rossum2024-04-231-4/+1
| | | | | Better version of gh-118117. Just check for immortality instead of an address range check.
* gh-117657: Quiet TSAN warnings about remaining non-atomic accesses of ↵mpage2024-04-232-2/+3
| | | | | `tstate->state` (#118165) Quiet TSAN warnings about remaining non-atomic accesses of `tstate->state`
* gh-117953: Small Cleanup of Extensions-Related Machinery Code (gh-118167)Eric Snow2024-04-232-75/+104
| | | This is a collection of very basic cleanups I've pulled out of gh-118116. It is mostly renaming variables and moving a couple bits of code in functionally equivalent ways.
* gh-68114: Fix handling for removed PyArg_ParseTuple 'w' formatters (GH-8204)Joe Jevnik2024-04-231-0/+5
| | | | Co-authored-by: Joe Jevnik <joe@quantopian.com> Co-authored-by: Petr Viktorin <encukou@gmail.com>
* GH-118074: Executors in the COLD_EXITS array are not GC'able (#118117)Guido van Rossum2024-04-221-0/+10
|
* gh-109118: Allow lambdas in annotation scopes in classes (#118019)Jelle Zijlstra2024-04-221-11/+0
|
* GH-115480: Reduce guard strength for binary ops when type of one operand is ↵Mark Shannon2024-04-226-19/+171
| | | | known already (GH-118050)
* gh-112075: Make instance attributes stored in inline "dict" thread safe ↵Dino Viehland2024-04-224-24/+17
| | | | | (#114742) Make instance attributes stored in inline "dict" thread safe on free-threaded builds
* gh-116818: Make `sys.settrace`, `sys.setprofile`, and monitoring thread-safe ↵Dino Viehland2024-04-197-60/+214
| | | | | | | (#116775) Makes sys.settrace, sys.setprofile, and monitoring generally thread-safe. Mostly uses a stop-the-world approach and synchronization around the code object's _co_instrumentation_version. There may be a little bit of extra synchronization around the monitoring data that's required to be TSAN clean.
* gh-114099: Modify preprocessor symbol usage to support older macOS SDKs ↵Russell Keith-Magee2024-04-191-1/+2
| | | | | (GH-118073) Co-authored-by: Joshua Root jmr@macports.org
* GH-116202: Incorporate invalidation check into _START_EXECUTOR. (GH-118044)Mark Shannon2024-04-194-3/+9
|
* GH-115419: Improve list of escaping functions (GH-118054)Mark Shannon2024-04-191-1/+3
|
* gh-117535: Change unknown filename of warnings from `sys` to `<sys>` (#118018)Tian Gao2024-04-191-2/+2
|
* gh-112069: Add _PySet_NextEntryRef to be thread-safe. (gh-117990)Donghee Na2024-04-182-11/+19
|
* GH-118036: Fix a bug with CALL_STAT_INC (#117933)Guido van Rossum2024-04-181-2/+0
| | | | | | | We were under-counting calls in `_PyEvalFramePushAndInit` because the `CALL_STAT_INC` macro was redefined to a no-op for the Tier 2 interpreter. The fix is not to `#undef` it at all. This results in ~37% more "Frames pushed" reported under "Call stats".
* gh-117987: Restore several functions removed in Python 3.13 alpha 1 (GH-117993)Victor Stinner2024-04-182-8/+4
| | | | | | | | | Restore these functions removed in Python 3.13 alpha 1: * Py_SetPythonHome() * Py_SetProgramName() * PySys_SetArgvEx() * PySys_SetArgv()
* GH-115419: Tidy up tier 2 optimizer. Merge peephole pass into main pass ↵Mark Shannon2024-04-183-132/+169
| | | | (GH-117997)
* gh-118023: Fix reference leak (#118025)Kirill Podoprigora2024-04-181-0/+2
|
* gh-117657: Quiet erroneous TSAN reports of data races in `_PySeqLock` (#117955)mpage2024-04-171-3/+3
| | | | | | | | Quiet erroneous TSAN reports of data races in `_PySeqLock` TSAN reports a couple of data races between the compare/exchange in `_PySeqLock_LockWrite` and the non-atomic loads in `_PySeqLock_{Abandon,Unlock}Write`. This is another instance of TSAN incorrectly modeling failed compare/exchange as a write instead of a load.
* gh-117680: make _PyInstructionSequence a PyObject and use it in tests (#117629)Irit Katriel2024-04-173-164/+638
|
* gh-117929: Restore removed PyEval_InitThreads() function (#117931)Victor Stinner2024-04-171-2/+1
|
* GH-117760: Streamline the trashcan mechanism (GH-117763)Mark Shannon2024-04-171-0/+2
|
* gh-115178: Add Counts of UOp Pairs to pystats (GH-115181)Jeff Glass2024-04-162-0/+11
|
* gh-117657: Quiet more TSAN warnings due to incorrect modeling of ↵mpage2024-04-151-2/+2
| | | | compare/exchange (#117830)
* gh-117657: Quiet TSAN warning about a data race between `start_the_world()` ↵mpage2024-04-151-1/+2
| | | | | | | | and `tstate_try_attach()` (#117828) TSAN erroneously reports a data race between the `_Py_atomic_compare_exchange_int` on `tstate->state` in `tstate_try_attach()` and the non-atomic load of `tstate->state` in `start_the_world`. The `_Py_atomic_compare_exchange_int` fails, but TSAN erroneously treats it as a store.