Sam Gross
b5e6fb39a2
gh-120974: Make asyncio swap_current_task
safe in free-threaded build ( #122317 )
...
* gh-120974: Make asyncio `swap_current_task` safe in free-threaded build
2024-08-02 19:02:08 +05:30
Jelle Zijlstra
8234419c32
gh-122562: Remove ste_free and ste_child_free from symtable ( #122563 )
2024-08-01 16:28:25 -07:00
Mark Shannon
df13a1821a
GH-118095: Add tier two support for BINARY_SUBSCR_GETITEM (GH-120793)
2024-08-01 16:19:05 -07:00
Mark Shannon
a9d56e38a0
GH-122155: Track local variables between pops and pushes in cases generator (GH-122286)
2024-08-01 09:27:26 +01:00
jianghuyiyuan
46f5a4f9e1
Fix typos in docs, error messages and comments ( #122502 )
...
Signed-off-by: jianghuyiyuan <shuangcui@live.com>
2024-08-01 00:26:09 +00:00
Michael Droettboom
af0a00f022
gh-122188: Move magic number to its own file ( #122243 )
...
* 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>
2024-07-30 15:31:05 -04:00
Brandt Bucher
15d4cd0967
GH-116090: Fire RAISE events from _FOR_ITER_TIER_TWO (GH-122413)
2024-07-29 12:17:47 -07:00
Victor Stinner
b359f66c4c
gh-120593: Make _PyLong_CompactValue() parameter const again ( #122367 )
...
Change _PyLong_IsCompact() and _PyLong_CompactValue() parameter type
from 'PyObject*' to 'const PyObject*'. Avoid the Py_TYPE() macro
which does not support const parameter.
2024-07-28 09:59:07 +02:00
Jelle Zijlstra
ae192262ad
gh-119180: Add evaluate functions for type params and type aliases ( #122212 )
2024-07-27 17:24:10 +00:00
Brandt Bucher
64857d849f
GH-122294: Burn in the addresses of side exits (GH-122295)
2024-07-26 09:40:15 -07:00
Mark Shannon
95a73917cd
GH-122029: Break INSTRUMENTED_CALL into micro-ops, so that its behavior is consistent with CALL (GH-122177)
2024-07-26 14:35:57 +01:00
Mark Shannon
afb0aa6ed2
GH-121131: Clean up and fix some instrumented instructions. (GH-121132)
...
* Add support for 'prev_instr' to code generator and refactor some INSTRUMENTED instructions
2024-07-26 12:24:12 +01:00
Brandt Bucher
d9efa45d74
GH-118093: Add tier two support for BINARY_OP_INPLACE_ADD_UNICODE (GH-122253)
2024-07-25 14:45:07 -07:00
Brandt Bucher
5f6001130f
GH-118093: Add tier two support for LOAD_ATTR_PROPERTY (GH-122283)
2024-07-25 10:45:28 -07:00
Mark Shannon
5e686ff57d
GH-122034: Add StackRef variants of type checks to reduce the number of PyStackRef_AsPyObjectBorrow calls (GH-122037)
2024-07-25 18:32:43 +01:00
Marc Mueller
aef95eb107
gh-121489: Export private _PyBytes_Join() again ( #122267 )
2024-07-25 17:31:30 +02:00
Mark Shannon
2e14a52cce
GH-122160: Remove BUILD_CONST_KEY_MAP opcode. (GH-122164)
2024-07-25 16:24:29 +01:00
Brandt Bucher
794546fd53
GH-118093: Remove invalidated executors from side exits (GH-121885)
2024-07-24 09:16:30 -07:00
Sam Gross
a15feded71
gh-120974: Make _asyncio._leave_task atomic in the free-threaded build ( #122139 )
...
* gh-120974: Make _asyncio._leave_task atomic in the free-threaded build
Update `_PyDict_DelItemIf` to allow for an argument to be passed to the
predicate.
2024-07-23 17:06:03 +00:00
Serhiy Storchaka
e6b25e9a09
gh-122163: Add notes for JSON serialization errors (GH-122165)
...
This allows to identify the source of the error.
2024-07-23 20:02:54 +03:00
Sam Gross
c908d1f87d
gh-120974: Use common freelist code in asyncio ( #122132 )
...
This refactors asyncio to use the common freelist helper functions and
macros. As a side effect, the freelist for _asyncio.Future is now
re-enabled in the free-threaded build.
2024-07-23 21:54:24 +05:30
Sam Gross
5716cc3529
gh-100240: Use a consistent implementation for freelists ( #121934 )
...
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.
2024-07-22 12:08:27 -04:00
Jakub Kulík
e88bd96d0d
gh-118124: fix assert related C++ checks on Solaris/Illumos ( #121974 )
...
Fix check for static_assert() for C++ on some platforms.
2024-07-21 18:50:14 +02:00
mpage
e059aa6b01
gh-120973: Fix thread-safety issues with threading.local
( #121655 )
...
This is a small refactoring to the current design that allows us to
avoid manually iterating over threads.
This should also fix gh-118490.
2024-07-19 13:22:02 -04:00
Serhiy Storchaka
1a0c7b9ba4
gh-121905: Consistently use "floating-point" instead of "floating point" (GH-121907)
2024-07-19 08:06:02 +00:00
Brandt Bucher
7b36b67b1e
GH-118093: Add tier two support to several instructions (GH-121884)
2024-07-18 14:24:58 -07:00
Mark Shannon
169324c27a
GH-120024: Use pointer for stack pointer (GH-121923)
2024-07-18 12:47:21 +01:00
Sam Gross
81fd625b5c
gh-121621: Move asyncio_running_loop to private struct ( #121939 )
...
This avoids changing the ABI and keeps the field in the private struct.
2024-07-17 15:21:24 -07:00
Victor Stinner
b826e459ca
gh-121528: Fix _PyObject_Init() assertion for stable ABI ( #121725 )
...
Add _Py_IsImmortalLoose() function for assertions.
2024-07-17 21:49:37 +02:00
Michael Droettboom
f036a463db
GH-121583: Remove dependency from pystats.h to internal header file (GH-121587)
...
Co-authored-by: Peter Bierma <zintensitydev@gmail.com>
2024-07-16 15:38:29 -07:00
Tian Gao
e65cb4c6f0
gh-118934: Make PyEval_GetLocals return borrowed reference ( #119769 )
...
Co-authored-by: Alyssa Coghlan <ncoghlan@gmail.com>
2024-07-16 12:17:47 -07:00
Ken Jin
69c68de43a
gh-121621: Move asyncio running loop to thread state (GH-121695)
2024-07-17 01:09:58 +08:00
Ken Jin
e904300882
gh-121546: Disable contextvar caching on free-threading build (GH-121740)
2024-07-16 02:57:58 +08:00
Hood Chatham
3086b86cfd
gh-121700 Emscripten trampolines not quite right since #106219 (GH-121701)
2024-07-14 11:24:09 +02:00
Victor Stinner
a2bec77d25
gh-120642: Move _PyCode_CODE() to the internal C API ( #121644 )
...
Move _PyCode_CODE() and _PyCode_NBYTES() macros to the internal C API
since they use _Py_CODEUNIT which is only part of the internal C API.
2024-07-13 23:07:49 +02:00
Eric Snow
5250a03133
gh-117482: Fix Builtin Types Slot Wrappers (gh-121602)
...
When builtin static types are initialized for a subinterpreter, various "tp" slots have already been inherited (for the main interpreter). This was interfering with the logic in add_operators() (in Objects/typeobject.c), causing a wrapper to get created when it shouldn't. This change fixes that by preserving the original data from the static type struct and checking that.
2024-07-11 20:20:14 +00:00
Irit Katriel
6557af6698
gh-121554: remove unnecessary internal functions in compile.c ( #121555 )
...
Co-authored-by: Erlend E. Aasland <erlend@python.org>
2024-07-10 23:48:37 +01:00
Irit Katriel
ef10110cd7
gh-119786: fix broken links in docs and comment ( #121601 )
2024-07-10 21:59:14 +00:00
Ken Jin
3bfc9c831a
gh-120198: Stop the world when setting __class__ on free-threaded build (GH-120672)
2024-07-11 02:02:08 +08:00
Victor Stinner
ca0fb3423c
gh-89364: Export PySignal_SetWakeupFd() function ( #121537 )
...
Export the PySignal_SetWakeupFd() function. Previously, the function
was documented but it couldn't be used in 3rd party code.
2024-07-10 15:47:08 +02:00
Sam Gross
1d3cf79a50
gh-121368: Fix seq lock memory ordering in _PyType_Lookup ( #121388 )
...
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.
2024-07-08 14:52:07 -04:00
Marc Mueller
31873bea47
gh-121487: Fix deprecation warning for ATOMIC_VAR_INIT in mimalloc (gh-121488)
2024-07-08 14:32:30 -04:00
Gabriele N. Tornetta
f5c8d67de6
gh-106597: Remove unnecessary CFrame offsets ( #121369 )
2024-07-04 17:28:23 +00:00
Irit Katriel
19d1e43e43
gh-121352: use _Py_SourceLocation in symtable ( #121353 )
2024-07-04 11:28:44 +01:00
Victor Stinner
f8373db153
gh-112136: Restore removed _PyArg_Parser ( #121262 )
...
Restore the private _PyArg_Parser structure and the private
_PyArg_ParseTupleAndKeywordsFast() function, previously removed
in Python 3.13 alpha 1.
Recreate Include/cpython/modsupport.h header file.
2024-07-03 18:36:57 +02:00
Ken Jin
722229e5dc
gh-121263: Macro-ify most stackref functions for MSVC (GH-121270)
...
Macro-ify most stackref functions for MSVC
2024-07-03 17:49:31 +08:00
Gabriele N. Tornetta
c9bdfbe868
gh-106597: Add more offsets to _Py_DebugOffsets ( #121311 )
...
Add more offsets to _Py_DebugOffsets
We add a few more offsets that are required by some out-of-process
tools, such as [Austin](https://github.com/p403n1x87/austin ).
2024-07-03 08:53:44 +00:00
Pablo Galindo Salgado
b180788d4a
gh-115773: Add sizes to debug offset structure ( #120112 )
2024-07-02 17:54:33 +00:00
Sam Gross
8e8d202f55
gh-117139: Add _PyTuple_FromStackRefSteal and use it ( #121244 )
...
Avoids the extra conversion from stack refs to PyObjects.
2024-07-02 12:30:14 -04:00
Brandt Bucher
33903c53db
GH-116017: Get rid of _COLD_EXITs (GH-120960)
2024-07-01 13:17:40 -07:00