Skip to content

ABI: implement exact VM entry-state query #221

Closed

Description

@chrisbbreuer

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.

Activity

  1. chrisbbreuer commented on Jul 17, 2026

    @chrisbbreuer
    MemberAuthor

    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 up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions