[lldb-dap] Refactor handling progress events. (#224957)
lldb-dap now only uses one thread to receive and throttle received
progress events.
For every progress with a progressId, we delay reporting the progress
for 1000ms until we have recieved a new progress and only send an update
if the progress has a new version after 250ms.
This means for every progress integration test we do nothing for at
least 1250ms. The previous `TestDAP_progress` runs for at least 8s
regardless of how fast the computer is.
Moved most of the test to unittest where we can simulate progress delays
and time passing. We now have only one `TestDAP_progress` test to verify
the client receives progress Events.
When the ProgressEventThread reports a new progressEvent, the reporter
then.
- Create or update the `PendingProgress` with that progressId.
[6 lines not shown]
[X86] Don't double count the interrupt stack alignment push in StackSize (#224029)
emitPrologue pushes a slot to give an error-code handler the
return-address parity the frame layout assumes, but StackSize counted
that push as well. NumBytes derives from StackSize, so the subq grew by
8 too and left RSP at 8 mod 16 at every call. Object addresses are
unchanged.
Fixes #44560, fixes #50195
---------
Co-authored-by: Claude Opus 5 <noreply at anthropic.com>
[Clang] Store AST context in declaration contexts
Store the owning ASTContext directly in each DeclContext and route declarations
through that direct path. This removes the nullable cache and translation-unit
walk from Decl::getASTContext().
Assisted-by: Codex
[orc-rt] Add MsgHeader, the SimpleRemote stream header (#225336)
A SimpleRemote message carries an opcode, a sequence number, a tag and a
payload. MsgHeader is how a byte-stream transport puts those on the
wire: four little-endian uint64 fields, size first, followed by the
payload.
Adding MsgHeader to SimpleRemoteCA makes it easy for stream-based
transports to reuse.
[ORC] Remove unused rt_alt UnwindInfoManager CI names (#225329)
The rt_alt UnwindInfoManager register/deregister action names were added
as a step towards supporting an "ORC-runtime-lite" API within LLVM, but
have not been used so far. This patch removes them, rather than leaving
them to drift. Replacements can be added as part of a coherent design
when ORC-runtime-lite is revisited.
[BasicAA] Extend two-variable MinAbsVarIndex heuristic to different scales (#218639)
When performing offset-based reasoning via the min abs heuristic, the
existing two-variables case requires equal absolute scaling factors.
This may be generalized to different scales by factoring the offset as
`GCD*(C0*V0 - C1*V1)`, and relying on cached KnownBits to prove that the
cofactor products differ.
Proof: https://alive2.llvm.org/ce/z/RC4LwD.
Co-authored-by: Alex MacLean <amaclean at nvidia.com>
[AggressiveInstCombine] Fold low-bits mask table loads to arithmetic (#222509)
Recognize a load from a constant "low bits mask" table
```
static const uintN_t tbl[K] = { 0, 1, 3, 7, ... }; // tbl[j] == (1 << j) - 1
... x & tbl[i] ...
```
and replace the load with the equivalent arithmetic mask (1 << i) - 1.
This is the target-independent form of the X86 combineAndLoadToBZHI DAG
combine: on X86 with BMI2 the surrounding and still selects to a single
bzhi.
Assisted-by: Claude Code
[Clang] Store AST context in declaration contexts
Store the owning ASTContext directly in each DeclContext and route declarations
through that direct path. This removes the nullable cache and translation-unit
walk from Decl::getASTContext().
Assisted-by: Codex
Triple: Move getSjLjDataSize off TargetMachine
This eliminates the TargetMachine dependence of SjLjEHPrepare.
The pass had the questionable behavior of just proceeding with the
default size without a TargetMachine. VE is the only user and changes
the integer bitwidth used, and this doesn't seem worthwhile of a
virtual function. Move to the triple in keeping with migrating
ABI parameters out of codegen.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
Triple: Move getSjLjDataSize off TargetMachine
This eliminates the TargetMachine dependence of SjLjEHPrepare.
The pass had the questionable behavior of just proceeding with the
default size without a TargetMachine. VE is the only user and changes
the integer bitwidth used, and this doesn't seem worthwhile of a
virtual function. Move to the triple in keeping with migrating
ABI parameters out of codegen.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
[libc] Implement pthread_cleanup_push and pthread_cleanup_pop (#223427)
This patch implements the core POSIX thread cleanup mechanism
(pthread_cleanup_push and pthread_cleanup_pop).
POSIX allows these functions to be implemented as macros opening and
closing a lexical block. We allocate an automatic
__pthread_cleanup_frame structure on the stack in the push macro and
unlink it in the pop macro, calling helper functions
(__pthread_cleanup_push and __pthread_cleanup_pop) to link/unlink the
frame on the thread's cleanup_stack.
The stack is drained in LIFO order during thread termination in
call_atexit_callbacks before running __cxa_thread_atexit and TSS key
destructors.
It's worth noting that GLIBC implements this functionality in a much
more complicated way. The cleanup functions are registered with the
unwinding machinery so that throwing an exception (or even just
[17 lines not shown]
py-watchfiles: updated to 1.3.0
1.3.0
Bump pyo3 from 0.28.3 to 0.29.0
Add Python 3.14t to Windows wheel builds
Build abi3 wheels for CPython
prep v1.3.0 release
py-wcwidth: updated to 0.8.4
0.8.4 *2026-09-17*
* **Bugfix** `clip()`_ hangs with OSC 8 hyperlinks in some conditions
* **Bugfix** width of ITU T.416 colon-format SGR color parameters
* **Bugfix** width of OSC 66 text sizing sequences without a text field
* **Bugfix** `width()`_, `ljust()`_, `rjust()`_, `center()`_, `clip()`_ and `strip_sequences()`_
treated ``ESC ( LF`` as text instead of a character set designation (rare)
* **Bugfix** `clip()`_ painter's algorithm and "tab expansion" should be spaces
* **Changed** `iter_graphemes()`_ clustering rule GB9c for Unicode 18.0
* **Changed** ``ambiguous_width`` arguments are now clamped to allowed range (1, 2)
* **Changed** `wrap()`_ now raises ``ValueError`` for a width of zero or less, matching stdlib
``textwrap``. Previously ``wrap('女', 0)`` returned ``['女']``
* **Changed** `clip()`_ arguments ``start=0`` and ``end=-1`` become optional
* **Updated** tables for Unicode version 18.0
* **Updated** ``ucs-detect`` data files used in some automatic tests are no longer
distributed,
py-aiohttp-cors: updated to 0.8.1
0.8.1 (2025-03-31)
- Fix packaging to not install on Python 3.8.
0.8.0 (2025-03-11)
- Make the library compatible with aiohttp 3.9+ and Python 3.9+