[napi_v8] Defer napi_finalize callbacks outside V8 GC pause Node-API napi_finalize callbacks receive a napi_env and are permitted to allocate JavaScript objects and call into the engine, which V8 forbids during its synchronous weak handle callbacks. Match Node.js by queuing collected references in WeakCallback, scheduling a batch drain onto globalThis.setImmediate in PostGarbageCollectionCallback, and invoking the finalizers from the event loop. Bug: 555264246 Change-Id: I83496ceb96a82f0fe581d682e71d99fa56647380 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/341795 Reviewed-by: James Price <jrprice@google.com> Commit-Queue: Steven Perron <stevenperron@google.com>
Dawn is an open-source and cross-platform implementation of the WebGPU standard. More precisely it implements webgpu.h that is a one-to-one mapping with the WebGPU IDL. Dawn is meant to be integrated as part of a larger system and is the underlying implementation of WebGPU in Chromium.
Dawn provides several WebGPU building blocks:
webgpu.h version that Dawn implements.webgpu.h.Helpful links:
Developer documentation:
User documentation: (TODO, figure out what overlaps with the webgpu.h docs)
BSD 3-Clause License, please see LICENSE.
This is not an officially supported Google product.