oh, I see. Yes, tried ClearWeak/SetWeak, and worked as expected, thanks a lot !!
What about the v8::Private::ForAPI stuff ? Is it recommended despite being experimental, or should I avoid it ? Thanks. El martes, 8 de mayo de 2018, 9:35:59 (UTC+2), Ben Noordhuis escribió: > > On Tue, May 8, 2018 at 1:19 AM, ibon <ibon.t...@gmail.com <javascript:>> > wrote: > > For my embedding needs, sometimes i need to keep a native wrapped object > > alive. > > Normally, I set a Persistent ref where i install a finalisation callback > > with custom wrapper class is. This gives me fine control of all native > > wrapped objects at Isolate level, and the GC kicks in as expected. > > I have found that to keep an object alive, I can set a Private property > on a > > parent object. E.g a TouchEvent, keeps a private ref to a TouchList. > Private > > properties is an experimental feature, so not sure if this is > discouraged > > though. > > This works for this specific case, where a TouchEvent refers just one > > TouchList. > > > > While implementing other types of objects, like an Image, I need to keep > the > > image javascript wrapper alive until async loading finishes so that I > get > > the chance to notify registered event observers. For this purpose, I use > > MarkActive, which keeps the object alive, and as expected, it also keeps > > live the whole object tree where it is contained. > > > > Since there's no equivalent to `unmark active`, I guess MarkActive'd > objects > > survive just one GC cycle ? If necessary, should I call MarkActive again > if > > I still need to keep my object alive ? > > Is this the way to go for keeping objects alive ? > > > > Thanks. > > > > - ibon > > Yes, the effect of MarkActive() only persists until the next garbage > collection. > > I wonder though, why don't you call ClearWeak()? That keeps the > object alive until MakeWeak() is called again. > -- -- 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. For more options, visit https://groups.google.com/d/optout.