@scriptc/compiler 0.2.5 → 0.2.6

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 (307) hide show
  1. package/ambient/scriptc-node-fallback.d.ts +57 -30
  2. package/dist/backend/cycle-analysis.test.js +1 -1
  3. package/dist/backend/executable-features.js +1 -0
  4. package/dist/backend/executable-features.js.map +1 -1
  5. package/dist/backend/link-plan-core.d.ts +2 -0
  6. package/dist/backend/link-plan-core.js +1 -0
  7. package/dist/backend/link-plan-core.js.map +1 -1
  8. package/dist/backend/link-plan.d.ts +1 -0
  9. package/dist/backend/link-plan.js +3 -0
  10. package/dist/backend/link-plan.js.map +1 -1
  11. package/dist/backend/llvm/byte-numbers.js +32 -4
  12. package/dist/backend/llvm/byte-numbers.js.map +1 -1
  13. package/dist/backend/llvm/byte-windows.d.ts +31 -0
  14. package/dist/backend/llvm/byte-windows.js +334 -0
  15. package/dist/backend/llvm/byte-windows.js.map +1 -0
  16. package/dist/backend/llvm/byte-windows.test.d.ts +1 -0
  17. package/dist/backend/llvm/byte-windows.test.js +244 -0
  18. package/dist/backend/llvm/byte-windows.test.js.map +1 -0
  19. package/dist/backend/llvm/call-lifetimes.d.ts +2 -2
  20. package/dist/backend/llvm/call-lifetimes.js +17 -7
  21. package/dist/backend/llvm/call-lifetimes.js.map +1 -1
  22. package/dist/backend/llvm/classes.d.ts +14 -1
  23. package/dist/backend/llvm/classes.js +80 -9
  24. package/dist/backend/llvm/classes.js.map +1 -1
  25. package/dist/backend/llvm/classes.test.d.ts +1 -0
  26. package/dist/backend/llvm/classes.test.js +99 -0
  27. package/dist/backend/llvm/classes.test.js.map +1 -0
  28. package/dist/backend/llvm/constant-callbacks.d.ts +11 -0
  29. package/dist/backend/llvm/constant-callbacks.js +213 -0
  30. package/dist/backend/llvm/constant-callbacks.js.map +1 -0
  31. package/dist/backend/llvm/constant-callbacks.test.d.ts +1 -0
  32. package/dist/backend/llvm/constant-callbacks.test.js +124 -0
  33. package/dist/backend/llvm/constant-callbacks.test.js.map +1 -0
  34. package/dist/backend/llvm/dyn.d.ts +1 -1
  35. package/dist/backend/llvm/dyn.js +7 -34
  36. package/dist/backend/llvm/dyn.js.map +1 -1
  37. package/dist/backend/llvm/emitter.d.ts +19 -0
  38. package/dist/backend/llvm/emitter.js +274 -46
  39. package/dist/backend/llvm/emitter.js.map +1 -1
  40. package/dist/backend/llvm/emitter.test.js +17 -11
  41. package/dist/backend/llvm/emitter.test.js.map +1 -1
  42. package/dist/backend/llvm/expr-bytes.js +11 -0
  43. package/dist/backend/llvm/expr-bytes.js.map +1 -1
  44. package/dist/backend/llvm/expr-calls.js +91 -23
  45. package/dist/backend/llvm/expr-calls.js.map +1 -1
  46. package/dist/backend/llvm/expr-containers.js +21 -9
  47. package/dist/backend/llvm/expr-containers.js.map +1 -1
  48. package/dist/backend/llvm/expr-dynamic.js +36 -3
  49. package/dist/backend/llvm/expr-dynamic.js.map +1 -1
  50. package/dist/backend/llvm/expr-primitives.js +7 -0
  51. package/dist/backend/llvm/expr-primitives.js.map +1 -1
  52. package/dist/backend/llvm/expr-primitives.test.js +1 -1
  53. package/dist/backend/llvm/expr-stream-bridges.test.js +1 -1
  54. package/dist/backend/llvm/integer-remainder.d.ts +7 -0
  55. package/dist/backend/llvm/integer-remainder.js +26 -0
  56. package/dist/backend/llvm/integer-remainder.js.map +1 -0
  57. package/dist/backend/llvm/layouts.js +1 -1
  58. package/dist/backend/llvm/layouts.js.map +1 -1
  59. package/dist/backend/llvm/lib-abi.js +7 -0
  60. package/dist/backend/llvm/lib-abi.js.map +1 -1
  61. package/dist/backend/llvm/lib-dispatch.js +7 -22
  62. package/dist/backend/llvm/lib-dispatch.js.map +1 -1
  63. package/dist/backend/llvm/lib-shared.js +15 -0
  64. package/dist/backend/llvm/lib-shared.js.map +1 -1
  65. package/dist/backend/llvm/local-array-reads.d.ts +8 -2
  66. package/dist/backend/llvm/local-array-reads.js +89 -68
  67. package/dist/backend/llvm/local-array-reads.js.map +1 -1
  68. package/dist/backend/llvm/local-array-reads.test.js +28 -4
  69. package/dist/backend/llvm/local-array-reads.test.js.map +1 -1
  70. package/dist/backend/llvm/local-union-storage.test.js +1 -1
  71. package/dist/backend/llvm/loop-array-borrows.d.ts +11 -0
  72. package/dist/backend/llvm/loop-array-borrows.js +70 -0
  73. package/dist/backend/llvm/loop-array-borrows.js.map +1 -0
  74. package/dist/backend/llvm/loop-array-borrows.test.d.ts +1 -0
  75. package/dist/backend/llvm/loop-array-borrows.test.js +145 -0
  76. package/dist/backend/llvm/loop-array-borrows.test.js.map +1 -0
  77. package/dist/backend/llvm/map-read-lifetimes.d.ts +5 -0
  78. package/dist/backend/llvm/map-read-lifetimes.js +20 -5
  79. package/dist/backend/llvm/map-read-lifetimes.js.map +1 -1
  80. package/dist/backend/llvm/map-read-lifetimes.test.js +1 -1
  81. package/dist/backend/llvm/reference-effects.d.ts +2 -1
  82. package/dist/backend/llvm/reference-effects.js +7 -0
  83. package/dist/backend/llvm/reference-effects.js.map +1 -1
  84. package/dist/backend/llvm/shapes.d.ts +4 -1
  85. package/dist/backend/llvm/shapes.js +22 -7
  86. package/dist/backend/llvm/shapes.js.map +1 -1
  87. package/dist/backend/llvm/split-loops.d.ts +48 -0
  88. package/dist/backend/llvm/split-loops.js +183 -0
  89. package/dist/backend/llvm/split-loops.js.map +1 -0
  90. package/dist/backend/llvm/split.js +0 -7
  91. package/dist/backend/llvm/split.js.map +1 -1
  92. package/dist/backend/llvm/split.test.js +66 -2
  93. package/dist/backend/llvm/split.test.js.map +1 -1
  94. package/dist/backend/llvm/stack-callbacks.d.ts +14 -0
  95. package/dist/backend/llvm/stack-callbacks.js +73 -0
  96. package/dist/backend/llvm/stack-callbacks.js.map +1 -0
  97. package/dist/backend/llvm/stack-captures.d.ts +25 -0
  98. package/dist/backend/llvm/stack-captures.js +150 -0
  99. package/dist/backend/llvm/stack-captures.js.map +1 -0
  100. package/dist/backend/llvm/stack-unions.test.js +1 -1
  101. package/dist/backend/llvm/string-construction.test.js +1 -1
  102. package/dist/backend/llvm/string-lifetimes.test.js +8 -4
  103. package/dist/backend/llvm/string-lifetimes.test.js.map +1 -1
  104. package/dist/backend/llvm/string-slices.d.ts +20 -0
  105. package/dist/backend/llvm/string-slices.js +87 -0
  106. package/dist/backend/llvm/string-slices.js.map +1 -0
  107. package/dist/backend/llvm/string-slices.test.d.ts +1 -0
  108. package/dist/backend/llvm/string-slices.test.js +98 -0
  109. package/dist/backend/llvm/string-slices.test.js.map +1 -0
  110. package/dist/backend/llvm/switch-dispatch.test.js +1 -1
  111. package/dist/backend/llvm/walkers.d.ts +4 -14
  112. package/dist/backend/llvm/walkers.js +53 -311
  113. package/dist/backend/llvm/walkers.js.map +1 -1
  114. package/dist/backend/may-throw.js +1 -1
  115. package/dist/backend/may-throw.js.map +1 -1
  116. package/dist/backend/may-throw.test.js +1 -1
  117. package/dist/backend/native/contracts.d.ts +2 -0
  118. package/dist/backend/native/executable.js +12 -4
  119. package/dist/backend/native/executable.js.map +1 -1
  120. package/dist/backend/native/runtime-inputs.d.ts +1 -1
  121. package/dist/backend/native/runtime-inputs.js +2 -0
  122. package/dist/backend/native/runtime-inputs.js.map +1 -1
  123. package/dist/backend/native-codegen-core.d.ts +6 -0
  124. package/dist/backend/native-codegen-core.js +21 -0
  125. package/dist/backend/native-codegen-core.js.map +1 -1
  126. package/dist/backend/native-codegen.d.ts +4 -0
  127. package/dist/backend/native-codegen.js +34 -18
  128. package/dist/backend/native-codegen.js.map +1 -1
  129. package/dist/backend/native-codegen.test.js +47 -2
  130. package/dist/backend/native-codegen.test.js.map +1 -1
  131. package/dist/backend/native-link-info-core.d.ts +1 -0
  132. package/dist/backend/native-link-info-core.js.map +1 -1
  133. package/dist/backend/native-tools.d.ts +3 -1
  134. package/dist/backend/native-tools.js +6 -4
  135. package/dist/backend/native-tools.js.map +1 -1
  136. package/dist/backend/runtime-abi.d.ts +2 -2
  137. package/dist/backend/runtime-abi.js +2 -2
  138. package/dist/backend/runtime-pack-core.d.ts +1 -0
  139. package/dist/backend/runtime-pack-core.js +8 -1
  140. package/dist/backend/runtime-pack-core.js.map +1 -1
  141. package/dist/backend/runtime-pack-targets.test.js +41 -4
  142. package/dist/backend/runtime-pack-targets.test.js.map +1 -1
  143. package/dist/backend/runtime-pack.test.js +11 -1
  144. package/dist/backend/runtime-pack.test.js.map +1 -1
  145. package/dist/backend/target-diagnostics.test.js +1 -1
  146. package/dist/executable/executable-cache.d.ts +1 -0
  147. package/dist/executable/executable-cache.js +2 -1
  148. package/dist/executable/executable-cache.js.map +1 -1
  149. package/dist/executable/executable-cache.test.js +15 -0
  150. package/dist/executable/executable-cache.test.js.map +1 -1
  151. package/dist/frontend/fork-target.d.ts +5 -0
  152. package/dist/frontend/fork-target.js +40 -8
  153. package/dist/frontend/fork-target.js.map +1 -1
  154. package/dist/frontend/fork-target.test.d.ts +1 -0
  155. package/dist/frontend/fork-target.test.js +59 -0
  156. package/dist/frontend/fork-target.test.js.map +1 -0
  157. package/dist/frontend/lowering/binding-analysis.js +2 -2
  158. package/dist/frontend/lowering/binding-analysis.js.map +1 -1
  159. package/dist/frontend/lowering/builtins/atomics.d.ts +2 -11
  160. package/dist/frontend/lowering/builtins/atomics.js +64 -28
  161. package/dist/frontend/lowering/builtins/atomics.js.map +1 -1
  162. package/dist/frontend/lowering/builtins/filesystem-calls.d.ts +3 -0
  163. package/dist/frontend/lowering/builtins/filesystem-calls.js +51 -4
  164. package/dist/frontend/lowering/builtins/filesystem-calls.js.map +1 -1
  165. package/dist/frontend/lowering/builtins/module-calls.js +6 -1
  166. package/dist/frontend/lowering/builtins/module-calls.js.map +1 -1
  167. package/dist/frontend/lowering/builtins/workers.d.ts +5 -0
  168. package/dist/frontend/lowering/builtins/workers.js +65 -0
  169. package/dist/frontend/lowering/builtins/workers.js.map +1 -0
  170. package/dist/frontend/lowering/class-assertions.d.ts +7 -0
  171. package/dist/frontend/lowering/class-assertions.js +96 -0
  172. package/dist/frontend/lowering/class-assertions.js.map +1 -0
  173. package/dist/frontend/lowering/class-protocols.d.ts +17 -0
  174. package/dist/frontend/lowering/class-protocols.js +126 -0
  175. package/dist/frontend/lowering/class-protocols.js.map +1 -0
  176. package/dist/frontend/lowering/containers/array-callbacks.d.ts +7 -11
  177. package/dist/frontend/lowering/containers/array-callbacks.js +52 -87
  178. package/dist/frontend/lowering/containers/array-callbacks.js.map +1 -1
  179. package/dist/frontend/lowering/containers/bytes.js +12 -34
  180. package/dist/frontend/lowering/containers/bytes.js.map +1 -1
  181. package/dist/frontend/lowering/containers/string-and-regexp.js +22 -3
  182. package/dist/frontend/lowering/containers/string-and-regexp.js.map +1 -1
  183. package/dist/frontend/lowering/expressions/object-literals.js +2 -6
  184. package/dist/frontend/lowering/expressions/object-literals.js.map +1 -1
  185. package/dist/frontend/lowering/generic-functions.d.ts +2 -5
  186. package/dist/frontend/lowering/generic-functions.js +13 -10
  187. package/dist/frontend/lowering/generic-functions.js.map +1 -1
  188. package/dist/frontend/lowering/instantiation-path.d.ts +8 -0
  189. package/dist/frontend/lowering/instantiation-path.js +10 -0
  190. package/dist/frontend/lowering/instantiation-path.js.map +1 -0
  191. package/dist/frontend/lowering/instantiation-path.test.d.ts +1 -0
  192. package/dist/frontend/lowering/instantiation-path.test.js +23 -0
  193. package/dist/frontend/lowering/instantiation-path.test.js.map +1 -0
  194. package/dist/frontend/lowering/lower-builtin-values.js +11 -7
  195. package/dist/frontend/lowering/lower-builtin-values.js.map +1 -1
  196. package/dist/frontend/lowering/lower-calls.js +36 -3
  197. package/dist/frontend/lowering/lower-calls.js.map +1 -1
  198. package/dist/frontend/lowering/lower-classes.d.ts +5 -0
  199. package/dist/frontend/lowering/lower-classes.js +121 -53
  200. package/dist/frontend/lowering/lower-classes.js.map +1 -1
  201. package/dist/frontend/lowering/lower-event-emitter.js +1 -1
  202. package/dist/frontend/lowering/lower-event-emitter.js.map +1 -1
  203. package/dist/frontend/lowering/lower-exprs.js +31 -10
  204. package/dist/frontend/lowering/lower-exprs.js.map +1 -1
  205. package/dist/frontend/lowering/lower-functions.d.ts +1 -1
  206. package/dist/frontend/lowering/lower-functions.js +2 -2
  207. package/dist/frontend/lowering/lower-functions.js.map +1 -1
  208. package/dist/frontend/lowering/lower-island.js +1 -1
  209. package/dist/frontend/lowering/lower-island.js.map +1 -1
  210. package/dist/frontend/lowering/lower-modules.d.ts +1 -0
  211. package/dist/frontend/lowering/lower-modules.js +44 -9
  212. package/dist/frontend/lowering/lower-modules.js.map +1 -1
  213. package/dist/frontend/lowering/lower-stmts.js +13 -11
  214. package/dist/frontend/lowering/lower-stmts.js.map +1 -1
  215. package/dist/frontend/lowering/lower-stream.js +1 -1
  216. package/dist/frontend/lowering/lower-stream.js.map +1 -1
  217. package/dist/frontend/lowering/lowerer.d.ts +13 -1
  218. package/dist/frontend/lowering/lowerer.js +51 -9
  219. package/dist/frontend/lowering/lowerer.js.map +1 -1
  220. package/dist/frontend/lowering/sanitize-class-types.test.js +2 -2
  221. package/dist/frontend/lowering/split-consumers.d.ts +7 -0
  222. package/dist/frontend/lowering/split-consumers.js +64 -0
  223. package/dist/frontend/lowering/split-consumers.js.map +1 -0
  224. package/dist/frontend/lowering/surfaces.d.ts +3 -4
  225. package/dist/frontend/lowering/surfaces.js +35 -7
  226. package/dist/frontend/lowering/surfaces.js.map +1 -1
  227. package/dist/frontend/module-source-candidates.d.ts +10 -0
  228. package/dist/frontend/module-source-candidates.js +40 -0
  229. package/dist/frontend/module-source-candidates.js.map +1 -0
  230. package/dist/frontend/module-source-candidates.test.d.ts +1 -0
  231. package/dist/frontend/module-source-candidates.test.js +53 -0
  232. package/dist/frontend/module-source-candidates.test.js.map +1 -0
  233. package/dist/frontend/pipeline.js +2 -2
  234. package/dist/frontend/pipeline.js.map +1 -1
  235. package/dist/frontend/program-analysis.d.ts +2 -0
  236. package/dist/frontend/program-analysis.js +2 -0
  237. package/dist/frontend/program-analysis.js.map +1 -1
  238. package/dist/frontend/program.js +17 -29
  239. package/dist/frontend/program.js.map +1 -1
  240. package/dist/frontend/ts7/ast-node.js +6 -8
  241. package/dist/frontend/ts7/ast-node.js.map +1 -1
  242. package/dist/frontend/ts7/ast-node.test.js +42 -1
  243. package/dist/frontend/ts7/ast-node.test.js.map +1 -1
  244. package/dist/frontend/ts7/ast-wire.d.ts +4 -0
  245. package/dist/frontend/ts7/ast-wire.js +28 -0
  246. package/dist/frontend/ts7/ast-wire.js.map +1 -1
  247. package/dist/frontend/ts7/ast.d.ts +2 -1
  248. package/dist/frontend/ts7/ast.js +8 -4
  249. package/dist/frontend/ts7/ast.js.map +1 -1
  250. package/dist/frontend/ts7/checker.d.ts +8 -2
  251. package/dist/frontend/ts7/checker.js +41 -5
  252. package/dist/frontend/ts7/checker.js.map +1 -1
  253. package/dist/frontend/ts7/checker.test.js +42 -0
  254. package/dist/frontend/ts7/checker.test.js.map +1 -1
  255. package/dist/frontend/ts7/program-host.d.ts +7 -0
  256. package/dist/frontend/ts7/program-host.js +26 -2
  257. package/dist/frontend/ts7/program-host.js.map +1 -1
  258. package/dist/frontend/ts7/program-host.test.js +29 -0
  259. package/dist/frontend/ts7/program-host.test.js.map +1 -1
  260. package/dist/frontend/type-mapper.d.ts +3 -0
  261. package/dist/frontend/type-mapper.js +44 -2
  262. package/dist/frontend/type-mapper.js.map +1 -1
  263. package/dist/frontend/worker-target.d.ts +6 -0
  264. package/dist/frontend/worker-target.js +108 -0
  265. package/dist/frontend/worker-target.js.map +1 -0
  266. package/dist/frontend/worker-target.test.d.ts +1 -0
  267. package/dist/frontend/worker-target.test.js +71 -0
  268. package/dist/frontend/worker-target.test.js.map +1 -0
  269. package/dist/index.js +24 -7
  270. package/dist/index.js.map +1 -1
  271. package/dist/ir/builtin-effects.js +12 -0
  272. package/dist/ir/builtin-effects.js.map +1 -1
  273. package/dist/ir/builtin-signatures.d.ts +1 -1
  274. package/dist/ir/builtin-signatures.js +13 -12
  275. package/dist/ir/builtin-signatures.js.map +1 -1
  276. package/dist/ir/constant-tables.test.js +1 -1
  277. package/dist/ir/initializer-bindings.test.js +1 -1
  278. package/dist/ir/ir.d.ts +9 -10
  279. package/dist/ir/ir.js.map +1 -1
  280. package/dist/ir/numeric-call-specialization.d.ts +8 -0
  281. package/dist/ir/numeric-call-specialization.js +198 -0
  282. package/dist/ir/numeric-call-specialization.js.map +1 -0
  283. package/dist/ir/runtime-features.js +4 -3
  284. package/dist/ir/runtime-features.js.map +1 -1
  285. package/dist/ir/scalar-records.test.js +1 -1
  286. package/dist/ir/serialize.d.ts +1 -1
  287. package/dist/ir/serialize.js +3 -3
  288. package/dist/ir/serialize.js.map +1 -1
  289. package/dist/ir/validate.js +89 -23
  290. package/dist/ir/validate.js.map +1 -1
  291. package/dist/ir/validate.test.js +91 -4
  292. package/dist/ir/validate.test.js.map +1 -1
  293. package/dist/library/fence-eval.test.js +1 -1
  294. package/dist/library/int-infer.test.js +4 -4
  295. package/dist/library/ir-policy.js +2 -0
  296. package/dist/library/ir-policy.js.map +1 -1
  297. package/dist/library/library-cache.test.js +5 -5
  298. package/dist/native/compiler.js +24 -11
  299. package/dist/native/compiler.js.map +1 -1
  300. package/dist/native/compiler.test.js +7 -3
  301. package/dist/native/compiler.test.js.map +1 -1
  302. package/dist/native/prepare.js +2 -0
  303. package/dist/native/prepare.js.map +1 -1
  304. package/dist/native/sanitizer.test.js +1 -0
  305. package/dist/native/sanitizer.test.js.map +1 -1
  306. package/package.json +20 -20
  307. package/surface-manifest.json +30 -2
@@ -1 +1 @@
1
- {"version":3,"file":"lib-dispatch.js","sourceRoot":"","sources":["../../../src/backend/llvm/lib-dispatch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lib-dispatch.js","sourceRoot":"","sources":["../../../src/backend/llvm/lib-dispatch.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,8 @@ export const LIB_FN_SYMS = {
29
29
  "bytes.construct": "scr_bytes_construct",
30
30
  "bytes.instanceOf": "scr_bytes_instanceof",
31
31
  "arrayBuffer.constructor": "scr_array_buffer_constructor",
32
+ "sharedArrayBuffer.new": "scr_shared_array_buffer_new",
33
+ "sharedArrayBuffer.is": "scr_shared_array_buffer_is",
32
34
  "arrayBuffer.new": "scr_array_buffer_new",
33
35
  "ffi.argument": "scr_ffi_argument",
34
36
  "ffi.memoryModule": "scr_ffi_memory_module",
@@ -690,6 +692,8 @@ export const LIB_FN_SYMS = {
690
692
  "insp.dyn": "scr_insp_dyn",
691
693
  "insp.dynS": "scr_insp_dyn_s",
692
694
  "fs.readFileSyncDyn": "scr_fs_read_file_sync_dyn",
695
+ "fs.readFileEncoded": "scr_fs_read_file_encoded",
696
+ "fs.readFdEncoded": "scr_fs_read_fd_encoded",
693
697
  // Loose generic-shaped stragglers the burn-down surfaced alongside the
694
698
  // dyn head: the x509 PEM walks and stdin raw-mode throw catchably (the
695
699
  // may-throw seed set); the mode-carrying fs sync forms are the plain
@@ -705,7 +709,15 @@ export const LIB_FN_SYMS = {
705
709
  "fs.chownSync": "scr_fs_chown",
706
710
  "fs.mkdirModeSync": "scr_fs_mkdir_mode",
707
711
  "fs.mkdirRecursiveModeSync": "scr_fs_mkdir_recursive_mode",
712
+ "atomics.op": "scr_atomics_op",
713
+ "atomics.notify": "scr_atomics_notify",
708
714
  "atomics.wait": "scr_atomics_wait",
715
+ "worker.new": "scr_worker_new",
716
+ "worker.isMainThread": "scr_context_is_main",
717
+ "worker.threadId": "scr_context_thread_number",
718
+ "worker.root": "scr_worker_root",
719
+ "worker.data": "scr_worker_data",
720
+ "worker.parentPort": "scr_worker_parent_port",
709
721
  "process.stdinDestroy": "scr_process_stdin_destroy",
710
722
  "process.stdinSetRawMode": "scr_process_stdin_set_raw_mode",
711
723
  // node:events EventEmitter (scr_events_emitter.c): receivers borrowed,
@@ -1039,6 +1051,7 @@ export const LIB_FN_SYMS = {
1039
1051
  "regex.new": "scr_regex_new",
1040
1052
  "regex.resetLastIndex": "scr_regex_reset_last_index",
1041
1053
  "regex.newChecked": "scr_regex_new_checked",
1054
+ "regex.replaceCallback": "scr_regex_replace_callback",
1042
1055
  // queueMicrotask's checked-dynamic form (borrowed dyn; a non-function
1043
1056
  // throws synchronously), the minted setImmediate value, and the
1044
1057
  // timers/promises immediate — all mark the loop live.
@@ -1047,6 +1060,8 @@ export const LIB_FN_SYMS = {
1047
1060
  "timers.immediatePromise": "scr_immediate_promise",
1048
1061
  };
1049
1062
  export const USES_TIMERS_LIB_FNS = new Set([
1063
+ "worker.new",
1064
+ "worker.parentPort",
1050
1065
  "process.stdio",
1051
1066
  "fetch.start",
1052
1067
  "fetch.input",
@@ -1 +1 @@
1
- {"version":3,"file":"lib-shared.js","sourceRoot":"","sources":["../../../src/backend/llvm/lib-shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lib-shared.js","sourceRoot":"","sources":["../../../src/backend/llvm/lib-shared.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type IrExpr, type IrFunction, type IrType, type IrUnionDef } from "../../ir/ir.js";
1
+ import { type IrExpr, type IrFunction, type IrStmt, type IrType, type IrUnionDef } from "../../ir/ir.js";
2
2
  import { type CallLifetimes } from "./call-lifetimes.js";
3
3
  import type { LlValue, LlvmEmitterContext } from "./expr-context.js";
4
4
  export interface LocalArrayRead {
@@ -22,7 +22,7 @@ export declare class OptionalArrayReads {
22
22
  constructor(functions: ReadonlyMap<string, IrFunction>, unions: ReadonlyMap<string, IrUnionDef>);
23
23
  get(call: IrExpr): LocalArrayRead | null;
24
24
  }
25
- export declare function findLocalArrayReads(fn: IrFunction, functions: ReadonlyMap<string, IrFunction>, unions: ReadonlyMap<string, IrUnionDef>, arrayPreservingFunctions: ReadonlySet<string>, lifetimes?: CallLifetimes, reads?: OptionalArrayReads): Map<string, LocalArrayRead>;
25
+ export declare function findLocalArrayReads(fn: IrFunction, functions: ReadonlyMap<string, IrFunction>, unions: ReadonlyMap<string, IrUnionDef>, arrayPreservingFunctions: ReadonlySet<string>, lifetimes?: CallLifetimes, reads?: OptionalArrayReads, loopBorrows?: ReadonlySet<IrStmt>): Map<string, LocalArrayRead>;
26
26
  /** An immediate argument needs no heap union when its parameter only
27
27
  * projects the box. The payload owns a snapshot through all later arguments
28
28
  * and the call, unless the enclosing function preserves its parameter's
@@ -33,6 +33,12 @@ export declare function findCallArrayReads(fn: IrFunction, reads: OptionalArrayR
33
33
  * normal and exceptional exits. Each use gets a distinct stack box: nested
34
34
  * calls and repeated operands must never overwrite an earlier snapshot. */
35
35
  export declare function emitCallArrayRead(host: LlvmEmitterContext, read: LocalArrayRead): LlValue;
36
+ /** An iteration-preserving proof keeps the array's element alive. Dense
37
+ * values need no runtime call; every exceptional lookup still uses the same
38
+ * strict hole and missing-property checks as an ordinary owned read. */
39
+ export declare function emitBorrowedArrayRead(host: LlvmEmitterContext, read: IrExpr & {
40
+ kind: "arrayGet";
41
+ }, slot: string): void;
36
42
  /** A private stack box keeps the ordinary tag/projection ABI. Its payload
37
43
  * either borrows from an array parameter proven to keep it alive, or owns
38
44
  * one reference released on every lexical exit, including exceptions. The
@@ -107,7 +107,7 @@ function stableArrayParameters(fn, lifetimes) {
107
107
  const borrowed = lifetimes.borrowed.get(fn.name);
108
108
  return new Set(fn.params.filter((_, index) => borrowed?.has(index)).map((param) => param.localId));
109
109
  }
110
- export function findLocalArrayReads(fn, functions, unions, arrayPreservingFunctions, lifetimes = analyzeCallLifetimes(functions), reads = new OptionalArrayReads(functions, unions)) {
110
+ export function findLocalArrayReads(fn, functions, unions, arrayPreservingFunctions, lifetimes = analyzeCallLifetimes(functions), reads = new OptionalArrayReads(functions, unions), loopBorrows = new Set()) {
111
111
  const result = new Map();
112
112
  if (fn.async || fn.generator)
113
113
  return result;
@@ -122,18 +122,12 @@ export function findLocalArrayReads(fn, functions, unions, arrayPreservingFuncti
122
122
  if (node.kind !== "varDecl" || !node.init)
123
123
  return true;
124
124
  const local = locals.get(node.localId);
125
- if (!local ||
126
- local.mutable ||
127
- local.boxed ||
128
- local.tdz ||
129
- captures.has(local.id) ||
130
- params.has(local.id))
125
+ if (!local || local.boxed || local.tdz || captures.has(local.id) || params.has(local.id))
131
126
  return true;
132
127
  const read = reads.get(node.init);
133
128
  if (read && lifetimes.locals.get(fn.name)?.has(local.id)) {
134
- if (borrow &&
135
- read.array.kind === "varRef" &&
136
- stableParams.has(read.array.localId) &&
129
+ if (read.array.kind === "varRef" &&
130
+ ((borrow && stableParams.has(read.array.localId)) || loopBorrows.has(node)) &&
137
131
  !locals.get(read.array.localId)?.boxed)
138
132
  read.borrow = true;
139
133
  result.set(local.id, read);
@@ -197,6 +191,84 @@ export function emitCallArrayRead(host, read) {
197
191
  host.B.line(`${value} = load ptr, ptr ${slot}`);
198
192
  return { name: value, type: read.type };
199
193
  }
194
+ /** Share the checked dense lookup between optional stack boxes and strict
195
+ * borrowed reads. Capacity, length, and presence guards precede every load;
196
+ * sparse and noncanonical indices keep their runtime lookup semantics. */
197
+ function emitDenseReferenceArrayRead(host, array, index, integerIndex, present, no, slow, join) {
198
+ const B = host.B;
199
+ const range = B.newLabel("local.array.range"), dense = B.newLabel("local.array.dense");
200
+ // The dense path uses the existing ScrArr ABI. Sparse indices and
201
+ // noncanonical numeric properties retain the runtime lookup semantics.
202
+ const capPtr = B.tmp(), cap = B.tmp(), capNumber = B.tmp(), nonnegative = B.tmp(), belowCap = B.tmp(), inRange = B.tmp();
203
+ B.line(`${capPtr} = getelementptr inbounds %ScrArr, ptr ${array.name}, i32 0, i32 2`);
204
+ host.markMemoryPointer(capPtr, "array:header");
205
+ B.line(`${cap} = load ${host.sizeType}, ptr ${capPtr}${host.fieldAliasAttachment(capPtr)}`);
206
+ if (integerIndex)
207
+ B.line(`${inRange} = icmp ult ${host.sizeType} ${integerIndex}, ${cap}`);
208
+ else {
209
+ B.line(`${capNumber} = uitofp ${host.sizeType} ${cap} to double`);
210
+ B.line(`${nonnegative} = fcmp oge double ${index.name}, 0.0`);
211
+ B.line(`${belowCap} = fcmp olt double ${index.name}, ${capNumber}`);
212
+ B.line(`${inRange} = and i1 ${nonnegative}, ${belowCap}`);
213
+ }
214
+ B.condBr(inRange, range, slow);
215
+ B.startBlock(range);
216
+ const offset = integerIndex ?? B.tmp(), roundTrip = B.tmp(), integral = B.tmp();
217
+ if (integerIndex)
218
+ B.br(dense);
219
+ else {
220
+ B.line(`${offset} = fptoui double ${index.name} to ${host.sizeType}`);
221
+ B.line(`${roundTrip} = uitofp ${host.sizeType} ${offset} to double`);
222
+ B.line(`${integral} = fcmp oeq double ${index.name}, ${roundTrip}`);
223
+ B.condBr(integral, dense, slow);
224
+ }
225
+ B.startBlock(dense);
226
+ const lenPtr = B.tmp(), len = B.tmp(), belowLen = B.tmp();
227
+ B.line(`${lenPtr} = getelementptr inbounds %ScrArr, ptr ${array.name}, i32 0, i32 1`);
228
+ host.markMemoryPointer(lenPtr, "array:header");
229
+ B.line(`${len} = load ${host.sizeType}, ptr ${lenPtr}${host.fieldAliasAttachment(lenPtr)}`);
230
+ B.line(`${belowLen} = icmp ult ${host.sizeType} ${offset}, ${len}`);
231
+ const stateLabel = B.newLabel("local.array.state"), valueLabel = B.newLabel("local.array.value");
232
+ B.condBr(belowLen, stateLabel, no);
233
+ B.startBlock(stateLabel);
234
+ const statesPtr = B.tmp(), states = B.tmp(), statePtr = B.tmp(), denseState = B.tmp(), densePresent = B.tmp();
235
+ B.line(`${statesPtr} = getelementptr inbounds %ScrArr, ptr ${array.name}, i32 0, i32 8`);
236
+ host.markMemoryPointer(statesPtr, "array:header");
237
+ B.line(`${states} = load ptr, ptr ${statesPtr}${host.fieldAliasAttachment(statesPtr)}`);
238
+ B.line(`${statePtr} = getelementptr inbounds i8, ptr ${states}, ${host.sizeType} ${offset}`);
239
+ host.markMemoryPointer(statePtr, "array:present");
240
+ B.line(`${denseState} = load i8, ptr ${statePtr}${host.fieldAliasAttachment(statePtr)}`);
241
+ B.line(`${densePresent} = icmp eq i8 ${denseState}, 1`);
242
+ B.condBr(densePresent, valueLabel, no);
243
+ B.startBlock(valueLabel);
244
+ const dataPtr = B.tmp(), data = B.tmp(), valuePtr = B.tmp(), raw = B.tmp();
245
+ B.line(`${dataPtr} = getelementptr inbounds %ScrArr, ptr ${array.name}, i32 0, i32 7`);
246
+ host.markMemoryPointer(dataPtr, "array:header");
247
+ B.line(`${data} = load ptr, ptr ${dataPtr}${host.fieldAliasAttachment(dataPtr)}`);
248
+ B.line(`${valuePtr} = getelementptr inbounds i64, ptr ${data}, ${host.sizeType} ${offset}`);
249
+ host.markMemoryPointer(valuePtr, "array:elements");
250
+ B.line(`${raw} = load ptr, ptr ${valuePtr}${host.fieldAliasAttachment(valuePtr)}`);
251
+ present(raw);
252
+ B.br(join);
253
+ }
254
+ /** An iteration-preserving proof keeps the array's element alive. Dense
255
+ * values need no runtime call; every exceptional lookup still uses the same
256
+ * strict hole and missing-property checks as an ordinary owned read. */
257
+ export function emitBorrowedArrayRead(host, read, slot) {
258
+ const B = host.B;
259
+ const array = host.emitStableReceiver(read.arr, [read.index]);
260
+ const integerIndex = host.emitIntegerLoopIndex(read.index);
261
+ const index = host.emitExpr(read.index);
262
+ const slow = B.newLabel("borrow.array.slow"), join = B.newLabel("borrow.array.join");
263
+ emitDenseReferenceArrayRead(host, array, index, integerIndex, (value) => B.line(`store ptr ${value}, ptr ${slot}`), slow, slow, join);
264
+ B.startBlock(slow);
265
+ host.declare("declare ptr @scr_arr_borrow_ref(ptr, double)");
266
+ const value = B.tmp();
267
+ B.line(`${value} = call ptr @scr_arr_borrow_ref(ptr ${array.name}, double ${index.name})`);
268
+ B.line(`store ptr ${value}, ptr ${slot}`);
269
+ B.br(join);
270
+ B.startBlock(join);
271
+ }
200
272
  /** A private stack box keeps the ordinary tag/projection ABI. Its payload
201
273
  * either borrows from an array parameter proven to keep it alive, or owns
202
274
  * one reference released on every lexical exit, including exceptions. The
@@ -210,64 +282,14 @@ export function emitLocalArrayRead(host, read, localSlot, inline = true) {
210
282
  B.entryAllocas.push(`${box} = alloca %ScrUnion`);
211
283
  B.entryAllocas.push(`${payload} = getelementptr inbounds %ScrUnion, ptr ${box}, i32 0, i32 5`);
212
284
  B.entryAllocas.push(`${tag} = getelementptr inbounds %ScrUnion, ptr ${box}, i32 0, i32 1`);
213
- const range = B.newLabel("local.array.range"), dense = B.newLabel("local.array.dense"), slow = B.newLabel("local.array.slow");
285
+ const slow = B.newLabel("local.array.slow");
214
286
  const no = B.newLabel("local.array.missing"), join = B.newLabel("local.array.join");
215
- if (inline) {
216
- // The dense path uses the existing ScrArr ABI. Sparse indices and
217
- // noncanonical numeric properties retain the runtime lookup semantics.
218
- const capPtr = B.tmp(), cap = B.tmp(), capNumber = B.tmp(), nonnegative = B.tmp(), belowCap = B.tmp(), inRange = B.tmp();
219
- B.line(`${capPtr} = getelementptr inbounds %ScrArr, ptr ${array.name}, i32 0, i32 2`);
220
- host.markMemoryPointer(capPtr, "array:header");
221
- B.line(`${cap} = load ${host.sizeType}, ptr ${capPtr}${host.fieldAliasAttachment(capPtr)}`);
222
- if (integerIndex)
223
- B.line(`${inRange} = icmp ult ${host.sizeType} ${integerIndex}, ${cap}`);
224
- else {
225
- B.line(`${capNumber} = uitofp ${host.sizeType} ${cap} to double`);
226
- B.line(`${nonnegative} = fcmp oge double ${index.name}, 0.0`);
227
- B.line(`${belowCap} = fcmp olt double ${index.name}, ${capNumber}`);
228
- B.line(`${inRange} = and i1 ${nonnegative}, ${belowCap}`);
229
- }
230
- B.condBr(inRange, range, slow);
231
- B.startBlock(range);
232
- const offset = integerIndex ?? B.tmp(), roundTrip = B.tmp(), integral = B.tmp();
233
- if (integerIndex)
234
- B.br(dense);
235
- else {
236
- B.line(`${offset} = fptoui double ${index.name} to ${host.sizeType}`);
237
- B.line(`${roundTrip} = uitofp ${host.sizeType} ${offset} to double`);
238
- B.line(`${integral} = fcmp oeq double ${index.name}, ${roundTrip}`);
239
- B.condBr(integral, dense, slow);
240
- }
241
- B.startBlock(dense);
242
- const lenPtr = B.tmp(), len = B.tmp(), belowLen = B.tmp();
243
- B.line(`${lenPtr} = getelementptr inbounds %ScrArr, ptr ${array.name}, i32 0, i32 1`);
244
- host.markMemoryPointer(lenPtr, "array:header");
245
- B.line(`${len} = load ${host.sizeType}, ptr ${lenPtr}${host.fieldAliasAttachment(lenPtr)}`);
246
- B.line(`${belowLen} = icmp ult ${host.sizeType} ${offset}, ${len}`);
247
- const stateLabel = B.newLabel("local.array.state"), valueLabel = B.newLabel("local.array.value");
248
- B.condBr(belowLen, stateLabel, no);
249
- B.startBlock(stateLabel);
250
- const statesPtr = B.tmp(), states = B.tmp(), statePtr = B.tmp(), denseState = B.tmp(), densePresent = B.tmp();
251
- B.line(`${statesPtr} = getelementptr inbounds %ScrArr, ptr ${array.name}, i32 0, i32 8`);
252
- host.markMemoryPointer(statesPtr, "array:header");
253
- B.line(`${states} = load ptr, ptr ${statesPtr}${host.fieldAliasAttachment(statesPtr)}`);
254
- B.line(`${statePtr} = getelementptr inbounds i8, ptr ${states}, ${host.sizeType} ${offset}`);
255
- host.markMemoryPointer(statePtr, "array:present");
256
- B.line(`${denseState} = load i8, ptr ${statePtr}${host.fieldAliasAttachment(statePtr)}`);
257
- B.line(`${densePresent} = icmp eq i8 ${denseState}, 1`);
258
- B.condBr(densePresent, valueLabel, no);
259
- B.startBlock(valueLabel);
260
- const dataPtr = B.tmp(), data = B.tmp(), valuePtr = B.tmp(), raw = B.tmp();
261
- B.line(`${dataPtr} = getelementptr inbounds %ScrArr, ptr ${array.name}, i32 0, i32 7`);
262
- host.markMemoryPointer(dataPtr, "array:header");
263
- B.line(`${data} = load ptr, ptr ${dataPtr}${host.fieldAliasAttachment(dataPtr)}`);
264
- B.line(`${valuePtr} = getelementptr inbounds i64, ptr ${data}, ${host.sizeType} ${offset}`);
265
- host.markMemoryPointer(valuePtr, "array:elements");
266
- B.line(`${raw} = load ptr, ptr ${valuePtr}${host.fieldAliasAttachment(valuePtr)}`);
267
- B.line(`store ptr ${read.borrow ? raw : host.retainValue(raw, read.element)}, ptr ${payload}`);
287
+ const storeValue = (value) => {
288
+ B.line(`store ptr ${read.borrow ? value : host.retainValue(value, read.element)}, ptr ${payload}`);
268
289
  B.line(`store i32 ${read.presentTag}, ptr ${tag}`);
269
- B.br(join);
270
- }
290
+ };
291
+ if (inline)
292
+ emitDenseReferenceArrayRead(host, array, index, integerIndex, storeValue, no, slow, join);
271
293
  else
272
294
  B.br(slow);
273
295
  B.startBlock(slow);
@@ -278,8 +300,7 @@ export function emitLocalArrayRead(host, read, localSlot, inline = true) {
278
300
  const slowValue = B.newLabel("local.array.slow.value");
279
301
  B.condBr(present, slowValue, no);
280
302
  B.startBlock(slowValue);
281
- B.line(`store ptr ${read.borrow ? value : host.retainValue(value, read.element)}, ptr ${payload}`);
282
- B.line(`store i32 ${read.presentTag}, ptr ${tag}`);
303
+ storeValue(value);
283
304
  B.br(join);
284
305
  B.startBlock(no);
285
306
  B.line(`store ptr null, ptr ${payload}`);
@@ -1 +1 @@
1
- {"version":3,"file":"local-array-reads.js","sourceRoot":"","sources":["../../../src/backend/llvm/local-array-reads.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-array-reads.js","sourceRoot":"","sources":["../../../src/backend/llvm/local-array-reads.ts"],"names":[],"mappings":"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"}
@@ -105,7 +105,7 @@ function fixture() {
105
105
  ],
106
106
  };
107
107
  return {
108
- irVersion: 13,
108
+ irVersion: 14,
109
109
  sourceFile: loc.file,
110
110
  entry: "main",
111
111
  records: [{ id: "cell", fields: [{ name: "x", type: F64 }] }],
@@ -139,6 +139,33 @@ test("private optional array results use local tags and borrowed payloads on bot
139
139
  expect(body).not.toContain("@sc_rrelease_");
140
140
  }
141
141
  });
142
+ test("unchanged let bindings keep optional array payloads private", () => {
143
+ const mod = fixture();
144
+ mod.functions[2].locals[2].mutable = true;
145
+ expect(candidates(mod).get("value")?.borrow).toBe(true);
146
+ expect(workBody(mod)).not.toContain("@sc_rretain_");
147
+ });
148
+ test("preserving loops borrow from local array owners despite unrelated mutation", () => {
149
+ const mod = fixture();
150
+ const work = mod.functions[2];
151
+ work.locals[2].mutable = true;
152
+ work.body = [
153
+ { kind: "arraySetLength", arr: ref("a", array), length: num(1), loc },
154
+ { kind: "for", init: null, cond: null, update: null, body: work.body, loc },
155
+ ];
156
+ expect(candidates(mod).get("value")?.borrow).not.toBe(true);
157
+ for (const pointerBits of [32, 64]) {
158
+ const body = workBody(mod, pointerBits);
159
+ expect(body).toContain("@scr_arr_peek_ref");
160
+ expect(body).not.toContain("@sc_rretain_");
161
+ expect(body).not.toContain("@sc_rrelease_");
162
+ }
163
+ const loop = work.body[1];
164
+ if (loop.kind !== "for")
165
+ throw new Error("expected loop");
166
+ loop.body.splice(1, 0, { kind: "arraySetLength", arr: ref("a", array), length: num(0), loc });
167
+ expect(workBody(mod)).toContain("@sc_rretain_");
168
+ });
142
169
  test("array mutation preserves a separate payload owner and exceptional cleanup", () => {
143
170
  const mod = fixture();
144
171
  mod.functions[2].body.splice(1, 0, {
@@ -177,7 +204,6 @@ test.each([
177
204
  "assign",
178
205
  "boxed",
179
206
  "tdz",
180
- "mutable",
181
207
  "duplicate",
182
208
  "async",
183
209
  "effectful producer",
@@ -199,8 +225,6 @@ test.each([
199
225
  local.boxed = true;
200
226
  if (reason === "tdz")
201
227
  local.tdz = true;
202
- if (reason === "mutable")
203
- local.mutable = true;
204
228
  if (reason === "duplicate")
205
229
  fn.body.push(fn.body[0]);
206
230
  if (reason === "async")