@ai-ecoverse/slicc-kernel 1.21.0 → 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.
- package/README.md +2 -0
- package/dist/kernel-worker.js +9 -2
- package/dist/kernel-worker.js.map +3 -3
- package/dist/node-process-worker.js +9 -3
- package/dist/node-process-worker.js.map +2 -2
- package/dist/node.js +9 -2
- package/dist/node.js.map +3 -3
- package/dist/process-worker.js +9 -3
- package/dist/process-worker.js.map +2 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -335,6 +335,8 @@ Unit tests live in `test/unit/`, which stays out of git. They run real wasm bash
|
|
|
335
335
|
|
|
336
336
|
The Biome, TypeScript, lefthook, Renovate and CI configuration comes from [slicc-shared-web](https://github.com/ai-ecoverse/slicc-shared-web), which also provides the `slicc-lint-comments` (no comments anywhere), `slicc-no-unit-tests` (no unit tests in git) and `slicc-diff-cover` (100% coverage of changed lines) commands that `npm run lint` and the pre-commit hook use.
|
|
337
337
|
|
|
338
|
+
`tools/big-file.mjs [bytes]` is a manual check, not part of any suite. It writes a file of that size (64 MiB by default) through a tmpfs mount with the unit-test launcher, reads it back, and prints the peak RSS and its ratio to the file size. A whole file is still held in memory several times over (#86), so a 1.1 GiB file peaked at 18 GB of RSS. **Do not run it past 1 GiB on a workstation.** It refuses anything over 256 MiB unless `SLICC_BIG_FILE_I_HAVE_THE_RAM=1` is set. Measure a small file and extrapolate instead.
|
|
339
|
+
|
|
338
340
|
Releases are cut by semantic-release on every push to `main`. A failure after the version is tagged (a rejected push, a failed `npm publish`) doesn't strand that version: `tools/release-recover.mjs` runs next. For any version tagged at HEAD, it first pushes the tag if origin lacks it, then publishes the version if npm lacks it, with retries, and creates its GitHub release if that is missing too. Re-running the Release workflow completes such a version the same way.
|
|
339
341
|
|
|
340
342
|
## License
|
package/dist/kernel-worker.js
CHANGED
|
@@ -4672,6 +4672,13 @@ var SAB_I_PUB = 7;
|
|
|
4672
4672
|
var SAB_I_SIGNALS = 8;
|
|
4673
4673
|
var SAB_I_TIMERS = 9;
|
|
4674
4674
|
var SAB_I_MEMORY = 10;
|
|
4675
|
+
var SAB_I_TOTAL_HI = 11;
|
|
4676
|
+
var SAB_I_OFFSET_HI = 12;
|
|
4677
|
+
var U32 = 2 ** 32;
|
|
4678
|
+
function storeU53(header2, lo, hi, value) {
|
|
4679
|
+
Atomics.store(header2, hi, Math.floor(value / U32));
|
|
4680
|
+
Atomics.store(header2, lo, value % U32 | 0);
|
|
4681
|
+
}
|
|
4675
4682
|
var SAB_STATE_READY = 2;
|
|
4676
4683
|
var SAB_STATUS_BYTES = 1;
|
|
4677
4684
|
var SAB_STATUS_JSON = 2;
|
|
@@ -4731,9 +4738,9 @@ function attachSyncSabResponder(port, sab, token, opts) {
|
|
|
4731
4738
|
const chunk2 = Math.min(window.byteLength, entry.payload.byteLength - offset);
|
|
4732
4739
|
if (chunk2 > 0) window.set(entry.payload.subarray(offset, offset + chunk2));
|
|
4733
4740
|
Atomics.store(header2, SAB_I_STATUS, entry.status);
|
|
4734
|
-
|
|
4741
|
+
storeU53(header2, SAB_I_TOTAL, SAB_I_TOTAL_HI, entry.payload.byteLength);
|
|
4735
4742
|
Atomics.store(header2, SAB_I_CHUNK, chunk2);
|
|
4736
|
-
|
|
4743
|
+
storeU53(header2, SAB_I_OFFSET, SAB_I_OFFSET_HI, offset);
|
|
4737
4744
|
Atomics.store(header2, SAB_I_SEQ, id);
|
|
4738
4745
|
Atomics.store(header2, SAB_I_STATE, SAB_STATE_READY);
|
|
4739
4746
|
Atomics.add(header2, SAB_I_PUB, 1);
|