@scriptc/compiler 0.1.2 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (206) hide show
  1. package/ambient/scriptc-node-fallback.d.ts +258 -64
  2. package/dist/backend/c/async.d.ts +30 -0
  3. package/dist/backend/c/async.js +224 -0
  4. package/dist/backend/c/async.js.map +1 -1
  5. package/dist/backend/c/c-emitter.d.ts +13 -0
  6. package/dist/backend/c/c-emitter.js +28 -9
  7. package/dist/backend/c/c-emitter.js.map +1 -1
  8. package/dist/backend/c/exprs.d.ts +8 -1
  9. package/dist/backend/c/exprs.js +445 -60
  10. package/dist/backend/c/exprs.js.map +1 -1
  11. package/dist/backend/c/shapes.js +15 -13
  12. package/dist/backend/c/shapes.js.map +1 -1
  13. package/dist/backend/c/types.d.ts +4 -0
  14. package/dist/backend/c/types.js +20 -1
  15. package/dist/backend/c/types.js.map +1 -1
  16. package/dist/backend/c/types.test.js +8 -1
  17. package/dist/backend/c/types.test.js.map +1 -1
  18. package/dist/backend/c/walkers.js +32 -11
  19. package/dist/backend/c/walkers.js.map +1 -1
  20. package/dist/backend/json-literal.d.ts +7 -0
  21. package/dist/backend/json-literal.js +17 -0
  22. package/dist/backend/json-literal.js.map +1 -0
  23. package/dist/backend/json-literal.test.d.ts +1 -0
  24. package/dist/backend/json-literal.test.js +17 -0
  25. package/dist/backend/json-literal.test.js.map +1 -0
  26. package/dist/backend/link-plan.d.ts +2 -1
  27. package/dist/backend/link-plan.js +6 -1
  28. package/dist/backend/link-plan.js.map +1 -1
  29. package/dist/backend/llvm/classes.js +8 -7
  30. package/dist/backend/llvm/classes.js.map +1 -1
  31. package/dist/backend/llvm/common.d.ts +4 -0
  32. package/dist/backend/llvm/common.js +6 -0
  33. package/dist/backend/llvm/common.js.map +1 -1
  34. package/dist/backend/llvm/common.test.d.ts +1 -0
  35. package/dist/backend/llvm/common.test.js +9 -0
  36. package/dist/backend/llvm/common.test.js.map +1 -0
  37. package/dist/backend/llvm/dyn.d.ts +4 -0
  38. package/dist/backend/llvm/dyn.js +24 -13
  39. package/dist/backend/llvm/dyn.js.map +1 -1
  40. package/dist/backend/llvm/emitter.js +54 -12
  41. package/dist/backend/llvm/emitter.js.map +1 -1
  42. package/dist/backend/llvm/expr-bytes.d.ts +1 -1
  43. package/dist/backend/llvm/expr-bytes.js +8 -8
  44. package/dist/backend/llvm/expr-bytes.js.map +1 -1
  45. package/dist/backend/llvm/expr-callbacks.d.ts +9 -0
  46. package/dist/backend/llvm/expr-callbacks.js +125 -0
  47. package/dist/backend/llvm/expr-callbacks.js.map +1 -1
  48. package/dist/backend/llvm/expr-context.d.ts +18 -2
  49. package/dist/backend/llvm/expr-dispatch.js +1 -0
  50. package/dist/backend/llvm/expr-dispatch.js.map +1 -1
  51. package/dist/backend/llvm/expr-dynamic.js +9 -0
  52. package/dist/backend/llvm/expr-dynamic.js.map +1 -1
  53. package/dist/backend/llvm/expr-primitives.d.ts +1 -1
  54. package/dist/backend/llvm/expr-primitives.js +38 -9
  55. package/dist/backend/llvm/expr-primitives.js.map +1 -1
  56. package/dist/backend/llvm/expr-primitives.test.d.ts +1 -0
  57. package/dist/backend/llvm/expr-primitives.test.js +38 -0
  58. package/dist/backend/llvm/expr-primitives.test.js.map +1 -0
  59. package/dist/backend/llvm/expr-records.js +3 -3
  60. package/dist/backend/llvm/expr-records.js.map +1 -1
  61. package/dist/backend/llvm/expr-stream-bridges.js +2 -1
  62. package/dist/backend/llvm/expr-stream-bridges.js.map +1 -1
  63. package/dist/backend/llvm/expr-stream-callbacks.d.ts +6 -0
  64. package/dist/backend/llvm/expr-stream-callbacks.js +122 -0
  65. package/dist/backend/llvm/expr-stream-callbacks.js.map +1 -1
  66. package/dist/backend/llvm/lib-dispatch.js +22 -0
  67. package/dist/backend/llvm/lib-dispatch.js.map +1 -1
  68. package/dist/backend/llvm/lib-filesystem.js +68 -10
  69. package/dist/backend/llvm/lib-filesystem.js.map +1 -1
  70. package/dist/backend/llvm/lib-network.js +18 -2
  71. package/dist/backend/llvm/lib-network.js.map +1 -1
  72. package/dist/backend/llvm/lib-process.js +206 -11
  73. package/dist/backend/llvm/lib-process.js.map +1 -1
  74. package/dist/backend/llvm/lib-shared.js +82 -0
  75. package/dist/backend/llvm/lib-shared.js.map +1 -1
  76. package/dist/backend/llvm/lib-stream.js +23 -0
  77. package/dist/backend/llvm/lib-stream.js.map +1 -1
  78. package/dist/backend/llvm/shapes.js +10 -8
  79. package/dist/backend/llvm/shapes.js.map +1 -1
  80. package/dist/backend/llvm/walkers.js +7 -5
  81. package/dist/backend/llvm/walkers.js.map +1 -1
  82. package/dist/backend/native-link-info.d.ts +2 -1
  83. package/dist/backend/native-link-info.js +4 -0
  84. package/dist/backend/native-link-info.js.map +1 -1
  85. package/dist/backend/native-link-info.test.js +24 -1
  86. package/dist/backend/native-link-info.test.js.map +1 -1
  87. package/dist/backend/native-toolchain.d.ts +11 -6
  88. package/dist/backend/native-toolchain.js +30 -13
  89. package/dist/backend/native-toolchain.js.map +1 -1
  90. package/dist/backend/native-toolchain.test.js +36 -1
  91. package/dist/backend/native-toolchain.test.js.map +1 -1
  92. package/dist/backend/runtime-pack-targets.test.js +1 -1
  93. package/dist/backend/runtime-pack-targets.test.js.map +1 -1
  94. package/dist/backend/runtime-pack.test.js +29 -10
  95. package/dist/backend/runtime-pack.test.js.map +1 -1
  96. package/dist/backend/targets.d.ts +9 -0
  97. package/dist/backend/targets.js +22 -0
  98. package/dist/backend/targets.js.map +1 -1
  99. package/dist/backend/targets.test.js +13 -1
  100. package/dist/backend/targets.test.js.map +1 -1
  101. package/dist/coverage/surface-manifest.js +9 -0
  102. package/dist/coverage/surface-manifest.js.map +1 -1
  103. package/dist/diagnostics/diagnostic.js +4 -4
  104. package/dist/diagnostics/diagnostic.js.map +1 -1
  105. package/dist/executable/executable-cache.d.ts +3 -0
  106. package/dist/executable/executable-cache.js +4 -0
  107. package/dist/executable/executable-cache.js.map +1 -1
  108. package/dist/executable/executable-cache.test.js +1 -0
  109. package/dist/executable/executable-cache.test.js.map +1 -1
  110. package/dist/frontend/fork-target.d.ts +17 -0
  111. package/dist/frontend/fork-target.js +256 -0
  112. package/dist/frontend/fork-target.js.map +1 -0
  113. package/dist/frontend/lowering/abstract-equality.d.ts +6 -0
  114. package/dist/frontend/lowering/abstract-equality.js +250 -0
  115. package/dist/frontend/lowering/abstract-equality.js.map +1 -0
  116. package/dist/frontend/lowering/containers/bytes.d.ts +0 -4
  117. package/dist/frontend/lowering/containers/bytes.js +112 -28
  118. package/dist/frontend/lowering/containers/bytes.js.map +1 -1
  119. package/dist/frontend/lowering/lower-assert.js +87 -12
  120. package/dist/frontend/lowering/lower-assert.js.map +1 -1
  121. package/dist/frontend/lowering/lower-builtins.d.ts +72 -44
  122. package/dist/frontend/lowering/lower-builtins.js +1323 -165
  123. package/dist/frontend/lowering/lower-builtins.js.map +1 -1
  124. package/dist/frontend/lowering/lower-calls.d.ts +37 -27
  125. package/dist/frontend/lowering/lower-calls.js +682 -132
  126. package/dist/frontend/lowering/lower-calls.js.map +1 -1
  127. package/dist/frontend/lowering/lower-classes.js +39 -8
  128. package/dist/frontend/lowering/lower-classes.js.map +1 -1
  129. package/dist/frontend/lowering/lower-containers.js +162 -8
  130. package/dist/frontend/lowering/lower-containers.js.map +1 -1
  131. package/dist/frontend/lowering/lower-event-emitter.js +212 -21
  132. package/dist/frontend/lowering/lower-event-emitter.js.map +1 -1
  133. package/dist/frontend/lowering/lower-exprs.js +238 -87
  134. package/dist/frontend/lowering/lower-exprs.js.map +1 -1
  135. package/dist/frontend/lowering/lower-inspect.d.ts +4 -0
  136. package/dist/frontend/lowering/lower-inspect.js +8 -1
  137. package/dist/frontend/lowering/lower-inspect.js.map +1 -1
  138. package/dist/frontend/lowering/lower-island.d.ts +6 -3
  139. package/dist/frontend/lowering/lower-island.js +165 -6
  140. package/dist/frontend/lowering/lower-island.js.map +1 -1
  141. package/dist/frontend/lowering/lower-modules.d.ts +6 -0
  142. package/dist/frontend/lowering/lower-modules.js +192 -38
  143. package/dist/frontend/lowering/lower-modules.js.map +1 -1
  144. package/dist/frontend/lowering/lower-namespaces.js +7 -0
  145. package/dist/frontend/lowering/lower-namespaces.js.map +1 -1
  146. package/dist/frontend/lowering/lower-server.d.ts +1 -1
  147. package/dist/frontend/lowering/lower-server.js +130 -27
  148. package/dist/frontend/lowering/lower-server.js.map +1 -1
  149. package/dist/frontend/lowering/lower-stmts.d.ts +5 -4
  150. package/dist/frontend/lowering/lower-stmts.js +141 -21
  151. package/dist/frontend/lowering/lower-stmts.js.map +1 -1
  152. package/dist/frontend/lowering/lower-stream.d.ts +3 -0
  153. package/dist/frontend/lowering/lower-stream.js +7 -0
  154. package/dist/frontend/lowering/lower-stream.js.map +1 -1
  155. package/dist/frontend/lowering/lowerer.d.ts +90 -13
  156. package/dist/frontend/lowering/lowerer.js +416 -76
  157. package/dist/frontend/lowering/lowerer.js.map +1 -1
  158. package/dist/frontend/lowering/surfaces.d.ts +31 -3
  159. package/dist/frontend/lowering/surfaces.js +173 -90
  160. package/dist/frontend/lowering/surfaces.js.map +1 -1
  161. package/dist/frontend/npm-static-declarations.d.ts +4 -0
  162. package/dist/frontend/npm-static-declarations.js +83 -14
  163. package/dist/frontend/npm-static-declarations.js.map +1 -1
  164. package/dist/frontend/npm-static-declarations.test.js +33 -2
  165. package/dist/frontend/npm-static-declarations.test.js.map +1 -1
  166. package/dist/frontend/npm-static.js +6 -5
  167. package/dist/frontend/npm-static.js.map +1 -1
  168. package/dist/frontend/npm.d.ts +15 -3
  169. package/dist/frontend/npm.js +80 -8
  170. package/dist/frontend/npm.js.map +1 -1
  171. package/dist/frontend/npm.test.js +76 -9
  172. package/dist/frontend/npm.test.js.map +1 -1
  173. package/dist/frontend/program.js +110 -12
  174. package/dist/frontend/program.js.map +1 -1
  175. package/dist/frontend/resolve.d.ts +28 -7
  176. package/dist/frontend/resolve.js +90 -26
  177. package/dist/frontend/resolve.js.map +1 -1
  178. package/dist/frontend/resolve.test.js +21 -1
  179. package/dist/frontend/resolve.test.js.map +1 -1
  180. package/dist/frontend/type-mapper.d.ts +5 -0
  181. package/dist/frontend/type-mapper.js +115 -33
  182. package/dist/frontend/type-mapper.js.map +1 -1
  183. package/dist/index.d.ts +5 -0
  184. package/dist/index.js +30 -3
  185. package/dist/index.js.map +1 -1
  186. package/dist/ir/analysis.js +1 -0
  187. package/dist/ir/analysis.js.map +1 -1
  188. package/dist/ir/ir.d.ts +155 -66
  189. package/dist/ir/ir.js +143 -6
  190. package/dist/ir/ir.js.map +1 -1
  191. package/dist/ir/ir.test.js +14 -1
  192. package/dist/ir/ir.test.js.map +1 -1
  193. package/dist/ir/serialize.d.ts +1 -1
  194. package/dist/ir/serialize.js +1 -1
  195. package/dist/ir/serialize.js.map +1 -1
  196. package/dist/ir/validate.js +242 -18
  197. package/dist/ir/validate.js.map +1 -1
  198. package/dist/library/int-infer.test.js +4 -4
  199. package/dist/library/int-infer.test.js.map +1 -1
  200. package/dist/library/library-cache.d.ts +1 -0
  201. package/dist/library/library-cache.js +1 -0
  202. package/dist/library/library-cache.js.map +1 -1
  203. package/dist/library/library-cache.test.js +18 -5
  204. package/dist/library/library-cache.test.js.map +1 -1
  205. package/package.json +17 -17
  206. package/surface-manifest.json +163 -54
@@ -1 +1 @@
1
- {"version":3,"file":"native-link-info.js","sourceRoot":"","sources":["../../src/backend/native-link-info.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"native-link-info.js","sourceRoot":"","sources":["../../src/backend/native-link-info.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { join } from "node:path";
4
4
  import { describe, expect, test } from "vitest";
5
5
  import { loadFfiProfile } from "../ffi/ffi-manifest.js";
6
6
  import { createNativeLinkInfo } from "./native-link-info.js";
7
- import { MACOS_ARM64_TARGET } from "./targets.js";
7
+ import { MACOS_ARM64_TARGET, WASM32_WASI_TARGET } from "./targets.js";
8
8
  const BASE = {
9
9
  dynamic: false,
10
10
  regex: false,
@@ -22,6 +22,7 @@ const BASE = {
22
22
  events: false,
23
23
  emitter: false,
24
24
  symbol: false,
25
+ bigint: false,
25
26
  searchParams: false,
26
27
  qs: false,
27
28
  parseArgs: false,
@@ -45,7 +46,9 @@ describe("native link info recipes", () => {
45
46
  ...BASE,
46
47
  dynamic: true,
47
48
  regex: true,
49
+ assert: true,
48
50
  inspect: true,
51
+ bigint: true,
49
52
  zlib: true,
50
53
  tls: true,
51
54
  },
@@ -56,6 +59,8 @@ describe("native link info recipes", () => {
56
59
  "src/scr_regex.c",
57
60
  "src/scr_assert.c",
58
61
  "src/scr_inspect.c",
62
+ "src/scr_bigint.c",
63
+ "src/scr_bigint_assert.c",
59
64
  "src/scr_zlib.c",
60
65
  "src/scr_zlib_island.c",
61
66
  "src/scr_tls.c",
@@ -95,6 +100,24 @@ describe("native link info recipes", () => {
95
100
  });
96
101
  expect(info.link.driver_flags).toContain("-Wl,-dead_strip");
97
102
  });
103
+ test("WASI external link recipes strip DWARF only in release mode", async () => {
104
+ const release = await createNativeLinkInfo({
105
+ programObject: "/out/app.o",
106
+ target: WASM32_WASI_TARGET,
107
+ features: BASE,
108
+ ffi: null,
109
+ optimization: "release",
110
+ });
111
+ const dev = await createNativeLinkInfo({
112
+ programObject: "/out/app.o",
113
+ target: WASM32_WASI_TARGET,
114
+ features: BASE,
115
+ ffi: null,
116
+ optimization: "dev",
117
+ });
118
+ expect(release.link.driver_flags).toContain("-Wl,--strip-debug");
119
+ expect(dev.link.driver_flags).not.toContain("-Wl,--strip-debug");
120
+ });
98
121
  test("FFI symbols and resolved inputs remain ordered before the runtime", async () => {
99
122
  const dir = await mkdtemp(join(tmpdir(), "scriptc-native-link-info-unit-"));
100
123
  const library = join(dir, "native.o");
@@ -1 +1 @@
1
- {"version":3,"file":"native-link-info.test.js","sourceRoot":"","sources":["../../src/backend/native-link-info.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"native-link-info.test.js","sourceRoot":"","sources":["../../src/backend/native-link-info.test.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,15 @@
1
+ import { type WindowsSubsystem } from "./targets.js";
1
2
  export { buildCacheRoot, prepareBuildCacheRoot, pruneBuildCache, resolveBuildCacheRoot, } from "./build-cache.js";
2
- export declare const EXECUTABLE_RUNTIME_SOURCES: readonly ["scr_number.c", "scr_string.c", "scr_array.c", "scr_bytes.c", "scr_bytes_io.c", "scr_map.c", "scr_closure.c", "scr_ffi.c", "scr_object.c", "scr_union.c", "scr_exception.c", "scr_error.c", "scr_console.c", "scr_lib.c", "scr_path.c", "scr_url.c", "scr_json.c", "scr_async.c", "scr_child.c", "scr_cycle.c"];
3
+ export declare const EXECUTABLE_RUNTIME_SOURCES: readonly ["scr_number.c", "scr_string.c", "scr_array.c", "scr_bytes.c", "scr_bytes_io.c", "scr_map.c", "scr_closure.c", "scr_ffi.c", "scr_object.c", "scr_union.c", "scr_exception.c", "scr_error.c", "scr_console.c", "scr_lib.c", "scr_path.c", "scr_url.c", "scr_json.c", "scr_async.c", "scr_crypto_async.c", "scr_child.c", "scr_cycle.c"];
3
4
  /**
4
- * Per-executable section-elimination recipe. This belongs beside the native
5
+ * Per-target section-elimination recipe. This belongs beside the native
5
6
  * driver rather than a particular build path: one-shot compilation, cached
6
7
  * runtime objects, external object recipes, and runtime packs must all agree
7
- * on what their final executable linker is allowed to discard.
8
+ * on what their final linker is allowed to discard.
8
9
  *
9
- * Archives and compile-only object/library recipes deliberately do not use
10
- * the link half. In particular, `--lib` preserves its established object and
11
- * archive contract; section GC is an executable-link optimization only.
10
+ * Executable recipes use both halves. Archive and compile-only recipes never
11
+ * use the link half, but `--lib` uses the compile half so its consumers retain
12
+ * the choice to eliminate unused sections when they perform the final link.
12
13
  */
13
14
  export declare function executableSectionEliminationFlags(platform: string): {
14
15
  compile: string[];
@@ -43,6 +44,8 @@ export interface CcOptions {
43
44
  * executable lane; dev selects -O0 and may compile a caller-provided LLVM
44
45
  * shard set into independently cached objects before the final link. */
45
46
  optimization?: "release" | "dev";
47
+ /** PE executable subsystem; omitted and console use the driver default. */
48
+ windowsSubsystem?: WindowsSubsystem;
46
49
  /** Optional equivalent LLVM modules for dev compilation. Unsupported
47
50
  * targets or merge failures fall back to the canonical cPath TU. */
48
51
  programShards?: readonly {
@@ -167,6 +170,7 @@ export interface CcOptions {
167
170
  * registry initializes lazily), so it cross-compiles everywhere.
168
171
  * Symbol-free binaries keep their exact link line. */
169
172
  symbol?: boolean;
173
+ bigint?: boolean;
170
174
  /** The program uses the URLSearchParams surface (moduleUsesSearchParams
171
175
  * on the IR): compiles scr_url_params.c into the binary — the symbol
172
176
  * gating precedent: pure data structure (no loop hooks, no install),
@@ -369,6 +373,7 @@ export interface LibArchiveOptions {
369
373
  assert?: boolean;
370
374
  inspect?: boolean;
371
375
  symbol?: boolean;
376
+ bigint?: boolean;
372
377
  searchParams?: boolean;
373
378
  emitter?: boolean;
374
379
  zlib?: boolean;
@@ -10,6 +10,7 @@ import { performance } from "node:perf_hooks";
10
10
  import { fileURLToPath } from "node:url";
11
11
  import { promisify } from "node:util";
12
12
  import { localizeElfObject, mergeAndLocalizeCoffObjects } from "./object-localize.js";
13
+ import { executableOptimizationLinkerArgs, windowsSubsystemLinkerArgs } from "./targets.js";
13
14
  import { createVendorArchives, MBEDTLS_VERSION, QJS_COMMIT, ZLIB_VERSION, } from "./vendor-archives.js";
14
15
  import { cacheDigestPath, cacheRootDir, copyValidCachedFile, ensurePrivateCacheRoot, fileDigest, fileExists, installArtifact, privateSiblingPath, protectCachedArtifact, pruneCache, publishCachedFile, validCachedFile, } from "./build-cache.js";
15
16
  export { buildCacheRoot, prepareBuildCacheRoot, pruneBuildCache, resolveBuildCacheRoot, } from "./build-cache.js";
@@ -44,16 +45,16 @@ function stableTestMemo(cache, key, probe) {
44
45
  });
45
46
  return pending;
46
47
  }
47
- export const EXECUTABLE_RUNTIME_SOURCES = ["scr_number.c", "scr_string.c", "scr_array.c", "scr_bytes.c", "scr_bytes_io.c", "scr_map.c", "scr_closure.c", "scr_ffi.c", "scr_object.c", "scr_union.c", "scr_exception.c", "scr_error.c", "scr_console.c", "scr_lib.c", "scr_path.c", "scr_url.c", "scr_json.c", "scr_async.c", "scr_child.c", "scr_cycle.c"];
48
+ export const EXECUTABLE_RUNTIME_SOURCES = ["scr_number.c", "scr_string.c", "scr_array.c", "scr_bytes.c", "scr_bytes_io.c", "scr_map.c", "scr_closure.c", "scr_ffi.c", "scr_object.c", "scr_union.c", "scr_exception.c", "scr_error.c", "scr_console.c", "scr_lib.c", "scr_path.c", "scr_url.c", "scr_json.c", "scr_async.c", "scr_crypto_async.c", "scr_child.c", "scr_cycle.c"];
48
49
  /**
49
- * Per-executable section-elimination recipe. This belongs beside the native
50
+ * Per-target section-elimination recipe. This belongs beside the native
50
51
  * driver rather than a particular build path: one-shot compilation, cached
51
52
  * runtime objects, external object recipes, and runtime packs must all agree
52
- * on what their final executable linker is allowed to discard.
53
+ * on what their final linker is allowed to discard.
53
54
  *
54
- * Archives and compile-only object/library recipes deliberately do not use
55
- * the link half. In particular, `--lib` preserves its established object and
56
- * archive contract; section GC is an executable-link optimization only.
55
+ * Executable recipes use both halves. Archive and compile-only recipes never
56
+ * use the link half, but `--lib` uses the compile half so its consumers retain
57
+ * the choice to eliminate unused sections when they perform the final link.
57
58
  */
58
59
  export function executableSectionEliminationFlags(platform) {
59
60
  switch (platform) {
@@ -609,7 +610,7 @@ export function cacheTargetIdentity(driver, hostPlatform = process.platform, hos
609
610
  /** The library base: the executable lane's unconditional sources minus the
610
611
  * fiber/loop and child-process units, plus the library-mode TU. */
611
612
  const LIB_RUNTIME_SOURCES = [
612
- ...EXECUTABLE_RUNTIME_SOURCES.filter((f) => f !== "scr_async.c" && f !== "scr_child.c" && f !== "scr_ffi.c"),
613
+ ...EXECUTABLE_RUNTIME_SOURCES.filter((f) => f !== "scr_async.c" && f !== "scr_crypto_async.c" && f !== "scr_child.c" && f !== "scr_ffi.c"),
613
614
  "scr_library.c",
614
615
  ];
615
616
  function updateProgramShardCacheIdentity(hash, shards, publicSymbols, mergeIdentity) {
@@ -722,6 +723,8 @@ export async function compileLibArchive(opts) {
722
723
  ...(opts.assert || regex || opts.symbol ? ["scr_assert.c"] : []),
723
724
  ...(opts.inspect ? ["scr_inspect.c"] : []),
724
725
  ...(opts.symbol ? ["scr_symbol.c"] : []),
726
+ ...(opts.bigint ? ["scr_bigint.c"] : []),
727
+ ...(opts.assert && opts.bigint ? ["scr_bigint_assert.c"] : []),
725
728
  ...(opts.searchParams ? ["scr_url_params.c"] : []),
726
729
  ...(opts.emitter ? ["scr_events_emitter.c", "scr_dyn_handle.c"] : []),
727
730
  ...(opts.zlib ? ["scr_zlib.c"] : []),
@@ -733,6 +736,7 @@ export async function compileLibArchive(opts) {
733
736
  ...(sanitize
734
737
  ? ["-O1", "-fsanitize=address", "-DSCR_RC_AUDIT"]
735
738
  : [optimization === "dev" ? "-O0" : "-O2"]),
739
+ ...executableSectionEliminationFlags(targetPlatform(driver)).compile,
736
740
  "-fno-math-errno",
737
741
  "-fno-strict-aliasing", // the emitted object model type-puns — see compileC's buildArgs
738
742
  "-Wno-deprecated-declarations",
@@ -2636,10 +2640,8 @@ function localArtifactIdentity(opts, driver, environmentFingerprint, compilerIde
2636
2640
  .filter(([key, value]) => value !== undefined && key !== "programShards" && key !== "programPublicSymbols")
2637
2641
  .sort(([a], [b]) => a.localeCompare(b)));
2638
2642
  const executableSectionFlags = executableSectionEliminationFlags(targetPlatform(driver));
2643
+ const executableOptimizationFlags = executableOptimizationLinkerArgs(targetPlatform(driver), opts.optimization ?? "release");
2639
2644
  const hash = createHash("sha256")
2640
- // v2 adds the executable section-GC recipe. A v1 output-local stamp can
2641
- // name a same-source binary from before unused runtime sections were
2642
- // eliminated, so it must never short-circuit the new linker invocation.
2643
2645
  .update("local-artifact-v2\0")
2644
2646
  .update(cacheTargetIdentity(driver)).update("\0")
2645
2647
  .update(environmentFingerprint).update("\0")
@@ -2650,6 +2652,13 @@ function localArtifactIdentity(opts, driver, environmentFingerprint, compilerIde
2650
2652
  .update(driver.linkArgs.join("\x1f")).update("\0")
2651
2653
  .update(executableSectionFlags.compile.join("\x1f")).update("\0")
2652
2654
  .update(executableSectionFlags.link.join("\x1f")).update("\0");
2655
+ // Only release WASI currently adds an optimization-specific link flag.
2656
+ // Salt that identity so a pre-fix DWARF-bearing output cannot hit, without
2657
+ // invalidating unchanged native and dev artifacts on upgrade.
2658
+ if (executableOptimizationFlags.length > 0) {
2659
+ hash.update("optimization-linker-flags\0")
2660
+ .update(executableOptimizationFlags.join("\x1f")).update("\0");
2661
+ }
2653
2662
  if (programShardMerge !== null) {
2654
2663
  updateProgramShardCacheIdentity(hash, opts.programShards, opts.programPublicSymbols, programShardMerge);
2655
2664
  }
@@ -2919,6 +2928,12 @@ async function compileCInternal(opts, cacheWarmOnly, cacheWarmPaths) {
2919
2928
  ? EXECUTABLE_RUNTIME_SOURCES.filter((source) => source !== "scr_child.c")
2920
2929
  : EXECUTABLE_RUNTIME_SOURCES;
2921
2930
  const executableSectionFlags = executableSectionEliminationFlags(targetPlatform(driver));
2931
+ const windowsSubsystemArgs = windowsSubsystemLinkerArgs(targetPlatform(driver), opts.windowsSubsystem);
2932
+ const executableLinkFlags = [
2933
+ ...executableSectionFlags.link,
2934
+ ...executableOptimizationLinkerArgs(targetPlatform(driver), optimization),
2935
+ ...windowsSubsystemArgs,
2936
+ ];
2922
2937
  // scr_async.c submits callback-style filesystem work to a native worker.
2923
2938
  // POSIX drivers need the thread compile/link mode; win32 uses CreateThread.
2924
2939
  const threadArgs = targetPlatform(driver) === "win32" || targetPlatform(driver) === "wasi"
@@ -3266,6 +3281,8 @@ async function compileCInternal(opts, cacheWarmOnly, cacheWarmPaths) {
3266
3281
  // their exact size class.
3267
3282
  ...(opts.emitter || net ? [rt(join(rtDir, "scr_dyn_handle.c"))] : []),
3268
3283
  ...(opts.symbol ? [rt(join(rtDir, "scr_symbol.c"))] : []),
3284
+ ...(opts.bigint ? [rt(join(rtDir, "scr_bigint.c"))] : []),
3285
+ ...(opts.assert && opts.bigint ? [rt(join(rtDir, "scr_bigint_assert.c"))] : []),
3269
3286
  ...(opts.searchParams ? [rt(join(rtDir, "scr_url_params.c"))] : []),
3270
3287
  ...(opts.qs ? [rt(join(rtDir, "scr_qs.c"))] : []),
3271
3288
  ...(opts.parseArgs ? [rt(join(rtDir, "scr_util.c"))] : []),
@@ -3379,7 +3396,7 @@ async function compileCInternal(opts, cacheWarmOnly, cacheWarmPaths) {
3379
3396
  // program and every native FFI input because GNU ld resolves archives
3380
3397
  // from left to right.
3381
3398
  ...driver.linkArgs,
3382
- ...executableSectionFlags.link,
3399
+ ...executableLinkFlags,
3383
3400
  "-o", build.outPath ?? opts.outPath,
3384
3401
  ];
3385
3402
  // Compile-only flags shared by runtime-object population and the caller-TU
@@ -3555,7 +3572,7 @@ async function compileCInternal(opts, cacheWarmOnly, cacheWarmPaths) {
3555
3572
  ...(dynamic && !driver.linkArgs.includes("-lm") ? ["-lm"] : []),
3556
3573
  ...(((opts.zlib ?? false) || nativeFetch) && !isZigDriver(driver) ? ["-lz"] : []),
3557
3574
  ...driver.linkArgs,
3558
- ...executableSectionFlags.link,
3575
+ ...executableLinkFlags,
3559
3576
  ];
3560
3577
  // Both the wrapper dry run and dependency trace need the real build's
3561
3578
  // compile/link flag shape: wrappers commonly inject flags or native inputs
@@ -3575,7 +3592,7 @@ async function compileCInternal(opts, cacheWarmOnly, cacheWarmPaths) {
3575
3592
  : []),
3576
3593
  ...(((opts.zlib ?? false) || nativeFetch) && !isZigDriver(driver) ? ["-lz"] : []),
3577
3594
  ...driver.linkArgs,
3578
- ...executableSectionFlags.link,
3595
+ ...executableLinkFlags,
3579
3596
  ];
3580
3597
  // A complete hit is checked before cross-target curl's generated import stub
3581
3598
  // is materialized. Its -L spelling still joins the dry-run identity, while