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.