Log inGet started
World

ZeroJS

perf+fix: O(n) array seeding (arraySeed), harden bridge host-call settlement, budget-park slices land one per pump frame - runtime: rt.arraySeed seeds a fresh array O(1)/element; newArray uses it (rawSet key scan made array construction O(n^2)) - bridge: toJs marshals arrays via arraySeed; a failed deliver() now rejects the promise and balances endHostCall instead of orphaning it - event_loop: runDueTimers only runs timers armed before the pass; a zero-delay re-arm (budget-parked body resume) runs next pass, so sliced async bodies spread across frames instead of coalescing into one unbounded pass - interpreter: realm park stats (parkCount, lastParkStack) - tests: pass-snapshot rule, interval catch-up, sliced-body completion under runAsync

81a53acb2adbed46661de3dd0ccbb43d467604ade60d71c75261b9e8c2682154
Author
zero-proxy @ DESKTOP-DB3UJOJ
Date
Jul 17, 2026
Branch
main
Parent
2c883d720e

11 files changed

  • Changedzerojs.packageFolderBeforeAfter
  • Changedzerojs.package/bridge.moduleFolderBeforeAfter
  • Changedzerojs.package/bridge.module/init.luau9.4 KB → 10.8 KBBeforeAfter
  • Changedzerojs.package/event_loop.moduleFolderBeforeAfter
  • Changedzerojs.package/event_loop.module/init.luau8.3 KB → 8.7 KBBeforeAfter
  • Changedzerojs.package/interpreter.moduleFolderBeforeAfter
  • Changedzerojs.package/interpreter.module/init.luau93.5 KB → 94.1 KBBeforeAfter
  • Changedzerojs.package/runtime.moduleFolderBeforeAfter
  • Changedzerojs.package/runtime.module/init.luau27.6 KB → 28.2 KBBeforeAfter
  • Changedzerojs.package/tests/zerojs_async.testSuiteFolderBeforeAfter
  • Changedzerojs.package/tests/zerojs_async.testSuite/init.luau64.4 KB → 67.1 KBBeforeAfter