Parent: #134 Related: #140, #163, #164
Implement the shared JavaScriptCore-compatible private ArrayBuffer allocation, copying, and default-allocator ownership boundary used by the pinned Home and Bun consumers. These four exports share backing-store lifetime and failure semantics and should land as one coherent slice.
Acceptance:
- Export
Bun__createArrayBufferForCopywith a true fixed-length ArrayBuffer, byte-for-byte copy semantics, empty-buffer behavior, and pending OOM publication. - Export
Bun__allocUint8ArrayForCopywith an uninitialized Uint8Array backing and publish the writable pointer only after successful construction. - Export
Bun__allocArrayBufferForCopywith the pinned Buffer-subclassed Uint8Array result (despite its historical name), uninitialized backing, and success-only pointer publication. - Export
JSArrayBuffer__fromDefaultAllocatoras a no-copy ArrayBuffer adoption boundary that releases non-empty mimalloc/default-allocator storage exactly once and does not adopt the zero-length sentinel. - Preserve VM affinity, invalid-context safety, pointer identity for adopted storage, and empty/oversized failure behavior.
- Add focused engine tests plus compiled Home/Bun consumer coverage in Debug and ReleaseSafe.
- Refresh both generated private-ABI inventories and update the parent issues with exact evidence.