@scriptc/compiler 0.2.0 → 0.2.2

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 (284) hide show
  1. package/ambient/scriptc-node-fallback.d.ts +84 -19
  2. package/dist/backend/cycle-analysis.js +1 -0
  3. package/dist/backend/cycle-analysis.js.map +1 -1
  4. package/dist/backend/llvm/classes.js +21 -5
  5. package/dist/backend/llvm/classes.js.map +1 -1
  6. package/dist/backend/llvm/dyn.d.ts +8 -0
  7. package/dist/backend/llvm/dyn.js +247 -108
  8. package/dist/backend/llvm/dyn.js.map +1 -1
  9. package/dist/backend/llvm/emitter.d.ts +6 -3
  10. package/dist/backend/llvm/emitter.js +99 -25
  11. package/dist/backend/llvm/emitter.js.map +1 -1
  12. package/dist/backend/llvm/emitter.test.js +9 -1
  13. package/dist/backend/llvm/emitter.test.js.map +1 -1
  14. package/dist/backend/llvm/expr-bytes.d.ts +1 -1
  15. package/dist/backend/llvm/expr-bytes.js +28 -17
  16. package/dist/backend/llvm/expr-bytes.js.map +1 -1
  17. package/dist/backend/llvm/expr-containers.js +5 -0
  18. package/dist/backend/llvm/expr-containers.js.map +1 -1
  19. package/dist/backend/llvm/expr-control.js +1 -1
  20. package/dist/backend/llvm/expr-control.js.map +1 -1
  21. package/dist/backend/llvm/expr-dynamic.js +47 -13
  22. package/dist/backend/llvm/expr-dynamic.js.map +1 -1
  23. package/dist/backend/llvm/expr-primitives.js +11 -1
  24. package/dist/backend/llvm/expr-primitives.js.map +1 -1
  25. package/dist/backend/llvm/expr-records.js +11 -3
  26. package/dist/backend/llvm/expr-records.js.map +1 -1
  27. package/dist/backend/llvm/expr-stream-bridges.js +187 -18
  28. package/dist/backend/llvm/expr-stream-bridges.js.map +1 -1
  29. package/dist/backend/llvm/expr-stream-callbacks.d.ts +2 -2
  30. package/dist/backend/llvm/expr-stream-callbacks.js +7 -57
  31. package/dist/backend/llvm/expr-stream-callbacks.js.map +1 -1
  32. package/dist/backend/llvm/lib-dispatch.js +41 -3
  33. package/dist/backend/llvm/lib-dispatch.js.map +1 -1
  34. package/dist/backend/llvm/lib-filesystem.js +12 -9
  35. package/dist/backend/llvm/lib-filesystem.js.map +1 -1
  36. package/dist/backend/llvm/lib-process.js +23 -3
  37. package/dist/backend/llvm/lib-process.js.map +1 -1
  38. package/dist/backend/llvm/lib-shared.js +80 -3
  39. package/dist/backend/llvm/lib-shared.js.map +1 -1
  40. package/dist/backend/llvm/shapes.js +8 -2
  41. package/dist/backend/llvm/shapes.js.map +1 -1
  42. package/dist/backend/may-throw.js +4 -0
  43. package/dist/backend/may-throw.js.map +1 -1
  44. package/dist/backend/native-codegen.d.ts +1 -1
  45. package/dist/backend/native-codegen.js +4 -3
  46. package/dist/backend/native-codegen.js.map +1 -1
  47. package/dist/backend/native-codegen.test.js +11 -0
  48. package/dist/backend/native-codegen.test.js.map +1 -1
  49. package/dist/backend/native-toolchain.d.ts +3 -6
  50. package/dist/backend/native-toolchain.js +53 -23
  51. package/dist/backend/native-toolchain.js.map +1 -1
  52. package/dist/backend/native-toolchain.test.js +72 -0
  53. package/dist/backend/native-toolchain.test.js.map +1 -1
  54. package/dist/backend/runtime-abi.d.ts +2 -2
  55. package/dist/backend/runtime-abi.js +2 -2
  56. package/dist/backend/runtime-pack-native.js +4 -1
  57. package/dist/backend/runtime-pack-native.js.map +1 -1
  58. package/dist/backend/runtime-pack-targets.test.js +1 -1
  59. package/dist/backend/runtime-pack.test.js +1 -1
  60. package/dist/backend/target-diagnostics.d.ts +5 -0
  61. package/dist/backend/target-diagnostics.js +72 -1
  62. package/dist/backend/target-diagnostics.js.map +1 -1
  63. package/dist/backend/target-diagnostics.test.d.ts +1 -0
  64. package/dist/backend/target-diagnostics.test.js +68 -0
  65. package/dist/backend/target-diagnostics.test.js.map +1 -0
  66. package/dist/backend/targets.js +10 -6
  67. package/dist/backend/targets.js.map +1 -1
  68. package/dist/backend/targets.test.js +7 -0
  69. package/dist/backend/targets.test.js.map +1 -1
  70. package/dist/compat/fetch-profile.js +34 -4
  71. package/dist/compat/fetch-profile.js.map +1 -1
  72. package/dist/coverage/surface-manifest.js +5 -3
  73. package/dist/coverage/surface-manifest.js.map +1 -1
  74. package/dist/diagnostics/diagnostic.js +2 -7
  75. package/dist/diagnostics/diagnostic.js.map +1 -1
  76. package/dist/executable/executable-cache.d.ts +7 -3
  77. package/dist/executable/executable-cache.js +47 -11
  78. package/dist/executable/executable-cache.js.map +1 -1
  79. package/dist/executable/executable-cache.test.js +109 -2
  80. package/dist/executable/executable-cache.test.js.map +1 -1
  81. package/dist/executable/prepare.js +2 -1
  82. package/dist/executable/prepare.js.map +1 -1
  83. package/dist/frontend/builtin-modules.d.ts +1 -1
  84. package/dist/frontend/builtin-modules.js +1 -1
  85. package/dist/frontend/builtin-modules.js.map +1 -1
  86. package/dist/frontend/function-completion.d.ts +6 -0
  87. package/dist/frontend/function-completion.js +50 -0
  88. package/dist/frontend/function-completion.js.map +1 -0
  89. package/dist/frontend/lowering/abstract-equality.js +5 -1
  90. package/dist/frontend/lowering/abstract-equality.js.map +1 -1
  91. package/dist/frontend/lowering/checked-iterable-spread.d.ts +4 -0
  92. package/dist/frontend/lowering/checked-iterable-spread.js +30 -0
  93. package/dist/frontend/lowering/checked-iterable-spread.js.map +1 -0
  94. package/dist/frontend/lowering/checked-promise-all.d.ts +5 -0
  95. package/dist/frontend/lowering/checked-promise-all.js +31 -0
  96. package/dist/frontend/lowering/checked-promise-all.js.map +1 -0
  97. package/dist/frontend/lowering/class-callbacks.d.ts +4 -4
  98. package/dist/frontend/lowering/class-callbacks.js +29 -17
  99. package/dist/frontend/lowering/class-callbacks.js.map +1 -1
  100. package/dist/frontend/lowering/class-construction.d.ts +14 -0
  101. package/dist/frontend/lowering/class-construction.js +185 -0
  102. package/dist/frontend/lowering/class-construction.js.map +1 -0
  103. package/dist/frontend/lowering/class-descriptors.d.ts +2 -1
  104. package/dist/frontend/lowering/class-descriptors.js +58 -10
  105. package/dist/frontend/lowering/class-descriptors.js.map +1 -1
  106. package/dist/frontend/lowering/class-dynamic-dispatch.d.ts +36 -1
  107. package/dist/frontend/lowering/class-dynamic-dispatch.js +965 -91
  108. package/dist/frontend/lowering/class-dynamic-dispatch.js.map +1 -1
  109. package/dist/frontend/lowering/class-dynamic-dispatch.test.js +66 -3
  110. package/dist/frontend/lowering/class-dynamic-dispatch.test.js.map +1 -1
  111. package/dist/frontend/lowering/class-instance-constructor.d.ts +1 -1
  112. package/dist/frontend/lowering/class-instance-constructor.js +15 -42
  113. package/dist/frontend/lowering/class-instance-constructor.js.map +1 -1
  114. package/dist/frontend/lowering/class-method-values.d.ts +20 -1
  115. package/dist/frontend/lowering/class-method-values.js +120 -24
  116. package/dist/frontend/lowering/class-method-values.js.map +1 -1
  117. package/dist/frontend/lowering/class-prototypes.d.ts +10 -3
  118. package/dist/frontend/lowering/class-prototypes.js +188 -21
  119. package/dist/frontend/lowering/class-prototypes.js.map +1 -1
  120. package/dist/frontend/lowering/class-runtime-statics.d.ts +8 -0
  121. package/dist/frontend/lowering/class-runtime-statics.js +84 -0
  122. package/dist/frontend/lowering/class-runtime-statics.js.map +1 -0
  123. package/dist/frontend/lowering/class-static-data.d.ts +1 -0
  124. package/dist/frontend/lowering/class-static-data.js +6 -4
  125. package/dist/frontend/lowering/class-static-data.js.map +1 -1
  126. package/dist/frontend/lowering/containers/bytes.js +66 -17
  127. package/dist/frontend/lowering/containers/bytes.js.map +1 -1
  128. package/dist/frontend/lowering/containers/string-and-regexp.js +24 -47
  129. package/dist/frontend/lowering/containers/string-and-regexp.js.map +1 -1
  130. package/dist/frontend/lowering/deferred-module-initializers.d.ts +13 -0
  131. package/dist/frontend/lowering/deferred-module-initializers.js +410 -0
  132. package/dist/frontend/lowering/deferred-module-initializers.js.map +1 -0
  133. package/dist/frontend/lowering/deferred-module-initializers.test.d.ts +1 -0
  134. package/dist/frontend/lowering/deferred-module-initializers.test.js +92 -0
  135. package/dist/frontend/lowering/deferred-module-initializers.test.js.map +1 -0
  136. package/dist/frontend/lowering/error-methods.d.ts +4 -1
  137. package/dist/frontend/lowering/error-methods.js +100 -1
  138. package/dist/frontend/lowering/error-methods.js.map +1 -1
  139. package/dist/frontend/lowering/expressions/native-proxy.js +3 -1
  140. package/dist/frontend/lowering/expressions/native-proxy.js.map +1 -1
  141. package/dist/frontend/lowering/expressions/nullish-assignment.js +19 -11
  142. package/dist/frontend/lowering/expressions/nullish-assignment.js.map +1 -1
  143. package/dist/frontend/lowering/expressions/object-literals.js +68 -7
  144. package/dist/frontend/lowering/expressions/object-literals.js.map +1 -1
  145. package/dist/frontend/lowering/expressions/optional-chains.d.ts +3 -4
  146. package/dist/frontend/lowering/expressions/optional-chains.js +72 -20
  147. package/dist/frontend/lowering/expressions/optional-chains.js.map +1 -1
  148. package/dist/frontend/lowering/function-context.d.ts +11 -3
  149. package/dist/frontend/lowering/function-context.js +11 -5
  150. package/dist/frontend/lowering/function-context.js.map +1 -1
  151. package/dist/frontend/lowering/generator-dynamic-dispatch.d.ts +1 -0
  152. package/dist/frontend/lowering/generator-dynamic-dispatch.js +39 -1
  153. package/dist/frontend/lowering/generator-dynamic-dispatch.js.map +1 -1
  154. package/dist/frontend/lowering/lib-boundary.d.ts +2 -0
  155. package/dist/frontend/lowering/lib-boundary.js +54 -1
  156. package/dist/frontend/lowering/lib-boundary.js.map +1 -1
  157. package/dist/frontend/lowering/lower-builtin-values.d.ts +7 -1
  158. package/dist/frontend/lowering/lower-builtin-values.js +113 -3
  159. package/dist/frontend/lowering/lower-builtin-values.js.map +1 -1
  160. package/dist/frontend/lowering/lower-builtins.d.ts +10 -14
  161. package/dist/frontend/lowering/lower-builtins.js +443 -88
  162. package/dist/frontend/lowering/lower-builtins.js.map +1 -1
  163. package/dist/frontend/lowering/lower-calls.d.ts +8 -5
  164. package/dist/frontend/lowering/lower-calls.js +717 -142
  165. package/dist/frontend/lowering/lower-calls.js.map +1 -1
  166. package/dist/frontend/lowering/lower-classes.d.ts +18 -13
  167. package/dist/frontend/lowering/lower-classes.js +1076 -188
  168. package/dist/frontend/lowering/lower-classes.js.map +1 -1
  169. package/dist/frontend/lowering/lower-containers.d.ts +9 -0
  170. package/dist/frontend/lowering/lower-containers.js +172 -51
  171. package/dist/frontend/lowering/lower-containers.js.map +1 -1
  172. package/dist/frontend/lowering/lower-dgram.js +3 -2
  173. package/dist/frontend/lowering/lower-dgram.js.map +1 -1
  174. package/dist/frontend/lowering/lower-exprs.d.ts +12 -8
  175. package/dist/frontend/lowering/lower-exprs.js +802 -232
  176. package/dist/frontend/lowering/lower-exprs.js.map +1 -1
  177. package/dist/frontend/lowering/lower-generators.js +17 -2
  178. package/dist/frontend/lowering/lower-generators.js.map +1 -1
  179. package/dist/frontend/lowering/lower-inspect.js +15 -1
  180. package/dist/frontend/lowering/lower-inspect.js.map +1 -1
  181. package/dist/frontend/lowering/lower-island.d.ts +2 -0
  182. package/dist/frontend/lowering/lower-island.js +36 -10
  183. package/dist/frontend/lowering/lower-island.js.map +1 -1
  184. package/dist/frontend/lowering/lower-island.test.d.ts +1 -0
  185. package/dist/frontend/lowering/lower-island.test.js +51 -0
  186. package/dist/frontend/lowering/lower-island.test.js.map +1 -0
  187. package/dist/frontend/lowering/lower-modules.d.ts +1 -3
  188. package/dist/frontend/lowering/lower-modules.js +380 -73
  189. package/dist/frontend/lowering/lower-modules.js.map +1 -1
  190. package/dist/frontend/lowering/lower-modules.test.d.ts +1 -0
  191. package/dist/frontend/lowering/lower-modules.test.js +107 -0
  192. package/dist/frontend/lowering/lower-modules.test.js.map +1 -0
  193. package/dist/frontend/lowering/lower-stmts.d.ts +7 -3
  194. package/dist/frontend/lowering/lower-stmts.js +221 -47
  195. package/dist/frontend/lowering/lower-stmts.js.map +1 -1
  196. package/dist/frontend/lowering/lower-stmts.test.d.ts +1 -0
  197. package/dist/frontend/lowering/lower-stmts.test.js +77 -0
  198. package/dist/frontend/lowering/lower-stmts.test.js.map +1 -0
  199. package/dist/frontend/lowering/lower-stream.js +3 -1
  200. package/dist/frontend/lowering/lower-stream.js.map +1 -1
  201. package/dist/frontend/lowering/lower-url.d.ts +2 -1
  202. package/dist/frontend/lowering/lower-url.js +32 -9
  203. package/dist/frontend/lowering/lower-url.js.map +1 -1
  204. package/dist/frontend/lowering/lowerer.d.ts +53 -10
  205. package/dist/frontend/lowering/lowerer.js +390 -77
  206. package/dist/frontend/lowering/lowerer.js.map +1 -1
  207. package/dist/frontend/lowering/lowerer.test.js +187 -3
  208. package/dist/frontend/lowering/lowerer.test.js.map +1 -1
  209. package/dist/frontend/lowering/module-namespace-elements.d.ts +7 -0
  210. package/dist/frontend/lowering/module-namespace-elements.js +54 -0
  211. package/dist/frontend/lowering/module-namespace-elements.js.map +1 -0
  212. package/dist/frontend/lowering/object-factory-new.d.ts +4 -3
  213. package/dist/frontend/lowering/object-factory-new.js +27 -14
  214. package/dist/frontend/lowering/object-factory-new.js.map +1 -1
  215. package/dist/frontend/lowering/surfaces.d.ts +3 -0
  216. package/dist/frontend/lowering/surfaces.js +48 -19
  217. package/dist/frontend/lowering/surfaces.js.map +1 -1
  218. package/dist/frontend/lowering/text-decoder-encoding.d.ts +2 -0
  219. package/dist/frontend/lowering/text-decoder-encoding.js +8 -0
  220. package/dist/frontend/lowering/text-decoder-encoding.js.map +1 -1
  221. package/dist/frontend/lowering/text-decoder-encoding.test.js +2 -1
  222. package/dist/frontend/lowering/text-decoder-encoding.test.js.map +1 -1
  223. package/dist/frontend/lowering/unregistered-class-types.test.js +3 -3
  224. package/dist/frontend/lowering/unregistered-class-types.test.js.map +1 -1
  225. package/dist/frontend/npm-static-prune.js +116 -34
  226. package/dist/frontend/npm-static-prune.js.map +1 -1
  227. package/dist/frontend/npm-static-prune.test.js +8 -0
  228. package/dist/frontend/npm-static-prune.test.js.map +1 -1
  229. package/dist/frontend/program.d.ts +1 -1
  230. package/dist/frontend/program.js +57 -26
  231. package/dist/frontend/program.js.map +1 -1
  232. package/dist/frontend/program.test.js +18 -0
  233. package/dist/frontend/program.test.js.map +1 -1
  234. package/dist/frontend/ts7/ast.js +4 -3
  235. package/dist/frontend/ts7/ast.js.map +1 -1
  236. package/dist/frontend/ts7/semantic-json.js +5 -10
  237. package/dist/frontend/ts7/semantic-json.js.map +1 -1
  238. package/dist/frontend/type-mapper.d.ts +9 -1
  239. package/dist/frontend/type-mapper.js +169 -23
  240. package/dist/frontend/type-mapper.js.map +1 -1
  241. package/dist/frontend/type-mapper.test.js +23 -0
  242. package/dist/frontend/type-mapper.test.js.map +1 -1
  243. package/dist/frontend/union-discriminants.d.ts +1 -1
  244. package/dist/frontend/union-discriminants.js +24 -9
  245. package/dist/frontend/union-discriminants.js.map +1 -1
  246. package/dist/index.js +16 -10
  247. package/dist/index.js.map +1 -1
  248. package/dist/ir/analysis.js +2 -0
  249. package/dist/ir/analysis.js.map +1 -1
  250. package/dist/ir/ir.d.ts +74 -41
  251. package/dist/ir/ir.js +167 -43
  252. package/dist/ir/ir.js.map +1 -1
  253. package/dist/ir/ir.test.js +35 -0
  254. package/dist/ir/ir.test.js.map +1 -1
  255. package/dist/ir/serialize.js +35 -3
  256. package/dist/ir/serialize.js.map +1 -1
  257. package/dist/ir/serialize.test.js +26 -1
  258. package/dist/ir/serialize.test.js.map +1 -1
  259. package/dist/ir/traverse.d.ts +0 -3
  260. package/dist/ir/traverse.js +33 -20
  261. package/dist/ir/traverse.js.map +1 -1
  262. package/dist/ir/validate.js +136 -16
  263. package/dist/ir/validate.js.map +1 -1
  264. package/dist/ir/validate.test.js +77 -1
  265. package/dist/ir/validate.test.js.map +1 -1
  266. package/dist/library/compiler-self-identity.js +1 -1
  267. package/dist/library/compiler-self-identity.test.js +2 -2
  268. package/dist/library/compiler-self-identity.test.js.map +1 -1
  269. package/dist/library/int-infer.d.ts +2 -2
  270. package/dist/library/int-infer.js +10 -7
  271. package/dist/library/int-infer.js.map +1 -1
  272. package/dist/library/int-infer.test.js +44 -0
  273. package/dist/library/int-infer.test.js.map +1 -1
  274. package/dist/library/prepare.js +2 -1
  275. package/dist/library/prepare.js.map +1 -1
  276. package/dist/native/sanitizer.js +3 -1
  277. package/dist/native/sanitizer.js.map +1 -1
  278. package/dist/native/toolchain.d.ts +1 -1
  279. package/dist/native/toolchain.js +26 -6
  280. package/dist/native/toolchain.js.map +1 -1
  281. package/dist/native/toolchain.test.js +53 -1
  282. package/dist/native/toolchain.test.js.map +1 -1
  283. package/package.json +20 -20
  284. package/surface-manifest.json +170 -93
@@ -2,8 +2,8 @@
2
2
  * of the link contract: a program object keeps this symbol undefined and the
3
3
  * matching runtime defines it, so incompatible manual links fail before the
4
4
  * program can start. */
5
- export declare const RUNTIME_ABI_VERSION: 5;
6
- export declare const RUNTIME_ABI_MARKER: "scr_runtime_abi_v5";
5
+ export declare const RUNTIME_ABI_VERSION: 6;
6
+ export declare const RUNTIME_ABI_MARKER: "scr_runtime_abi_v6";
7
7
  /** Object consumption is useful today, but the complete scr_* surface may
8
8
  * still change before 1.0. The versioned marker prevents accidental mixing;
9
9
  * it does not promise semver stability yet. */
@@ -2,8 +2,8 @@
2
2
  * of the link contract: a program object keeps this symbol undefined and the
3
3
  * matching runtime defines it, so incompatible manual links fail before the
4
4
  * program can start. */
5
- export const RUNTIME_ABI_VERSION = 5;
6
- export const RUNTIME_ABI_MARKER = "scr_runtime_abi_v5";
5
+ export const RUNTIME_ABI_VERSION = 6;
6
+ export const RUNTIME_ABI_MARKER = "scr_runtime_abi_v6";
7
7
  /** Object consumption is useful today, but the complete scr_* surface may
8
8
  * still change before 1.0. The versioned marker prevents accidental mixing;
9
9
  * it does not promise semver stability yet. */
@@ -2,10 +2,13 @@
2
2
  * selected artifact is hashed and copied from the same read into private
3
3
  * storage. This host has no persistent cache or mutable installed link inputs. */
4
4
  import { createHash } from "node:crypto";
5
- import { closeSync, constants, mkdirSync, openSync, readFileSync, writeSync } from "node:fs";
5
+ import { closeSync, constants, existsSync, mkdirSync, openSync, readFileSync, writeSync } from "node:fs";
6
6
  import { dirname, join } from "node:path";
7
7
  import { RuntimePackError, parseRuntimePackManifest, selectRuntimePackArtifacts, validateRuntimePackIdentity, } from "./runtime-pack-core.js";
8
8
  export function selectNativeRuntimePack(root, target, compilerVersion, features, flavor, mode = "executable") {
9
+ if (!existsSync(join(root, "package.json"))) {
10
+ throw new RuntimePackError(`runtime pack for ${target.name} is not installed; install ${target.runtimePackPackage}@${compilerVersion} in your project or set SCRIPTC_RUNTIME_PACK to its directory`, "missing");
11
+ }
9
12
  const packageText = readFileSync(join(root, "package.json"), "utf8");
10
13
  const manifestText = readFileSync(join(root, "runtime-pack.json"), "utf8");
11
14
  const identity = JSON.parse(packageText);
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-pack-native.js","sourceRoot":"","sources":["../../src/backend/runtime-pack-native.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime-pack-native.js","sourceRoot":"","sources":["../../src/backend/runtime-pack-native.ts"],"names":[],"mappings":"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"}
@@ -23,7 +23,7 @@ async function fixture(target) {
23
23
  const manifest = {
24
24
  schema: "scriptc.runtime-pack.v1", format: 1, package: target.runtimePackPackage, version: compilerReleaseVersion(),
25
25
  target: { name: target.name, llvm_triple: target.llvmTriple, architecture: target.architecture, object_format: target.objectFormat, minimum_os: target.minimumOs },
26
- runtime_abi: { version: 5, marker: "scr_runtime_abi_v5" },
26
+ runtime_abi: { version: 6, marker: "scr_runtime_abi_v6" },
27
27
  compiler: { command: "fixture", identity: "fixture", target: target.llvmTriple },
28
28
  macros: { executable: [], excluded: ["SCR_LIB"], sanitizer: "external-toolchain-required" },
29
29
  flavors: {
@@ -86,7 +86,7 @@ async function fixture(target = MACOS_ARM64_TARGET) {
86
86
  object_format: target.objectFormat,
87
87
  minimum_os: target.minimumOs,
88
88
  },
89
- runtime_abi: { version: 5, marker: "scr_runtime_abi_v5" },
89
+ runtime_abi: { version: 6, marker: "scr_runtime_abi_v6" },
90
90
  compiler: {
91
91
  command: "clang",
92
92
  identity: "fixture clang",
@@ -1,6 +1,11 @@
1
1
  import type { LlvmUnsupportedError } from "./llvm/emitter.js";
2
2
  import type { ScrDiagnostic } from "../diagnostics/diagnostic.js";
3
3
  import { type IrModule, type SrcLoc } from "../ir/ir.js";
4
+ /** Reflection tables expose methods that the program never calls. On WASI,
5
+ * keep their host-only implementations as explicit runtime refusals. Typed
6
+ * calls, escaped callables, constructors, and exported roots still retain
7
+ * the ordinary target diagnostic. ABI types remain checked by the gate. */
8
+ export declare function fenceSpeculativeWasiFunctions(mod: IrModule): void;
4
9
  /** The LLVM backend's tier refusal as a diagnostic. SC3xxx = backend
5
10
  * coverage (the program is fine — this backend doesn't compile it yet);
6
11
  * the parenthesized kind tag is machine-readable for the differential
@@ -1,5 +1,76 @@
1
- import { everyModuleNode } from "../ir/traverse.js";
1
+ import { everyModuleNode, everyStmtList, transformStmtList } from "../ir/traverse.js";
2
2
  import { moduleUsesFetch, moduleEmbedsBuiltin } from "../ir/ir.js";
3
+ /** Reflection tables expose methods that the program never calls. On WASI,
4
+ * keep their host-only implementations as explicit runtime refusals. Typed
5
+ * calls, escaped callables, constructors, and exported roots still retain
6
+ * the ordinary target diagnostic. ABI types remain checked by the gate. */
7
+ export function fenceSpeculativeWasiFunctions(mod) {
8
+ for (const fn of mod.functions)
9
+ fn.body = transformStmtList(fn.body, { stmt: (statement) => statement,
10
+ expr: (expr) => {
11
+ if (expr.kind !== "libCall")
12
+ return expr;
13
+ const portable = expr.fn === "fetch.abortControllerNew" ? "abort.controllerNew"
14
+ : expr.fn === "fetch.abortTimeout" ? "abort.timeout"
15
+ : expr.fn === "fetch.abortNow" ? "abort.now"
16
+ : expr.fn === "fetch.abortAny" ? "abort.any" : null;
17
+ return portable ? { ...expr, fn: portable } : expr;
18
+ },
19
+ });
20
+ if (!mod.functions.some((fn) => fn.speculativeDispatch))
21
+ return;
22
+ const functions = new Map(mod.functions.map((fn) => [fn.name, fn]));
23
+ const classes = new Map((mod.classes ?? []).map((info) => [info.name, info]));
24
+ const descends = (name, base) => {
25
+ for (let info = classes.get(name); info; info = info.base ? classes.get(info.base) : undefined) {
26
+ if (info.name === base)
27
+ return true;
28
+ }
29
+ return false;
30
+ };
31
+ const mandatory = new Set();
32
+ const queue = [mod.entry, ...(mod.lib?.exports.map((entry) => entry.fnName) ?? [])];
33
+ for (let i = 0; i < queue.length; i++) {
34
+ const name = queue[i];
35
+ if (mandatory.has(name))
36
+ continue;
37
+ mandatory.add(name);
38
+ const fn = functions.get(name);
39
+ if (!fn || fn.speculativeDispatch)
40
+ continue;
41
+ everyStmtList(fn.body, { stmt: () => true, expr: (expr) => {
42
+ if (expr.kind === "call")
43
+ queue.push(expr.callee);
44
+ if (expr.kind === "closure")
45
+ queue.push(expr.fnName);
46
+ if (expr.kind === "new")
47
+ queue.push(`%${expr.className}.constructor`);
48
+ if (expr.kind === "newValue" && expr.callee.type.kind === "classval") {
49
+ const base = expr.callee.type.className;
50
+ for (const info of classes.values())
51
+ if (descends(info.name, base))
52
+ queue.push(`%${info.name}.constructor`);
53
+ }
54
+ if (expr.kind === "virtualCall") {
55
+ for (const info of classes.values())
56
+ if (descends(info.name, expr.className))
57
+ queue.push(`%${info.name}.${expr.method}`);
58
+ }
59
+ return true;
60
+ } });
61
+ }
62
+ for (const fn of mod.functions) {
63
+ if (mandatory.has(fn.name) || fn.speculativeDispatch)
64
+ continue;
65
+ const unavailable = moduleWasiUnavailableSurface({ irVersion: mod.irVersion, sourceFile: mod.sourceFile,
66
+ functions: [fn], classes: [], records: [], unions: [], globals: [], entry: fn.name });
67
+ if (!unavailable)
68
+ continue;
69
+ fn.body = [{ kind: "runtimeFence", code: "SC3002", message: `wasm32-wasi target does not support ${unavailable.surface}`, loc: unavailable.loc }];
70
+ const parameters = new Set([...fn.params, ...(fn.captures ?? []), ...(fn.classCaptures ?? [])].map((param) => param.localId));
71
+ fn.locals = fn.locals.filter((local) => parameters.has(local.id));
72
+ }
73
+ }
3
74
  /** The LLVM backend's tier refusal as a diagnostic. SC3xxx = backend
4
75
  * coverage (the program is fine — this backend doesn't compile it yet);
5
76
  * the parenthesized kind tag is machine-readable for the differential
@@ -1 +1 @@
1
- {"version":3,"file":"target-diagnostics.js","sourceRoot":"","sources":["../../src/backend/target-diagnostics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"target-diagnostics.js","sourceRoot":"","sources":["../../src/backend/target-diagnostics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,68 @@
1
+ import { expect, test } from "vitest";
2
+ import { DYN, STRING, VOID } from "../ir/ir.js";
3
+ import { fenceSpeculativeWasiFunctions, moduleWasiUnavailableSurface } from "./target-diagnostics.js";
4
+ const loc = { file: "host.ts", start: 0, end: 1 };
5
+ function fn(name, expressions, speculativeDispatch = false) {
6
+ return { name, params: [], returnType: VOID, locals: [], speculativeDispatch,
7
+ body: expressions.map((expr) => ({ kind: "exprStmt", expr, loc })), loc };
8
+ }
9
+ const call = (callee) => ({ kind: "call", callee, args: [], type: VOID, loc });
10
+ const fetch = { kind: "libCall", fn: "fetch.input", args: [
11
+ { kind: "dynFrom", value: { kind: "strLit", value: "https://example.com", type: STRING, loc }, type: DYN, loc },
12
+ { kind: "dynObjLit", fields: [], type: DYN, loc },
13
+ ], type: { kind: "promise", inner: DYN }, loc };
14
+ function module(direct = []) {
15
+ return { irVersion: 13, sourceFile: loc.file, entry: "%main", records: [], unions: [], globals: [], classes: [], functions: [
16
+ fn("%main", [call("dispatch"), ...direct]), fn("dispatch", [call("loader")], true),
17
+ fn("loader", [call("network")]), fn("network", [fetch]),
18
+ ] };
19
+ }
20
+ test("portable reflection keeps host-only speculative methods as runtime refusals", () => {
21
+ const mod = module();
22
+ fenceSpeculativeWasiFunctions(mod);
23
+ expect(moduleWasiUnavailableSurface(mod)).toBeNull();
24
+ expect(mod.functions[3]?.body).toMatchObject([{ kind: "runtimeFence", code: "SC3002", message: expect.stringContaining("network-backed fetch") }]);
25
+ });
26
+ test.each(["call", "closure"])("actual %s references retain the WASI networking diagnostic", (kind) => {
27
+ const mod = module([kind === "call" ? call("loader") : { kind: "closure", fnName: "loader", captures: [], type: { kind: "func", params: [], ret: VOID }, loc }]);
28
+ fenceSpeculativeWasiFunctions(mod);
29
+ expect(moduleWasiUnavailableSurface(mod)?.surface).toContain("network-backed fetch");
30
+ expect(mod.functions[3]?.body[0]?.kind).toBe("exprStmt");
31
+ });
32
+ test("host-exported roots retain their networking diagnostic", () => {
33
+ const mod = module();
34
+ mod.lib = { exports: [{ symbol: "load", fnName: "loader", params: [], returns: "void" }] };
35
+ fenceSpeculativeWasiFunctions(mod);
36
+ expect(moduleWasiUnavailableSurface(mod)?.surface).toContain("network-backed fetch");
37
+ });
38
+ test("prototype tables store optional methods without invoking their host capabilities", () => {
39
+ const mod = module();
40
+ mod.functions = [fn("%main", [call("prototype")]), fn("prototype", [
41
+ { kind: "closure", fnName: "network", captures: [], type: { kind: "func", params: [], ret: VOID }, loc },
42
+ ], true), fn("network", [fetch])];
43
+ fenceSpeculativeWasiFunctions(mod);
44
+ expect(moduleWasiUnavailableSurface(mod)).toBeNull();
45
+ expect(mod.functions[2]?.body).toMatchObject([{ kind: "runtimeFence", code: "SC3002" }]);
46
+ });
47
+ test("local abort signals remain available without a reflection dispatcher", () => {
48
+ const mod = module();
49
+ mod.functions = [fn("%main", [{ kind: "libCall", fn: "fetch.abortControllerNew", args: [], type: DYN, loc }])];
50
+ fenceSpeculativeWasiFunctions(mod);
51
+ expect(moduleWasiUnavailableSurface(mod)).toBeNull();
52
+ expect(mod.functions[0]?.body[0]).toMatchObject({ kind: "exprStmt", expr: { fn: "abort.controllerNew" } });
53
+ });
54
+ test("actual constructors retain host diagnostics while stored class values do not execute them", () => {
55
+ const make = (expression) => {
56
+ const mod = module([expression]);
57
+ mod.classes = [{ name: "Loader", fields: [], loc }];
58
+ mod.functions.push(fn("%Loader.constructor", [fetch]));
59
+ return mod;
60
+ };
61
+ const constructed = make({ kind: "new", className: "Loader", args: [], type: { kind: "object", className: "Loader" }, loc });
62
+ fenceSpeculativeWasiFunctions(constructed);
63
+ expect(moduleWasiUnavailableSurface(constructed)?.surface).toContain("network-backed fetch");
64
+ const stored = make({ kind: "classRef", className: "Loader", type: { kind: "classval", className: "Loader" }, loc });
65
+ fenceSpeculativeWasiFunctions(stored);
66
+ expect(moduleWasiUnavailableSurface(stored)).toBeNull();
67
+ });
68
+ //# sourceMappingURL=target-diagnostics.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"target-diagnostics.test.js","sourceRoot":"","sources":["../../src/backend/target-diagnostics.test.ts"],"names":[],"mappings":"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"}
@@ -123,7 +123,7 @@ export const MACOS_X64_TARGET = {
123
123
  export const LINUX_X64_GNU_TARGET = {
124
124
  name: "linux-x64-gnu", llvmTriple: "x86_64-unknown-linux-gnu", dataLayout: X64_ELF_LAYOUT,
125
125
  cpu: "generic", features: "", pointerBits: 64, endianness: "little", objectFormat: "elf",
126
- relocationModel: "pic", codeModel: "small", minimumOs: "glibc 2.36", helperMinimumOs: "glibc 2.35",
126
+ relocationModel: "pic", codeModel: "small", minimumOs: "glibc 2.34", helperMinimumOs: "static Linux executable",
127
127
  architecture: "x64", platform: "linux", outputSuffixes: { asm: ".s", obj: ".o", exe: "" },
128
128
  executableLinkerArgs: ["-target", "x86_64-unknown-linux-gnu", "-pthread", "-Wl,--gc-sections"],
129
129
  defaultLinker: "clang", defaultLinkerArgs: [], runtimeSystemLibraries: ["m"],
@@ -137,7 +137,7 @@ export const LINUX_X64_GNU_TARGET = {
137
137
  export const LINUX_ARM64_GNU_TARGET = {
138
138
  name: "linux-arm64-gnu", llvmTriple: "aarch64-unknown-linux-gnu", dataLayout: ARM64_ELF_LAYOUT,
139
139
  cpu: "generic", features: "", pointerBits: 64, endianness: "little", objectFormat: "elf",
140
- relocationModel: "pic", codeModel: "small", minimumOs: "glibc 2.36", helperMinimumOs: "glibc 2.35",
140
+ relocationModel: "pic", codeModel: "small", minimumOs: "glibc 2.34", helperMinimumOs: "static Linux executable",
141
141
  architecture: "arm64", platform: "linux", outputSuffixes: { asm: ".s", obj: ".o", exe: "" },
142
142
  executableLinkerArgs: ["-target", "aarch64-unknown-linux-gnu", "-pthread", "-Wl,--gc-sections"],
143
143
  defaultLinker: "clang", defaultLinkerArgs: [], runtimeSystemLibraries: ["m"],
@@ -167,7 +167,7 @@ export const WINDOWS_X64_MSVC_TARGET = {
167
167
  export const LINUX_X64_MUSL_TARGET = {
168
168
  ...LINUX_X64_GNU_TARGET,
169
169
  name: "linux-x64-musl", llvmTriple: "x86_64-unknown-linux-musl",
170
- minimumOs: "musl 1.2", helperMinimumOs: "glibc 2.35",
170
+ minimumOs: "musl 1.2", helperMinimumOs: "static Linux executable",
171
171
  executableLinkerArgs: ["-target", "x86_64-unknown-linux-musl", "-pthread", "-Wl,--gc-sections"],
172
172
  defaultLinker: "zig", defaultLinkerArgs: ["cc"], linkerTargetTriple: "x86_64-linux-musl",
173
173
  runtimePackPackage: "@scriptc/runtime-linux-x64-musl",
@@ -178,7 +178,7 @@ export const LINUX_X64_MUSL_TARGET = {
178
178
  export const LINUX_ARM64_MUSL_TARGET = {
179
179
  ...LINUX_ARM64_GNU_TARGET,
180
180
  name: "linux-arm64-musl", llvmTriple: "aarch64-unknown-linux-musl",
181
- minimumOs: "musl 1.2", helperMinimumOs: "glibc 2.35",
181
+ minimumOs: "musl 1.2", helperMinimumOs: "static Linux executable",
182
182
  executableLinkerArgs: ["-target", "aarch64-unknown-linux-musl", "-pthread", "-Wl,--gc-sections"],
183
183
  defaultLinker: "zig", defaultLinkerArgs: ["cc"], linkerTargetTriple: "aarch64-linux-musl",
184
184
  runtimePackPackage: "@scriptc/runtime-linux-arm64-musl",
@@ -302,9 +302,11 @@ function requestedTarget(raw, host, hostPlatform) {
302
302
  case "x86_64-macos": return MACOS_X64_TARGET;
303
303
  case "x86_64-unknown-linux-gnu":
304
304
  case "x86_64-linux-gnu":
305
+ case "x86_64-linux-gnu.2.34":
305
306
  case "x86_64-linux-gnu.2.36": return LINUX_X64_GNU_TARGET;
306
307
  case "aarch64-unknown-linux-gnu":
307
308
  case "aarch64-linux-gnu":
309
+ case "aarch64-linux-gnu.2.34":
308
310
  case "aarch64-linux-gnu.2.36": return LINUX_ARM64_GNU_TARGET;
309
311
  case "x86_64-unknown-linux-musl":
310
312
  case "x86_64-linux-musl": return LINUX_X64_MUSL_TARGET;
@@ -325,10 +327,12 @@ export function selectNativeTarget(raw, host, hostPlatform = process.platform) {
325
327
  const target = requestedTarget(raw, host, hostPlatform);
326
328
  if (target === null)
327
329
  return null;
328
- if (target.platform === "linux" && target.name !== host.name && target.name !== "android-arm64") {
330
+ if (target.platform === "linux" && target.name !== "android-arm64" &&
331
+ (target.name !== host.name || raw.endsWith("-gnu.2.34") || raw.endsWith("-gnu.2.36"))) {
329
332
  return {
330
333
  ...target, defaultLinker: "zig", defaultLinkerArgs: ["cc"],
331
- linkerTargetTriple: `${target.architecture === "x64" ? "x86_64" : "aarch64"}-linux-${target.name.endsWith("musl") ? "musl" : "gnu.2.36"}`,
334
+ linkerTargetTriple: raw.endsWith("-gnu.2.36") ? raw
335
+ : `${target.architecture === "x64" ? "x86_64" : "aarch64"}-linux-${target.name.endsWith("musl") ? "musl" : "gnu.2.34"}`,
332
336
  };
333
337
  }
334
338
  if (target.platform === "darwin" && hostPlatform !== "darwin") {
@@ -1 +1 @@
1
- {"version":3,"file":"targets.js","sourceRoot":"","sources":["../../src/backend/targets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"targets.js","sourceRoot":"","sources":["../../src/backend/targets.ts"],"names":[],"mappings":"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"}
@@ -87,6 +87,13 @@ describe("native code-generation targets", () => {
87
87
  expect(target.supports).toEqual({ asm: true, obj: true, exe: false, library: true });
88
88
  }
89
89
  });
90
+ test.each(["x64", "arm64"])("GNU %s release links honor an explicit libc floor on the same host", (architecture) => {
91
+ const triple = `${architecture === "x64" ? "x86_64" : "aarch64"}-linux-gnu.2.34`;
92
+ expect(nativeCodegenTarget({ SCRIPTC_TARGET: triple }, "linux", architecture, "6.8.0", "gnu"))
93
+ .toMatchObject({ minimumOs: "glibc 2.34", defaultLinker: "zig", defaultLinkerArgs: ["cc"], linkerTargetTriple: triple });
94
+ expect(nativeCodegenTarget({ SCRIPTC_TARGET: triple.replace(".2.34", "") }, "darwin", "arm64", "24.0.0"))
95
+ .toMatchObject({ minimumOs: "glibc 2.34", linkerTargetTriple: triple });
96
+ });
90
97
  test("owns helper executable linker arguments in the target specification", () => {
91
98
  expect(MACOS_ARM64_TARGET.executableLinkerArgs).toEqual([
92
99
  "-target",
@@ -1 +1 @@
1
- {"version":3,"file":"targets.test.js","sourceRoot":"","sources":["../../src/backend/targets.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"targets.test.js","sourceRoot":"","sources":["../../src/backend/targets.test.ts"],"names":[],"mappings":"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"}
@@ -37,7 +37,6 @@ const outOfScopeEntry = (id, owner, member, placement, reason) => ({
37
37
  status: "out-of-scope",
38
38
  reason,
39
39
  });
40
- const constructorUnsupported = "the interface constructor has no compiler bridge in either tier";
41
40
  const widerMemberFence = "the member is outside the native static handle projection";
42
41
  const typedInterfaceUnsupported = "typed source has no compiler bridge for this interface in either tier";
43
42
  const metadataExclusion = "WebIDL brand metadata is observable reflection, not an executable compatibility operation";
@@ -121,6 +120,35 @@ export const NODE24_FETCH_COMPAT_PROFILE = {
121
120
  readableStreamCalls: ["cancel", "getReader"],
122
121
  },
123
122
  operations: [
123
+ {
124
+ id: "stdlib.headers.constructor",
125
+ name: "Headers constructor",
126
+ kind: "constructor",
127
+ facets: ["webidl-conversion", "mutation", "identity"],
128
+ scope: "Record and iterable header pairs, including copying native Headers",
129
+ evidence: [fixture("static-request")],
130
+ },
131
+ {
132
+ id: "stdlib.request.constructor",
133
+ name: "Request constructor",
134
+ kind: "constructor",
135
+ facets: ["webidl-conversion", "body-consumption", "error-shape"],
136
+ scope: "Absolute URLs with method, headers, body, duplex, redirect, and signal; other RequestInit members retain explicit fences",
137
+ evidence: [fixture("static-request")],
138
+ },
139
+ ...[
140
+ "method", "url", "headers", "destination", "referrer", "referrerPolicy", "mode", "credentials", "cache", "redirect", "integrity", "keepalive", "isReloadNavigation", "isHistoryNavigation", "signal", "body", "bodyUsed", "duplex",
141
+ ].map((member) => ({
142
+ id: `stdlib.request.${member}`, name: `Request.${member}`, kind: "property",
143
+ facets: ["property-read", "state-machine"],
144
+ scope: "Reads on native Requests within the constructor's supported RequestInit subset",
145
+ evidence: [fixture("static-request")],
146
+ })),
147
+ ...["arrayBuffer", "text", "json", "bytes"].map((member) => ({
148
+ id: `stdlib.request.${member}`, name: `Request.${member}`, kind: "method",
149
+ facets: ["body-consumption", "promise-settlement", "state-machine", "error-shape"],
150
+ evidence: [fixture("static-request")],
151
+ })),
124
152
  {
125
153
  id: "stdlib.response.constructor",
126
154
  name: "Response constructor",
@@ -397,7 +425,7 @@ export const NODE24_FETCH_COMPAT_PROFILE = {
397
425
  staticEntry("stdlib.abort-signal.remove-event-listener", "AbortSignal", "removeEventListener", "prototype-inherited"),
398
426
  staticEntry("stdlib.abort-signal.dispatch-event", "AbortSignal", "dispatchEvent", "prototype-inherited"),
399
427
  outOfScopeEntry("stdlib.abort-signal.symbol.toStringTag", "AbortSignal", "[Symbol.toStringTag]", "prototype-symbol", metadataExclusion),
400
- unsupportedEntry("stdlib.headers.constructor", "Headers", "constructor", "constructor", constructorUnsupported),
428
+ staticEntry("stdlib.headers.constructor", "Headers", "constructor", "constructor"),
401
429
  ...[
402
430
  "append",
403
431
  "delete",
@@ -410,7 +438,7 @@ export const NODE24_FETCH_COMPAT_PROFILE = {
410
438
  staticEntry("stdlib.headers.forEach", "Headers", "forEach", "prototype"),
411
439
  dynamicEntry("stdlib.headers.symbol.iterator", "Headers", "[Symbol.iterator]", "prototype-symbol", "native Headers iteration does not expose an engine-free iterator handle"),
412
440
  outOfScopeEntry("stdlib.headers.symbol.toStringTag", "Headers", "[Symbol.toStringTag]", "prototype-symbol", metadataExclusion),
413
- unsupportedEntry("stdlib.request.constructor", "Request", "constructor", "constructor", typedInterfaceUnsupported),
441
+ staticEntry("stdlib.request.constructor", "Request", "constructor", "constructor"),
414
442
  ...[
415
443
  "method",
416
444
  "url",
@@ -438,7 +466,9 @@ export const NODE24_FETCH_COMPAT_PROFILE = {
438
466
  "formData",
439
467
  "bytes",
440
468
  "attribute",
441
- ].map((member) => unsupportedEntry(`stdlib.request.${member}`, "Request", member, "prototype", typedInterfaceUnsupported)),
469
+ ].map((member) => ["clone", "blob", "formData", "attribute"].includes(member)
470
+ ? unsupportedEntry(`stdlib.request.${member}`, "Request", member, "prototype", typedInterfaceUnsupported)
471
+ : staticEntry(`stdlib.request.${member}`, "Request", member, "prototype")),
442
472
  outOfScopeEntry("stdlib.request.symbol.toStringTag", "Request", "[Symbol.toStringTag]", "prototype-symbol", metadataExclusion),
443
473
  staticEntry("stdlib.response.constructor", "Response", "constructor", "constructor"),
444
474
  ...["error", "json", "redirect"].map((member) => unsupportedEntry(`stdlib.response.static.${member}`, "Response", member, "static", "Response static constructor-object operations have no compiler lowering in either tier")),