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, and JSGlobalObject__tryTakeException signatures.
Export exact JSC__Exception__asJSValue, JSC__JSValue__isException, JSC__JSValue__toError_, and JSC__JSValue__isAnyError signatures.
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.
Parents: #163, #164
Depends on: #166, #172
Implement the shared private VM pending-exception and exception-cell foundation.
Acceptance:
JSC__JSGlobalObject__vm,JSC__VM__throwError,JSGlobalObject__hasException,JSGlobalObject__clearException, andJSGlobalObject__tryTakeExceptionsignatures.JSC__Exception__asJSValue,JSC__JSValue__isException,JSC__JSValue__toError_, andJSC__JSValue__isAnyErrorsignatures.toError_return ErrorInstance values unchanged and unwrap Exception cells to their thrown values.