You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Parent: #134
Profile umbrella: #140
Home inventory: #163
Bun inventory: #164
Builds on: #219
Implement the pinned shared private-JSC export:
JSC__jsTypeStringForValue
Acceptance criteria:
Return a valid VM-owned private JSString cell for every accepted EncodedJSValue.
Match JavaScriptCore typeof strings exactly for undefined, null, booleans, numbers, strings, symbols, BigInts, ordinary objects, and callable objects.
Report undefined for [[IsHTMLDDA]] objects and object for null and non-callable objects.
Reject foreign-VM and invalid cells without dereferencing them or modifying pending exception state.
Preserve an already-pending exception and avoid invoking user code.
Focused tests cover every classification, returned JSString contents/length/encoding, VM ownership, invalid/foreign cells, and both Home/Bun profile audits.
Extend the Home consumer fixture and publish exact inventory, ABI documentation, README, and parent-tracker counts.
Leave benchmark scores unchanged unless a benchmark path is actually rerun.
Completed evidence
Implemented on main in a985fad9; the pinned inventories, ABI documentation, and README scorecard were published in cb4f50b4. The export now returns one of eight exact VM-owned private JSString cells—undefined, boolean, number, string, symbol, bigint, function, or object—with stable identity across sibling realms and isolation across VMs. Null, callable [[IsHTMLDDA]], invalid encodings, foreign cells, and already-pending exceptions follow the pinned JavaScriptCore behavior without invoking user code.
The intentionally batched verification passed 15/15: focused tests passed 3/3 with zero leaks, the Home fixture linked and exercised 200/200 symbols, Home is 201/431 (230 pending), Bun core is 195/421 (226 pending), and the public audit reports 117 public, 19 extensions, and 205 private/support exports. Benchmark scores remain unchanged because no benchmark path was affected or rerun.
Parent: #134
Profile umbrella: #140
Home inventory: #163
Bun inventory: #164
Builds on: #219
Implement the pinned shared private-JSC export:
JSC__jsTypeStringForValueAcceptance criteria:
typeofstrings exactly for undefined, null, booleans, numbers, strings, symbols, BigInts, ordinary objects, and callable objects.undefinedfor[[IsHTMLDDA]]objects andobjectfor null and non-callable objects.Completed evidence
Implemented on
mainina985fad9; the pinned inventories, ABI documentation, and README scorecard were published incb4f50b4. The export now returns one of eight exact VM-owned private JSString cells—undefined,boolean,number,string,symbol,bigint,function, orobject—with stable identity across sibling realms and isolation across VMs. Null, callable[[IsHTMLDDA]], invalid encodings, foreign cells, and already-pending exceptions follow the pinned JavaScriptCore behavior without invoking user code.The intentionally batched verification passed 15/15: focused tests passed 3/3 with zero leaks, the Home fixture linked and exercised 200/200 symbols, Home is 201/431 (230 pending), Bun core is 195/421 (226 pending), and the public audit reports 117 public, 19 extensions, and 205 private/support exports. Benchmark scores remain unchanged because no benchmark path was affected or rerun.