On Sat, Oct 10, 2020 at 10:44 PM Rodrigo Hernandez
<kwizatz.aeongames....@gmail.com> wrote:
>
> Hello,
>
> So, suppose I am wrapping a C++ class around a JS constructor, I've already 
> created and initialized the isolate, created and initialized a context, I 
> have the FunctionTemplate for the constructor and I have instantiated the 
> function and I can call it from Js as x() or new X(),
> all this is fine, the function template context is finished and the handle 
> lost.
>
> But then I want to create another wrapped object for a class that inherits 
> from the first one.
> Is there a way to retrieve the base class FunctionTemplate so in the child 
> class I can call child->Inherit(base)?
>
> Is there another way of doing this?
>
> Right now I am keeping a C++ unordered_map of isolate to persistent handle to 
> function templates, and that works, but is that the only option?
>
> Thanks!

It's not the only option but it's a pretty good solution. Less optimal
solutions:

- store them in the snapshot with SnapshotCreator::AddData() (but you
can only retrieve it once)
- scan the heap for them with Isolate::VisitHandlesWithClassIds().

No doubt there are more ways to stow them away somewhere.

-- 
-- 
v8-users mailing list
v8-users@googlegroups.com
http://groups.google.com/group/v8-users
--- 
You received this message because you are subscribed to the Google Groups 
"v8-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to v8-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/v8-users/CAHQurc8KoF_a6N9PQdH%2BmAoemE4Eg5PjjfePmWNYn_Df731SLA%40mail.gmail.com.

Reply via email to