@scriptc/compiler 0.3.0 → 0.3.1

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 (252) hide show
  1. package/ambient/scriptc-node-fallback.d.ts +5 -2
  2. package/dist/backend/llvm/bigint-wrap.d.ts +4 -0
  3. package/dist/backend/llvm/bigint-wrap.js +590 -0
  4. package/dist/backend/llvm/bigint-wrap.js.map +1 -0
  5. package/dist/backend/llvm/blocks.d.ts +2 -0
  6. package/dist/backend/llvm/blocks.js +4 -0
  7. package/dist/backend/llvm/blocks.js.map +1 -1
  8. package/dist/backend/llvm/call-lifetimes.js +15 -4
  9. package/dist/backend/llvm/call-lifetimes.js.map +1 -1
  10. package/dist/backend/llvm/call-lifetimes.test.js +14 -3
  11. package/dist/backend/llvm/call-lifetimes.test.js.map +1 -1
  12. package/dist/backend/llvm/checked-narrows.test.js +1 -1
  13. package/dist/backend/llvm/checked-narrows.test.js.map +1 -1
  14. package/dist/backend/llvm/classes.js +57 -12
  15. package/dist/backend/llvm/classes.js.map +1 -1
  16. package/dist/backend/llvm/classes.test.js +4 -4
  17. package/dist/backend/llvm/classes.test.js.map +1 -1
  18. package/dist/backend/llvm/common.d.ts +7 -5
  19. package/dist/backend/llvm/common.js +7 -5
  20. package/dist/backend/llvm/common.js.map +1 -1
  21. package/dist/backend/llvm/constant-callbacks.js +10 -28
  22. package/dist/backend/llvm/constant-callbacks.js.map +1 -1
  23. package/dist/backend/llvm/dense-array-access.js +133 -45
  24. package/dist/backend/llvm/dense-array-access.js.map +1 -1
  25. package/dist/backend/llvm/dense-array-access.test.js +53 -1
  26. package/dist/backend/llvm/dense-array-access.test.js.map +1 -1
  27. package/dist/backend/llvm/dyn.d.ts +2 -0
  28. package/dist/backend/llvm/dyn.js +4 -0
  29. package/dist/backend/llvm/dyn.js.map +1 -1
  30. package/dist/backend/llvm/emitter.d.ts +120 -6
  31. package/dist/backend/llvm/emitter.js +676 -77
  32. package/dist/backend/llvm/emitter.js.map +1 -1
  33. package/dist/backend/llvm/emitter.test.js +14 -7
  34. package/dist/backend/llvm/emitter.test.js.map +1 -1
  35. package/dist/backend/llvm/expr-async.js +120 -43
  36. package/dist/backend/llvm/expr-async.js.map +1 -1
  37. package/dist/backend/llvm/expr-async.test.js +1 -1
  38. package/dist/backend/llvm/expr-async.test.js.map +1 -1
  39. package/dist/backend/llvm/expr-bytes.js +51 -36
  40. package/dist/backend/llvm/expr-bytes.js.map +1 -1
  41. package/dist/backend/llvm/expr-callbacks.js +72 -3
  42. package/dist/backend/llvm/expr-callbacks.js.map +1 -1
  43. package/dist/backend/llvm/expr-calls.d.ts +1 -1
  44. package/dist/backend/llvm/expr-calls.js +159 -30
  45. package/dist/backend/llvm/expr-calls.js.map +1 -1
  46. package/dist/backend/llvm/expr-calls.test.d.ts +1 -0
  47. package/dist/backend/llvm/expr-calls.test.js +132 -0
  48. package/dist/backend/llvm/expr-calls.test.js.map +1 -0
  49. package/dist/backend/llvm/expr-containers.js +13 -0
  50. package/dist/backend/llvm/expr-containers.js.map +1 -1
  51. package/dist/backend/llvm/expr-context.d.ts +2 -0
  52. package/dist/backend/llvm/expr-dispatch.js +3 -0
  53. package/dist/backend/llvm/expr-dispatch.js.map +1 -1
  54. package/dist/backend/llvm/expr-dynamic.js +26 -4
  55. package/dist/backend/llvm/expr-dynamic.js.map +1 -1
  56. package/dist/backend/llvm/expr-primitives.d.ts +7 -0
  57. package/dist/backend/llvm/expr-primitives.js +80 -22
  58. package/dist/backend/llvm/expr-primitives.js.map +1 -1
  59. package/dist/backend/llvm/expr-primitives.test.js +95 -5
  60. package/dist/backend/llvm/expr-primitives.test.js.map +1 -1
  61. package/dist/backend/llvm/expr-records.d.ts +9 -0
  62. package/dist/backend/llvm/expr-records.js +134 -16
  63. package/dist/backend/llvm/expr-records.js.map +1 -1
  64. package/dist/backend/llvm/expr-stream-bridges.d.ts +1 -1
  65. package/dist/backend/llvm/expr-stream-bridges.js +80 -1
  66. package/dist/backend/llvm/expr-stream-bridges.js.map +1 -1
  67. package/dist/backend/llvm/expr-stream-bridges.test.js +50 -1
  68. package/dist/backend/llvm/expr-stream-bridges.test.js.map +1 -1
  69. package/dist/backend/llvm/int32-abi.d.ts +31 -0
  70. package/dist/backend/llvm/int32-abi.js +62 -0
  71. package/dist/backend/llvm/int32-abi.js.map +1 -0
  72. package/dist/backend/llvm/int32-abi.test.d.ts +1 -0
  73. package/dist/backend/llvm/int32-abi.test.js +107 -0
  74. package/dist/backend/llvm/int32-abi.test.js.map +1 -0
  75. package/dist/backend/llvm/int32-locals.d.ts +30 -0
  76. package/dist/backend/llvm/int32-locals.js +95 -0
  77. package/dist/backend/llvm/int32-locals.js.map +1 -0
  78. package/dist/backend/llvm/integer-values.d.ts +4 -0
  79. package/dist/backend/llvm/integer-values.js +30 -1
  80. package/dist/backend/llvm/integer-values.js.map +1 -1
  81. package/dist/backend/llvm/integer-views.d.ts +8 -1
  82. package/dist/backend/llvm/integer-views.js +47 -2
  83. package/dist/backend/llvm/integer-views.js.map +1 -1
  84. package/dist/backend/llvm/lazy-captures.d.ts +16 -0
  85. package/dist/backend/llvm/lazy-captures.js +88 -2
  86. package/dist/backend/llvm/lazy-captures.js.map +1 -1
  87. package/dist/backend/llvm/lazy-captures.test.js +48 -0
  88. package/dist/backend/llvm/lazy-captures.test.js.map +1 -1
  89. package/dist/backend/llvm/lib-dispatch.js +14 -0
  90. package/dist/backend/llvm/lib-dispatch.js.map +1 -1
  91. package/dist/backend/llvm/lib-filesystem.js +3 -0
  92. package/dist/backend/llvm/lib-filesystem.js.map +1 -1
  93. package/dist/backend/llvm/lib-shared.js +7 -0
  94. package/dist/backend/llvm/lib-shared.js.map +1 -1
  95. package/dist/backend/llvm/local-array-reads.js +21 -2
  96. package/dist/backend/llvm/local-array-reads.js.map +1 -1
  97. package/dist/backend/llvm/local-array-reads.test.js +3 -2
  98. package/dist/backend/llvm/local-array-reads.test.js.map +1 -1
  99. package/dist/backend/llvm/local-union-storage.test.js +2 -2
  100. package/dist/backend/llvm/local-union-storage.test.js.map +1 -1
  101. package/dist/backend/llvm/map-read-lifetimes.test.js +2 -2
  102. package/dist/backend/llvm/map-read-lifetimes.test.js.map +1 -1
  103. package/dist/backend/llvm/reference-effects.js +2 -0
  104. package/dist/backend/llvm/reference-effects.js.map +1 -1
  105. package/dist/backend/llvm/reference-writes.d.ts +3 -0
  106. package/dist/backend/llvm/reference-writes.js +10 -2
  107. package/dist/backend/llvm/reference-writes.js.map +1 -1
  108. package/dist/backend/llvm/regex-matchers.d.ts +39 -0
  109. package/dist/backend/llvm/regex-matchers.js +1649 -0
  110. package/dist/backend/llvm/regex-matchers.js.map +1 -0
  111. package/dist/backend/llvm/regex-matchers.test.d.ts +1 -0
  112. package/dist/backend/llvm/regex-matchers.test.js +96 -0
  113. package/dist/backend/llvm/regex-matchers.test.js.map +1 -0
  114. package/dist/backend/llvm/shapes.d.ts +36 -1
  115. package/dist/backend/llvm/shapes.js +127 -14
  116. package/dist/backend/llvm/shapes.js.map +1 -1
  117. package/dist/backend/llvm/stack-unions.test.js +1 -1
  118. package/dist/backend/llvm/stack-unions.test.js.map +1 -1
  119. package/dist/backend/llvm/string-construction.test.js +2 -2
  120. package/dist/backend/llvm/string-construction.test.js.map +1 -1
  121. package/dist/backend/llvm/string-lifetimes.test.js +5 -5
  122. package/dist/backend/llvm/string-lifetimes.test.js.map +1 -1
  123. package/dist/backend/llvm/string-literal-equality.d.ts +22 -0
  124. package/dist/backend/llvm/string-literal-equality.js +78 -0
  125. package/dist/backend/llvm/string-literal-equality.js.map +1 -0
  126. package/dist/backend/llvm/switch-dispatch.js +59 -13
  127. package/dist/backend/llvm/switch-dispatch.js.map +1 -1
  128. package/dist/backend/llvm/switch-dispatch.test.js +71 -6
  129. package/dist/backend/llvm/switch-dispatch.test.js.map +1 -1
  130. package/dist/backend/llvm/union-retype.test.d.ts +1 -0
  131. package/dist/backend/llvm/union-retype.test.js +229 -0
  132. package/dist/backend/llvm/union-retype.test.js.map +1 -0
  133. package/dist/backend/llvm/wrapping-sums.d.ts +17 -0
  134. package/dist/backend/llvm/wrapping-sums.js +113 -0
  135. package/dist/backend/llvm/wrapping-sums.js.map +1 -0
  136. package/dist/backend/loop-polls.js +1 -0
  137. package/dist/backend/loop-polls.js.map +1 -1
  138. package/dist/backend/mangle.d.ts +9 -0
  139. package/dist/backend/mangle.js +15 -0
  140. package/dist/backend/mangle.js.map +1 -1
  141. package/dist/backend/may-throw.js +6 -3
  142. package/dist/backend/may-throw.js.map +1 -1
  143. package/dist/backend/runtime-abi.d.ts +2 -2
  144. package/dist/backend/runtime-abi.js +2 -2
  145. package/dist/backend/runtime-pack-targets.test.js +1 -1
  146. package/dist/backend/runtime-pack.test.js +1 -1
  147. package/dist/contracts/check.js +4 -0
  148. package/dist/contracts/check.js.map +1 -1
  149. package/dist/frontend/lowering/array-values.d.ts +14 -0
  150. package/dist/frontend/lowering/array-values.js +29 -0
  151. package/dist/frontend/lowering/array-values.js.map +1 -1
  152. package/dist/frontend/lowering/containers/array-callbacks.js +40 -0
  153. package/dist/frontend/lowering/containers/array-callbacks.js.map +1 -1
  154. package/dist/frontend/lowering/containers/array-pipelines.d.ts +54 -0
  155. package/dist/frontend/lowering/containers/array-pipelines.js +1827 -0
  156. package/dist/frontend/lowering/containers/array-pipelines.js.map +1 -0
  157. package/dist/frontend/lowering/containers/exec-result-uses.d.ts +10 -0
  158. package/dist/frontend/lowering/containers/exec-result-uses.js +88 -0
  159. package/dist/frontend/lowering/containers/exec-result-uses.js.map +1 -0
  160. package/dist/frontend/lowering/containers/string-and-regexp.js +15 -7
  161. package/dist/frontend/lowering/containers/string-and-regexp.js.map +1 -1
  162. package/dist/frontend/lowering/containers/string-replacement.d.ts +2 -1
  163. package/dist/frontend/lowering/containers/string-replacement.js +32 -136
  164. package/dist/frontend/lowering/containers/string-replacement.js.map +1 -1
  165. package/dist/frontend/lowering/devirtualize.d.ts +33 -0
  166. package/dist/frontend/lowering/devirtualize.js +199 -0
  167. package/dist/frontend/lowering/devirtualize.js.map +1 -0
  168. package/dist/frontend/lowering/expressions/nullish-assignment.js +55 -7
  169. package/dist/frontend/lowering/expressions/nullish-assignment.js.map +1 -1
  170. package/dist/frontend/lowering/identifier-uses.d.ts +7 -0
  171. package/dist/frontend/lowering/identifier-uses.js +23 -0
  172. package/dist/frontend/lowering/identifier-uses.js.map +1 -0
  173. package/dist/frontend/lowering/iterator-adapters.js +51 -3
  174. package/dist/frontend/lowering/iterator-adapters.js.map +1 -1
  175. package/dist/frontend/lowering/lower-array-sort.js +13 -0
  176. package/dist/frontend/lowering/lower-array-sort.js.map +1 -1
  177. package/dist/frontend/lowering/lower-calls.js +64 -30
  178. package/dist/frontend/lowering/lower-calls.js.map +1 -1
  179. package/dist/frontend/lowering/lower-classes.js +1 -11
  180. package/dist/frontend/lowering/lower-classes.js.map +1 -1
  181. package/dist/frontend/lowering/lower-console.d.ts +14 -0
  182. package/dist/frontend/lowering/lower-console.js +195 -0
  183. package/dist/frontend/lowering/lower-console.js.map +1 -0
  184. package/dist/frontend/lowering/lower-exprs.js +135 -3
  185. package/dist/frontend/lowering/lower-exprs.js.map +1 -1
  186. package/dist/frontend/lowering/lower-functions.js +7 -3
  187. package/dist/frontend/lowering/lower-functions.js.map +1 -1
  188. package/dist/frontend/lowering/lower-generators.d.ts +10 -0
  189. package/dist/frontend/lowering/lower-generators.js +108 -41
  190. package/dist/frontend/lowering/lower-generators.js.map +1 -1
  191. package/dist/frontend/lowering/lower-modules.js +4 -0
  192. package/dist/frontend/lowering/lower-modules.js.map +1 -1
  193. package/dist/frontend/lowering/lower-stream.js +13 -10
  194. package/dist/frontend/lowering/lower-stream.js.map +1 -1
  195. package/dist/frontend/lowering/lowerer.d.ts +25 -4
  196. package/dist/frontend/lowering/lowerer.js +120 -47
  197. package/dist/frontend/lowering/lowerer.js.map +1 -1
  198. package/dist/frontend/lowering/nan-coded-reads.d.ts +16 -0
  199. package/dist/frontend/lowering/nan-coded-reads.js +108 -1
  200. package/dist/frontend/lowering/nan-coded-reads.js.map +1 -1
  201. package/dist/frontend/lowering/runtime-optional-bounds.d.ts +4 -0
  202. package/dist/frontend/lowering/runtime-optional-bounds.js +2 -0
  203. package/dist/frontend/lowering/runtime-optional-bounds.js.map +1 -1
  204. package/dist/frontend/lowering/runtime-optional-bounds.test.js +27 -0
  205. package/dist/frontend/lowering/runtime-optional-bounds.test.js.map +1 -1
  206. package/dist/frontend/lowering/split-consumers.js +2 -18
  207. package/dist/frontend/lowering/split-consumers.js.map +1 -1
  208. package/dist/frontend/lowering/surfaces.js +3 -8
  209. package/dist/frontend/lowering/surfaces.js.map +1 -1
  210. package/dist/frontend/lowering/union-retag.d.ts +6 -1
  211. package/dist/frontend/lowering/union-retag.js +64 -1
  212. package/dist/frontend/lowering/union-retag.js.map +1 -1
  213. package/dist/frontend/lowering/union-retag.test.js +46 -0
  214. package/dist/frontend/lowering/union-retag.test.js.map +1 -1
  215. package/dist/frontend/type-mapper.js +16 -3
  216. package/dist/frontend/type-mapper.js.map +1 -1
  217. package/dist/ir/builtin-effects.js +2 -0
  218. package/dist/ir/builtin-effects.js.map +1 -1
  219. package/dist/ir/builtin-signatures.d.ts +1 -1
  220. package/dist/ir/builtin-signatures.js +12 -1
  221. package/dist/ir/builtin-signatures.js.map +1 -1
  222. package/dist/ir/function-references.d.ts +12 -0
  223. package/dist/ir/function-references.js +29 -0
  224. package/dist/ir/function-references.js.map +1 -0
  225. package/dist/ir/function-references.test.d.ts +1 -0
  226. package/dist/ir/function-references.test.js +276 -0
  227. package/dist/ir/function-references.test.js.map +1 -0
  228. package/dist/ir/int32-slots.d.ts +7 -4
  229. package/dist/ir/int32-slots.js +214 -49
  230. package/dist/ir/int32-slots.js.map +1 -1
  231. package/dist/ir/int32-slots.test.js +38 -1
  232. package/dist/ir/int32-slots.test.js.map +1 -1
  233. package/dist/ir/integer-ranges.d.ts +4 -4
  234. package/dist/ir/integer-ranges.js +89 -64
  235. package/dist/ir/integer-ranges.js.map +1 -1
  236. package/dist/ir/integer-ranges.test.js +71 -9
  237. package/dist/ir/integer-ranges.test.js.map +1 -1
  238. package/dist/ir/intrinsic-signatures.js +1 -0
  239. package/dist/ir/intrinsic-signatures.js.map +1 -1
  240. package/dist/ir/ir.d.ts +52 -6
  241. package/dist/ir/ir.js +1 -0
  242. package/dist/ir/ir.js.map +1 -1
  243. package/dist/ir/runtime-features.js +3 -2
  244. package/dist/ir/runtime-features.js.map +1 -1
  245. package/dist/ir/traverse.js +4 -0
  246. package/dist/ir/traverse.js.map +1 -1
  247. package/dist/ir/validate.js +57 -6
  248. package/dist/ir/validate.js.map +1 -1
  249. package/dist/ir/validate.test.js +25 -7
  250. package/dist/ir/validate.test.js.map +1 -1
  251. package/package.json +20 -20
  252. package/surface-manifest.json +1 -17
@@ -0,0 +1,113 @@
1
+ import { integerArithmeticRange } from "../../ir/integer-ranges.js";
2
+ /** Marks the `+` and `-` operands whose number only reaches ToInt32/ToUint32
3
+ * consumers (`| 0`, the other bitwise operators, `Math.imul`, `Math.clz32`),
4
+ * directly or through further sums, in the emitter's `wrappingSums`. Called
5
+ * by the consumer before its operands emit. */
6
+ export function markWrappingOperands(host, ...operands) {
7
+ for (const operand of operands) {
8
+ if (operand.kind !== "bin" || (operand.op !== "+" && operand.op !== "-"))
9
+ continue;
10
+ if (operand.type.kind !== "f64" || host.wrappingSums.has(operand))
11
+ continue;
12
+ host.wrappingSums.add(operand);
13
+ markWrappingOperands(host, operand.left, operand.right);
14
+ }
15
+ }
16
+ /** The values an f64 expression can have when each one is an exact integer
17
+ * (never -0) or NaN: proven ranges, safe integer literals, NaN-coded reads
18
+ * of integer typed-array elements, `charCodeAt`, and sums and differences of those whose
19
+ * every integer result is still exact in a double. */
20
+ function integerOrNaNRange(host, e) {
21
+ if (e.type.kind !== "f64")
22
+ return null;
23
+ const range = host.integerRanges.get(e);
24
+ if (range)
25
+ return range;
26
+ if (e.kind === "numLit")
27
+ return Number.isSafeInteger(e.value) && !Object.is(e.value, -0)
28
+ ? { min: e.value, max: e.value }
29
+ : null;
30
+ if (e.kind === "bytesIntrinsic" &&
31
+ e.method === "get" &&
32
+ e.invalidNaN === true &&
33
+ e.receiver.type.kind === "bytes")
34
+ return ELEMENT_RANGES[e.receiver.type.elem] ?? null;
35
+ // A UTF-16 code unit, or NaN past either end.
36
+ if (e.kind === "strIntrinsic" && e.method === "charCodeAt")
37
+ return { min: 0, max: 65535 };
38
+ if (e.kind === "bin" && (e.op === "+" || e.op === "-")) {
39
+ const left = integerOrNaNRange(host, e.left);
40
+ const right = left && integerOrNaNRange(host, e.right);
41
+ return right ? integerArithmeticRange(e.op, left, right) : null;
42
+ }
43
+ return null;
44
+ }
45
+ const ELEMENT_RANGES = {
46
+ u8: { min: 0, max: 255 },
47
+ u8c: { min: 0, max: 255 },
48
+ i8: { min: -128, max: 127 },
49
+ u16: { min: 0, max: 65535 },
50
+ i16: { min: -32768, max: 32767 },
51
+ u32: { min: 0, max: 4294967295 },
52
+ i32: { min: -2147483648, max: 2147483647 },
53
+ };
54
+ /** The low 32 bits of an operand (0 for NaN), and an i1 that is false when
55
+ * it is NaN (null when it never is). */
56
+ function wrappingOperand(host, value, integer, range) {
57
+ const B = host.B;
58
+ if (integer) {
59
+ if (integer.type === "i32")
60
+ return { low: integer.name, valid: null };
61
+ const low = B.tmp();
62
+ B.line(`${low} = trunc i64 ${integer.name} to i32`);
63
+ return { low, valid: null };
64
+ }
65
+ // The number is an exact integer or NaN, and its ToUint32 view is the
66
+ // integer's low 32 bits or 0. An ordered compare tells the two apart.
67
+ const valid = B.tmp();
68
+ B.line(`${valid} = fcmp ord double ${value.name}, 0.0`);
69
+ if (value.uint32 !== undefined)
70
+ return { low: value.uint32, valid };
71
+ // Without a view, convert once. The conversion of NaN is poison, but the
72
+ // result only selects the sum when every operand is ordered.
73
+ const low = B.tmp();
74
+ if (range.min >= -2147483648 && range.max <= 2147483647) {
75
+ B.line(`${low} = fptosi double ${value.name} to i32`);
76
+ }
77
+ else {
78
+ const wide = B.tmp();
79
+ B.line(`${wide} = fptosi double ${value.name} to i64`);
80
+ B.line(`${low} = trunc i64 ${wide} to i32`);
81
+ }
82
+ return { low, valid };
83
+ }
84
+ /** ToUint32 of `left op right` (`+` or `-`) in 32-bit arithmetic when the
85
+ * expression only reaches ToInt32/ToUint32 consumers and both operands are
86
+ * exact integers or NaN with an exact result. Both conversions are
87
+ * arithmetic mod 2^32, so the wrapping i32 sum of the operands' low halves
88
+ * is the converted exact sum; a NaN operand makes the sum NaN, which
89
+ * converts to 0. Returns undefined, emitting nothing, for any other sum. */
90
+ export function emitWrappingSum(host, e, l, r, li, ri) {
91
+ if ((e.op !== "+" && e.op !== "-") || !host.wrappingSums.has(e))
92
+ return undefined;
93
+ const leftRange = li ? li.range : integerOrNaNRange(host, e.left);
94
+ const rightRange = leftRange && (ri ? ri.range : integerOrNaNRange(host, e.right));
95
+ if (!rightRange || !integerArithmeticRange(e.op, leftRange, rightRange))
96
+ return undefined;
97
+ const B = host.B;
98
+ const left = wrappingOperand(host, l, li, leftRange);
99
+ const right = wrappingOperand(host, r, ri, rightRange);
100
+ const sum = B.tmp();
101
+ B.line(`${sum} = ${e.op === "+" ? "add" : "sub"} i32 ${left.low}, ${right.low}`);
102
+ let valid = left.valid ?? right.valid;
103
+ if (valid === null)
104
+ return sum;
105
+ if (left.valid && right.valid) {
106
+ valid = B.tmp();
107
+ B.line(`${valid} = and i1 ${left.valid}, ${right.valid}`);
108
+ }
109
+ const out = B.tmp();
110
+ B.line(`${out} = select i1 ${valid}, i32 ${sum}, i32 0`);
111
+ return out;
112
+ }
113
+ //# sourceMappingURL=wrapping-sums.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wrapping-sums.js","sourceRoot":"","sources":["../../../src/backend/llvm/wrapping-sums.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,7 @@ const EAGER_EXPRS = new Set([
20
20
  "upcast",
21
21
  "downcast",
22
22
  "unionWrap",
23
+ "unionRetype",
23
24
  "dynFrom",
24
25
  ]);
25
26
  /** Statement kinds whose expressions all evaluate whenever the statement
@@ -1 +1 @@
1
- {"version":3,"file":"loop-polls.js","sourceRoot":"","sources":["../../src/backend/loop-polls.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loop-polls.js","sourceRoot":"","sources":["../../src/backend/loop-polls.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,9 @@ export declare function mangleLocal(localId: string): string;
7
7
  export declare function mangleRawParam(localId: string): string;
8
8
  /** Env-signature wrapper letting a plain declared function be a closure. */
9
9
  export declare function mangleWrapper(fnName: string): string;
10
+ /** Env-signature wrapper of a declared function's borrowing body: the
11
+ * closure entry that lends every reference argument. */
12
+ export declare function mangleBorrowingWrapper(fnName: string): string;
10
13
  /** The interned (immortal) closure value of a declared function. */
11
14
  export declare function mangleFnClosure(fnName: string): string;
12
15
  /** Per-class emitted LLVM struct and RC helpers. */
@@ -64,6 +67,12 @@ export declare function mangleRecordGcFree(shapeId: string): string;
64
67
  export declare function mangleGlobal(globalId: string): string;
65
68
  /** Async function machinery: spawn wrapper, trampoline, argument pack. */
66
69
  export declare function mangleAsyncSpawn(fnName: string): string;
70
+ /** `await f(...)` of a direct async call: the call and its await as one
71
+ * entry that returns the awaited value. */
72
+ export declare function mangleAsyncAwaitCall(fnName: string): string;
73
+ /** `return f(...)` of a direct async call in an async function: the call,
74
+ * the adoption turn, and the await as one entry returning the value. */
75
+ export declare function mangleAsyncAdoptCall(fnName: string): string;
67
76
  export declare function mangleTrampoline(fnName: string): string;
68
77
  export declare function mangleArgPack(fnName: string): string;
69
78
  /** Generator function machinery: spawn wrapper (allocates the suspended
@@ -47,6 +47,11 @@ export function mangleRawParam(localId) {
47
47
  export function mangleWrapper(fnName) {
48
48
  return `sc_w_${sanitize(fnName)}`;
49
49
  }
50
+ /** Env-signature wrapper of a declared function's borrowing body: the
51
+ * closure entry that lends every reference argument. */
52
+ export function mangleBorrowingWrapper(fnName) {
53
+ return `sc_wb_${sanitize(fnName)}`;
54
+ }
50
55
  /** The interned (immortal) closure value of a declared function. */
51
56
  export function mangleFnClosure(fnName) {
52
57
  return `sc_fc_${sanitize(fnName)}`;
@@ -154,6 +159,16 @@ export function mangleGlobal(globalId) {
154
159
  export function mangleAsyncSpawn(fnName) {
155
160
  return `sc_as_${sanitize(fnName)}`;
156
161
  }
162
+ /** `await f(...)` of a direct async call: the call and its await as one
163
+ * entry that returns the awaited value. */
164
+ export function mangleAsyncAwaitCall(fnName) {
165
+ return `sc_aw_${sanitize(fnName)}`;
166
+ }
167
+ /** `return f(...)` of a direct async call in an async function: the call,
168
+ * the adoption turn, and the await as one entry returning the value. */
169
+ export function mangleAsyncAdoptCall(fnName) {
170
+ return `sc_ad_${sanitize(fnName)}`;
171
+ }
157
172
  export function mangleTrampoline(fnName) {
158
173
  return `sc_tr_${sanitize(fnName)}`;
159
174
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mangle.js","sourceRoot":"","sources":["../../src/backend/mangle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mangle.js","sourceRoot":"","sources":["../../src/backend/mangle.ts"],"names":[],"mappings":"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"}
@@ -177,8 +177,10 @@ export function computeMayThrow(mod, options = {}) {
177
177
  case "genResume":
178
178
  // A body exception (or the injected .throw payload on a
179
179
  // non-suspended generator) propagates into the resumer; the
180
- // reentrancy TypeError throws here too.
181
- f.throws = true;
180
+ // reentrancy TypeError throws here too. Taking the yielded value
181
+ // after a step only moves it out.
182
+ if (rec.mode !== "value")
183
+ f.throws = true;
182
184
  break;
183
185
  case "recordKeySet": {
184
186
  // A dynamic-keyed write can collide with a DECLARED field, where
@@ -744,6 +746,7 @@ const BOUNDED_KINDS = new Set([
744
746
  "chainRecv",
745
747
  "selfRef",
746
748
  "unionWrap",
749
+ "unionRetype",
747
750
  "unionNarrow",
748
751
  "unionDisc",
749
752
  "unionIsTag",
@@ -764,7 +767,7 @@ const BOUNDED_KINDS = new Set([
764
767
  const BOUNDED_BYTES_METHODS = new Set(["get", "length", "subarray"]);
765
768
  /** Array methods that can call back into scriptc code (a comparator, or
766
769
  * element string conversion). */
767
- const UNBOUNDED_ARR_METHODS = new Set(["sortValues", "join"]);
770
+ const UNBOUNDED_ARR_METHODS = new Set(["sortValues", "sortDense", "join"]);
768
771
  function primitiveArgument(arg) {
769
772
  const kind = arg.type.kind;
770
773
  return kind === "string" || kind === "f64" || kind === "bool";
@@ -1 +1 @@
1
- {"version":3,"file":"may-throw.js","sourceRoot":"","sources":["../../src/backend/may-throw.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"may-throw.js","sourceRoot":"","sources":["../../src/backend/may-throw.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,8 @@
2
2
  * of the link contract: a program object keeps this symbol undefined and the
3
3
  * matching runtime defines it, so incompatible manual links fail before the
4
4
  * program can start. */
5
- export declare const RUNTIME_ABI_VERSION: 14;
6
- export declare const RUNTIME_ABI_MARKER: "scr_runtime_abi_v14";
5
+ export declare const RUNTIME_ABI_VERSION: 17;
6
+ export declare const RUNTIME_ABI_MARKER: "scr_runtime_abi_v17";
7
7
  /** Object consumption is useful today, but the complete scr_* surface may
8
8
  * still change before 1.0. The versioned marker prevents accidental mixing;
9
9
  * it does not promise semver stability yet. */
@@ -2,8 +2,8 @@
2
2
  * of the link contract: a program object keeps this symbol undefined and the
3
3
  * matching runtime defines it, so incompatible manual links fail before the
4
4
  * program can start. */
5
- export const RUNTIME_ABI_VERSION = 14;
6
- export const RUNTIME_ABI_MARKER = "scr_runtime_abi_v14";
5
+ export const RUNTIME_ABI_VERSION = 17;
6
+ export const RUNTIME_ABI_MARKER = "scr_runtime_abi_v17";
7
7
  /** Object consumption is useful today, but the complete scr_* surface may
8
8
  * still change before 1.0. The versioned marker prevents accidental mixing;
9
9
  * it does not promise semver stability yet. */
@@ -36,7 +36,7 @@ async function fixture(target, workers = false) {
36
36
  object_format: target.objectFormat,
37
37
  minimum_os: target.minimumOs,
38
38
  },
39
- runtime_abi: { version: 14, marker: "scr_runtime_abi_v14" },
39
+ runtime_abi: { version: 17, marker: "scr_runtime_abi_v17" },
40
40
  compiler: { command: "fixture", identity: "fixture", target: target.llvmTriple },
41
41
  macros: { executable: [], excluded: ["SCR_LIB"], sanitizer: "external-toolchain-required" },
42
42
  flavors: {
@@ -96,7 +96,7 @@ async function fixture(target = MACOS_ARM64_TARGET) {
96
96
  object_format: target.objectFormat,
97
97
  minimum_os: target.minimumOs,
98
98
  },
99
- runtime_abi: { version: 14, marker: "scr_runtime_abi_v14" },
99
+ runtime_abi: { version: 17, marker: "scr_runtime_abi_v17" },
100
100
  compiler: {
101
101
  command: "clang",
102
102
  identity: "fixture clang",
@@ -841,6 +841,7 @@ const PASS_THROUGH = new Set([
841
841
  "upcast",
842
842
  "downcast",
843
843
  "unionWrap",
844
+ "unionRetype",
844
845
  "unionNarrow",
845
846
  "ternary",
846
847
  "logical",
@@ -1087,6 +1088,7 @@ class ImmutableContracts {
1087
1088
  case "upcast":
1088
1089
  case "downcast":
1089
1090
  case "unionWrap":
1091
+ case "unionRetype":
1090
1092
  case "unionNarrow":
1091
1093
  return this.fresh(e.value, freshLocals, derived);
1092
1094
  case "ternary":
@@ -1375,6 +1377,7 @@ class ImmutableContracts {
1375
1377
  else if (root.kind === "upcast" ||
1376
1378
  root.kind === "downcast" ||
1377
1379
  root.kind === "unionWrap" ||
1380
+ root.kind === "unionRetype" ||
1378
1381
  root.kind === "unionNarrow" ||
1379
1382
  root.kind === "assignExpr")
1380
1383
  root = root.value;
@@ -1448,6 +1451,7 @@ class ImmutableContracts {
1448
1451
  case "upcast":
1449
1452
  case "downcast":
1450
1453
  case "unionWrap":
1454
+ case "unionRetype":
1451
1455
  case "unionNarrow":
1452
1456
  return derived(e.value);
1453
1457
  default: {