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
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
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
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
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
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
af685d05f9
fix: close fetch inventory review gaps
2026-08-02 10:41:37 -05:00
Chris Tate
b90c0466b2
fix: enforce fetch surface compatibility
2026-08-02 01:09:40 -05:00
Chris Tate
f2b9bb9c6f
Fix fetch fence aliases and computed unions
2026-08-01 22:38:08 -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
53e07fc55c
fix: harden native build 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
2c1406325d
fix(compiler): harden persistent cache identity
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
5985d54a27
fix: preserve fetch coercion semantics
2026-08-01 08:28:01 -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
Chris Tate
54ad052a98
fix(fetch): preserve live callback semantics
2026-07-31 19:52:47 -05:00
Chris Tate
9a6cc8f239
fix(fetch): preserve live Web API references
2026-07-31 18:53:28 -05:00
Chris Tate
b7da02e53b
fix(fetch): preserve typed reference semantics
2026-07-31 17:21:52 -05:00
Chris Tate
c4ee48ea03
fix fetch stream parity edge cases
2026-07-31 15:58:29 -05:00
Chris Tate
07c131a55b
fix: address remaining fetch review issues
2026-07-31 15:03:19 -05:00