Download Game! Currently 72 players and visitors. Last logged in:IberiamsspGunkJosimDeal

Blitzer's Blog >> 72245

Back to blogs index
Posted: 10 Sep 2026 11:11 [ permalink ]
Specific issues to fix during the split
Duplicate array, record, get, and set-idx blocks in compile.

Unreachable fallback operators after mathOps and logicalOps already handle
them.

def compiling body without options, so strict mode is lost inside functions.

REGISTER_ISR exists in Opcodes but is not handled in the VM. Either implement
it or remove it.

StateBuffer only stores 32-bit integers. Final arrays or objects cannot be
returned through Atomics.store. Use worker.postMessage for the final result or
add a serialized data buffer.

EXIT_SCOPE should guard against frame.env.parent === null to avoid accidental
null assignment.

TRY/THROW restores frame.env from recovery, but if the throw crosses function
boundaries, verify that the restored environment matches the frame at
callStack.length - 1. It likely does because you truncate callStack to
recovery.callDepth, but add a test.

Suggested package.json scripts
json
{
  "scripts": {
    "start": "node src/runtime/main.js",
    "test": "node --test test/"
  }
}
This structure gives you a clean separation between core primitives, compiler,
VM, analyzer, and runtime orchestration. It also makes it much easier to ask
an AI to modify one module without risking unintended changes elsewhere.