ReviewOS

zig-utils/zig-js

ABI: implement exact VM entry-state query

#221
Closed chris opened this 9 days ago ·
9 days ago

Parent: #134 Profile umbrella: #140 Home inventory: #163 Bun inventory: #164 Builds on: #220

Implement the pinned shared private-JSC export:

  • JSC__VM__isEntered

Acceptance criteria:

  • Return false for a valid idle VM and true exactly while any sibling realm in that VM has an active interpreter entry.
  • Track nested/reentrant entries without clearing the VM-wide state until the final active entry leaves.
  • Keep separate VMs isolated and reject null/invalid VM handles safely.
  • Make the query read-only and preserve pending exception and termination state.
  • Focused tests cover idle, active, nested, sibling-realm, foreign-VM, and exception-neutral behavior.
  • Extend the Home consumer fixture and publish exact Home/Bun inventory, ABI documentation, README, and parent counts.
  • Batch the focused test, consumer fixture, both private audits, and C-API classification before publishing.
  • Leave benchmark scores unchanged unless a benchmark path is rerun.

Completed evidence

Implemented on main in 1f1d652a; inventories, ABI documentation, and README counts were published in 4d8fdd5e. The query now reflects the VM-wide live interpreter-entry set across sibling realms, retains true through nested/reentrant entries until the final exit, isolates separate VMs, returns false for null, and leaves exception/termination state untouched.

The intentionally batched verification passed 15/15: focused tests passed 3/3 with zero leaks, the Home fixture linked and exercised 201/201 symbols and observed the entered state inside a native microtask callback, Home is 202/431 (229 pending), Bun core is 196/421 (225 pending), and the public audit reports 117 public, 19 extensions, and 206 private/support exports. Benchmark scores remain unchanged because no benchmark path was affected or rerun.

9 days ago

Completed on main in 1f1d652a, with inventories and documentation in 4d8fdd5e. All acceptance criteria are checked; the recorded batch passed 15/15 with zero leaks, fixture 201/201, Home 202/431, Bun 196/421, and 206 private/support exports.

Sign in to comment on this issue.