Commit Graph
4000 Commits
Author SHA1 Message Date
Malte Ubl dc0e11fe77 Merge remote-tracking branch 'origin/ni/i8-exit' into HEAD 2026-10-26 16:08:03 -07:00
Malte Ubl 5a63ac435c Merge remote-tracking branch 'origin/ni/i7-routing' into HEAD 2026-10-26 16:07:47 -07:00
Malte Ubl c11049e25c Merge remote-tracking branch 'origin/ni/i6-subclasses' into HEAD 2026-10-26 16:07:09 -07:00
Malte Ubl 9b503eb1b3 Merge remote-tracking branch 'origin/ni/i5-shared-modules' into HEAD 2026-10-26 16:06:28 -07:00
Malte Ubl 60ed8cb2ba Merge remote-tracking branch 'origin/ni/i4-deferred' into HEAD 2026-10-26 16:05:36 -07:00
Malte Ubl 30c01c4ba9 Merge remote-tracking branch 'origin/ni/i3-exports' into HEAD 2026-10-26 16:05:09 -07:00
Malte Ubl 17c9ab53ed Merge remote-tracking branch 'origin/ni/i2-handles' into HEAD 2026-10-26 16:04:13 -07:00
Malte Ubl 803d654f99 Make corpus 6839's package an island with a spread require
Main resolves computed createRequire specifiers at run time, so the
package's computed require no longer makes an island; a spread argument
list still does.
2026-10-26 16:01:24 -07:00
Malte Ubl 437ad4ae38 Merge remote-tracking branch 'origin/ni/i1-stack-bound' into HEAD 2026-10-26 16:00:05 -07:00
Malte Ubl 4063f1e1f7 Merge remote-tracking branch 'origin/ni/islands-base' into HEAD 2026-10-26 15:59:32 -07:00
Malte Ubl d245796462 Merge remote-tracking branch 'origin/ni/3-hosted-loop' into HEAD 2026-10-26 15:58:16 -07:00
Malte Ubl 05584c5bf7 Merge remote-tracking branch 'origin/ni/1-libnode-loader' into HEAD 2026-10-26 15:55:46 -07:00
Malte UblandClaude Opus 5.5 b3decaa4cd Strip script(1)'s EOF echo without a control-character regex
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 14:07:49 -07:00
Malte Ubl 4c68e95384 Merge remote-tracking branch 'origin/ni/1-libnode-loader' into mac/ni1 2026-10-26 12:50:45 -07:00
Malte UblandClaude Opus 5.5 4c9cfc1cc4 Run the deferral test's terminal case under macOS's script(1)
BSD script takes the command after the transcript file, needs a stdin
that is not a socket, and echoes the EOF it forwards from /dev/null.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 12:50:43 -07:00
Malte Ubl 93283b5964 Merge the macOS island fixes
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

# Conflicts:
#	packages/runtime/src/scr_node_island.c
2026-10-26 12:50:43 -07:00
Malte UblandClaude Opus 5.5 bdd447ebb6 Merge the macOS island fixes
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 12:50:43 -07:00
Malte UblandClaude Opus 5.5 0b7e62dd9c Merge the macOS island fixes
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 12:50:42 -07:00
Malte UblandClaude Opus 5.5 604e471bc8 Merge the macOS island fixes
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 12:50:42 -07:00
Malte UblandClaude Opus 5.5 1ec20be530 Merge the macOS island fixes
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 12:50:42 -07:00
Malte UblandClaude Opus 5.5 7635d0b4fb Merge the macOS island fixes
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 12:50:41 -07:00
Malte UblandClaude Opus 5.5 ae7d4ebf0d Merge the macOS island fixes
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 12:50:41 -07:00
Malte UblandClaude Opus 5.5 704e6b4992 Merge the macOS island fixes
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 12:50:41 -07:00
Malte UblandClaude Opus 5.5 bfbbd349a3 Merge the macOS island fixes, and make nested entries' contexts the same way
A nested entry below the mark makes its context with ni_make_context,
so macOS clears only the top slice of the range instead of the whole of
Node's stack below the mark on every nested call (17 ms per call, and
the cross-heap GC test ran past its timeout).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 12:50:40 -07:00
Malte UblandClaude Opus 5.5 b1005549c3 Merge the macOS island fixes of ni/1-libnode-loader
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 12:50:39 -07:00
Malte UblandClaude Opus 5.5 50385349d3 Merge the macOS island fixes of ni/13-libnode-packs
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 12:50:39 -07:00
Malte UblandClaude Opus 5.5 5f3e97998d Merge the macOS island fixes of ni/1-libnode-loader
The libnode-linux action becomes .github/actions/libnode, which serves
the Linux x64 and macOS lanes: the libnode-packs cache for the runner's
platform, else the development pack.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 12:50:39 -07:00
Malte UblandClaude Opus 5.5 df869f28b0 Run Node islands on macOS, and test them in the macOS CI lanes
macOS binds libnode's own calls to v8::base::Stack inside libnode, so the
bridge's definitions cannot give V8 Node's stack as they do on Linux; V8
took the main thread's stack start and its conservative scan faulted in
the gap above Node's stack. While Node starts on its stack, the main
thread's pthread record now names that stack, which V8 reads once and
keeps.

macOS's makecontext clears the whole stack it is given, so it gets only
the top slice of Node's stack (no 64 MiB pass per context).

CI: dev-pack.json pins mirrored darwin-arm64 and darwin-x64 libnode
builds of the pinned Node 24.22.0 from the libnode-packs workflow, the
dev-pack action serves either platform, and the macOS lanes provision it,
so island tests fail rather than skip on macOS CI. The arm64 LLVM job
runs the island harness; the Intel job runs it and the island corpus.
bridge-smoke loads the .dylib bridge on macOS.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 12:50:38 -07:00
Chris Tate 2e627dab79 Merge main 2026-10-26 14:45:37 -05:00
Malte Ubl 8d1e505850 Merge remote-tracking branch 'origin/ni/i8-exit' into HEAD
# Conflicts:
#	tests/harness/llvm-differential.test.ts
2026-10-26 11:30:16 -07:00
Malte Ubl 240d552d82 Merge remote-tracking branch 'origin/ni/i7-routing' into HEAD 2026-10-26 11:29:33 -07:00
Malte Ubl b2fc8c1cd8 Merge remote-tracking branch 'origin/ni/i6-subclasses' into HEAD 2026-10-26 11:28:52 -07:00
Malte Ubl 8b370de223 Merge remote-tracking branch 'origin/ni/i5-shared-modules' into HEAD
# Conflicts:
#	packages/compiler/ambient/scriptc-node-fallback.d.ts
#	packages/compiler/src/frontend/lowering/lower-classes.ts
#	packages/compiler/src/frontend/lowering/lower-modules.ts
#	tests/harness/npm.test.ts
2026-10-26 11:28:01 -07:00
Malte Ubl 01a87c968a Merge remote-tracking branch 'origin/ni/i4-deferred' into HEAD
# Conflicts:
#	packages/compiler/src/frontend/lowering/lower-modules.ts
2026-10-26 11:27:04 -07:00
Malte Ubl a8067be282 Merge remote-tracking branch 'origin/ni/i3-exports' into HEAD 2026-10-26 11:26:23 -07:00
Malte Ubl 0d054133ad Merge remote-tracking branch 'origin/ni/i2-handles' into HEAD
# Conflicts:
#	packages/compiler/src/frontend/lowering/lower-classes.ts
2026-10-26 11:25:53 -07:00
Malte Ubl 3a5aab5b2f Merge remote-tracking branch 'origin/ni/i1-stack-bound' into HEAD
# Conflicts:
#	packages/compiler/src/cli/command.ts
#	packages/compiler/src/executable/executable-cache.ts
#	packages/compiler/src/frontend/lowering/builtins/module-resolution.ts
#	packages/compiler/src/frontend/lowering/lowerer.ts
#	packages/compiler/src/index.ts
#	packages/runtime/src/scr_json.c
#	tests/harness/npm.test.ts
2026-10-26 11:22:14 -07:00
Malte Ubl f5b1e5f007 Merge remote-tracking branch 'origin/ni/islands-base' into HEAD
# Conflicts:
#	packages/compiler/src/diagnostics/diagnostic.ts
#	packages/compiler/src/node-islands/libnode-pack.ts
#	packages/libnode-darwin-arm64/package.json
#	packages/libnode-darwin-x64/package.json
#	packages/libnode-linux-arm64-gnu/package.json
#	packages/libnode-linux-x64-gnu/package.json
#	packages/node/package.json
2026-10-26 11:20:55 -07:00
Malte Ubl ae66edf566 Merge remote-tracking branch 'origin/ni/3-hosted-loop' into HEAD
# Conflicts:
#	packages/cli/src/bootstrap.ts
#	packages/compiler/src/diagnostics/diagnostic.ts
#	packages/compiler/src/node-islands/libnode.ts
2026-10-26 11:17:30 -07:00
Malte Ubl 141279b74c Merge remote-tracking branch 'origin/ni/1-libnode-loader' into ni/13-libnode-packs 2026-10-26 11:15:43 -07:00
Malte Ubl c088613033 Merge remote-tracking branch 'origin/ni/1-libnode-loader' into ni/3-hosted-loop 2026-10-26 11:15:41 -07:00
Chris Tate de3a75ff81 Push localized failure down to the failing component of a declared type (#2307) 2026-10-26 13:10:05 -05:00
Malte Ubl 5817be4d0f Merge remote-tracking branch 'origin/main' into ni/1-libnode-loader
# Conflicts:
#	packages/compiler/src/diagnostics/diagnostic.ts
#	packages/compiler/src/ir/function-references.test.ts
2026-10-26 11:08:44 -07:00
Chris Tate 21c199ce0d Keep the layout of arrays and records passed to wider parameter types (#2329) 2026-10-26 13:08:31 -05:00
Chris Tate 4cacdfe821 Merge main 2026-10-26 12:38:20 -05:00
Chris Tate 34c2f9851d Have the native CLI packages depend on their LLVM helper and runtime pack (#2333) 2026-10-26 11:47:34 -05:00
Chris Tate 2f13edd058 Merge main 2026-10-26 11:36:06 -05:00
Chris Tate de6cdf1156 Add the shape overlay: typed JavaScript from analysis-proven facts (opt-in) (#2176) 2026-10-26 11:33:47 -05:00
Chris Tate a5971450ec Tear down self-recursive records and classes in one loop (#2343) 2026-10-26 11:14:35 -05:00
Chris Tate fbd82745e3 Merge the island stack base 2026-10-26 10:58:36 -05:00