Commit Graph
4497 Commits
Author SHA1 Message Date
Malte Ubl 7cc39c3db4 Merge remote-tracking branch 'origin/ni/i6-subclasses' into HEAD 2026-10-23 08:10:02 -07:00
Malte Ubl 23f1ac4b06 Merge remote-tracking branch 'origin/ni/i5-shared-modules' into HEAD 2026-10-23 08:09:34 -07:00
Malte Ubl 7438e6cc2c Merge remote-tracking branch 'origin/ni/i4-deferred' into HEAD 2026-10-23 08:09:07 -07:00
Malte Ubl 95b9b05096 Merge remote-tracking branch 'origin/ni/i3-exports' into HEAD 2026-10-23 08:08:40 -07:00
Malte Ubl b921774bf6 Merge remote-tracking branch 'origin/ni/i2-handles' into HEAD 2026-10-23 08:08:13 -07:00
Malte Ubl 17218d8c38 Merge remote-tracking branch 'origin/ni/i1-stack-bound' into HEAD 2026-10-23 08:07:47 -07:00
Malte Ubl e5060d5085 Merge remote-tracking branch 'origin/ni/islands-base' into HEAD 2026-10-23 08:07:26 -07:00
Malte Ubl 2d518aa680 Merge remote-tracking branch 'origin/ni-2-node-island-report' into HEAD 2026-10-23 08:06:55 -07:00
Malte UblandClaude Opus 5.5 f32d0cd184 Make the packaging island fixture a webpack bundle
Main now compiles minified npm packages (#1989), so ni-minified no
longer refuses and the island report lost its packaging class. The
fixture is now ni-bundled, whose build-transform markers still refuse it
as shipped.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 08:06:38 -07:00
Malte Ubl 433cbaf3ac Merge remote-tracking branch 'origin/main' into HEAD 2026-10-23 07:54:16 -07:00
Chris Tate dddcb339aa Revert "Cache untyped property access in programs that declare classes" (#1996) 2026-10-23 09:35:24 -05:00
Malte Ubl 586ec48c22 Merge remote-tracking branch 'origin/ni/i6-subclasses' into HEAD 2026-10-23 07:23:57 -07:00
Malte Ubl b2bd9dabce Merge remote-tracking branch 'origin/ni/i5-shared-modules' into HEAD 2026-10-23 07:23:36 -07:00
Malte Ubl 545013908a Merge remote-tracking branch 'origin/ni/i4-deferred' into HEAD 2026-10-23 07:23:14 -07:00
Malte Ubl 7cbddb7dd2 Merge remote-tracking branch 'origin/ni/i3-exports' into HEAD 2026-10-23 07:22:53 -07:00
Malte Ubl 448b1108da Merge remote-tracking branch 'origin/ni/i2-handles' into HEAD 2026-10-23 07:22:32 -07:00
Malte Ubl 4abfd98cb8 Merge remote-tracking branch 'origin/ni/i1-stack-bound' into HEAD 2026-10-23 07:22:11 -07:00
Malte Ubl 7c64604980 Merge remote-tracking branch 'origin/ni/islands-base' into HEAD 2026-10-23 07:21:49 -07:00
Malte Ubl 1d139d7005 Merge remote-tracking branch 'origin/ni-2-node-island-report' into HEAD 2026-10-23 07:21:44 -07:00
Malte UblandClaude Opus 5.5 249773437a Update the strict-user-js coverage snapshot for main's startup section
Main now reports fenced sites in module top-level code under "runs at
startup"; the use of 'legacy' on line 22 is one of them.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 07:21:37 -07:00
Chris Tate 885a829959 Compile minified npm packages such as marked (#1989) 2026-10-23 09:07:41 -05:00
Chris Tate a10c183b13 Revert "Cache untyped property access in programs that declare classes (#1995)" 2026-10-23 09:05:55 -05:00
Chris Tate 17c069667e Settle a var declared by a for-in or for-of loop only inside the loop body
A for-in or for-of loop stores its var binding only when it iterates. The
early-read analysis counted the loop as an unconditional store for every
later statement, so after a loop that ran zero times a closure read the
binding as initialized (typeof answered "string" where Node answers
"undefined"). The loop now settles the reads in its body; later reads
settle at the next unconditional store.
2026-10-23 09:03:59 -05:00
Chris Tate da2173d54b Cache untyped property access in programs that declare classes (#1995) 2026-10-23 08:47:07 -05:00
Malte Ubl d62752f11b Merge remote-tracking branch 'origin/ni/i6-subclasses' into HEAD 2026-10-23 06:43:46 -07:00
Chris Tate 4b60ac0de9 Copy class-view property bags entry by entry (#1976) 2026-10-23 08:43:19 -05:00
Malte Ubl e4a660c15a Merge remote-tracking branch 'origin/ni/i5-shared-modules' into HEAD 2026-10-23 06:43:11 -07:00
Malte UblandClaude Opus 5.5 ec5f77f508 Give the libnode smoke dispatcher the sharedPush entry the bridge requires
ABI 7 takes sharedPush from the bootstrap's dispatcher as well.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 06:43:02 -07:00
Chris Tate fa22b991cc Return ASCII header values as their own ByteString (#1978) 2026-10-23 08:42:17 -05:00
Malte Ubl 6bd7ecd789 Merge remote-tracking branch 'origin/ni/i4-deferred' into HEAD 2026-10-23 06:42:12 -07:00
Malte Ubl 4d5edcca20 Merge remote-tracking branch 'origin/ni/i3-exports' into HEAD 2026-10-23 06:41:42 -07:00
Chris Tate 8eedab9fde Cache untyped property access in programs that declare classes
A program that declares a class reads and writes untyped properties
through helpers that first select the receiver's property bag. The bag
helpers return jsvals, so the helpers read the bag through js.toDyn;
keyed helpers test each class's key table between the key's coercion and
the read; and a program with subclasses normalizes the receiver
(value = %dyn.class.normalize(value)) at the start of each helper. The
inline-cache recognizer accepted none of these forms, so every property
site in such a program called its helper. It now looks through dyn/jsval
conversions of the receiver, accepts capsule branches before a keyed
helper's final read, and accepts a rebinding of the receiver to a bag of
itself. Plain objects and arrays then read and write through the site's
cache, as they do in programs without classes.

bench/dynamic-properties (new) exercises these sites.
2026-10-23 08:41:40 -05:00
Malte Ubl 9df17b1c85 Merge remote-tracking branch 'origin/ni/i2-handles' into HEAD 2026-10-23 06:41:13 -07:00
Malte UblandClaude Opus 5.5 f42fc643de Give the libnode smoke dispatcher the load entry the bridge requires
ABI 5 takes a load function from the bootstrap's dispatcher; without it
the smoke program's start fails with an incomplete dispatcher.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 06:40:57 -07:00
Malte Ubl 3be0a1e468 Merge remote-tracking branch 'origin/main' into HEAD 2026-10-23 06:38:28 -07:00
Malte Ubl 2365c04417 Merge remote-tracking branch 'origin/main' into HEAD 2026-10-23 06:38:10 -07:00
Malte Ubl 11c5aeeadc Merge remote-tracking branch 'origin/ni/i6-subclasses' into HEAD
# Conflicts:
#	packages/compiler/src/diagnostics/diagnostic.ts
2026-10-23 06:37:26 -07:00
Malte Ubl 0a965bb87a Merge remote-tracking branch 'origin/ni/i5-shared-modules' into HEAD 2026-10-23 06:34:31 -07:00
Malte Ubl 4bbbf3e079 Merge remote-tracking branch 'origin/ni/i4-deferred' into HEAD 2026-10-23 06:33:28 -07:00
Malte Ubl 67a0656781 Merge remote-tracking branch 'origin/ni/i3-exports' into HEAD
# Conflicts:
#	packages/runtime-pack-common/runtime-pack-matrix.mjs
2026-10-23 06:32:59 -07:00
Malte Ubl 4596a4fa28 Merge remote-tracking branch 'origin/ni/i2-handles' into HEAD
# Conflicts:
#	packages/compiler/src/backend/native/executable.ts
#	packages/runtime-pack-common/runtime-pack-matrix.mjs
2026-10-23 06:32:23 -07:00
Malte UblandClaude Opus 5.5 b653f4fd08 Merge origin/ni/i1-stack-bound into ni/i2-handles
Main's FinalizationRegistry took handle tag 72, so the Node island
handle moves to 73. Island handles keep their instanceof path in the
new scr_bytes_instanceof_at.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 06:31:43 -07:00
Malte Ubl 1e70c2a844 Merge remote-tracking branch 'origin/ni/islands-base' into HEAD 2026-10-23 06:29:55 -07:00
Malte UblandClaude Opus 5.5 a0ae4ddad0 Drive the libnode smoke test through the hosted-loop bridge ABI
The libnode packs' smoke program (#1684) still used the pump/alive/
backend_fd entries that the hosted loop (#1696) replaced, so every
Build libnode pack job failed to compile it. It now provides the full
host table and dispatcher and runs Node's event loop once after starting
the asynchronous calls, as the runtime does at the end of a program.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 06:00:38 -07:00
Malte Ubl 752b9e565b Merge remote-tracking branch 'origin/ni-2-node-island-report' into HEAD 2026-10-23 05:57:22 -07:00
Malte Ubl bc15f17670 Merge remote-tracking branch 'origin/ni/13-libnode-packs' into HEAD 2026-10-23 05:57:22 -07:00
Malte Ubl 2acfd9e723 Merge remote-tracking branch 'origin/ni/3-hosted-loop' into HEAD
# Conflicts:
#	packages/compiler/src/diagnostics/diagnostic.ts
#	packages/compiler/src/frontend/pipeline.ts
2026-10-23 05:57:22 -07:00
Malte Ubl 9b3c7bb520 Merge remote-tracking branch 'origin/ni/1-libnode-loader' into HEAD 2026-10-23 05:56:23 -07:00
Malte Ubl 72b4020624 Merge remote-tracking branch 'origin/ni/1-libnode-loader' into HEAD 2026-10-23 05:55:50 -07:00
Malte Ubl c0a89e002b Merge remote-tracking branch 'origin/main' into HEAD
# Conflicts:
#	packages/compiler/src/diagnostics/diagnostic.ts
#	packages/compiler/src/frontend/pipeline.ts
2026-10-23 05:55:03 -07:00