I just upgraded my V8 version to 3.20.16 (from some very old version). I can no longer use
Handle<Object> obj /* = ... */;
Persistent<Object> p = Persistent<Object>::New( obj );
to create a persistent handle to an object. The compiler suggests using static T* v8::Persistent<T>::New(v8::Isolate*, T*) [with T = v8::Object]
instead. However, if I change my code to
Handle<Object> obj /* = ... */;
Persistent<Object> p = Persistent<Object>::New( Isolate::GetCurrent(), *obj );
the compiler complains that this function is private. How do I create a Persistent<Object>
handle from a normal Handle<Object>
now?
I've googled and the only thing I found was that the documentations seem to contradict each other:
Persistence<T>::New
is still the way to gothanks for any help in advance
There is a constructor that accepts normal Handle<T>
you don't need to dereference it.
Persistent<Object>::New(Isolate::GetCurrent(), obj)
should work.