On Mon, May 1, 2017 at 5:20 PM, Brendan Bates <[email protected]> wrote:
> I have a question in response to this then.  How would you handle a dynamic
> multi-indexed field mapped to a C++ object?  Currently we have a root
> ObjectTemplate with an
> indexed property handler that knows it is the first of three indices.  The
> handler when requested will then generate a new ObjectTemplate with an
> indexed handler that knows it is the
> second of three indices, etc.  So yes, every call to "var test =
> data[1][2][3]" will generate three object templates as it goes up the chain.

I'd create a single ObjectTemplate with one or more internal fields
for stashing data, cache the template in a Persistent<ObjectTemplate>
and instantiate it three times.  The indexed property handlers then
look at the internal fields to figure out what they should
access/return.

> As an aside to all of this - is this considered a bug?  I feel like if not,
> the repercussions of this should be documented somewhere such as the
> NewInstance call in the v8 API.

I'm not a V8 maintainer so I can't answer this but to me it seems like
reasonable behavior.  The idea of a template is to share behavior
across multiple instances.

A CL updating include/v8.h to explain the memory ramifications will
almost certainly be accepted.

-- 
-- 
v8-users mailing list
[email protected]
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 [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to