Skip to content

coro: integrate LLVM 22 runtime fast paths - #160

Merged
cpunion merged 11 commits into
llvm-corofrom
coro/local-validation-fast-gate-20260811
Aug 14, 2026
Merged

coro: integrate LLVM 22 runtime fast paths#160
cpunion merged 11 commits into
llvm-corofrom
coro/local-validation-fast-gate-20260811

Conversation

@cpunion

@cpunion cpunion commented Aug 14, 2026

Copy link
Copy Markdown
Owner

Integrates the current LLVM 22-only correctness and performance series into llvm-coro.

Highlights:

  • preserve heap lifetime and preemption across physical coroutine calls
  • collapse static interface, scheduler handoff, completion, and inline-await validation
  • fuse the compiler-owned single-worker park transaction while retaining generic cancellation/select fallbacks
  • keep regular files on the bounded worker source and sockets on the nonblocking poll path
  • keep all WebAssembly IR consumers on LLVM 22
  • make compiler-rt freestanding WASM builds independent of host libc headers
  • close source-island and cgo C2 static-errno-itab validation gaps

Validation:

  • full runtime go test -count=1 ./...
  • runtime race tests
  • broad compiler coroutine suite
  • exact native and JS/WASM keyed-registry source-island gates
  • actual standard-library file, TCP, time/timer/sync, WASI, wasip2, and wasm-unknown acceptance through CI
  • LLVM 22.1.8 -O3 -lto=full build plus file 10,000 and TCP 5,000 stress runs

Same-host 21-run medians versus the PR parent artifact (500 operations):

  • file: 10.309 ms -> 9.071 ms
  • TCP: 22.214 ms -> 19.711 ms

The isolated worker-park change improves file median by about 9% and leaves TCP neutral; the stripped workload artifact is 7,666,544 bytes.

cpunion added 11 commits August 12, 2026 08:56
Publish exact static outcome entries through ProgramIR and library metadata, prove borrowed transaction storage, and make closed-program worker capability explicit.\n\nFuse single-event park and owner-local channel/manual completion paths while preserving the common select, cancellation, and cross-route state machines. Add native/WASM correctness gates and reproducible core performance fixtures.
Keep immutable scheduler, placement, frame-context, and direct-channel proofs at their stable ownership boundaries. Fuse the compiler/runtime channel transaction, retain exact fallback gates, and add race, architecture, LLVM 22, and performance validation.
Emit static itabs and immutable backing for constant interface conversions, and preserve LLVM call-site attributes through ABI rewrites.\n\nMove native worker queue transport to scalar reservations and arguments, add a bounded direct handoff plus per-worker fault setup, and use an advisory executor completion window before retained sleep. Keep source reduction, cancellation, and doorbell fallback unchanged.\n\nNarrow borrowed-allocation proof authority, update exact architecture/source gates, and record controlled file/TCP measurements.
@cpunion
cpunion merged commit 07c6ddf into llvm-coro Aug 14, 2026
15 checks passed
@cpunion
cpunion deleted the coro/local-validation-fast-gate-20260811 branch August 14, 2026 11:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant