summaryrefslogtreecommitdiff
path: root/src/api/environment.cc
diff options
context:
space:
mode:
authorAnna Henningsen <anna@addaleax.net>2019-10-22 22:03:53 +0200
committerMichaƫl Zasso <targos@protonmail.com>2019-11-08 15:53:36 +0100
commit2bdeb88c27b4d8de3a8f6b7a438cf0bcb88fa927 (patch)
treec86c4faa4410216460c25053ab22061ee3f9897f /src/api/environment.cc
parent2707efd27b5ce5f9b9a6873438769394ef1c6431 (diff)
downloadandroid-node-v8-2bdeb88c27b4d8de3a8f6b7a438cf0bcb88fa927.tar.gz
android-node-v8-2bdeb88c27b4d8de3a8f6b7a438cf0bcb88fa927.tar.bz2
android-node-v8-2bdeb88c27b4d8de3a8f6b7a438cf0bcb88fa927.zip
src: remove custom tracking for SharedArrayBuffers
Remove custom tracking for `SharedArrayBuffer`s and their allocators and instead let V8 do the tracking of both. This is required starting in V8 7.9, because lifetime management for `ArrayBuffer::Allocator`s differs from what was performed previously (i.e. it is no longer easily possible for one Isolate to release an `ArrayBuffer` and another to accept it into its own allocator), and the alternative would have been adapting the `SharedArrayBuffer` tracking logic to also apply to regular `ArrayBuffer` instances. Refs: https://github.com/nodejs/node/pull/30044 PR-URL: https://github.com/nodejs/node/pull/30020 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Diffstat (limited to 'src/api/environment.cc')
-rw-r--r--src/api/environment.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/api/environment.cc b/src/api/environment.cc
index 4cb2da4b86..3a7e06d8d0 100644
--- a/src/api/environment.cc
+++ b/src/api/environment.cc
@@ -279,6 +279,14 @@ Isolate* NewIsolate(ArrayBufferAllocator* allocator,
return NewIsolate(&params, event_loop, platform);
}
+Isolate* NewIsolate(std::shared_ptr<ArrayBufferAllocator> allocator,
+ uv_loop_t* event_loop,
+ MultiIsolatePlatform* platform) {
+ Isolate::CreateParams params;
+ if (allocator) params.array_buffer_allocator_shared = allocator;
+ return NewIsolate(&params, event_loop, platform);
+}
+
IsolateData* CreateIsolateData(Isolate* isolate,
uv_loop_t* loop,
MultiIsolatePlatform* platform,