@ai-ecoverse/slicc-kernel 1.108.4 → 1.109.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.
- package/README.md +2 -0
- package/dist/index.js.map +2 -2
- package/dist/kernel-worker.js +437 -240
- package/dist/kernel-worker.js.map +4 -4
- package/dist/node-process-worker.js +28 -3
- package/dist/node-process-worker.js.map +3 -3
- package/dist/node.js +223 -26
- package/dist/node.js.map +4 -4
- package/dist/process-worker.js +28 -3
- package/dist/process-worker.js.map +3 -3
- package/dist/types/cron/command.d.ts +4 -0
- package/dist/types/cron/crontab.d.ts +27 -0
- package/dist/types/index.d.ts +1 -1
- package/dist/types/kernel/host.d.ts +1 -0
- package/dist/types/kernel/process.d.ts +4 -1
- package/dist/types/launcher.d.ts +2 -0
- package/dist/types/process/js/js-context.d.ts +13 -0
- package/package.json +1 -1
package/dist/process-worker.js
CHANGED
|
@@ -1070,10 +1070,28 @@ function createSyncSabTransport(sab, port2, deps = {}) {
|
|
|
1070
1070
|
const wait2 = deps.wait ?? ((a, i, v, t) => rawWait(a, i, v, t));
|
|
1071
1071
|
const now = deps.now ?? (() => performance.now());
|
|
1072
1072
|
let seq = 0;
|
|
1073
|
+
let typical = 0;
|
|
1074
|
+
const ready = (id) => Atomics.load(header, SAB_I_STATE) === SAB_STATE_READY && Atomics.load(header, SAB_I_SEQ) === id;
|
|
1075
|
+
function spinUntil(id, until) {
|
|
1076
|
+
for (let stride = 0; stride < SPIN_STRIDES; stride++) {
|
|
1077
|
+
for (let i = 0; i < SPIN_STRIDE; i++) if (ready(id)) return true;
|
|
1078
|
+
if (now() >= until) return false;
|
|
1079
|
+
}
|
|
1080
|
+
return false;
|
|
1081
|
+
}
|
|
1082
|
+
function settled2(start2) {
|
|
1083
|
+
typical += (Math.min(now() - start2, SPIN_CAP_MS) - typical) / 8;
|
|
1084
|
+
}
|
|
1073
1085
|
function awaitReady(id, deadline, label) {
|
|
1086
|
+
const start2 = now();
|
|
1087
|
+
if (spinning && typical < SPIN_MS && spinUntil(id, start2 + SPIN_MS)) {
|
|
1088
|
+
settled2(start2);
|
|
1089
|
+
return;
|
|
1090
|
+
}
|
|
1074
1091
|
for (; ; ) {
|
|
1075
1092
|
const published = Atomics.load(header, SAB_I_PUB);
|
|
1076
|
-
if (
|
|
1093
|
+
if (ready(id)) {
|
|
1094
|
+
settled2(start2);
|
|
1077
1095
|
return;
|
|
1078
1096
|
}
|
|
1079
1097
|
const remaining = deadline - now();
|
|
@@ -1281,7 +1299,7 @@ function createSyncFsSabBridge(transport, opts = {}) {
|
|
|
1281
1299
|
statfs: (path = "/") => parseSyncFsUsage(json2({ op: "statfs", path }, path))
|
|
1282
1300
|
};
|
|
1283
1301
|
}
|
|
1284
|
-
var PATH_OPS, calls;
|
|
1302
|
+
var PATH_OPS, calls, SPIN_MS, SPIN_STRIDE, SPIN_STRIDES, SPIN_CORES, spinning, SPIN_CAP_MS;
|
|
1285
1303
|
var init_sync_sab_bridge = __esm({
|
|
1286
1304
|
"src/realm/sync-sab-bridge.ts"() {
|
|
1287
1305
|
"use strict";
|
|
@@ -1291,6 +1309,12 @@ var init_sync_sab_bridge = __esm({
|
|
|
1291
1309
|
init_sync_sab_wire();
|
|
1292
1310
|
PATH_OPS = new Set(SYNC_FS_OPS);
|
|
1293
1311
|
calls = 0;
|
|
1312
|
+
SPIN_MS = 0.06;
|
|
1313
|
+
SPIN_STRIDE = 128;
|
|
1314
|
+
SPIN_STRIDES = 256;
|
|
1315
|
+
SPIN_CORES = 4;
|
|
1316
|
+
spinning = (globalThis.navigator?.hardwareConcurrency ?? 0) >= SPIN_CORES;
|
|
1317
|
+
SPIN_CAP_MS = 1;
|
|
1294
1318
|
}
|
|
1295
1319
|
});
|
|
1296
1320
|
|
|
@@ -2491,7 +2515,7 @@ var KERNEL_VERSION, OS_RELEASE;
|
|
|
2491
2515
|
var init_version = __esm({
|
|
2492
2516
|
"src/version.ts"() {
|
|
2493
2517
|
"use strict";
|
|
2494
|
-
KERNEL_VERSION = true ? "1.
|
|
2518
|
+
KERNEL_VERSION = true ? "1.109.0" : "0.0.0-dev";
|
|
2495
2519
|
OS_RELEASE = "6.0.0-slicc";
|
|
2496
2520
|
}
|
|
2497
2521
|
});
|
|
@@ -15908,6 +15932,7 @@ function createContext(o) {
|
|
|
15908
15932
|
cwd: o.cwd,
|
|
15909
15933
|
...o.env.TERM !== void 0 ? { term: o.env.TERM } : {}
|
|
15910
15934
|
}),
|
|
15935
|
+
crontab: async (call2) => await kernel.json({ ...call2, op: "proc-crontab" }),
|
|
15911
15936
|
...children,
|
|
15912
15937
|
net: netOps(kernel, io),
|
|
15913
15938
|
websocket: websocketOp(kernel),
|