Parent
Scope
Implement the seven shared pinned job/cache imports:
JSC__JSGlobalObject__deleteModuleRegistryEntry
JSC__JSGlobalObject__drainMicrotasks
JSC__JSGlobalObject__handleRejectedPromises
JSC__JSGlobalObject__queueMicrotaskCallback
JSC__JSGlobalObject__queueMicrotaskJob
JSC__VM__deleteAllCode
JSC__VM__drainMicrotasks
Acceptance criteria
- Job queues remain selected-realm but VM draining observes all required shared work in pinned order, with reentrant jobs drained to quiescence and first exceptions preserved.
- Native callbacks copy/retain their context safely through execution and run exactly once. Encoded job values enforce same-VM ownership and exact argument identity.
- Module registry deletion uses exact ZigString decoding, affects only the selected realm entry, and is synchronized with module graph tracing.
- Rejected-promise handling emits each unhandled event once and respects later handled transitions.
deleteAllCode drains jobs, clears module/source caches, safely invalidates every native-tier entry before executable mappings are released, and reports abandoned graphs without leaving stale pointers.
- Sibling realms, foreign VM/global pairs, null/invalid inputs, callback throws, reentrancy, already-empty queues, module reload, and post-invalidation interpreter fallback are covered.
- Inventories, README/API evidence, and parent trackers are regenerated from checked-in results.
Parent
Scope
Implement the seven shared pinned job/cache imports:
JSC__JSGlobalObject__deleteModuleRegistryEntryJSC__JSGlobalObject__drainMicrotasksJSC__JSGlobalObject__handleRejectedPromisesJSC__JSGlobalObject__queueMicrotaskCallbackJSC__JSGlobalObject__queueMicrotaskJobJSC__VM__deleteAllCodeJSC__VM__drainMicrotasksAcceptance criteria
deleteAllCodedrains jobs, clears module/source caches, safely invalidates every native-tier entry before executable mappings are released, and reports abandoned graphs without leaving stale pointers.