mirror of
https://github.com/zebrajr/node.git
synced 2026-01-15 12:15:26 +00:00
node-api: create reference only when needed
Optimize napi_create_external() to create the reference for calling finalizer only if user actually provides a finalizer callback. PR-URL: https://github.com/nodejs/node/pull/44827 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Daeyeon Jeong <daeyeon.dev@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
This commit is contained in:
@@ -2387,10 +2387,12 @@ napi_status NAPI_CDECL napi_create_external(napi_env env,
|
||||
|
||||
v8::Local<v8::Value> external_value = v8::External::New(isolate, data);
|
||||
|
||||
// The Reference object will delete itself after invoking the finalizer
|
||||
// callback.
|
||||
v8impl::Reference::New(
|
||||
env, external_value, 0, true, finalize_cb, data, finalize_hint);
|
||||
if (finalize_cb) {
|
||||
// The Reference object will delete itself after invoking the finalizer
|
||||
// callback.
|
||||
v8impl::Reference::New(
|
||||
env, external_value, 0, true, finalize_cb, data, finalize_hint);
|
||||
}
|
||||
|
||||
*result = v8impl::JsValueFromV8LocalValue(external_value);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user