@scriptc/compiler 0.0.8 → 0.0.9

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 (66) hide show
  1. package/ambient/scriptc-node-fallback.d.ts +13 -0
  2. package/dist/backend/cc.js +14 -0
  3. package/dist/backend/cc.js.map +1 -1
  4. package/dist/backend/emission/emit-exprs.js +108 -5
  5. package/dist/backend/emission/emit-exprs.js.map +1 -1
  6. package/dist/backend/emission/emit-types.d.ts +3 -0
  7. package/dist/backend/emission/emit-types.js +12 -0
  8. package/dist/backend/emission/emit-types.js.map +1 -1
  9. package/dist/backend/emission/emit-walkers.d.ts +7 -5
  10. package/dist/backend/emission/emit-walkers.js +23 -10
  11. package/dist/backend/emission/emit-walkers.js.map +1 -1
  12. package/dist/backend/emission/emitter.d.ts +1 -1
  13. package/dist/backend/emission/emitter.js +30 -9
  14. package/dist/backend/emission/emitter.js.map +1 -1
  15. package/dist/backend/llvm/emitter.js +206 -11
  16. package/dist/backend/llvm/emitter.js.map +1 -1
  17. package/dist/diagnostics/diagnostic.d.ts +55 -10
  18. package/dist/diagnostics/diagnostic.js +82 -20
  19. package/dist/diagnostics/diagnostic.js.map +1 -1
  20. package/dist/frontend/lowering/lower-assert.js +16 -0
  21. package/dist/frontend/lowering/lower-assert.js.map +1 -1
  22. package/dist/frontend/lowering/lower-builtins.d.ts +11 -0
  23. package/dist/frontend/lowering/lower-builtins.js +111 -3
  24. package/dist/frontend/lowering/lower-builtins.js.map +1 -1
  25. package/dist/frontend/lowering/lower-calls.d.ts +30 -11
  26. package/dist/frontend/lowering/lower-calls.js +418 -8
  27. package/dist/frontend/lowering/lower-calls.js.map +1 -1
  28. package/dist/frontend/lowering/lower-classes.js +27 -1
  29. package/dist/frontend/lowering/lower-classes.js.map +1 -1
  30. package/dist/frontend/lowering/lower-containers.d.ts +4 -2
  31. package/dist/frontend/lowering/lower-containers.js +193 -43
  32. package/dist/frontend/lowering/lower-containers.js.map +1 -1
  33. package/dist/frontend/lowering/lower-emitter.js +54 -0
  34. package/dist/frontend/lowering/lower-emitter.js.map +1 -1
  35. package/dist/frontend/lowering/lower-exprs.js +52 -7
  36. package/dist/frontend/lowering/lower-exprs.js.map +1 -1
  37. package/dist/frontend/lowering/lower-stmts.js +445 -13
  38. package/dist/frontend/lowering/lower-stmts.js.map +1 -1
  39. package/dist/frontend/lowering/lower-stream.js +28 -2
  40. package/dist/frontend/lowering/lower-stream.js.map +1 -1
  41. package/dist/frontend/lowering/lowerer.d.ts +66 -14
  42. package/dist/frontend/lowering/lowerer.js +273 -28
  43. package/dist/frontend/lowering/lowerer.js.map +1 -1
  44. package/dist/frontend/lowering/surfaces.js +20 -3
  45. package/dist/frontend/lowering/surfaces.js.map +1 -1
  46. package/dist/frontend/npm-static-rewrite.d.ts +7 -2
  47. package/dist/frontend/npm-static-rewrite.js +566 -138
  48. package/dist/frontend/npm-static-rewrite.js.map +1 -1
  49. package/dist/frontend/npm-static.js +11 -2
  50. package/dist/frontend/npm-static.js.map +1 -1
  51. package/dist/frontend/program.js +5 -5
  52. package/dist/frontend/program.js.map +1 -1
  53. package/dist/frontend/shared.d.ts +6 -1
  54. package/dist/frontend/shared.js +46 -1
  55. package/dist/frontend/shared.js.map +1 -1
  56. package/dist/frontend/types.js +4 -2
  57. package/dist/frontend/types.js.map +1 -1
  58. package/dist/index.js +150 -25
  59. package/dist/index.js.map +1 -1
  60. package/dist/ir/nodes.d.ts +131 -7
  61. package/dist/ir/nodes.js +41 -3
  62. package/dist/ir/nodes.js.map +1 -1
  63. package/dist/ir/validate.js +58 -8
  64. package/dist/ir/validate.js.map +1 -1
  65. package/package.json +2 -2
  66. package/surface-manifest.json +10 -3
@@ -1 +1 @@
1
- {"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../../src/backend/emission/emitter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../../src/backend/emission/emitter.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { canMarshalFuncIntoIsland, CAUGHT, F64, islandCallbackRet, isRefCounted, isUnitType, MAY_THROW_LIB_FNS, moduleUsesDynInvoke, moduleUsesFetch, moduleUsesFsWatch, moduleUsesHttpServer, moduleUsesNet, moduleUsesProcessEvents, moduleUsesStream, RUNTIME_EMITTER_CLASS, RUNTIME_ERROR_CLASSES, RUNTIME_STREAM_CLASSES, STRING, typeEquals, typeKey, VOID } from "../../ir/nodes.js";
1
+ import { canMarshalFuncIntoIsland, CAUGHT, DYN, F64, islandCallbackRet, isRefCounted, isUnitType, MAY_THROW_LIB_FNS, moduleUsesDynInvoke, moduleUsesFetch, moduleUsesFsWatch, moduleUsesHttpServer, moduleUsesNet, moduleUsesProcessEvents, moduleUsesStream, RUNTIME_EMITTER_CLASS, RUNTIME_ERROR_CLASSES, RUNTIME_STREAM_CLASSES, STRING, typeEquals, typeKey, VOID } from "../../ir/nodes.js";
2
2
  import { computeMayThrow } from "../emission/may-throw.js";
3
3
  import { mangleArgPack, mangleAsyncSpawn, mangleClassNew, mangleClassObj, mangleClassRetain, mangleFnClosure, mangleFunction, mangleGenDrop, mangleGenResThunk, mangleGenSpawn, mangleGlobal, mangleLocal, mangleRecordNew, mangleRecordStruct, mangleResolveThunk, mangleTrampoline, mangleVtStruct, mangleWrapper } from "../mangle.js";
4
4
  import { BlockBuilder } from "./blocks.js";
@@ -60,6 +60,8 @@ const LIB_FN_SYMS = {
60
60
  "dyn.errInstanceof": "scr_dyn_err_instanceof",
61
61
  "num.toExponential": "scr_num_to_exponential",
62
62
  "num.toFixed0": "scr_num_to_fixed0",
63
+ "num.sameValue": "scr_num_same_value",
64
+ "intl.numFormatEnUs": "scr_intl_num_format_en_us",
63
65
  "number.isFinite": "scr_num_is_finite",
64
66
  "number.isNaN": "scr_num_is_nan",
65
67
  "number.isInteger": "scr_num_is_integer",
@@ -187,6 +189,14 @@ const LIB_FN_SYMS = {
187
189
  "buffer.concatLen": "scr_bytes_concat_len",
188
190
  "buffer.byteLenStr": "scr_bytes_byte_length_str",
189
191
  "buffer.isEncoding": "scr_bytes_is_encoding",
192
+ // The checked-dynamic compare/equals validators (scr_bytes_io.c):
193
+ // Node's argument ladders throw catchably (MAY_THROW_LIB_FNS).
194
+ "dyn.toStringCoerce": "scr_dyn_string_coerce_js",
195
+ "buffer.compareChk": "scr_buffer_compare_chk",
196
+ "bytes.equalsChk": "scr_bytes_equals_chk",
197
+ "bytes.compareChk": "scr_bytes_compare_chk",
198
+ "buffer.newStringFail": "scr_buffer_new_string_fail",
199
+ "fs.toUnixTimestamp": "scr_fs_to_unix_timestamp",
190
200
  "fs.readFileSyncBuf": "scr_fs_read_file_bytes",
191
201
  "fs.readFileSyncBytes": "scr_fs_read_file_bytes",
192
202
  "fs.writeFileSyncBytes": "scr_fs_write_file_bytes",
@@ -376,6 +386,8 @@ const LIB_FN_SYMS = {
376
386
  "emitter.names": "scr_emitter_event_names",
377
387
  "emitter.listeners": "scr_emitter_listeners",
378
388
  "emitter.setMax": "scr_emitter_set_max",
389
+ "emitter.setMaxChk": "scr_emitter_set_max_chk",
390
+ "emitter.setDefaultMaxChk": "scr_emitter_set_default_max_chk",
379
391
  "emitter.getMax": "scr_emitter_get_max",
380
392
  "emitter.setDefaultMax": "scr_emitter_set_default_max",
381
393
  "emitter.getDefaultMax": "scr_emitter_get_default_max",
@@ -483,6 +495,9 @@ const LIB_FN_SYMS = {
483
495
  // generic shapes; the throwing members ride the pending check.
484
496
  "tp.setTimeout": "scr_tp_set_timeout",
485
497
  "tp.setImmediate": "scr_tp_set_immediate",
498
+ // stream/promises' finished form (+1 promise; may-throw pending check;
499
+ // the pipeline form needs the stream-array compound and emits below).
500
+ "sp.finished": "scr_sp_finished",
486
501
  "dc.channel": "scr_dc_channel",
487
502
  "dc.subscribe": "scr_dc_subscribe",
488
503
  "dc.unsubscribe": "scr_dc_unsubscribe",
@@ -586,6 +601,7 @@ const USES_TIMERS_LIB_FNS = new Set([
586
601
  "stream.setTransform", "stream.setFlush",
587
602
  "process.activeResources",
588
603
  "stream.finished", "stream.finishedDyn", "stream.pipeline", "stream.pipelineDyn",
604
+ "sp.finished", "sp.pipeline",
589
605
  "net.listen", "net.listenCb", "net.listenOpts", "net.listenOptsCb",
590
606
  "net.connect", "net.connectCb", "net.connectLookup",
591
607
  "http.createServer", "http.createServerEmpty",
@@ -640,6 +656,18 @@ const DV_GET_KIND = {
640
656
  dvGetBigUint64Number: 8,
641
657
  dvGetBigInt64Number: 9,
642
658
  };
659
+ /** ScrDataViewGet per dvSet* method (the setters reuse the getter kinds;
660
+ * no BIG setters exist). */
661
+ const DV_SET_KIND = {
662
+ dvSetUint8: 0,
663
+ dvSetInt8: 1,
664
+ dvSetUint16: 2,
665
+ dvSetInt16: 3,
666
+ dvSetUint32: 4,
667
+ dvSetInt32: 5,
668
+ dvSetFloat32: 6,
669
+ dvSetFloat64: 7,
670
+ };
643
671
  class LlEmitter {
644
672
  mod;
645
673
  /** Interned string literals: UTF-8 text → { symbol, byte length } —
@@ -1015,7 +1043,7 @@ class LlEmitter {
1015
1043
  // LIBRARY mode: the runtime entry points the generated library
1016
1044
  // symbols delegate to — declared before the extern block flushes.
1017
1045
  if (this.mod.lib !== undefined) {
1018
- this.declare(`declare void @scr_library_entry(i1 zeroext)`);
1046
+ this.declare(`declare void @scr_library_entry(i1 zeroext, ptr)`);
1019
1047
  this.declare(`declare void @scr_library_reset()`);
1020
1048
  this.declare(`declare void @scr_library_check_exc()`);
1021
1049
  this.declare(`declare void @scr_library_set_sink(ptr, ptr)`);
@@ -1259,6 +1287,45 @@ class LlEmitter {
1259
1287
  const lib = this.mod.lib;
1260
1288
  const autoReset = lib.resultResetSymbol === null;
1261
1289
  const out = [``, `; ── library-mode entries (profile: ${lib.profileName}) ──`, ``];
1290
+ // Every entry's prologue records its external symbol in the funnel's
1291
+ // current-entry slot (structured trap-teaching field 2); the symbols
1292
+ // live as internal constants, one per entry.
1293
+ const symConst = (sym) => `@sc_lib_sym_${sym}`;
1294
+ const emitSymConst = (sym) => {
1295
+ out.push(`${symConst(sym)} = internal constant [${Buffer.byteLength(sym, "utf8") + 1} x i8] c"${llStrBytes(sym)}"`);
1296
+ };
1297
+ emitSymConst(lib.initSymbol);
1298
+ if (lib.resultResetSymbol !== null)
1299
+ emitSymConst(lib.resultResetSymbol);
1300
+ if (lib.collectSymbol !== null)
1301
+ emitSymConst(lib.collectSymbol);
1302
+ for (const e of lib.exports)
1303
+ emitSymConst(e.symbol);
1304
+ out.push(``);
1305
+ // The runtime detected-trap overlay table (scr_runtime.h declares it,
1306
+ // the library trap funnel consults it): flat code/teaching/remediation
1307
+ // triples, one per runtime trap code (SC4013–SC4019) the profile
1308
+ // declares text for — the same data the C emission defines, so the
1309
+ // funnel-assembled sink message is emission-invariant by construction.
1310
+ // The empty table still defines the symbols the funnel links against.
1311
+ const ovlCells = [];
1312
+ lib.trapOverlays.forEach((o, i) => {
1313
+ const cell = (name, text) => {
1314
+ if (text === undefined) {
1315
+ ovlCells.push("ptr null");
1316
+ return;
1317
+ }
1318
+ const sym = `@sc_lib_ovl_${i}_${name}`;
1319
+ out.push(`${sym} = internal constant [${Buffer.byteLength(text, "utf8") + 1} x i8] c"${llStrBytes(text)}"`);
1320
+ ovlCells.push(`ptr ${sym}`);
1321
+ };
1322
+ cell("code", o.code);
1323
+ cell("teach", o.teaching);
1324
+ cell("rem", o.remediation);
1325
+ });
1326
+ out.push(ovlCells.length === 0
1327
+ ? `@scr_library_trap_overlays = constant [1 x ptr] zeroinitializer`
1328
+ : `@scr_library_trap_overlays = constant [${ovlCells.length} x ptr] [${ovlCells.join(", ")}]`, `@scr_library_trap_overlays_len = constant i64 ${lib.trapOverlays.length}`, ``);
1262
1329
  // The init entry: full deterministic reset-and-reevaluate. Program
1263
1330
  // globals release and zero first (run-once guards included), then the
1264
1331
  // runtime session reset, the error-vt interval stamps verbatim from
@@ -1268,7 +1335,7 @@ class LlEmitter {
1268
1335
  const zero = ty === "double" ? f64Lit(0) : ty === "ptr" ? "null" : "false";
1269
1336
  return ` store ${ty} ${zero}, ptr @${mangleGlobal(g.id)} ; ${g.name}`;
1270
1337
  });
1271
- out.push(`define void @${lib.initSymbol}() ${FN_ATTRS} {`, `entry:`, ` call void @scr_library_entry(i1 zeroext true) ; init always resets the result arena`, ...globalReleaseLines("ci"), ...zeroStores, ` call void @scr_library_reset()`, ...stamps, ` call void @${mangleFunction(this.mod.entry)}()`, ` call void @scr_library_check_exc()`, ` ret void`, `}`, ``, `define void @${lib.sinkRegisterSymbol}(ptr %fn, ptr %ctx) ${FN_ATTRS} {`, `entry:`, ` call void @scr_library_set_sink(ptr %fn, ptr %ctx)`, ` ret void`, `}`, ``);
1338
+ out.push(`define void @${lib.initSymbol}() ${FN_ATTRS} {`, `entry:`, ` call void @scr_library_entry(i1 zeroext true, ptr ${symConst(lib.initSymbol)}) ; init always resets the result arena`, ...globalReleaseLines("ci"), ...zeroStores, ` call void @scr_library_reset()`, ...stamps, ` call void @${mangleFunction(this.mod.entry)}()`, ` call void @scr_library_check_exc()`, ` ret void`, `}`, ``, `define void @${lib.sinkRegisterSymbol}(ptr %fn, ptr %ctx) ${FN_ATTRS} {`, `entry:`, ` call void @scr_library_set_sink(ptr %fn, ptr %ctx)`, ` ret void`, `}`, ``);
1272
1339
  if (lib.identity !== undefined) {
1273
1340
  // Profile-declared identity getters (the ask-2 sidecar's boot-time
1274
1341
  // pairing fence): pure data returns with NO entry prologue — exempt
@@ -1279,14 +1346,14 @@ class LlEmitter {
1279
1346
  out.push(`define i64 @${lib.identity.buildIdSymbol}() ${FN_ATTRS} { ; identity getter build_id 0x${lib.identity.buildId}`, `entry:`, ` ret i64 ${buildId}`, `}`, ``, `define i32 @${lib.identity.abiVersionSymbol}() ${FN_ATTRS} { ; identity getter abi_version`, `entry:`, ` ret i32 ${lib.identity.abiVersion}`, `}`, ``);
1280
1347
  }
1281
1348
  if (lib.resultResetSymbol !== null) {
1282
- out.push(`define void @${lib.resultResetSymbol}() ${FN_ATTRS} {`, `entry:`, ` call void @scr_library_entry(i1 zeroext false)`, ` call void @scr_library_arena_reset()`, ` ret void`, `}`, ``);
1349
+ out.push(`define void @${lib.resultResetSymbol}() ${FN_ATTRS} {`, `entry:`, ` call void @scr_library_entry(i1 zeroext false, ptr ${symConst(lib.resultResetSymbol)})`, ` call void @scr_library_arena_reset()`, ` ret void`, `}`, ``);
1283
1350
  }
1284
1351
  if (lib.collectSymbol !== null) {
1285
- out.push(`define void @${lib.collectSymbol}() ${FN_ATTRS} {`, `entry:`, ` call void @scr_library_entry(i1 zeroext false)`, ` call void @scr_library_collect() ; arena reset + a full cycle collection`, ` ret void`, `}`, ``);
1352
+ out.push(`define void @${lib.collectSymbol}() ${FN_ATTRS} {`, `entry:`, ` call void @scr_library_entry(i1 zeroext false, ptr ${symConst(lib.collectSymbol)})`, ` call void @scr_library_collect() ; arena reset + a full cycle collection`, ` ret void`, `}`, ``);
1286
1353
  }
1287
1354
  for (const e of lib.exports) {
1288
1355
  const params = [];
1289
- const body = [` call void @scr_library_entry(i1 zeroext ${autoReset ? "true" : "false"})`];
1356
+ const body = [` call void @scr_library_entry(i1 zeroext ${autoReset ? "true" : "false"}, ptr ${symConst(e.symbol)})`];
1290
1357
  const args = [];
1291
1358
  if (e.inboundBytesTrap !== undefined) {
1292
1359
  // The bytes-in helper's trap message: the compiler-assembled
@@ -3999,7 +4066,15 @@ class LlEmitter {
3999
4066
  const t = B.tmp();
4000
4067
  B.line(`${a} = call double @scr_union_get_f64(ptr ${l.name})`);
4001
4068
  B.line(`${b} = call double @scr_union_get_f64(ptr ${r.name})`);
4002
- B.line(`${t} = fcmp oeq double ${a}, ${b}`);
4069
+ if (e.sameValue) {
4070
+ // Object.is's f64 compare: NaN equals NaN, +0 differs
4071
+ // from -0 — the runtime SameValue.
4072
+ this.declare(`declare zeroext i1 @scr_num_same_value(double, double)`);
4073
+ B.line(`${t} = call zeroext i1 @scr_num_same_value(double ${a}, double ${b})`);
4074
+ }
4075
+ else {
4076
+ B.line(`${t} = fcmp oeq double ${a}, ${b}`);
4077
+ }
4003
4078
  B.line(`store i1 ${t}, ptr ${slot}`);
4004
4079
  break;
4005
4080
  }
@@ -5272,14 +5347,18 @@ class LlEmitter {
5272
5347
  }
5273
5348
  if (e.name === "promise.reject") {
5274
5349
  // A fresh promise rejected through the exception cell: the
5275
- // %Error-rooted reason moves in as the cell's OBJ payload, and
5276
- // reject_pending moves the cell into the promise (consumed
5277
- // immediately — no pending check runs in between).
5350
+ // %Error-rooted reason moves in as the cell's OBJ payload (a
5351
+ // checked-dynamic reason rides the thrown-dyn REF representation
5352
+ // instead — identity flows to catch/unhandledRejection observers,
5353
+ // emitThrowValue's dyn arm), and reject_pending moves the cell
5354
+ // into the promise (consumed immediately — no pending check runs
5355
+ // in between).
5278
5356
  if (e.type.kind !== "promise")
5279
5357
  throw new Error("llvm emitter bug: promise.reject type");
5280
5358
  const reasonT = e.args[0].type;
5281
- if (reasonT.kind !== "object")
5359
+ if (reasonT.kind !== "object" && reasonT.kind !== "dyn") {
5282
5360
  throw new Error("llvm emitter bug: promise.reject reason");
5361
+ }
5283
5362
  this.declare(`declare ptr @scr_promise_new()`);
5284
5363
  this.declare(`declare void @scr_promise_reject_pending(ptr)`);
5285
5364
  const reason = this.emitExpr(e.args[0]);
@@ -5452,6 +5531,40 @@ class LlEmitter {
5452
5531
  // boxed thunk builds its own typed copies. The callee's source
5453
5532
  // spelling rides along for Node's "<name> is not a function".
5454
5533
  const callee = this.emitExpr(e.callee);
5534
+ if (e.spreads !== undefined && e.spreads.length > 0) {
5535
+ // The RUNTIME-ARITY form (`f(...args)`): one fresh DOM array
5536
+ // collects the arguments left-to-right — plain args move in
5537
+ // (push takes ownership), spread args FLATTEN (push_spread
5538
+ // retains elements in and throws V8's spread-call TypeError for
5539
+ // non-iterable DOM kinds, checked per spread — JS's
5540
+ // ArgumentListEvaluation order) — then apply calls through the
5541
+ // array's elements (borrowed, exactly scr_dyn_call).
5542
+ this.declare(`declare ptr @scr_dyn_new_arr()`);
5543
+ this.declare(`declare void @scr_dyn_arr_push(ptr, ptr)`);
5544
+ this.declare(`declare void @scr_dyn_arr_push_spread(ptr, ptr, ptr)`);
5545
+ this.declare(`declare ptr @scr_dyn_apply(ptr, ptr, ptr)`);
5546
+ const spreadAt = new Map(e.spreads.map((s) => [s.arg, s.what]));
5547
+ const pack = B.tmp();
5548
+ B.line(`${pack} = call ptr @scr_dyn_new_arr()`);
5549
+ this.own({ name: pack, type: DYN });
5550
+ e.args.forEach((a, i) => {
5551
+ const v = this.emitExpr(a);
5552
+ const spreadWhat = spreadAt.get(i);
5553
+ if (spreadWhat !== undefined) {
5554
+ B.line(`call void @scr_dyn_arr_push_spread(ptr ${pack}, ptr ${v.name}, ptr ${this.cstr(spreadWhat)})`);
5555
+ this.emitPendingCheck();
5556
+ }
5557
+ else {
5558
+ this.moveTemp(v);
5559
+ B.line(`call void @scr_dyn_arr_push(ptr ${pack}, ptr ${v.name})`);
5560
+ }
5561
+ });
5562
+ const t = B.tmp();
5563
+ B.line(`${t} = call ptr @scr_dyn_apply(ptr ${callee.name}, ptr ${pack}, ptr ${this.cstr(e.calleeName)})`);
5564
+ const out = this.own({ name: t, type: e.type });
5565
+ this.emitPendingCheck();
5566
+ return out;
5567
+ }
5455
5568
  const args = e.args.map((a) => this.emitExpr(a));
5456
5569
  let argsPtr = "null";
5457
5570
  if (args.length > 0) {
@@ -6037,6 +6150,18 @@ class LlEmitter {
6037
6150
  return t;
6038
6151
  });
6039
6152
  }
6153
+ case "callSpread": {
6154
+ // Spread application (`f(...pre, ...s)`): the prelude helper's
6155
+ // real spread syntax — iterator protocols are the engine's own,
6156
+ // the guards front-run V8's spread-call TypeError texts (the name
6157
+ // literal is the spread expression's spelling).
6158
+ this.declare(`declare ptr @scr_jsval_call_spread(ptr, ptr, ptr, ptr)`);
6159
+ return fallible(() => {
6160
+ const t = B.tmp();
6161
+ B.line(`${t} = call ptr @scr_jsval_call_spread(ptr ${a(0)}, ptr ${a(1)}, ptr ${a(2)}, ptr ${nameSym()})`);
6162
+ return t;
6163
+ });
6164
+ }
6040
6165
  case "construct": {
6041
6166
  const pack = argPack(args.slice(1).map((x) => x.name));
6042
6167
  this.declare(`declare ptr @scr_jsval_construct(ptr, i32, ptr)`);
@@ -8131,6 +8256,18 @@ class LlEmitter {
8131
8256
  // DataView getters: an omitted littleEndian is big-endian (the JS
8132
8257
  // default). Throw Node's constant RangeError on a bad offset.
8133
8258
  return call("scr_dataview_get", "double (ptr, double, i32, i1 zeroext)", `ptr ${r.name}, double ${args[0].name}, i32 ${DV_GET_KIND[method]}, i1 ${args[1]?.name ?? "false"}`, false, true);
8259
+ case "dvSetUint8":
8260
+ case "dvSetInt8":
8261
+ case "dvSetUint16":
8262
+ case "dvSetInt16":
8263
+ case "dvSetUint32":
8264
+ case "dvSetInt32":
8265
+ case "dvSetFloat32":
8266
+ case "dvSetFloat64":
8267
+ // DataView setters: [offset, value, littleEndian?] — void; throw
8268
+ // the getters' constant RangeError on a bad offset.
8269
+ return call("scr_dataview_set", "void (ptr, double, double, i32, i1 zeroext)", `ptr ${r.name}, double ${args[0].name}, double ${args[1].name}, ` +
8270
+ `i32 ${DV_SET_KIND[method]}, i1 ${args[2]?.name ?? "false"}`, false, true);
8134
8271
  default: {
8135
8272
  const _exhaustive = method;
8136
8273
  void _exhaustive;
@@ -8511,6 +8648,42 @@ class LlEmitter {
8511
8648
  if (USES_TIMERS_LIB_FNS.has(e.fn))
8512
8649
  this.usesTimers = true;
8513
8650
  // The handful with non-generic shapes first.
8651
+ if (e.fn === "error.argTypeThrow") {
8652
+ // Always throws with the runtime-rendered Received tail (the
8653
+ // error.nodeThrow dummy pattern). Borrows all three.
8654
+ const an = this.emitExpr(e.args[0]);
8655
+ const ex = this.emitExpr(e.args[1]);
8656
+ const got = this.emitExpr(e.args[2]);
8657
+ this.declare(`declare void @scr_throw_arg_type(ptr, ptr, ptr)`);
8658
+ B.line(`call void @scr_throw_arg_type(ptr ${an.name}, ptr ${ex.name}, ptr ${got.name})`);
8659
+ const ty = this.llType(e.type);
8660
+ if (ty === "void") {
8661
+ this.emitPendingCheck();
8662
+ return { name: "", type: e.type };
8663
+ }
8664
+ const dummy = ty === "double" ? f64Lit(0) : ty === "i1" ? "false" : "null";
8665
+ const out = this.own({ name: dummy, type: e.type });
8666
+ this.emitPendingCheck();
8667
+ return out;
8668
+ }
8669
+ if (e.fn === "error.nodeThrow") {
8670
+ // The compiler-resolved Node-parity throw (always throws — the
8671
+ // typed dummy is abandoned by the pending check's unwind).
8672
+ const kind = this.emitExpr(e.args[0]);
8673
+ const code = this.emitExpr(e.args[1]);
8674
+ const msg = this.emitExpr(e.args[2]);
8675
+ this.declare(`declare void @scr_throw_node_coded(double, ptr, ptr)`);
8676
+ B.line(`call void @scr_throw_node_coded(double ${kind.name}, ptr ${code.name}, ptr ${msg.name})`);
8677
+ const ty = this.llType(e.type);
8678
+ if (ty === "void") {
8679
+ this.emitPendingCheck();
8680
+ return { name: "", type: e.type };
8681
+ }
8682
+ const dummy = ty === "double" ? f64Lit(0) : ty === "i1" ? "false" : "null";
8683
+ const out = this.own({ name: dummy, type: e.type });
8684
+ this.emitPendingCheck();
8685
+ return out;
8686
+ }
8514
8687
  if (e.fn === "global.undefRead") {
8515
8688
  // A declare-d const nothing defines: Node's catchable
8516
8689
  // ReferenceError at the access (always throws — the typed dummy is
@@ -9742,6 +9915,28 @@ class LlEmitter {
9742
9915
  this.emitPendingCheck();
9743
9916
  return out;
9744
9917
  }
9918
+ if (e.fn === "sp.pipeline") {
9919
+ // pipeline(count, s1..sn) settling a void promise: the stream list
9920
+ // rides the callback form's stack array, no callback slot.
9921
+ const countArg = e.args[0];
9922
+ if (countArg.kind !== "numLit")
9923
+ throw new Error(`llvm emitter bug: ${e.fn} count not a literal`);
9924
+ const n = countArg.value;
9925
+ const args = e.args.map((a) => this.emitExpr(a));
9926
+ const arr = B.slot();
9927
+ B.entryAllocas.push(`${arr} = alloca [${n} x ptr]`);
9928
+ for (let i = 0; i < n; i++) {
9929
+ const p = B.tmp();
9930
+ B.line(`${p} = getelementptr inbounds [${n} x ptr], ptr ${arr}, i64 0, i64 ${i}`);
9931
+ B.line(`store ptr ${args[1 + i].name}, ptr ${p}`);
9932
+ }
9933
+ const t = B.tmp();
9934
+ this.declare(`declare ptr @scr_sp_pipeline(double, ptr)`);
9935
+ B.line(`${t} = call ptr @scr_sp_pipeline(double ${f64Lit(n)}, ptr ${arr})`);
9936
+ const out = this.own({ name: t, type: e.type });
9937
+ this.emitPendingCheck();
9938
+ return out;
9939
+ }
9745
9940
  if (e.fn === "stream.pipeline" || e.fn === "stream.pipelineDyn") {
9746
9941
  // pipeline(count, s1..sn, cb): the destination answers +1. The
9747
9942
  // stream list rides a stack array (the C compound literal).