-
Notifications
You must be signed in to change notification settings - Fork 29.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
src: allocate Buffer memory using ArrayBuffer allocator #26207
Commits on Feb 21, 2019
-
Original commit message: [api] Add `Isolate::GetArrayBufferAllocator()` This allows non-monolithic embedders to always allocate memory for ArrayBuffer instances using the right allocation method. This is based on a patch that Electron is currently using. Refs: https://github.com/electron/electron/blob/1898f9162073910c05958295c612deec6121a892/patches/common/v8/array_buffer.patch Change-Id: I39a614343118a0594aab48699a99cc2aad5b7ba9 Reviewed-on: https://chromium-review.googlesource.com/c/1462003 Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#59697} Refs: v8/v8@d3308d0
Configuration menu - View commit details
-
Copy full SHA for 07cda17 - Browse repository at this point
Copy the full SHA 07cda17View commit details -
src: make IsolateData store ArrayBufferAllocator
This enables us to identify whether we are using an allocator that we know more about than what the generic `ArrayBuffer::Allocator` API provides, in particular whether it is `malloc()`-compatible.
Configuration menu - View commit details
-
Copy full SHA for 1b6bbca - Browse repository at this point
Copy the full SHA 1b6bbcaView commit details -
worker: copy transferList ArrayBuffers on unknown allocator
If the `ArrayBuffer::Allocator` used to create `ArrayBuffer`s in the current `Isolate` is not a Node.js `ArrayBufferAllocator`, we cannot know that it is `malloc()`-based, an in particular it might not be compatible with the `ArrayBuffer::Allocator` on the receiving end of the connection.
Configuration menu - View commit details
-
Copy full SHA for 814c8a9 - Browse repository at this point
Copy the full SHA 814c8a9View commit details -
src: add debugging array allocator
Add a subclass of `ArrayBufferAllocator` that performs additional debug checking, which in particular verifies that: - All `ArrayBuffer` backing stores have been allocated with this allocator, or have been explicitly marked as coming from a compatible source. - All memory allocated by the allocator has been freed once it is destroyed.
Configuration menu - View commit details
-
Copy full SHA for b2f9bb1 - Browse repository at this point
Copy the full SHA b2f9bb1View commit details -
src: add allocation utils to env
Add a RAII utility for managing blocks of memory that have been allocated with the `ArrayBuffer::Allocator` for a given `Isolate`.
Configuration menu - View commit details
-
Copy full SHA for 41e81b1 - Browse repository at this point
Copy the full SHA 41e81b1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1e17828 - Browse repository at this point
Copy the full SHA 1e17828View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5854771 - Browse repository at this point
Copy the full SHA 5854771View commit details -
src: allocate Buffer memory using ArrayBuffer allocator
Always use the right allocator for memory that is turned into an `ArrayBuffer` at a later point. This enables embedders to use their own `ArrayBuffer::Allocator`s, and is inspired by Electron’s electron/node@f61bae3440e. It should render their downstream patch unnecessary. Refs: electron/node@f61bae3
Configuration menu - View commit details
-
Copy full SHA for a55092f - Browse repository at this point
Copy the full SHA a55092fView commit details