@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":"classes.js","sourceRoot":"","sources":["../../../src/backend/llvm/classes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"classes.js","sourceRoot":"","sources":["../../../src/backend/llvm/classes.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,8 @@
1
1
  import type { IrFfiCallbackParamClass, IrFfiReturnClass, IrFfiValueParamClass } from "../../ir/ir.js";
2
+ /** User-controlled text embedded after an LLVM `;` comment marker. Preserve
3
+ * ordinary output byte-for-byte, but encode control and line-separator code
4
+ * units so a property name can never inject a line or invalid source byte. */
5
+ export declare function llvmCommentText(text: string): string;
2
6
  export declare function ffiNativeTypeLl(cls: IrFfiCallbackParamClass | IrFfiValueParamClass | IrFfiReturnClass): string;
3
7
  export declare function f64Lit(n: number): string;
4
8
  export declare const F64_INF: string;
@@ -1,4 +1,10 @@
1
1
  import { InternalCompilerError } from "../../errors.js";
2
+ /** User-controlled text embedded after an LLVM `;` comment marker. Preserve
3
+ * ordinary output byte-for-byte, but encode control and line-separator code
4
+ * units so a property name can never inject a line or invalid source byte. */
5
+ export function llvmCommentText(text) {
6
+ return text.replace(/[\u0000-\u001f\u007f-\u009f\u2028\u2029]/g, (char) => `\\u${char.charCodeAt(0).toString(16).padStart(4, "0")}`);
7
+ }
2
8
  export function ffiNativeTypeLl(cls) {
3
9
  switch (cls) {
4
10
  case "f64":
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/backend/llvm/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAGxD,MAAM,UAAU,eAAe,CAC7B,GAAsE;IAEtE,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,KAAK;YACR,OAAO,QAAQ,CAAC;QAClB,KAAK,MAAM,CAAC;QACZ,KAAK,IAAI;YACP,OAAO,IAAI,CAAC;QACd,KAAK,KAAK,CAAC;QACX,KAAK,KAAK;YACR,OAAO,KAAK,CAAC;QACf,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC;QACf,KAAK,QAAQ,CAAC;QACd,KAAK,OAAO;YACV,MAAM,IAAI,qBAAqB,CAAC,iCAAiC,GAAG,2BAA2B,CAAC,CAAC;QACnG,KAAK,MAAM;YACT,OAAO,MAAM,CAAC;IAClB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,CAAS;IAC9B,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;IAC/B,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnC,OAAO,KAAK,CAAC,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;AAC5G,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/backend/llvm/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAGxD;;8EAE8E;AAC9E,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,OAAO,IAAI,CAAC,OAAO,CAAC,2CAA2C,EAAE,CAAC,IAAI,EAAE,EAAE,CACxE,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CACzD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,GAAsE;IAEtE,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,KAAK;YACR,OAAO,QAAQ,CAAC;QAClB,KAAK,MAAM,CAAC;QACZ,KAAK,IAAI;YACP,OAAO,IAAI,CAAC;QACd,KAAK,KAAK,CAAC;QACX,KAAK,KAAK;YACR,OAAO,KAAK,CAAC;QACf,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC;QACf,KAAK,QAAQ,CAAC;QACd,KAAK,OAAO;YACV,MAAM,IAAI,qBAAqB,CAAC,iCAAiC,GAAG,2BAA2B,CAAC,CAAC;QACnG,KAAK,MAAM;YACT,OAAO,MAAM,CAAC;IAClB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,CAAS;IAC9B,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;IAC/B,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnC,OAAO,KAAK,CAAC,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;AAC5G,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,9 @@
1
+ import { describe, expect, test } from "vitest";
2
+ import { llvmCommentText } from "./common.js";
3
+ describe("LLVM comment text", () => {
4
+ test("preserves ordinary names and encodes control characters", () => {
5
+ expect(llvmCommentText('quote"slash\\')).toBe('quote"slash\\');
6
+ expect(llvmCommentText("line\n\0tab\tunit\u001f\u007f\u0085\u2028")).toBe("line\\u000a\\u0000tab\\u0009unit\\u001f\\u007f\\u0085\\u2028");
7
+ });
8
+ });
9
+ //# sourceMappingURL=common.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.test.js","sourceRoot":"","sources":["../../../src/backend/llvm/common.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,IAAI,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACnE,MAAM,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC/D,MAAM,CAAC,eAAe,CAAC,2CAA2C,CAAC,CAAC,CAAC,IAAI,CACvE,8DAA8D,CAC/D,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -19,6 +19,10 @@ export declare const DYN_KIND: {
19
19
  * unit instances (undefined-armed dynCheck targets build them). */
20
20
  export interface DynHost extends WalkerHost {
21
21
  unitInstanceRef(unionId: string, tag: number): string;
22
+ liveDynRefAdapter(t: IrType): {
23
+ snapshot: string;
24
+ commit: string;
25
+ };
22
26
  }
23
27
  export declare class LlDyn {
24
28
  private readonly host;
@@ -1,8 +1,9 @@
1
1
  import { InternalCompilerError } from "../../errors.js";
2
- import { DYN_HANDLE_KINDS, isRefCounted, typeKey } from "../../ir/ir.js";
2
+ import { DYN_HANDLE_KINDS, isDynTypedRefType, isRefCounted, typeKey } from "../../ir/ir.js";
3
3
  import { dynDesc, undefinedArmTag } from "../../ir/analysis.js";
4
4
  import { mangleRecordNew, mangleRecordStruct } from "../mangle.js";
5
5
  import { BlockBuilder } from "./blocks.js";
6
+ import { llvmCommentText } from "./common.js";
6
7
  import { arrNewCall, elemAccess, llFieldType, releaseSym, traceAdapter, traceArg, vAdapters } from "./shapes.js";
7
8
  import { LlvmUnsupportedError } from "./unsupported.js";
8
9
  /** ScrDynKind values (scr_runtime.h). */
@@ -166,7 +167,7 @@ export class LlDyn {
166
167
  this.host.declare(`declare ptr @scr_dyn_obj_get(ptr, ptr, ${this.S})`);
167
168
  const t = B.tmp();
168
169
  const len = Buffer.byteLength(key, "utf8");
169
- B.line(`${t} = call ptr @scr_dyn_obj_get(ptr ${d}, ptr ${this.host.cstr(key)}, ${this.S} ${len}) ; .${key}`);
170
+ B.line(`${t} = call ptr @scr_dyn_obj_get(ptr ${d}, ptr ${this.host.cstr(key)}, ${this.S} ${len}) ; .${llvmCommentText(key)}`);
170
171
  return t;
171
172
  }
172
173
  /** Appends an ScrStr's bytes into a ScrJsonBuf (walkers' putScrStr). */
@@ -419,7 +420,7 @@ export class LlDyn {
419
420
  B.startBlock(lCmp);
420
421
  const c = B.tmp();
421
422
  const same = B.tmp();
422
- B.line(`${c} = call i32 @memcmp(ptr ${ent.key}, ptr ${this.host.cstr(f.name)}, ${this.S} ${klen}) ; ${f.name}`);
423
+ B.line(`${c} = call i32 @memcmp(ptr ${ent.key}, ptr ${this.host.cstr(f.name)}, ${this.S} ${klen}) ; ${llvmCommentText(f.name)}`);
423
424
  B.line(`${same} = icmp eq i32 ${c}, 0`);
424
425
  const lNo2 = B.newLabel("dm.kn");
425
426
  const skip = B.newLabel("dm.ks");
@@ -633,7 +634,7 @@ export class LlDyn {
633
634
  : "%ScrArr";
634
635
  B.line(`${cachedPtr} = getelementptr inbounds ${struct}, ptr ${cached}, i64 0, i32 ${member.index}`);
635
636
  B.line(`${checkedPtr} = getelementptr inbounds ${struct}, ptr ${checked}, i64 0, i32 ${member.index}`);
636
- B.line(`${oldValue} = load ${member.type}, ptr ${cachedPtr} ; ${member.name}`);
637
+ B.line(`${oldValue} = load ${member.type}, ptr ${cachedPtr} ; ${llvmCommentText(member.name)}`);
637
638
  B.line(`${newValue} = load ${member.type}, ptr ${checkedPtr}`);
638
639
  B.line(`store ${member.type} ${newValue}, ptr ${cachedPtr}`);
639
640
  B.line(`store ${member.type} ${oldValue}, ptr ${checkedPtr}`);
@@ -787,7 +788,7 @@ export class LlDyn {
787
788
  const storeInto = (fieldName, ft, value) => {
788
789
  const idx = fieldIndex.get(fieldName);
789
790
  const p = B.tmp();
790
- B.line(`${p} = getelementptr inbounds %${struct}, ptr %r0, i64 0, i32 ${idx} ; .${fieldName}`);
791
+ B.line(`${p} = getelementptr inbounds %${struct}, ptr %r0, i64 0, i32 ${idx} ; .${llvmCommentText(fieldName)}`);
791
792
  if (llFieldType(ft) === "i8") {
792
793
  const z = B.tmp();
793
794
  B.line(`${z} = zext i1 ${value} to i8`);
@@ -909,7 +910,7 @@ export class LlDyn {
909
910
  B.startBlock(lCmp);
910
911
  const c = B.tmp();
911
912
  const same = B.tmp();
912
- B.line(`${c} = call i32 @memcmp(ptr ${ent.key}, ptr ${host.cstr(f.name)}, ${host.sizeType} ${klen}) ; ${f.name}`);
913
+ B.line(`${c} = call i32 @memcmp(ptr ${ent.key}, ptr ${host.cstr(f.name)}, ${host.sizeType} ${klen}) ; ${llvmCommentText(f.name)}`);
913
914
  B.line(`${same} = icmp eq i32 ${c}, 0`);
914
915
  const skip = B.newLabel("dcv.ks");
915
916
  const lNo2 = B.newLabel("dcv.kn");
@@ -1207,13 +1208,23 @@ export class LlDyn {
1207
1208
  break;
1208
1209
  }
1209
1210
  case "object": {
1210
- // %Error only (canConvertToDyn's gate): the checked-dynamic tree's error encoding.
1211
- if (t.className !== "%Error") {
1212
- throw new InternalCompilerError(`llvm emitter bug: to-dyn of class ${t.className}`);
1211
+ const className = t.className;
1212
+ if (className === "%Error") {
1213
+ host.declare(`declare ptr @scr_dyn_from_error(ptr)`);
1214
+ const r = B.tmp();
1215
+ B.line(`${r} = call ptr @scr_dyn_from_error(ptr %v)`);
1216
+ B.terminate(`ret ptr ${r}`);
1217
+ break;
1218
+ }
1219
+ if (!isDynTypedRefType(t)) {
1220
+ throw new InternalCompilerError(`llvm emitter bug: to-dyn of runtime class ${className}`);
1213
1221
  }
1214
- host.declare(`declare ptr @scr_dyn_from_error(ptr)`);
1222
+ const adapter = host.liveDynRefAdapter(t);
1223
+ const rc = vAdapters(host, t);
1224
+ const keyLit = host.cstr(typeKey(t));
1225
+ host.declare(`declare ptr @scr_dyn_new_typed_ref(ptr, ptr, ptr, ptr, ${host.sizeType}, ptr, ptr)`);
1215
1226
  const r = B.tmp();
1216
- B.line(`${r} = call ptr @scr_dyn_from_error(ptr %v)`);
1227
+ B.line(`${r} = call ptr @scr_dyn_new_typed_ref(ptr %v, ptr ${rc.retain}, ptr ${rc.release}, ptr ${keyLit}, ${host.sizeType} ${Buffer.byteLength(typeKey(t), "utf8")}, ptr @${adapter.snapshot}, ptr ${adapter.commit})`);
1217
1228
  B.terminate(`ret ptr ${r}`);
1218
1229
  break;
1219
1230
  }
@@ -1245,7 +1256,7 @@ export class LlDyn {
1245
1256
  const fieldIndex = new Map(shape.fields.map((f, i) => [f.name, i + 1]));
1246
1257
  const loadFieldOf = (fname, ft) => {
1247
1258
  const p = B.tmp();
1248
- B.line(`${p} = getelementptr inbounds %${struct}, ptr %v, i64 0, i32 ${fieldIndex.get(fname)} ; .${fname}`);
1259
+ B.line(`${p} = getelementptr inbounds %${struct}, ptr %v, i64 0, i32 ${fieldIndex.get(fname)} ; .${llvmCommentText(fname)}`);
1249
1260
  const raw = B.tmp();
1250
1261
  B.line(`${raw} = load ${llFieldType(ft)}, ptr ${p}`);
1251
1262
  if (llFieldType(ft) !== "i8")
@@ -1311,7 +1322,7 @@ export class LlDyn {
1311
1322
  const fv = loadFieldOf(f.name, f.type);
1312
1323
  const conv = B.tmp();
1313
1324
  B.line(`${conv} = call ptr @${this.toDynHelper(f.type)}(${this.valTy(f.type)} ${fv})`);
1314
- B.line(`call void @scr_dyn_obj_set(ptr ${d}, ptr ${host.cstr(f.name)}, ${host.sizeType} ${klen}, ptr ${conv}) ; ${f.name}`);
1325
+ B.line(`call void @scr_dyn_obj_set(ptr ${d}, ptr ${host.cstr(f.name)}, ${host.sizeType} ${klen}, ptr ${conv}) ; ${llvmCommentText(f.name)}`);
1315
1326
  }
1316
1327
  if (shape.indexValue) {
1317
1328
  const iv = shape.indexValue;