Commit Graph
6750 Commits
Author SHA1 Message Date
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 1d915b0c04 Merge ni/3-hosted-loop
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 12:50:40 -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 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 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 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
Chris Tate 6db3393d41 Read TypeScript 7.1's heritage clause elements beside 7.0's (#2350) 2026-10-26 14:37:59 -05:00
Chris Tate f12b2b041d Cheaper trial deletion in the cycle collector 2026-10-26 14:34:49 -05:00
Chris Tate f1e27f2e44 Poll the loops of a nest on every iteration in ELF worker executables 2026-10-26 14:31:32 -05:00
Chris Tate ecaeadc1d7 Give every numbered registry one source of truth and a check (#2277) 2026-10-26 14:25:43 -05:00
Chris Tate 05dda22efa Read TypeScript 7.1's heritage clause elements beside 7.0's
TypeScript 7.1 parses the elements of an interface's `extends` and a
class's `implements` as TypeReference nodes, whose names are entity names,
where 7.0 gives ExpressionWithTypeArguments nodes. heritage-elements.ts
recognizes both forms, and the readers that took an element's expression
read either:

- contract-types.ts finds `implements ProgramLifetime` and
  `implements Acyclic` written as type references;
- narrowing-stability.ts takes a qualified name as it takes a property
  access;
- generic-functions.ts reads an element's name in either form, and keeps
  counting a name in a heritage clause as a value reference.
2026-10-26 14:09:17 -05:00
Chris Tate 276a0ca828 Decide concat spreading of dynamic values at run time; keep JS lets from index reads unchecked (#2229) 2026-10-26 14:07:43 -05:00
Chris Tate 40b189fcdc Talk to TypeScript 7.1's API server beside 7.0's (#2349) 2026-10-26 13:55:20 -05:00
Chris Tate b4e9e134f1 Merge main and address review feedback 2026-10-26 13:48:37 -05:00
Malte Ubl cc091bac48 Merge remote-tracking branch 'origin/ni/i10-js-island-requires' into HEAD 2026-10-26 11:32:11 -07:00
Malte Ubl 6c89aa2644 Merge remote-tracking branch 'origin/ni/i9-recorded-deferral' into HEAD 2026-10-26 11:31:50 -07: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
Chris Tate 9c7d552fdc Link the arena runtime into the runtime C tests 2026-10-26 13:26:29 -05: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
Chris Tate b0a559e6c9 Address review feedback 2026-10-26 13:25:42 -05:00
Malte Ubl 39a125ec38 Move the Node island handle tag to 84
Main's navigator global took tag 83.
2026-10-26 11:25:16 -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 b3e29df342 Merge remote-tracking branch 'origin/ni/13-libnode-packs' into HEAD
# Conflicts:
#	packages/cli/src/bootstrap.ts
#	packages/compiler/src/node-islands/libnode.ts
#	packages/libnode-common/smoke/smoke.c
2026-10-26 11:18:28 -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 fd18db259a Cut the shape overlay's compile cost; keep package JSDoc it does not replace (#2223) 2026-10-26 13:00:54 -05:00
Chris Tate 6a24aae11a Address review feedback 2026-10-26 12:59:08 -05:00
Chris Tate 58197ed89d Close the largest canonical-mapping gaps the shadow census found (#2340) 2026-10-26 12:42:03 -05:00
Chris Tate 9336188d16 Merge perf/shape-overlay-cost 2026-10-26 12:40:45 -05:00
Chris Tate 4cacdfe821 Merge main 2026-10-26 12:38:20 -05:00
Chris Tate 2aafe6b406 Address review feedback 2026-10-26 12:36:57 -05:00
Chris Tate ed4fc15443 Regenerate the IR field readers 2026-10-26 12:32:46 -05:00