diff options
author | Anna Henningsen <anna@addaleax.net> | 2018-05-13 19:39:32 +0200 |
---|---|---|
committer | Anna Henningsen <anna@addaleax.net> | 2018-06-06 19:43:46 +0200 |
commit | b0404047c1e4f7652aaf6ecf911d5850d5acf570 (patch) | |
tree | f8e09cfda61b24d4c548e6d9ab560bfaa5d3a03a /src/env.h | |
parent | 749a13b76c351d515ed489844ece575b8918d2ed (diff) | |
download | android-node-v8-b0404047c1e4f7652aaf6ecf911d5850d5acf570.tar.gz android-node-v8-b0404047c1e4f7652aaf6ecf911d5850d5acf570.tar.bz2 android-node-v8-b0404047c1e4f7652aaf6ecf911d5850d5acf570.zip |
worker: add `SharedArrayBuffer` sharing
Logic is added to the `MessagePort` mechanism that
attaches hidden objects to those instances when they are transferred
that track their lifetime and maintain a reference count, to make
sure that memory is freed at the appropriate times.
Thanks to Stephen Belanger for reviewing this change in its original PR.
Refs: https://github.com/ayojs/ayo/pull/106
PR-URL: https://github.com/nodejs/node/pull/20876
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Shingo Inoue <leko.noor@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
Reviewed-By: John-David Dalton <john.david.dalton@gmail.com>
Reviewed-By: Gus Caplan <me@gus.host>
Diffstat (limited to 'src/env.h')
-rw-r--r-- | src/env.h | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -106,6 +106,7 @@ struct PackageConfig { V(decorated_private_symbol, "node:decorated") \ V(napi_env, "node:napi:env") \ V(napi_wrapper, "node:napi:wrapper") \ + V(sab_lifetimepartner_symbol, "node:sharedArrayBufferLifetimePartner") \ // Symbols are per-isolate primitives but Environment proxies them // for the sake of convenience. @@ -338,6 +339,7 @@ struct PackageConfig { V(promise_wrap_template, v8::ObjectTemplate) \ V(push_values_to_array_function, v8::Function) \ V(randombytes_constructor_template, v8::ObjectTemplate) \ + V(sab_lifetimepartner_constructor_template, v8::FunctionTemplate) \ V(script_context_constructor_template, v8::FunctionTemplate) \ V(script_data_constructor_function, v8::Function) \ V(secure_context_constructor_template, v8::FunctionTemplate) \ |