Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | gh-116749: Disable GIL by default in free-threaded build (#118295) | Sam Gross | 2024-04-26 | 1 | -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 Shannon | 2024-04-26 | 7 | -34/+181 |
| | | | | (GH-118279) | ||||
* | gh-117680: Fix msvc warning in instruction_sequence.c (#118326) | neonene | 2024-04-26 | 1 | -2/+2 |
| | |||||
* | gh-117385: Remove unhooked events on sys.settrace (GH-117386) | Tian Gao | 2024-04-26 | 1 | -3/+2 |
| | |||||
* | gh-110693: Pending Calls Machinery Cleanups (gh-118296) | Eric Snow | 2024-04-26 | 1 | -55/+104 |
| | | | This does some cleanup in preparation for later changes. | ||||
* | GH-118095: Handle `RETURN_GENERATOR` in tier 2 (GH-118180) | Mark Shannon | 2024-04-25 | 9 | -72/+111 |
| | |||||
* | gh-102511: Speed up os.path.splitroot() with native helpers (GH-118089) | Nice Zombies | 2024-04-25 | 1 | -32/+115 |
| | |||||
* | gh-117953: Fix Refleaks Introduced by gh-118194 (gh-118250) | Eric Snow | 2024-04-24 | 1 | -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 Snow | 2024-04-24 | 2 | -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 Snow | 2024-04-24 | 1 | -20/+93 |
| | | | | | Singlephase or Not (gh-118193) This change makes other upcoming changes simpler. | ||||
* | gh-76785: Rename _xxsubinterpreters to _interpreters (gh-117791) | Eric Snow | 2024-04-24 | 1 | -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 Snow | 2024-04-24 | 4 | -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 Shannon | 2024-04-24 | 4 | -4/+5 |
| | |||||
* | GH-118095: Convert DEOPT_IFs on likely side exits to EXIT_IFs (GH-118106) | Mark Shannon | 2024-04-24 | 2 | -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 Katriel | 2024-04-24 | 1 | -0/+18 |
| | | | | sequences for introspection (#118007) | ||||
* | gh-118074: Immortal executors are not GC-able (#118182) | Guido van Rossum | 2024-04-23 | 1 | -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 ↵ | mpage | 2024-04-23 | 2 | -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 Snow | 2024-04-23 | 2 | -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 Jevnik | 2024-04-23 | 1 | -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 Rossum | 2024-04-22 | 1 | -0/+10 |
| | |||||
* | gh-109118: Allow lambdas in annotation scopes in classes (#118019) | Jelle Zijlstra | 2024-04-22 | 1 | -11/+0 |
| | |||||
* | GH-115480: Reduce guard strength for binary ops when type of one operand is ↵ | Mark Shannon | 2024-04-22 | 6 | -19/+171 |
| | | | | known already (GH-118050) | ||||
* | gh-112075: Make instance attributes stored in inline "dict" thread safe ↵ | Dino Viehland | 2024-04-22 | 4 | -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 Viehland | 2024-04-19 | 7 | -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-Magee | 2024-04-19 | 1 | -1/+2 |
| | | | | | (GH-118073) Co-authored-by: Joshua Root jmr@macports.org | ||||
* | GH-116202: Incorporate invalidation check into _START_EXECUTOR. (GH-118044) | Mark Shannon | 2024-04-19 | 4 | -3/+9 |
| | |||||
* | GH-115419: Improve list of escaping functions (GH-118054) | Mark Shannon | 2024-04-19 | 1 | -1/+3 |
| | |||||
* | gh-117535: Change unknown filename of warnings from `sys` to `<sys>` (#118018) | Tian Gao | 2024-04-19 | 1 | -2/+2 |
| | |||||
* | gh-112069: Add _PySet_NextEntryRef to be thread-safe. (gh-117990) | Donghee Na | 2024-04-18 | 2 | -11/+19 |
| | |||||
* | GH-118036: Fix a bug with CALL_STAT_INC (#117933) | Guido van Rossum | 2024-04-18 | 1 | -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 Stinner | 2024-04-18 | 2 | -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 Shannon | 2024-04-18 | 3 | -132/+169 |
| | | | | (GH-117997) | ||||
* | gh-118023: Fix reference leak (#118025) | Kirill Podoprigora | 2024-04-18 | 1 | -0/+2 |
| | |||||
* | gh-117657: Quiet erroneous TSAN reports of data races in `_PySeqLock` (#117955) | mpage | 2024-04-17 | 1 | -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 Katriel | 2024-04-17 | 3 | -164/+638 |
| | |||||
* | gh-117929: Restore removed PyEval_InitThreads() function (#117931) | Victor Stinner | 2024-04-17 | 1 | -2/+1 |
| | |||||
* | GH-117760: Streamline the trashcan mechanism (GH-117763) | Mark Shannon | 2024-04-17 | 1 | -0/+2 |
| | |||||
* | gh-115178: Add Counts of UOp Pairs to pystats (GH-115181) | Jeff Glass | 2024-04-16 | 2 | -0/+11 |
| | |||||
* | gh-117657: Quiet more TSAN warnings due to incorrect modeling of ↵ | mpage | 2024-04-15 | 1 | -2/+2 |
| | | | | compare/exchange (#117830) | ||||
* | gh-117657: Quiet TSAN warning about a data race between `start_the_world()` ↵ | mpage | 2024-04-15 | 1 | -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. | ||||
* | gh-117376: Partial implementation of deferred reference counting (#117696) | Sam Gross | 2024-04-12 | 1 | -1/+18 |
| | | | | | This marks objects as using deferred refrence counting using the `ob_gc_bits` field in the free-threaded build and collects those objects during GC. | ||||
* | gh-117764: Fix and add signatures for many builtins (GH-117769) | Serhiy Storchaka | 2024-04-12 | 4 | -17/+17 |
| | |||||
* | gh-117764: Add signatures for some functions in the sys module (GH-117770) | Serhiy Storchaka | 2024-04-12 | 2 | -35/+73 |
| | | | Use Argument Clinic if possible. | ||||
* | gh-76785: Handle Legacy Interpreters Properly (gh-117490) | Eric Snow | 2024-04-11 | 2 | -14/+30 |
| | | | This is similar to the situation with threading._DummyThread. The methods (incl. __del__()) of interpreters.Interpreter objects must be careful with interpreters not created by interpreters.create(). The simplest thing to start with is to disable any method that modifies or runs in the interpreter. As part of this, the runtime keeps track of where an interpreter was created. We also handle interpreter "refcounts" properly. | ||||
* | gh-117649: Raise ImportError for unsupported modules in free-threaded build ↵ | Sam Gross | 2024-04-11 | 2 | -1/+19 |
| | | | | | | | | | | (#117651) The free-threaded build does not currently support the combination of single-phase init modules and non-isolated subinterpreters. Ensure that `check_multi_interp_extensions` is always `True` for subinterpreters in the free-threaded build so that importing these modules raises an `ImportError`. | ||||
* | gh-76785: Add More Tests to test_interpreters.test_api (gh-117662) | Eric Snow | 2024-04-11 | 4 | -15/+299 |
| | | | In addition to the increase test coverage, this is a precursor to sorting out how we handle interpreters created directly via the C-API. | ||||
* | gh-107674: Remove some unnecessary code in instrumentation code (GH-117393) | Tian Gao | 2024-04-09 | 1 | -1/+1 |
| | |||||
* | gh-117439: Make refleak checking thread-safe without the GIL (#117469) | Sam Gross | 2024-04-08 | 2 | -2/+10 |
| | | | | | This keeps track of the per-thread total reference count operations in PyThreadState in the free-threaded builds. The count is merged into the interpreter's total when the thread exits. | ||||
* | gh-111926: Make weakrefs thread-safe in free-threaded builds (#117168) | mpage | 2024-04-08 | 1 | -0/+9 |
| | | | | | | | | | Most mutable data is protected by a striped lock that is keyed on the referenced object's address. The weakref's hash is protected using the weakref's per-object lock. Note that this only affects free-threaded builds. Apart from some minor refactoring, the added code is all either gated by `ifdef`s or is a no-op (e.g. `Py_BEGIN_CRITICAL_SECTION`). | ||||
* | GH-117512: Allow 64-bit JIT operands on 32-bit platforms (GH-117527) | Brandt Bucher | 2024-04-06 | 1 | -28/+34 |
| |