@@ -355,8 +355,8 @@ inline napi_status Unwrap(napi_env env,
355355 auto val = obj->GetPrivate (context, NAPI_PRIVATE_KEY (context, wrapper))
356356 .ToLocalChecked ();
357357 RETURN_STATUS_IF_FALSE (env, val->IsExternal (), napi_invalid_arg);
358- Reference* reference =
359- static_cast <v8impl::Reference*>( val.As <v8::External>()->Value ());
358+ Reference* reference = static_cast <v8impl::Reference*>(
359+ val.As <v8::External>()->Value (v8:: kExternalPointerTypeTagDefault ));
360360
361361 if (result) {
362362 *result = reference->Data ();
@@ -395,14 +395,16 @@ class CallbackBundle {
395395 bundle->cb_data = data;
396396 bundle->env = env;
397397
398- v8::Local<v8::Value> cbdata = v8::External::New (env->isolate , bundle);
398+ v8::Local<v8::Value> cbdata = v8::External::New (
399+ env->isolate , bundle, v8::kExternalPointerTypeTagDefault );
399400 ReferenceWithFinalizer::New (
400401 env, cbdata, 0 , ReferenceOwnership::kRuntime , Delete, bundle, nullptr );
401402 return cbdata;
402403 }
403404
404405 static CallbackBundle* FromCallbackData (v8::Local<v8::Value> data) {
405- return reinterpret_cast <CallbackBundle*>(data.As <v8::External>()->Value ());
406+ return reinterpret_cast <CallbackBundle*>(
407+ data.As <v8::External>()->Value (v8::kExternalPointerTypeTagDefault ));
406408 }
407409
408410 public:
@@ -573,9 +575,11 @@ inline napi_status Wrap(napi_env env,
573575 env, obj, 0 , v8impl::ReferenceOwnership::kRuntime , native_object);
574576 }
575577
576- CHECK (obj->SetPrivate (context,
577- NAPI_PRIVATE_KEY (context, wrapper),
578- v8::External::New (env->isolate , reference))
578+ CHECK (obj->SetPrivate (
579+ context,
580+ NAPI_PRIVATE_KEY (context, wrapper),
581+ v8::External::New (
582+ env->isolate , reference, v8::kExternalPointerTypeTagDefault ))
579583 .FromJust ());
580584
581585 return GET_RETURN_STATUS (env);
@@ -842,7 +846,8 @@ class ExternalWrapper {
842846 public:
843847 static v8::Local<v8::External> New (napi_env env, void * data) {
844848 ExternalWrapper* wrapper = new ExternalWrapper (data);
845- v8::Local<v8::External> external = v8::External::New (env->isolate , wrapper);
849+ v8::Local<v8::External> external = v8::External::New (
850+ env->isolate , wrapper, v8::kExternalPointerTypeTagDefault );
846851 wrapper->persistent_ .Reset (env->isolate , external);
847852 wrapper->persistent_ .SetWeak (
848853 wrapper, WeakCallback, v8::WeakCallbackType::kParameter );
@@ -851,7 +856,8 @@ class ExternalWrapper {
851856 }
852857
853858 static ExternalWrapper* From (v8::Local<v8::External> external) {
854- return static_cast <ExternalWrapper*>(external->Value ());
859+ return static_cast <ExternalWrapper*>(
860+ external->Value (v8::kExternalPointerTypeTagDefault ));
855861 }
856862
857863 void * Data () { return data_; }
0 commit comments