@scriptc/compiler 0.2.1 → 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 (193) hide show
  1. package/ambient/scriptc-node-fallback.d.ts +59 -4
  2. package/dist/backend/llvm/dyn.d.ts +3 -0
  3. package/dist/backend/llvm/dyn.js +84 -12
  4. package/dist/backend/llvm/dyn.js.map +1 -1
  5. package/dist/backend/llvm/emitter.d.ts +4 -1
  6. package/dist/backend/llvm/emitter.js +20 -5
  7. package/dist/backend/llvm/emitter.js.map +1 -1
  8. package/dist/backend/llvm/emitter.test.js +9 -1
  9. package/dist/backend/llvm/emitter.test.js.map +1 -1
  10. package/dist/backend/llvm/expr-containers.js +5 -0
  11. package/dist/backend/llvm/expr-containers.js.map +1 -1
  12. package/dist/backend/llvm/expr-dynamic.js +30 -5
  13. package/dist/backend/llvm/expr-dynamic.js.map +1 -1
  14. package/dist/backend/llvm/expr-stream-bridges.js +70 -9
  15. package/dist/backend/llvm/expr-stream-bridges.js.map +1 -1
  16. package/dist/backend/llvm/expr-stream-callbacks.d.ts +2 -2
  17. package/dist/backend/llvm/expr-stream-callbacks.js +7 -57
  18. package/dist/backend/llvm/expr-stream-callbacks.js.map +1 -1
  19. package/dist/backend/llvm/lib-dispatch.js +41 -3
  20. package/dist/backend/llvm/lib-dispatch.js.map +1 -1
  21. package/dist/backend/llvm/lib-filesystem.js +12 -9
  22. package/dist/backend/llvm/lib-filesystem.js.map +1 -1
  23. package/dist/backend/llvm/lib-shared.js +35 -1
  24. package/dist/backend/llvm/lib-shared.js.map +1 -1
  25. package/dist/backend/may-throw.js +4 -0
  26. package/dist/backend/may-throw.js.map +1 -1
  27. package/dist/backend/native-codegen.d.ts +1 -1
  28. package/dist/backend/native-codegen.js +4 -3
  29. package/dist/backend/native-codegen.js.map +1 -1
  30. package/dist/backend/native-codegen.test.js +11 -0
  31. package/dist/backend/native-codegen.test.js.map +1 -1
  32. package/dist/backend/target-diagnostics.d.ts +5 -0
  33. package/dist/backend/target-diagnostics.js +72 -1
  34. package/dist/backend/target-diagnostics.js.map +1 -1
  35. package/dist/backend/target-diagnostics.test.d.ts +1 -0
  36. package/dist/backend/target-diagnostics.test.js +68 -0
  37. package/dist/backend/target-diagnostics.test.js.map +1 -0
  38. package/dist/coverage/surface-manifest.js +5 -3
  39. package/dist/coverage/surface-manifest.js.map +1 -1
  40. package/dist/executable/executable-cache.d.ts +7 -3
  41. package/dist/executable/executable-cache.js +47 -11
  42. package/dist/executable/executable-cache.js.map +1 -1
  43. package/dist/executable/executable-cache.test.js +109 -2
  44. package/dist/executable/executable-cache.test.js.map +1 -1
  45. package/dist/executable/prepare.js +2 -1
  46. package/dist/executable/prepare.js.map +1 -1
  47. package/dist/frontend/builtin-modules.d.ts +1 -1
  48. package/dist/frontend/builtin-modules.js +1 -1
  49. package/dist/frontend/builtin-modules.js.map +1 -1
  50. package/dist/frontend/function-completion.d.ts +6 -0
  51. package/dist/frontend/function-completion.js +50 -0
  52. package/dist/frontend/function-completion.js.map +1 -0
  53. package/dist/frontend/lowering/abstract-equality.js +5 -1
  54. package/dist/frontend/lowering/abstract-equality.js.map +1 -1
  55. package/dist/frontend/lowering/checked-iterable-spread.d.ts +4 -0
  56. package/dist/frontend/lowering/checked-iterable-spread.js +30 -0
  57. package/dist/frontend/lowering/checked-iterable-spread.js.map +1 -0
  58. package/dist/frontend/lowering/checked-promise-all.d.ts +5 -0
  59. package/dist/frontend/lowering/checked-promise-all.js +31 -0
  60. package/dist/frontend/lowering/checked-promise-all.js.map +1 -0
  61. package/dist/frontend/lowering/class-callbacks.d.ts +1 -1
  62. package/dist/frontend/lowering/class-callbacks.js +7 -6
  63. package/dist/frontend/lowering/class-callbacks.js.map +1 -1
  64. package/dist/frontend/lowering/class-construction.d.ts +2 -0
  65. package/dist/frontend/lowering/class-construction.js +34 -5
  66. package/dist/frontend/lowering/class-construction.js.map +1 -1
  67. package/dist/frontend/lowering/class-descriptors.d.ts +1 -1
  68. package/dist/frontend/lowering/class-descriptors.js +12 -5
  69. package/dist/frontend/lowering/class-descriptors.js.map +1 -1
  70. package/dist/frontend/lowering/class-dynamic-dispatch.d.ts +25 -0
  71. package/dist/frontend/lowering/class-dynamic-dispatch.js +597 -78
  72. package/dist/frontend/lowering/class-dynamic-dispatch.js.map +1 -1
  73. package/dist/frontend/lowering/class-dynamic-dispatch.test.js +64 -2
  74. package/dist/frontend/lowering/class-dynamic-dispatch.test.js.map +1 -1
  75. package/dist/frontend/lowering/class-instance-constructor.d.ts +1 -1
  76. package/dist/frontend/lowering/class-instance-constructor.js +11 -41
  77. package/dist/frontend/lowering/class-instance-constructor.js.map +1 -1
  78. package/dist/frontend/lowering/class-method-values.d.ts +16 -0
  79. package/dist/frontend/lowering/class-method-values.js +60 -29
  80. package/dist/frontend/lowering/class-method-values.js.map +1 -1
  81. package/dist/frontend/lowering/class-prototypes.d.ts +5 -1
  82. package/dist/frontend/lowering/class-prototypes.js +69 -10
  83. package/dist/frontend/lowering/class-prototypes.js.map +1 -1
  84. package/dist/frontend/lowering/class-runtime-statics.d.ts +4 -4
  85. package/dist/frontend/lowering/class-runtime-statics.js +26 -8
  86. package/dist/frontend/lowering/class-runtime-statics.js.map +1 -1
  87. package/dist/frontend/lowering/class-static-data.d.ts +1 -0
  88. package/dist/frontend/lowering/class-static-data.js +4 -2
  89. package/dist/frontend/lowering/class-static-data.js.map +1 -1
  90. package/dist/frontend/lowering/containers/bytes.js +17 -4
  91. package/dist/frontend/lowering/containers/bytes.js.map +1 -1
  92. package/dist/frontend/lowering/containers/string-and-regexp.js +6 -1
  93. package/dist/frontend/lowering/containers/string-and-regexp.js.map +1 -1
  94. package/dist/frontend/lowering/deferred-module-initializers.d.ts +13 -0
  95. package/dist/frontend/lowering/deferred-module-initializers.js +410 -0
  96. package/dist/frontend/lowering/deferred-module-initializers.js.map +1 -0
  97. package/dist/frontend/lowering/deferred-module-initializers.test.d.ts +1 -0
  98. package/dist/frontend/lowering/deferred-module-initializers.test.js +92 -0
  99. package/dist/frontend/lowering/deferred-module-initializers.test.js.map +1 -0
  100. package/dist/frontend/lowering/expressions/object-literals.js +31 -1
  101. package/dist/frontend/lowering/expressions/object-literals.js.map +1 -1
  102. package/dist/frontend/lowering/expressions/optional-chains.js +3 -3
  103. package/dist/frontend/lowering/expressions/optional-chains.js.map +1 -1
  104. package/dist/frontend/lowering/lower-builtins.d.ts +4 -9
  105. package/dist/frontend/lowering/lower-builtins.js +291 -51
  106. package/dist/frontend/lowering/lower-builtins.js.map +1 -1
  107. package/dist/frontend/lowering/lower-calls.js +283 -73
  108. package/dist/frontend/lowering/lower-calls.js.map +1 -1
  109. package/dist/frontend/lowering/lower-classes.d.ts +5 -0
  110. package/dist/frontend/lowering/lower-classes.js +439 -25
  111. package/dist/frontend/lowering/lower-classes.js.map +1 -1
  112. package/dist/frontend/lowering/lower-containers.d.ts +1 -1
  113. package/dist/frontend/lowering/lower-containers.js +39 -17
  114. package/dist/frontend/lowering/lower-containers.js.map +1 -1
  115. package/dist/frontend/lowering/lower-exprs.d.ts +10 -6
  116. package/dist/frontend/lowering/lower-exprs.js +294 -129
  117. package/dist/frontend/lowering/lower-exprs.js.map +1 -1
  118. package/dist/frontend/lowering/lower-generators.js +5 -1
  119. package/dist/frontend/lowering/lower-generators.js.map +1 -1
  120. package/dist/frontend/lowering/lower-inspect.js +15 -1
  121. package/dist/frontend/lowering/lower-inspect.js.map +1 -1
  122. package/dist/frontend/lowering/lower-island.js +4 -0
  123. package/dist/frontend/lowering/lower-island.js.map +1 -1
  124. package/dist/frontend/lowering/lower-island.test.d.ts +1 -0
  125. package/dist/frontend/lowering/lower-island.test.js +51 -0
  126. package/dist/frontend/lowering/lower-island.test.js.map +1 -0
  127. package/dist/frontend/lowering/lower-modules.d.ts +1 -3
  128. package/dist/frontend/lowering/lower-modules.js +186 -82
  129. package/dist/frontend/lowering/lower-modules.js.map +1 -1
  130. package/dist/frontend/lowering/lower-modules.test.js +69 -1
  131. package/dist/frontend/lowering/lower-modules.test.js.map +1 -1
  132. package/dist/frontend/lowering/lower-stmts.js +100 -35
  133. package/dist/frontend/lowering/lower-stmts.js.map +1 -1
  134. package/dist/frontend/lowering/lower-stmts.test.d.ts +1 -0
  135. package/dist/frontend/lowering/lower-stmts.test.js +77 -0
  136. package/dist/frontend/lowering/lower-stmts.test.js.map +1 -0
  137. package/dist/frontend/lowering/lower-stream.js +2 -0
  138. package/dist/frontend/lowering/lower-stream.js.map +1 -1
  139. package/dist/frontend/lowering/lower-url.d.ts +2 -1
  140. package/dist/frontend/lowering/lower-url.js +32 -9
  141. package/dist/frontend/lowering/lower-url.js.map +1 -1
  142. package/dist/frontend/lowering/lowerer.d.ts +26 -9
  143. package/dist/frontend/lowering/lowerer.js +218 -27
  144. package/dist/frontend/lowering/lowerer.js.map +1 -1
  145. package/dist/frontend/lowering/lowerer.test.js +38 -0
  146. package/dist/frontend/lowering/lowerer.test.js.map +1 -1
  147. package/dist/frontend/lowering/module-namespace-elements.d.ts +7 -0
  148. package/dist/frontend/lowering/module-namespace-elements.js +54 -0
  149. package/dist/frontend/lowering/module-namespace-elements.js.map +1 -0
  150. package/dist/frontend/lowering/object-factory-new.d.ts +4 -3
  151. package/dist/frontend/lowering/object-factory-new.js +27 -14
  152. package/dist/frontend/lowering/object-factory-new.js.map +1 -1
  153. package/dist/frontend/lowering/surfaces.d.ts +1 -0
  154. package/dist/frontend/lowering/surfaces.js +24 -12
  155. package/dist/frontend/lowering/surfaces.js.map +1 -1
  156. package/dist/frontend/lowering/text-decoder-encoding.js +3 -0
  157. package/dist/frontend/lowering/text-decoder-encoding.js.map +1 -1
  158. package/dist/frontend/lowering/text-decoder-encoding.test.js +2 -1
  159. package/dist/frontend/lowering/text-decoder-encoding.test.js.map +1 -1
  160. package/dist/frontend/program.js +4 -2
  161. package/dist/frontend/program.js.map +1 -1
  162. package/dist/frontend/type-mapper.js +83 -14
  163. package/dist/frontend/type-mapper.js.map +1 -1
  164. package/dist/frontend/union-discriminants.js +22 -7
  165. package/dist/frontend/union-discriminants.js.map +1 -1
  166. package/dist/index.js +16 -10
  167. package/dist/index.js.map +1 -1
  168. package/dist/ir/ir.d.ts +27 -13
  169. package/dist/ir/ir.js +26 -2
  170. package/dist/ir/ir.js.map +1 -1
  171. package/dist/ir/serialize.js +21 -1
  172. package/dist/ir/serialize.js.map +1 -1
  173. package/dist/ir/serialize.test.js +21 -0
  174. package/dist/ir/serialize.test.js.map +1 -1
  175. package/dist/ir/traverse.d.ts +0 -3
  176. package/dist/ir/traverse.js +33 -20
  177. package/dist/ir/traverse.js.map +1 -1
  178. package/dist/ir/validate.js +56 -5
  179. package/dist/ir/validate.js.map +1 -1
  180. package/dist/ir/validate.test.js +17 -1
  181. package/dist/ir/validate.test.js.map +1 -1
  182. package/dist/library/compiler-self-identity.js +1 -1
  183. package/dist/library/compiler-self-identity.test.js +2 -2
  184. package/dist/library/compiler-self-identity.test.js.map +1 -1
  185. package/dist/library/int-infer.d.ts +2 -2
  186. package/dist/library/int-infer.js +10 -7
  187. package/dist/library/int-infer.js.map +1 -1
  188. package/dist/library/int-infer.test.js +44 -0
  189. package/dist/library/int-infer.test.js.map +1 -1
  190. package/dist/library/prepare.js +2 -1
  191. package/dist/library/prepare.js.map +1 -1
  192. package/package.json +20 -20
  193. package/surface-manifest.json +115 -13
@@ -1,4 +1,3 @@
1
- import { typeEquals } from "../ir/ir.js";
2
1
  /** Only ordinary data slots have a safe literal-comparison ABI. */
3
2
  export function discriminantField(shape, field) {
4
3
  if (field.startsWith("%") || !shape || shape.tuple)
@@ -74,7 +73,17 @@ export function remapUnionDiscriminant(source, arms) {
74
73
  const original = source.discriminant;
75
74
  if (!original)
76
75
  return undefined;
76
+ // Only record arms own discriminator cases, and their shape id is their
77
+ // complete type identity. Index them once rather than searching the whole
78
+ // destination for each case in large unions such as the compiler's IR.
79
+ const recordTags = new Map();
80
+ for (let tag = 0; tag < arms.length; tag++) {
81
+ const arm = arms[tag];
82
+ if (arm.kind === "record" && !recordTags.has(arm.shapeId))
83
+ recordTags.set(arm.shapeId, tag);
84
+ }
77
85
  const seen = new Set();
86
+ const covered = new Set();
78
87
  const cases = [];
79
88
  for (const entry of original.cases) {
80
89
  const arm = source.arms[entry.tag];
@@ -82,14 +91,20 @@ export function remapUnionDiscriminant(source, arms) {
82
91
  return undefined;
83
92
  }
84
93
  seen.add(entry.tag);
85
- const tag = arms.findIndex((candidate) => typeEquals(candidate, arm));
86
- if (tag >= 0)
94
+ const tag = recordTags.get(arm.shapeId);
95
+ if (tag !== undefined) {
96
+ covered.add(tag);
87
97
  cases.push({ tag, values: entry.values.slice() });
98
+ }
99
+ }
100
+ for (let tag = 0; tag < source.arms.length; tag++) {
101
+ if (source.arms[tag].kind === "record" && !seen.has(tag))
102
+ return undefined;
103
+ }
104
+ for (let tag = 0; tag < arms.length; tag++) {
105
+ if (arms[tag].kind === "record" && !covered.has(tag))
106
+ return undefined;
88
107
  }
89
- if (source.arms.some((arm, tag) => arm.kind === "record" && !seen.has(tag)))
90
- return undefined;
91
- if (arms.some((arm, tag) => arm.kind === "record" && !cases.some((entry) => entry.tag === tag)))
92
- return undefined;
93
108
  if (cases.length === 0)
94
109
  return undefined;
95
110
  cases.sort((a, b) => a.tag - b.tag);
@@ -1 +1 @@
1
- {"version":3,"file":"union-discriminants.js","sourceRoot":"","sources":["../../src/frontend/union-discriminants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"union-discriminants.js","sourceRoot":"","sources":["../../src/frontend/union-discriminants.ts"],"names":[],"mappings":"AAIA,mEAAmE;AACnE,MAAM,UAAU,iBAAiB,CAAC,KAAgC,EAAE,KAAa;IAC/E,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAChE,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,KAAK,EAAE,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,KAAK,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IAChH,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,IAAI,CAAC;IACtE,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACvG,CAAC;AAED,SAAS,cAAc,CAAC,IAAY,EAAE,KAAmB;IACvD,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC;IAC7D,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,OAAO,KAAK,KAAK,SAAS,CAAC;IAC5D,OAAO,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACpF,CAAC;AAED;mEACmE;AACnE,MAAM,UAAU,kBAAkB,CAChC,KAAiB,EACjB,OAAkD;IAElD,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;IACxC,IAAI,CAAC,YAAY;QAAE,OAAO,IAAI,CAAC;IAC/B,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QACtG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;QACzE,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACpD,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAClC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,KAAK,CAAC,GAAG;gBAAE,OAAO,IAAI,CAAC;YAClE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IACD,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;QACjD,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAE,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;IACxE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;6EAC6E;AAC7E,MAAM,UAAU,eAAe,CAC7B,KAAiB,EACjB,MAA+B,EAC/B,OAAkD,EAClD,eAAoD;IAEpD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACrC,MAAM,MAAM,GAAG,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;IACpG,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACjC,IAAI,GAAuB,CAAC;IAC5B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACtE,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/C,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,IAAI,KAAK,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAC3E,GAAG,GAAG,IAAI,CAAC;IACb,CAAC;IACD,MAAM,GAAG,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5D,OAAO,GAAG,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7C,CAAC;AAED;;sEAEsE;AACtE,MAAM,UAAU,sBAAsB,CACpC,MAAkB,EAClB,IAAuB;IAEvB,MAAM,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC;IACrC,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChC,wEAAwE;IACxE,0EAA0E;IAC1E,uEAAuE;IACvE,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC7C,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAE,CAAC;QACvB,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC9F,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,KAAK,GAAiC,EAAE,CAAC;IAC/C,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtH,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IACD,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;QAClD,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAE,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,SAAS,CAAC;IAC9E,CAAC;IACD,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;QAC3C,IAAI,IAAI,CAAC,GAAG,CAAE,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,SAAS,CAAC;IAC1E,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACzC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACpC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;AAC1C,CAAC"}
package/dist/index.js CHANGED
@@ -10,7 +10,7 @@ import { basename, dirname, join, resolve } from "node:path";
10
10
  import { clearCcCaches, configuredTargetPlatform } from "./backend/native-toolchain.js";
11
11
  import { buildCacheRoot, prepareBuildCacheRoot, pruneBuildCache } from "./backend/build-cache.js";
12
12
  import { CcCompileError, compileExternalC, compileExternalCLibrary, executableNativeEnvironmentFingerprint, mobileLibraryTarget, mobileTargetRefusal, resolveCc, } from "./backend/external-c.js";
13
- import { emitLlvmModule, LlvmUnsupportedError } from "./backend/llvm/emitter.js";
13
+ import { emitLlvmModuleSource, LlvmUnsupportedError } from "./backend/llvm/emitter.js";
14
14
  import { emitNativeArtifact, NativeCodegenError } from "./backend/native-codegen.js";
15
15
  import { privateSiblingPath } from "./backend/build-cache.js";
16
16
  import { nativeCodegenTarget, nativeCodegenTargetRefusal } from "./backend/targets.js";
@@ -265,7 +265,7 @@ async function prepareExecutableInput(entryPath, opts, ffi, buildPlatform, timin
265
265
  if (outputKind === "llvm" || outputKind === "asm" || outputKind === "obj") {
266
266
  let llvm;
267
267
  try {
268
- llvm = emitLlvmModule(mod, {
268
+ llvm = emitLlvmModuleSource(mod, {
269
269
  targetTriple: process.env["SCRIPTC_TARGET"] ?? "",
270
270
  ...debugOptions,
271
271
  pointerBits: buildPlatform === "wasi" ? 32 : 64,
@@ -330,7 +330,7 @@ async function prepareExecutableInput(entryPath, opts, ffi, buildPlatform, timin
330
330
  const backend = "llvm";
331
331
  let llvmSource;
332
332
  try {
333
- llvmSource = emitLlvmModule(mod, {
333
+ llvmSource = emitLlvmModuleSource(mod, {
334
334
  targetTriple: process.env["SCRIPTC_TARGET"] ?? "",
335
335
  ...debugOptions,
336
336
  pointerBits: buildPlatform === "wasi" ? 32 : 64,
@@ -354,7 +354,7 @@ async function prepareExecutableInput(entryPath, opts, ffi, buildPlatform, timin
354
354
  const nativeFeatures = executableNativeFeatures(mod, backend, opts.dynamic ?? false, opts.optimization ?? "release");
355
355
  timing("link-features");
356
356
  const programSplit = backend === "llvm" && (opts.optimization ?? "release") === "dev" &&
357
- !(opts.sanitize ?? false) && llvmSource !== null
357
+ !(opts.sanitize ?? false) && typeof llvmSource === "string"
358
358
  ? splitLlvmProgram(llvmSource)
359
359
  : null;
360
360
  timing("llvm-split");
@@ -507,9 +507,17 @@ async function compileTracked(entryPath, opts, frontendInputs) {
507
507
  : null;
508
508
  let earlyCacheOptions = null;
509
509
  if (outputKind === "exe") {
510
- const implementation = await compilerImplementationIdentity();
511
510
  const helperObjectRoute = opts.nativeProgramObject === true ||
512
511
  (usesPrecompiledRuntimePack(opts, "llvm"));
512
+ // Package content and native driver discovery are independent inputs to
513
+ // the same cache key. Start both before waiting so edits do not pay their
514
+ // filesystem and subprocess latency serially.
515
+ const [implementation, nativeEnvironment] = await Promise.all([
516
+ compilerImplementationIdentity(),
517
+ helperObjectRoute
518
+ ? executableLinkerEnvironmentFingerprint(process.env, nativeCodegenTarget()?.defaultLinker)
519
+ : executableNativeEnvironmentFingerprint(),
520
+ ]);
513
521
  earlyCacheOptions = {
514
522
  entryPath,
515
523
  outDir: opts.outDir,
@@ -533,9 +541,7 @@ async function compileTracked(entryPath, opts, frontendInputs) {
533
541
  ? resolvePlatformLinker(process.env, nativeCodegenTarget()?.defaultLinker)
534
542
  : (process.env["SCRIPTC_CC"] ?? "clang"),
535
543
  ],
536
- nativeEnvironment: helperObjectRoute
537
- ? await executableLinkerEnvironmentFingerprint(process.env, nativeCodegenTarget()?.defaultLinker)
538
- : await executableNativeEnvironmentFingerprint(),
544
+ nativeEnvironment,
539
545
  nodeVersion: process.version,
540
546
  implementation: implementation.digest,
541
547
  implementationDependencies: implementation.dependencies,
@@ -1061,12 +1067,12 @@ async function compileLibraryTracked(opts, frontendInputs) {
1061
1067
  const stem = basename(entryPath).replace(/\.(ts|mts|cts|js|mjs|cjs)$/, "");
1062
1068
  const llvmPath = join(opts.outDir, `${stem}.lib.ll`);
1063
1069
  try {
1064
- const ll = emitLlvmModule(mod, {
1070
+ const ll = emitLlvmModuleSource(mod, {
1065
1071
  targetTriple: process.env["SCRIPTC_TARGET"] ?? "",
1066
1072
  pointerBits: buildPlatform === "wasi" ? 32 : 64,
1067
1073
  wasi: buildPlatform === "wasi",
1068
1074
  });
1069
- timing("llvm-emit", { output_bytes: Buffer.byteLength(ll) });
1075
+ timing("llvm-emit", { output_bytes: typeof ll === "string" ? Buffer.byteLength(ll) : ll.reduce((bytes, part) => bytes + Buffer.byteLength(part), 0) });
1070
1076
  await writeFile(llvmPath, ll);
1071
1077
  timing("llvm-write");
1072
1078
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/ir/ir.d.ts CHANGED
@@ -805,6 +805,10 @@ export interface IrClassDef {
805
805
  prototypeDataHelper?: string;
806
806
  /** Native instance to its actual prototype, including factory captures and subclasses. */
807
807
  instancePrototypeHelper?: string;
808
+ /** Public JavaScript fields record their creation in the shared property
809
+ * bag. Its descriptors preserve presence and insertion order independently
810
+ * of native layout order; field values remain in their native slots. */
811
+ tracksOwnFields?: boolean;
808
812
  /** Stable module symbol identities for public instance layout fields. */
809
813
  symbolFields?: {
810
814
  field: string;
@@ -991,6 +995,9 @@ export interface IrFunction {
991
995
  /** Original TS name (mangling is a backend concern). Lifted lambdas get
992
996
  * synthetic '%'-prefixed names ('%' can't appear in a TS identifier). */
993
997
  name: string;
998
+ /** Generated reflection dispatch contains speculative source-member edges.
999
+ * Target-only host operations behind those edges retain runtime refusals. */
1000
+ speculativeDispatch?: boolean;
994
1001
  params: IrParam[];
995
1002
  returnType: IrType;
996
1003
  /** All locals including params, pre-collected and scope-flat: ids are
@@ -1455,7 +1462,7 @@ export type IrSetIntrinsicMethod = "add" | "has" | "delete" | "size" | "clear" |
1455
1462
  * halves become U+FFFD, divergence 2). `padStart`/`padEnd` take (target
1456
1463
  * length, fill) — the frontend completes an omitted fill to " ", Node's
1457
1464
  * default. `trimStart`/`trimEnd` are trim's one-sided halves. */
1458
- export type IrStrIntrinsicMethod = "length" | "charCodeAt" | "charAt" | "indexOf" | "includes" | "startsWith" | "endsWith" | "slice" | "substring" | "repeat" | "trim" | "trimStart" | "trimEnd" | "split" | "padStart" | "padEnd" | "toLowerCase" | "toUpperCase" | "isWellFormed" | "toWellFormed" | "cpAt";
1465
+ export type IrStrIntrinsicMethod = "length" | "charCodeAt" | "charAt" | "indexOf" | "includes" | "startsWith" | "endsWith" | "slice" | "substring" | "repeat" | "trim" | "trimStart" | "trimEnd" | "split" | "padStart" | "padEnd" | "toLowerCase" | "toUpperCase" | "normalize" | "isWellFormed" | "toWellFormed" | "cpAt";
1459
1466
  /** The typed-array/Buffer method surface (bytesIntrinsic). Receiver/arg
1460
1467
  * conventions (validated): `length`/`byteLength` are property reads → f64;
1461
1468
  * `get` takes one f64 index → f64 (trap on any invalid index, like
@@ -1602,7 +1609,7 @@ export type IrLibFn = "ffi.argument" | "ffi.memoryModule" | "intl.segmenterNew"
1602
1609
  * answers once the response head arrives; the response body readers
1603
1610
  * consume the native body stream. AbortSignal and ReadableStream values
1604
1611
  * are opaque checked-dynamic handles. */
1605
- | "fetch.start" | "fetch.input" | "fetch.function" | "fetch.requestNew" | "fetch.headersNew" | "fetch.responseNew" | "fetch.responseArrayBuffer" | "fetch.responseJson" | "fetch.responseText" | "fetch.responseBytes" | "fetch.abortControllerNew" | "fetch.abortTimeout" | "fetch.abortNow" | "fetch.abortAny" | "fetch.webIs" | "fetch.streamIs" | "fetch.streamNew" | "fetch.streamFrom" | "fetch.readerRead" | "island.eval"
1612
+ | "fetch.start" | "fetch.input" | "fetch.function" | "fetch.requestNew" | "fetch.headersNew" | "fetch.responseNew" | "fetch.responseArrayBuffer" | "fetch.responseJson" | "fetch.responseText" | "fetch.responseBytes" | "fetch.abortControllerNew" | "fetch.abortTimeout" | "fetch.abortNow" | "fetch.abortAny" | "abort.controllerNew" | "abort.timeout" | "abort.now" | "abort.any" | "fetch.webIs" | "fetch.streamIs" | "fetch.streamNew" | "fetch.streamFrom" | "fetch.readerRead" | "island.eval"
1606
1613
  /** Load an embedded npm package's runtime entry in the island (cached by
1607
1614
  * the engine's module registry) and take one export: args are the entry
1608
1615
  * KEY (an embedded module's key, from IrModule.embedded) and the export
@@ -1676,7 +1683,7 @@ export type IrLibFn = "ffi.argument" | "ffi.memoryModule" | "intl.segmenterNew"
1676
1683
  * descriptors and non-object targets/descriptors throw catchably
1677
1684
  * (Node's TypeError texts; accessors the loud unsupported Error). In
1678
1685
  * the may-throw seed set. */
1679
- | "dyn.defineProps" | "dyn.defineProperty" | "dyn.getOwnPropertyDescriptor" | "dyn.arrayProtoCall"
1686
+ | "dyn.defineProps" | "dyn.defineProperty" | "dyn.getOwnPropertyDescriptor" | "dyn.arrayProtoCall" | "dyn.promiseAll"
1680
1687
  /** Bare `typeof v` on a dyn value AS A STRING (arg: the dyn value,
1681
1688
  * borrowed; result: an owned string) — the dyn kind's JS answer:
1682
1689
  * undefined→"undefined", null/object/array/bytes→"object" (JS's oldest
@@ -1866,7 +1873,11 @@ export type IrLibFn = "ffi.argument" | "ffi.memoryModule" | "intl.segmenterNew"
1866
1873
  * value / string) — both THROW Node's TypeErrors on non-file schemes,
1867
1874
  * encoded slashes, and non-empty hosts. url.pathToFileURL resolves the
1868
1875
  * path (getcwd) and never throws. */
1869
- | "url.new" | "url.newBase" | "url.protocol" | "url.origin" | "url.username" | "url.password" | "url.host" | "url.hostname" | "url.port" | "url.pathname" | "url.href" | "url.fileURLToPathUrl" | "url.fileURLToPathChecked" | "url.fileURLToPathStr" | "url.pathToFileURL"
1876
+ | "url.new" | "url.newBase"
1877
+ /** Factories consume already-converted input/base strings. canParse
1878
+ * answers a boolean; parse returns a checked native URL or null (+1).
1879
+ * Parser failures are suppressed; conversion occurs before these calls. */
1880
+ | "url.canParse" | "url.canParseBase" | "url.parse" | "url.parseBase" | "url.protocol" | "url.origin" | "url.username" | "url.password" | "url.host" | "url.hostname" | "url.port" | "url.pathname" | "url.href" | "url.fileURLToPathUrl" | "url.fileURLToPathChecked" | "url.fileURLToPathStr" | "url.pathToFileURL"
1870
1881
  /** Explicit path syntax from the options.windows argument, independent
1871
1882
  * of the executable's host platform. Windows UNC input can throw. */
1872
1883
  | "url.pathToFileURLPlatform"
@@ -1919,7 +1930,7 @@ export type IrLibFn = "ffi.argument" | "ffi.memoryModule" | "intl.segmenterNew"
1919
1930
  * checked-dynamic ParsedResults tree out. Statically typed member reads
1920
1931
  * validate their values when leaving that tree. The native parser may
1921
1932
  * throw Node's coded validation/grammar TypeErrors. */
1922
- | "util.parseArgs"
1933
+ | "util.parseArgs" | "util.parseEnv"
1923
1934
  /** ES Symbol values (scr_symbol.c — link-gated by moduleUsesSymbol).
1924
1935
  * sym.new: `Symbol(desc)` — a fresh runtime-unique identity (+1) whose
1925
1936
  * one arg is the description string (borrowed); sym.newAnon is the
@@ -2478,10 +2489,10 @@ export type IrLibFn = "ffi.argument" | "ffi.memoryModule" | "intl.segmenterNew"
2478
2489
  * the entries below; all paths share the incremental runtime core. */
2479
2490
  | "crypto.hashDigestStr" | "crypto.hashDigestBytes"
2480
2491
  /** First-class static Hash/Hmac handles. Constructors validate the
2481
- * runtime algorithm string (md5/sha1/sha256); update returns the same
2492
+ * runtime algorithm string (MD5, SHA-1, or SHA-2); update returns the same
2482
2493
  * handle by retained identity, copy snapshots Hash state, and digest
2483
2494
  * finalizes the handle and returns either a Buffer or encoded string. */
2484
- | "crypto.native" | "crypto.hashNew" | "crypto.hmacNewStr" | "crypto.hmacNewBytes" | "crypto.hashUpdateStr" | "crypto.hashUpdateBytes" | "crypto.hmacUpdateStr" | "crypto.hmacUpdateBytes" | "crypto.hashCopy" | "crypto.hashDigestString" | "crypto.hashDigestBuffer" | "crypto.hmacDigestString" | "crypto.hmacDigestBuffer" | "crypto.timingSafeEqual" | "crypto.randomFill" | "crypto.randomFillRest" | "crypto.randomInt" | "crypto.pbkdf2" | "crypto.randomBytesCb" | "crypto.pbkdf2Cb"
2495
+ | "crypto.native" | "crypto.hashNew" | "crypto.hmacNewStr" | "crypto.hmacNewBytes" | "crypto.hashUpdateStr" | "crypto.hashUpdateBytes" | "crypto.hmacUpdateStr" | "crypto.hmacUpdateBytes" | "crypto.hashCopy" | "crypto.hashDigestString" | "crypto.hashDigestBuffer" | "crypto.hmacDigestString" | "crypto.hmacDigestBuffer" | "crypto.timingSafeEqual" | "crypto.randomFill" | "crypto.randomFillRest" | "crypto.randomInt" | "crypto.pbkdf2" | "crypto.randomBytesCb" | "crypto.pbkdf2Cb" | "crypto.hkdf" | "crypto.hkdfCb" | "crypto.scrypt" | "crypto.scryptCb"
2485
2496
  /** crypto.randomBytes(n) → a real u8 Buffer (+1). THROWS Node's
2486
2497
  * RangeError on out-of-range sizes, exactly like the composed
2487
2498
  * randomBytesToString (which keeps its one-libCall lowering — the two
@@ -2595,7 +2606,7 @@ export type IrLibFn = "ffi.argument" | "ffi.memoryModule" | "intl.segmenterNew"
2595
2606
  * become rejections rather than escaping synchronously. read/write
2596
2607
  * results are call-site record shapes ({ bytesRead/bytesWritten,
2597
2608
  * buffer }) assembled by the backends around the fixed runtime ABI. */
2598
- | "fsp.open" | "fileHandle.fd" | "fileHandle.close" | "fileHandle.read" | "fileHandle.writeBytes" | "fileHandle.writeStr" | "fileHandle.readFile" | "fileHandle.readFileBytes" | "fileHandle.writeFile" | "fileHandle.writeFileBytes" | "fileHandle.stat" | "process.argv" | "process.platform"
2609
+ | "fsp.open" | "fileHandle.fd" | "fileHandle.close" | "fileHandle.sync" | "fileHandle.datasync" | "fileHandle.truncate" | "fileHandle.chmod" | "fileHandle.readv" | "fileHandle.writev" | "fileHandle.read" | "fileHandle.writeBytes" | "fileHandle.writeStr" | "fileHandle.readFile" | "fileHandle.readFileBytes" | "fileHandle.writeFile" | "fileHandle.writeFileBytes" | "fileHandle.stat" | "process.argv" | "process.platform"
2599
2610
  /** getenv(3): one string key arg → the interned `string | undefined`
2600
2611
  * union (present: +1 string wrapped into the string arm; absent: the
2601
2612
  * interned undefined-arm instance). BOTH source forms — `process.env.FOO`
@@ -2648,7 +2659,7 @@ export type IrLibFn = "ffi.argument" | "ffi.memoryModule" | "intl.segmenterNew"
2648
2659
  | "process.umask"
2649
2660
  /** chdir(2) — throws Node's fs-shaped error (ENOENT/EACCES/ENOTDIR,
2650
2661
  * syscall "chdir") on failure. */
2651
- | "process.chdir"
2662
+ | "process.chdir" | "process.loadEnvFile"
2652
2663
  /** process._exiting: true once the exit sequence began (exit listeners
2653
2664
  * running) — the runtime flag scr_run_exit_listeners/process.exit set.
2654
2665
  * Never throws. */
@@ -2908,14 +2919,14 @@ export type IrLibFn = "ffi.argument" | "ffi.memoryModule" | "intl.segmenterNew"
2908
2919
  * drives the real iterator protocol, whose failure describes the VALUE
2909
2920
  * ("object null is not iterable (cannot read property
2910
2921
  * Symbol(Symbol.iterator))"). The frontend picks by position. */
2911
- | "dyn.packPushSpreadIter" | "dyn.assignAll" | "dyn.reflectApply"
2922
+ | "dyn.packPushSpreadIter" | "dyn.assignAll" | "dyn.reflectApply" | "dyn.reflectGet" | "dyn.reflectSet" | "dyn.reflectDefine" | "dyn.abstractEq"
2912
2923
  /** `Object.create(null)` (scr_json.c): a fresh NULL-PROTOTYPE dyn
2913
2924
  * dictionary. The checked-dynamic tree's OBJ dispatch is already own-member-only —
2914
2925
  * Node's null-proto answer — so the flag's whole job is the observations
2915
2926
  * that SEE the prototype: inspect's "[Object: null prototype]" prefix
2916
2927
  * and deepStrictEqual's prototype gate. Never throws. Static builds
2917
2928
  * only; --dynamic routes Object.create through the engine instead. */
2918
- | "dyn.objCreateNullProto" | "dyn.arrayPrototype" | "dyn.objectPrototype" | "dyn.functionApply" | "dyn.builtinMethod" | "dyn.classPrototype" | "dyn.classBasePrototype" | "dyn.classInherit" | "dyn.classSuper" | "dyn.assignPrototype" | "dyn.objCreate" | "dyn.objCreateWithProperties" | "dyn.getPrototype" | "dyn.setPrototype" | "dyn.getOwnPropertyNames" | "dyn.ownKeys" | "dyn.getOwnPropertySymbols" | "dyn.getOwnPropertyDescriptors" | "dyn.preventExtensions" | "dyn.isExtensible" | "dyn.seal" | "dyn.isSealed" | "dyn.objValues" | "dyn.objEntries"
2929
+ | "dyn.objCreateNullProto" | "dyn.arrayPrototype" | "dyn.arrayConstructor" | "dyn.objectPrototype" | "dyn.functionApply" | "dyn.builtinMethod" | "dyn.classPrototype" | "dyn.classBasePrototype" | "dyn.classInherit" | "dyn.classSuper" | "dyn.assignPrototype" | "dyn.definePrototypeProps" | "dyn.bagGet" | "dyn.bagSet" | "dyn.objCreate" | "dyn.objCreateWithProperties" | "dyn.getPrototype" | "dyn.setPrototype" | "dyn.getOwnPropertyNames" | "dyn.ownKeys" | "dyn.getOwnPropertySymbols" | "dyn.getOwnPropertyDescriptors" | "dyn.preventExtensions" | "dyn.isExtensible" | "dyn.seal" | "dyn.isSealed" | "dyn.objValues" | "dyn.objEntries"
2919
2930
  /** structuredClone over the checked-dynamic tree (scr_json.c): the JSON-safe subset plus
2920
2931
  * bytes (a fresh copy — a Buffer clones as a plain Uint8Array, like
2921
2932
  * Node), deep. Functions and handle kinds throw the spec's catchable
@@ -3372,7 +3383,7 @@ export type IrLibFn = "ffi.argument" | "ffi.memoryModule" | "intl.segmenterNew"
3372
3383
  * mapping tables are generated from the pinned Node 24 oracle, keeping
3373
3384
  * output portable without an ICU/iconv dependency. Borrowed args; owned
3374
3385
  * (+1) string; never throws. */
3375
- | "text.decodeLegacy" | "text.decoderEncoding"
3386
+ | "text.decodeLegacy" | "text.decoderEncoding" | "text.decoderName" | "text.encodeInto" | "buffer.isAscii" | "buffer.isUtf8" | "buffer.transcode"
3376
3387
  /** The wider sync fs slice (scr_lib.c), all throwing catchably with
3377
3388
  * Node's errno message shapes and `.code` stamped like the rest of
3378
3389
  * sync fs. unlink/chmod/chown wrap the syscalls 1:1 (Node reports the
@@ -3394,7 +3405,7 @@ export type IrLibFn = "ffi.argument" | "ffi.memoryModule" | "intl.segmenterNew"
3394
3405
  /** renameSync is the direct two-path syscall wrapper. renameCb defers
3395
3406
  * the operation to the loop and fires a program-shaped Error | null
3396
3407
  * callback through a backend-emitted adapter. */
3397
- | "fs.renameSync" | "fs.renameCb" | "fs.lstatSync" | "fs.fstatSync" | "fs.fchmodSync" | "fs.fsyncSync" | "fs.linkSync"
3408
+ | "fs.renameSync" | "fs.renameCb" | "fs.lstatSync" | "fs.fstatSync" | "fs.fchmodSync" | "fs.fsyncSync" | "fs.fdatasyncSync" | "fs.ftruncateSync" | "fs.readvSync" | "fs.writevSync" | "fs.linkSync"
3398
3409
  /** fs.openSync(path, flags) → the raw fd as f64; fs.readSync/fs.writeSync
3399
3410
  * over Buffer windows perform sequential I/O when position is -1 and
3400
3411
  * offset-preserving positioned I/O otherwise; fs.writeStrSync is the
@@ -4436,6 +4447,7 @@ export type IrExpr =
4436
4447
  callee: IrExpr;
4437
4448
  receiver?: IrExpr;
4438
4449
  calleeName: string;
4450
+ calleeNameValue?: IrExpr;
4439
4451
  args: IrExpr[];
4440
4452
  spreads?: {
4441
4453
  arg: number;
@@ -4462,6 +4474,7 @@ export type IrExpr =
4462
4474
  recv: IrExpr;
4463
4475
  method: string;
4464
4476
  calleeName: string;
4477
+ calleeNameValue?: IrExpr;
4465
4478
  args: IrExpr[];
4466
4479
  type: IrType;
4467
4480
  loc: SrcLoc;
@@ -4901,6 +4914,7 @@ export type IrExpr =
4901
4914
  args: IrExpr[];
4902
4915
  type: IrType;
4903
4916
  loc: SrcLoc;
4917
+ prototypeIdentityOnly?: true;
4904
4918
  }
4905
4919
  /** `JSON.stringify(v)` — type-DIRECTED serialization: `value`'s static IR
4906
4920
  * type must be JSON-safe (f64/string/bool/record/array/union of those,