Parents: #163, #164 Depends on: #166, #172
Implement the shared private VM pending-exception and exception-cell foundation.
Acceptance:
- Export exact
JSC__JSGlobalObject__vm,JSC__VM__throwError,JSGlobalObject__hasException,JSGlobalObject__clearException, andJSGlobalObject__tryTakeExceptionsignatures. - Export exact
JSC__Exception__asJSValue,JSC__JSValue__isException,JSC__JSValue__toError_, andJSC__JSValue__isAnyErrorsignatures. - Model one pending exception per shared VM/context group, observable and clearable from every realm.
- Represent pending exceptions as distinct owned cells with stable identity while preserving arbitrary thrown values, including primitives.
- Preserve the first pending exception and reject mismatched VM/global/value ownership safely.
- Make
toError_return ErrorInstance values unchanged and unwrap Exception cells to their thrown values. - Cover exact signatures, sibling-realm visibility, cell identity, primitive/Error throws, take/clear lifecycle, and invalid inputs in the compile-link-runtime fixture.
- Keep termination-specific clearing and stack-trace extraction pending until their separate contracts are implemented.
- Update both inventories and README/API documentation without changing public/extension counts.