diff --git a/src/node_messaging.cc b/src/node_messaging.cc index 8fe7defa5bc02f..82313cc754bcc8 100644 --- a/src/node_messaging.cc +++ b/src/node_messaging.cc @@ -27,6 +27,7 @@ using v8::Isolate; using v8::Just; using v8::JustVoid; using v8::Local; +using v8::LocalVector; using v8::Maybe; using v8::MaybeLocal; using v8::Nothing; @@ -74,7 +75,7 @@ class DeserializerDelegate : public ValueDeserializer::Delegate { Message* m, Environment* env, const std::vector>& host_objects, - const std::vector>& shared_array_buffers, + const LocalVector& shared_array_buffers, const std::vector& wasm_modules, const std::optional& shared_value_conveyor) : env_(env), @@ -129,7 +130,7 @@ class DeserializerDelegate : public ValueDeserializer::Delegate { private: Environment* env_; const std::vector>& host_objects_; - const std::vector>& shared_array_buffers_; + const LocalVector& shared_array_buffers_; const std::vector& wasm_modules_; const std::optional& shared_value_conveyor_; }; @@ -188,7 +189,7 @@ MaybeLocal Message::Deserialize(Environment* env, } transferables_.clear(); - std::vector> shared_array_buffers; + LocalVector shared_array_buffers(env->isolate()); // Attach all transferred SharedArrayBuffers to their new Isolate. for (uint32_t i = 0; i < shared_array_buffers_.size(); ++i) { Local sab = @@ -477,7 +478,7 @@ Maybe Message::Serialize(Environment* env, ValueSerializer serializer(env->isolate(), &delegate); delegate.serializer = &serializer; - std::vector> array_buffers; + LocalVector array_buffers(env->isolate()); for (uint32_t i = 0; i < transfer_list_v.length(); ++i) { Local entry_val = transfer_list_v[i]; if (!entry_val->IsObject()) { @@ -999,7 +1000,7 @@ static Maybe ReadIterable(Environment* env, return Nothing(); if (!next->IsFunction()) return Just(false); - std::vector> entries; + LocalVector entries(isolate); while (env->can_call_into_js()) { Local result; if (!next.As()->Call(context, iterator, 0, nullptr)