Commit Graph
347 Commits
Author SHA1 Message Date
Chris Tate 7ff5523e60 fix: retain typed-array receiver across nested assignments 2026-08-08 14:26:37 -05:00
Chris Tateandmorler 01645c636e perf(compiler): specialize typed-array element access
- Lower typed-array reads, writes, and lengths directly by IR element kind.
- Preserve coercion, bounds, and receiver lifetime semantics across C and LLVM.
- Cover emission, ABI layout, and Node-differential behavior.

Co-authored-by: morler <478444+morler@users.noreply.github.com>
2026-08-08 13:57:58 -05:00
Chris Tate 782d3b8451 fix(compiler): support implicit top-level await modules (#94)
* fix(compiler): support implicit top-level await modules

- Match Node 24 syntax detection by treating top-level await as an ES module marker.

- Add differential corpus coverage for TypeScript files without explicit imports or exports.

* fix Node ESM classification for top-level await

* fix ESM require diagnostics and classification caching

* fix require binding and package type precedence

* fix: align top-level await module detection with Node
2026-08-08 11:35:01 -05:00
Chris Tate adae252881 Prepare v0.0.22 release (#87)
- Stamp all publishable packages at v0.0.22.

- Publish release notes for persistent builds and external coverage types.

- Refresh the compiler surface manifest for the release.
2026-08-03 01:31:43 -05:00
Chris Tate 52459a86d4 feat(compiler): lower stored text codec calls (#85)
* feat(compiler): lower stored text codec calls

- Lower same-scope const TextEncoder and TextDecoder call receivers without runtime instances.
- Preserve fences for escaping, captured, and imported codec values with actionable diagnostics.
- Add differential, diagnostic, and preflight baseline coverage for the supported idiom.

* fix(compiler): fence deferred text codec calls

* fix text codec switch-clause TDZ handling
2026-08-02 21:24:33 -05:00
Chris Tate 0d5bc0dd0d feat(coverage): resolve external host type surfaces (#80)
* feat(coverage): resolve external host type surfaces

- Add repeatable --external-types mappings for checker-only module resolution.
- Keep host runtime values as explicit blockers with tests and documentation.

* fix: validate external type mappings

* fix: fence external host runtime edges

* fix(compiler): skip empty external type lookup

* fix(compiler): honor external type boundaries
2026-08-02 19:41:35 -05:00
Chris Tate 20f2d98fa3 fix(compiler): refine narrowed union payload fields (#84)
* fix(compiler): refine narrowed union payload fields

- Treat pure union discriminant reads as stable within compound guards.
- Cover payload-field range refinement in analysis and library builds.

* fix(compiler): preserve field facts across union discriminants
2026-08-02 19:37:32 -05:00
Chris Tate a0c5d6a549 Document synthesized sidecar structs (#83)
- Define the optional marker as literal true for compiler-created inline records.

- Reject malformed markers and pin the format-1 validator behavior.
2026-08-02 19:13:01 -05:00
Chris Tate d1ce6ae7d0 Speed up native-cache CI coverage (#82)
- Memoize immutable native toolchain probes within test workers.

- Preserve strict production-path cache invalidation coverage.

- Shard cache correctness tests without redundant sanitizer runs.
2026-08-02 18:27:29 -05:00
Chris Tate 9fb068ae27 Merge pull request #77 from vercel-labs/ctate/node24-fetch-inventory
feat(compat): inventory Node 24 fetch surface
2026-08-02 16:37:36 -05:00
Chris Tate efb7e77281 fix: address fetch compatibility review findings 2026-08-02 15:31:00 -05:00
Chris Tate c356ff0ac0 Merge pull request #73 from vercel-labs/ctate/no-persist-compile
Persist native compilation cache
2026-08-02 14:58:35 -05:00
Chris Tate 68263610e3 fix(compiler): prevent stale native cache hits 2026-08-02 13:59:06 -05:00
Chris Tate 3f2a78894e fix(fetch): address Node 24 compatibility gaps 2026-08-02 13:28:46 -05:00
Chris Tate a1215f6ef9 fix(compiler): bypass cache for opaque wrappers 2026-08-02 13:00:17 -05:00
Chris Tate 0b79e36973 fix: align fetch runtime with Node 24 semantics 2026-08-02 12:29:31 -05:00
Chris Tate 24904ddff7 fix native cache invalidation and safety 2026-08-02 12:03:56 -05:00
Chris Tate f8377a7440 fix fetch computed dispatch semantics 2026-08-02 11:59:05 -05:00
Chris Tate 8c20c9ac73 fix: validate computed fetch dispatch 2026-08-02 11:29:23 -05:00
Chris Tate 987c52cf18 fix compiler wrapper cache identity 2026-08-02 10:59:32 -05:00
Chris Tate af685d05f9 fix: close fetch inventory review gaps 2026-08-02 10:41:37 -05:00
Chris Tate b2711aa6a2 fix compiler cache identity gaps 2026-08-02 01:22:41 -05:00
Chris Tate b90c0466b2 fix: enforce fetch surface compatibility 2026-08-02 01:09:40 -05:00
Chris Tate c124516e05 fix compiler cache identity 2026-08-02 00:26:56 -05:00
Chris Tate f2b9bb9c6f Fix fetch fence aliases and computed unions 2026-08-01 22:38:08 -05:00
Chris Tate 4cf84283c0 fix: harden native cache publication identity 2026-08-01 21:18:53 -05:00
Chris Tate 57ce47b273 fix fetch inventory coverage gaps 2026-08-01 21:12:49 -05:00
Chris Tate ae1ce89070 Fix RequestInit fence aliasing 2026-08-01 20:28:38 -05:00
Chris Tate 9aede1ed55 Fix remaining fetch surface fence bypasses 2026-08-01 19:54:37 -05:00
Chris Tate 5ac9dcda3e Fix fetch surface fence coverage 2026-08-01 18:53:02 -05:00
Chris Tate dcc5a03a52 fix: validate native cache state and artifacts 2026-08-01 18:38:22 -05:00
Chris Tate ea3bbddc62 fix: align fetch inventory with lowering 2026-08-01 17:30:06 -05:00
Chris Tate 89b5ab3355 feat(compat): inventory Node 24 fetch surface
- Classify Node 24 fetch APIs and options by static, dynamic-only, unsupported, and out-of-scope support.

- Project the inventory into the surface manifest and add runtime drift and conformance checks.

- Fence unprofiled Headers members with actionable SC2020 diagnostics.
2026-08-01 17:01:32 -05:00
Chris Tate a1a57048eb fix: close native cache invalidation gaps 2026-08-01 15:52:41 -05:00
Chris Tate 53e07fc55c fix: harden native build caches 2026-08-01 15:39:44 -05:00
Chris Tate 89b4121ebe Harden persistent compile caches 2026-08-01 15:39:44 -05:00
Chris Tate 1f1f7d42a7 fix native cache invalidation 2026-08-01 15:39:44 -05:00
Chris Tate 6b996ea4a8 fix: harden persistent compilation cache 2026-08-01 15:39:44 -05:00
Chris Tate c23741ba75 fix: relink ambient system libraries 2026-08-01 15:39:44 -05:00
Chris Tate d1dff3879e fix(compiler): close persistent cache correctness gaps 2026-08-01 15:39:43 -05:00
Chris Tate 2c1406325d fix(compiler): harden persistent cache identity 2026-08-01 15:39:43 -05:00
Chris Tate 160df747bf fix(compiler): harden persistent build cache 2026-08-01 15:39:43 -05:00
Chris Tate a578a9ab9b Persist native compilation cache
- Enable bounded platform-native caching for production executable and library builds.

- Reuse library runtime objects across edits and avoid duplicate no-npm frontend loading.

- Cover cache defaults, invalidation, bypass behavior, and artifact equivalence; document controls.
2026-08-01 15:39:43 -05:00
Chris Tate 2d0bc2df0b Add generated Node 24 fetch conformance
- Pin the supported fetch surface to an explicit Node and Undici profile.
- Generate deterministic WebIDL, AbortSignal, and stream differential campaigns.
- Match Node stream pull scheduling while preserving typed source identity.
2026-08-01 15:33:37 -05:00
Chris Tate 0d3c006c0d Merge pull request #52 from vercel-labs/ctate/fix-fetch
feat: make fetch static-compatible
2026-08-01 14:49:41 -05:00
Chris Tate 6cf7cd9220 fix: align fetch APIs with Node coercion 2026-08-01 14:22:07 -05:00
Chris Tate bc00d3d65f fix(fetch): preserve WebIDL conversion semantics 2026-08-01 12:31:13 -05:00
Chris Tate 1544ccda88 fix(fetch): align static stream and body coercion 2026-08-01 09:10:35 -05:00
Chris Tate a6a68ea861 fix(fetch): preserve coercion and call semantics 2026-08-01 07:46:54 -05:00
Chris Tate 9db07aa05f fix fetch compatibility edge cases 2026-07-31 21:08:43 -05:00