I've got a few questions regarding the representation of hidden classes: 1. Which v8 data structure is the hidden class that the v8 literature talks about? 2. Are hidden classes supposed to be immutable? Or are they mutable like any JS Objects? 3. If immutable, is it possible to share the hidden classes across execution contexts? 4. If mutable and not shareable across execution contexts, are there any data structures that make up the object that is static meta-data that can be shared?
The reason for my asking is because I'm wondering if it is possible to use object cloning to speed up the process of populating a new context with objects. I'm looking for a mechanism (either an existing one or to write one myself) that is similar to snapshots. The difference is that the snapshot mechanism seems to serialize the entire heap into a data stream that is later reloaded in entirety into a new launch of v8. What I want to do instead is to only clone one set of objects (as defined by a reference execution context) into a new context. Serializing/deserializing this set of objects can be done as an advanced exercise later. I'm also hoping that the objects in the new context can reuse all the hidden classes from the reference context. This is why I'm asking if the hidden classes (which I presume are just collections of metadata) are immutable. Please advise. Thanks. --~--~---------~--~----~------------~-------~--~----~ v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev -~----------~----~----~----~------~----~------~--~---
