Commit Graph
469 Commits
Author SHA1 Message Date
Jimmy Miller 46fc79e201 Fix sparse array semantic gaps 2026-08-04 16:31:31 -04:00
Jimmy Miller afb870cf8c Match pinned structured clone wording 2026-08-04 10:43:46 -04:00
Jimmy Miller a4d243ca34 Refresh structured clone oracle cache 2026-08-04 10:30:46 -04:00
Jimmy Miller 9cf784766f Align sparse compatibility tests 2026-08-04 10:16:45 -04:00
Jimmy Miller 4123689c40 Fix sparse array rebase regressions 2026-08-03 17:19:03 -04:00
Jimmy Miller f2aedc7c51 Preserve recursive dyn eligibility guards 2026-08-03 15:36:51 -04:00
Jimmy Miller aed4eaef49 Fix sparse array representation gaps 2026-08-03 15:34:48 -04:00
Jimmy Miller 522e841fd8 Add sparse array support
Represent array holes independently from element storage with an optional runtime presence bitmap. Preserve hole state through length changes, deletion, slicing, concatenation, sorting, copying methods, iteration, serialization, and reference-counted cleanup while retaining packed-array fast paths.

Extend frontend lowering and IR validation for sparse literals, Array length construction, property-presence checks, delete, length assignment, and sparse appends. Add dense-array analysis so proven packed reads can use dedicated unchecked-presence runtime entry points in both native backends.

Add differential corpus coverage, runtime lifecycle tests, IR analysis tests, and compile fences for JavaScript fill loops that cannot prove complete initialization. Update affected binary-size expectations and align structuredClone transfer diagnostics with Node wording.
2026-08-03 15:34:20 -04: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.
v0.0.22
2026-08-03 01:31:43 -05:00
Chris Tate 22666584df Restore sandbox test performance (#86)
* Restore sandbox test performance

- Re-enable secure native compiler caching for repo-local test artifacts.
- Isolate strict cache coverage while keeping it off the sandbox critical path.

* fix: respect sandbox test runtime limits
2026-08-03 01:03:34 -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 1743ba7ded test(cli): pin coverage exit status (#81)
- Exercise fully static and partial coverage through the real CLI process.
- Reserve nonzero status for failed TypeScript preflight analysis.
2026-08-02 17:31:46 -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 7de8be18c0 fix(runtime): reject inherited bodies for GET and HEAD 2026-08-02 16:09:08 -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 7e5a599c07 Merge pull request #79 from vercel-labs/issue-75-a420
Correct stale language limitations
2026-08-02 13:53:39 -05:00
Chris Tateandsachinmour b2dc9866c2 docs: update stale limitations
Co-authored-by: sachinmour <11920517+sachinmour@users.noreply.github.com>
2026-08-02 13:38:05 -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 d72468b28b Merge pull request #76 from vercel-labs/ctate/fetch-conformance
Add generated Node 24 fetch conformance
2026-08-01 15:51:52 -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