Thank you very much, Alfred. This seems to be exactly what I asked for. :) One thing I still don't understand is the description of "object" parameter in WeakReferenceCallback, saying "the weak global object to be reclaimed by the garbage collector". Why "global"? What if the object was a property of some other object, and the property was then removed?
Best regards, Deadmorous On 21 фев, 19:32, Alfred Rossi <[email protected]> wrote: > I apologize, that was supposed to say "The garbage collector is NOT > guaranteed..." > > Best, > Alfred > > On Sun, 2010-02-21 at 11:31 -0500, Alfred Rossi wrote: > > You're looking for Persistent::MakeWeak. You can use MakeWeak to specify > > a callback to be invoked when the object is about to be garbage > > collected. > > > You should be careful about building in an alternate way to free your C > > ++ objects. The garbage collector is guaranteed to be run, ever, even > > after the context has been disposed. > > > See this for more details: > >http://stackoverflow.com/questions/173366/how-do-you-free-a-wrapped-c... > > > Best, > > Alfred > > > On Sun, 2010-02-21 at 08:24 -0800, deadmorous wrote: > > > Hello, > > > I'm trying to use V8 to expose functionality of my app to JS. > > > In my app, there are objects with properties and methods, organized as > > > a tree of properties; > > > object instances can be created and added to the tree. > > > I understand how to expose my properties using V8 interceptors, and > > > think that it's correct to expose my > > > methods as properties of prototypes. Further, I would like objects to > > > be creatable from JS code, > > > so I would expose my native constructors to JS. It happens that I have > > > to have a duality between my instances > > > and JS instances. In my app, I would put a handle to JS instance > > > corresponding to my instance; > > > and vice versa, I can put a pointer to my instance into corresponding > > > JS instance, by using > > > Object::SetInternalField(), and using a value of type External. > > > > Now to my question. What I really don't understand - how can I know > > > that a JS object is being destroyed? > > > I really need to know that, at least in order to destroy my instance > > > attached to the one being destroyed in JS. -- v8-users mailing list [email protected] http://groups.google.com/group/v8-users
