Deterministic register interpreter for verified production BamTS bytecode.
Persisted constants never carry runtime identity. This interpreter therefore
owns a slot heap for strings, bigints, objects, arrays, closures, private
names, regular expressions, and iterators, and exposes only
bamts_native::Value words at host boundaries. Bytecode heap slots use
segment 1; other segments remain host-owned.
The 36-op dynamic-computation ISA is executed locally: register-keyed
property access (with data properties, accessor descriptors, and private-name
identity), prototype chains, closures with explicit capture environments,
arguments arrays, this/arguments/new.target, globals, arrays with
spread, object spread, iterators (sync/async/keys) with the two-write
IteratorNext, and generator/async Suspend-resume. The [Host] trait owns
only external module and builtin operations (foreign calls/constructs,
foreign property access, import, export, and the suspension driver);
internal objects, arrays, functions, closures, prototypes, and private names
never leave the interpreter.