@ai-ecoverse/slicc-kernel 1.20.1 → 1.21.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.
@@ -773,6 +773,9 @@ var init_sync_fs_wire = __esm({
773
773
  });
774
774
 
775
775
  // src/realm/sync-sab-wire.ts
776
+ function loadU53(header, lo, hi) {
777
+ return (Atomics.load(header, lo) >>> 0) + Atomics.load(header, hi) * U32;
778
+ }
776
779
  function publishMemory(sab, bytes) {
777
780
  if (bytes > 0)
778
781
  Atomics.store(new Int32Array(sab, 0, SAB_HEADER_I32), SAB_I_MEMORY, Math.ceil(bytes / 65536));
@@ -812,7 +815,7 @@ function sabViews(sab) {
812
815
  window: new Uint8Array(sab, SAB_HEADER_BYTES)
813
816
  };
814
817
  }
815
- var SAB_HEADER_I32, SAB_HEADER_BYTES, SAB_I_STATE, SAB_I_SEQ, SAB_I_STATUS, SAB_I_TOTAL, SAB_I_CHUNK, SAB_I_OFFSET, SAB_I_REQ, SAB_I_PUB, SAB_I_SIGNALS, SAB_I_TIMERS, SAB_I_MEMORY, SAB_STATE_IDLE, SAB_STATE_PENDING, SAB_STATE_READY, SAB_STATUS_BYTES, SAB_STATUS_JSON, SAB_STATUS_VOID, SAB_STATUS_ERRNO, SAB_DEFAULT_WINDOW_BYTES, SAB_MIN_BYTES, SYNC_SAB_REQ_MSG, SYNC_SAB_NEXT_MSG, encoder, decoder;
818
+ var SAB_HEADER_I32, SAB_HEADER_BYTES, SAB_I_STATE, SAB_I_SEQ, SAB_I_STATUS, SAB_I_TOTAL, SAB_I_CHUNK, SAB_I_OFFSET, SAB_I_REQ, SAB_I_PUB, SAB_I_SIGNALS, SAB_I_TIMERS, SAB_I_MEMORY, SAB_I_TOTAL_HI, SAB_I_OFFSET_HI, U32, SAB_STATE_IDLE, SAB_STATE_PENDING, SAB_STATE_READY, SAB_STATUS_BYTES, SAB_STATUS_JSON, SAB_STATUS_VOID, SAB_STATUS_ERRNO, SAB_DEFAULT_WINDOW_BYTES, SAB_MIN_BYTES, SYNC_SAB_REQ_MSG, SYNC_SAB_NEXT_MSG, encoder, decoder;
816
819
  var init_sync_sab_wire = __esm({
817
820
  "src/realm/sync-sab-wire.ts"() {
818
821
  "use strict";
@@ -829,6 +832,9 @@ var init_sync_sab_wire = __esm({
829
832
  SAB_I_SIGNALS = 8;
830
833
  SAB_I_TIMERS = 9;
831
834
  SAB_I_MEMORY = 10;
835
+ SAB_I_TOTAL_HI = 11;
836
+ SAB_I_OFFSET_HI = 12;
837
+ U32 = 2 ** 32;
832
838
  SAB_STATE_IDLE = 0;
833
839
  SAB_STATE_PENDING = 1;
834
840
  SAB_STATE_READY = 2;
@@ -882,9 +888,9 @@ function createSyncSabTransport(sab, port2, deps = {}) {
882
888
  throw syncError("EIO", label);
883
889
  }
884
890
  awaitReady(id, deadline, label);
885
- const total = Atomics.load(header, SAB_I_TOTAL);
891
+ const total = loadU53(header, SAB_I_TOTAL, SAB_I_TOTAL_HI);
886
892
  const chunk = Atomics.load(header, SAB_I_CHUNK);
887
- const at = Atomics.load(header, SAB_I_OFFSET);
893
+ const at = loadU53(header, SAB_I_OFFSET, SAB_I_OFFSET_HI);
888
894
  if (at !== offset || chunk < 0 || total < 0 || offset + chunk > total) {
889
895
  throw syncError("EIO", label);
890
896
  }