Thanks Alexandre, that was very helpful indeed.

On Apr 11, 3:29 am, Alexandre Rames <[email protected]> wrote:
> Hello,
>
> Compile your shell and use the "--help" option. It will list all the options
> available.
> Note that more options are available in debug mode.
>
> Regards,
>
> Alexandre
>
> On Sat, Apr 9, 2011 at 3:29 AM, Charles Lowell 
> <[email protected]>wrote:
>
>
>
>
>
>
>
> > Mads,
>
> > That did help indeed. After invoking the gc() function, the callback
> > was invoked as expected.
>
> > Is there somewhere a comprehensive list of flags accepted by the VM?
> > I've look around and find lots of them sprinkled about in test cases,
> > wiki pages, and other documents, but nowhere a single list. Does such
> > a beast exist?
>
> > cheers,
> > Charles
>
> > On Apr 8, 2:28 pm, Mads Sig Ager <[email protected]> wrote:
> > > Repeatedly calling IdleNotification in this way is not guaranteed to
> > > force a garbage collection. If little has happened it will not. In
> > > order to experiment with this you could use SetFlagsFromSting and pass
> > > in --expose-gc. That will install a gc function in the global object
> > > so you can force a gc by executing the js code "gc()".
>
> > > Hope this helps.
>
> > > -- Mads
>
> > > On Fri, Apr 8, 2011 at 9:20 PM, Charles Lowell <[email protected]>
> > wrote:
> > > > Anton,
>
> > > > I updated the snippet to try replicating your suggestion, but was
> > > > still unable to get the WeakReferenceCallback to be invoked.
>
> > > >https://gist.github.com/908831
>
> > > > I would have expected the callback to have been invoked when GC is
> > > > forced the first time after making the object handle weak. Is the
> > > > Context is holding a strong reference to the object?
>
> > > > cheers,
> > > > Charles
>
> > > > On Apr 8, 5:13 am, Anton Muhin <[email protected]> wrote:
> > > >> Charles,
>
> > > >> Contexts have complicated lifetime.  If you just curious how weak
> > > >> handles work, you'd better play with simpler objects.
>
> > > >> Handle goes near death state when it found out it references weakly
> > > >> reachable object.  You're callback is never invoked as v8 retains the
> > > >> context (it's a current context) and hence strongly reachable from
> > > >> inside v8.  Value is base type, so everything is an instance of Value.
>
> > > >> Please note that you have a bug in your code: your weak callback must
> > > >> either dispose the handle passed or revive it.
>
> > > >> And, just in case, most of objects are created and returned back in
> > > >> Local handles.  Those handles live as long as handle scope to which
> > > >> they belong and retain the object.  Thus the code:
>
> > > >> HandleScope hs;
> > > >> Persistent p = Persistent::New(Object::New());
> > > >> p.MakeWeak(...)
> > > >> // Force GC
>
> > > >> will never trigger weak callback as l is alive and it retains the
> > > >> object.  The right way:
>
> > > >> Persistent p;
> > > >> {
> > > >>   HandleScope hs;
> > > >>   p = Persistent::New(Object::New());}
>
> > > >> p.MakeWeak(...)
> > > >> // Force GC
>
> > > >> hth and yours,
> > > >> anton.
>
> > > >> On Fri, Apr 8, 2011 at 1:59 AM, Charles Lowell <
> > [email protected]> wrote:
> > > >> > Hi,
>
> > > >> > I'm having trouble understanding when a Persistent handle is
> > > >> > considered "Near Death", and when exactly a weak reference callback
> > is
> > > >> > invoked. Consider the following code:
>
> > > >> >https://gist.github.com/908831
>
> > > >> > It appears that the WeakReference Callback is never invoked.
>
> > > >> > I guess my questions are
>
> > > >> > 1) Why is it never considered near death? given that there is only
> > one
> > > >> > reference to it which is weak.
>
> > > >> > 2) why isn't the PrintlnWeakReferenceCallback ever invoked?
>
> > > >> > 3) WeakReferenceCallbacks take a Persistent<Value> as a parameter.
> > > >> > What if, as in this case, the object is not a Value?
>
> > > >> > cheers,
> > > >> > Charles
>
> > > >> > --
> > > >> > v8-users mailing list
> > > >> > [email protected]
> > > >> >http://groups.google.com/group/v8-users
>
> > > > --
> > > > v8-users mailing list
> > > > [email protected]
> > > >http://groups.google.com/group/v8-users
>
> > --
> > v8-users mailing list
> > [email protected]
> >http://groups.google.com/group/v8-users

-- 
v8-users mailing list
[email protected]
http://groups.google.com/group/v8-users

Reply via email to