@ai-ecoverse/slicc-kernel 1.166.4 → 1.167.0

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.
@@ -7488,7 +7488,7 @@ var init_version = __esm({
7488
7488
  "src/version.ts"() {
7489
7489
  "use strict";
7490
7490
  init_captured_globals();
7491
- KERNEL_VERSION = true ? "1.166.4" : "0.0.0-dev";
7491
+ KERNEL_VERSION = true ? "1.167.0" : "0.0.0-dev";
7492
7492
  OS_RELEASE = "6.0.0-slicc";
7493
7493
  }
7494
7494
  });
@@ -10256,7 +10256,7 @@ function errnoOf(err) {
10256
10256
  const errno2 = err?.errno;
10257
10257
  return typeof errno2 === "number" ? errno2 : wasiErrno("EIO");
10258
10258
  }
10259
- function sizeOf(Fs, stream) {
10259
+ function sizeOf2(Fs, stream) {
10260
10260
  const st = Fs.fstat?.(stream.fd);
10261
10261
  return st?.size ?? 0;
10262
10262
  }
@@ -10287,7 +10287,7 @@ function refused2(kind, flags) {
10287
10287
  return kind === "write" && access === O_RDONLY || kind === "read" && access === O_WRONLY4;
10288
10288
  }
10289
10289
  function baseOf2(Fs, stream) {
10290
- return (whence) => whence === SEEK_CUR3 ? stream.position : whence === SEEK_END3 ? sizeOf(Fs, stream) : 0;
10290
+ return (whence) => whence === SEEK_CUR3 ? stream.position : whence === SEEK_END3 ? sizeOf2(Fs, stream) : 0;
10291
10291
  }
10292
10292
  function recordLock(fcntl, deps) {
10293
10293
  return (fd, cmd, varargs) => {
@@ -19145,7 +19145,7 @@ function fillMemory(memory, copy2) {
19145
19145
  if (pages2 > 0) memory.grow(pages2);
19146
19146
  new capturedUint8Array(memory.buffer).set(copy2);
19147
19147
  }
19148
- function sizeOf2(main) {
19148
+ function sizeOf3(main) {
19149
19149
  return () => main.memory?.buffer.byteLength ?? 0;
19150
19150
  }
19151
19151
  function memoryOf(instance, imported2) {
@@ -19374,7 +19374,7 @@ async function runWasiProcess(init, port3) {
19374
19374
  call: kernelCall,
19375
19375
  say,
19376
19376
  gate
19377
- } = kernelOf(init, port3, signals, sizeOf2(main));
19377
+ } = kernelOf(init, port3, signals, sizeOf3(main));
19378
19378
  const id = identify(transport, init);
19379
19379
  const stats = init.env.SLICC_WASI_STATS === "1" ? new WasiStats() : void 0;
19380
19380
  const call3 = stats ? timedCalls(stats, kernelCall) : kernelCall;
@@ -19436,7 +19436,7 @@ async function runWasiProcess(init, port3) {
19436
19436
  });
19437
19437
  restoreExportedMemory(instance, memory, init);
19438
19438
  main.memory = memoryOf(instance, memory);
19439
- publishMemory(init.sab, sizeOf2(main)());
19439
+ publishMemory(init.sab, sizeOf3(main)());
19440
19440
  port3.postMessage({ type: WASM_PROCESS_READY });
19441
19441
  signals.bind(instance.exports);
19442
19442
  if (importsSigactionHook(module)) signals.useHook();
@@ -19861,6 +19861,17 @@ function programScript(name2, hash) {
19861
19861
  }
19862
19862
  var SOURCE_NAMES = 4096;
19863
19863
  var sourceNames = new capturedSet();
19864
+ var setDelete = capturedSet.prototype.delete;
19865
+ var setValues = capturedSet.prototype.values;
19866
+ var sizeOf = capturedObject.getOwnPropertyDescriptor(capturedSet.prototype, "size")?.get;
19867
+ var nextOf = capturedObject.getPrototypeOf(new capturedSet().values()).next;
19868
+ function noteName(name2) {
19869
+ if (apply(setDelete, sourceNames, [name2]) !== true && apply(sizeOf, sourceNames, []) >= SOURCE_NAMES) {
19870
+ const oldest = apply(nextOf, apply(setValues, sourceNames, []), []);
19871
+ apply(setDelete, sourceNames, [oldest.value]);
19872
+ }
19873
+ apply(setAdd, sourceNames, [name2]);
19874
+ }
19864
19875
  function programName(name2) {
19865
19876
  return apply(startsWith, name2, ["data:"]) === true || apply(setHas, programNames, [name2]) === true || apply(setHas, sourceNames, [name2]) === true;
19866
19877
  }
@@ -19872,7 +19883,7 @@ function noteSourceUrls(trace) {
19872
19883
  if (typeof origin !== "string" || evalAt(origin)) continue;
19873
19884
  const name2 = apply(nameOf, site, []);
19874
19885
  if (typeof name2 !== "string" || apply(setHas, ownNames, [name2]) === true) continue;
19875
- if (sourceNames.size < SOURCE_NAMES) apply(setAdd, sourceNames, [name2]);
19886
+ noteName(name2);
19876
19887
  }
19877
19888
  }
19878
19889
  function rootOrigin(origin) {