ReviewOS

zig-utils/zig-js

ABI: implement exact proxy internal-field projection

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

Parent: #134 Related: #140, #163, #164

Goal

Implement the shared pinned Bun__ProxyObject__getInternalField boundary for exact target/handler inspection.

Acceptance

  • Return the exact live proxy target for field 0 and handler for field 1 without invoking userland traps.
  • Return the pinned null state for revoked proxies and reject primitives, non-proxies, and unknown field values safely.
  • Preserve exact target/handler identity across same-VM sibling realms and independently valid VMs, without changing pending-exception state.
  • Add focused live/revoked/foreign/invalid coverage and compile-link-runtime fixture calls.
  • Refresh Home/Bun inventories with zero unclassified symbols.
  • Update README and compatibility docs, publish small implementation/docs commits on origin/main, and close only after evidence is live.
9 days ago

Implemented and published in two direct main commits:

  • 48254bc0 — trap-free live target/handler projection, revoked-null behavior, safe invalid-input handling, raw encoded identity preservation through canonical per-VM private object handles, focused coverage, fixture linkage, and refreshed inventories
  • 783e6e65 — README and compatibility evidence/count refresh

Verification:

  • focused proxy projection matrix: 3/3 passed, 0 leaked
  • Home fixture: 225/225 symbols linked and runtime matrix passed
  • Home inventory: 226/431 implemented, 205 pending
  • Bun core inventory: 220/421 implemented, 201 pending
  • public/private audit: 117 public, 19 extensions, 230 private/support exports
  • zero unclassified inventory entries

The benchmark artifact remains 36a617b3: this is an ABI identity/inspection slice and does not change measured execution performance.

Sign in to comment on this issue.