From e73c7a0f1dbf1fa19f7fc515442fa5050a30774e Mon Sep 17 00:00:00 2001 From: Vladimir Morozov Date: Fri, 28 Jun 2024 14:50:10 -0700 Subject: [PATCH] address PR feedback --- src/js_native_api_v8.cc | 4 ---- src/js_native_api_v8.h | 3 +-- src/node_api.cc | 9 ++++----- 3 files changed, 5 insertions(+), 11 deletions(-) diff --git a/src/js_native_api_v8.cc b/src/js_native_api_v8.cc index 252c1a881ebbdc..76162605cc45f9 100644 --- a/src/js_native_api_v8.cc +++ b/src/js_native_api_v8.cc @@ -604,10 +604,6 @@ void Finalizer::ResetFinalizer() { finalize_hint_ = nullptr; } -void Finalizer::ResetData(void* data) { - finalize_data_ = data; -} - void Finalizer::CallFinalizer() { napi_finalize finalize_callback = finalize_callback_; void* finalize_data = finalize_data_; diff --git a/src/js_native_api_v8.h b/src/js_native_api_v8.h index 9a7e3201b226e6..ee3aa38ebf8bd4 100644 --- a/src/js_native_api_v8.h +++ b/src/js_native_api_v8.h @@ -8,7 +8,7 @@ inline napi_status napi_clear_last_error(node_api_nogc_env env); namespace v8impl { -// Base class to track references and finalizers in a double linked list. +// Base class to track references and finalizers in a doubly linked list. class RefTracker { public: using RefList = RefTracker; @@ -334,7 +334,6 @@ class Finalizer { void ResetEnv(); void ResetFinalizer(); - void ResetData(void* data); void CallFinalizer(); private: diff --git a/src/node_api.cc b/src/node_api.cc index 2a9c1670039ac3..be9c169cc5c51e 100644 --- a/src/node_api.cc +++ b/src/node_api.cc @@ -121,9 +121,9 @@ namespace { class BufferFinalizer : private Finalizer { public: static BufferFinalizer* New(napi_env env, - napi_finalize finalize_callback = nullptr, - void* finalize_data = nullptr, - void* finalize_hint = nullptr) { + napi_finalize finalize_callback, + void* finalize_data, + void* finalize_hint) { return new BufferFinalizer( env, finalize_callback, finalize_data, finalize_hint); } @@ -131,7 +131,6 @@ class BufferFinalizer : private Finalizer { static void FinalizeBufferCallback(char* data, void* hint) { std::unique_ptr finalizer{ static_cast(hint)}; - finalizer->ResetData(data); // It is safe to call into JavaScript at this point. finalizer->CallFinalizer(); } @@ -1053,7 +1052,7 @@ napi_create_external_buffer(napi_env env, // The finalizer object will delete itself after invoking the callback. v8impl::BufferFinalizer* finalizer = - v8impl::BufferFinalizer::New(env, finalize_cb, nullptr, finalize_hint); + v8impl::BufferFinalizer::New(env, finalize_cb, data, finalize_hint); v8::MaybeLocal maybe = node::Buffer::New(isolate,