On Mar 5, 8:47 pm, Alex Iskander <[email protected]> wrote:
> How many of these objects have you created, exactly? I've had to  
> create thousands before it would clear.

> You might want to try, to test it:
>     for( var i  = 0; i < 50000; ++i )

That did it, actually. Now i'm seeing:

PathFinder-js.cc:24 : pf_dtor() PathFinder @0x9213378
PathFinder-js.cc:24 : pf_dtor() PathFinder @0x9213288
PathFinder-js.cc:24 : pf_dtor() PathFinder @0x9213198
PathFinder-js.cc:24 : pf_dtor() PathFinder @0x92130a8
PathFinder-js.cc:24 : pf_dtor() PathFinder @0x9212fb8
PathFinder-js.cc:24 : pf_dtor() PathFinder @0x9212ec8
PathFinder-js.cc:24 : pf_dtor() PathFinder @0x9212dd8

But the fact that it doesn't clean up at shutdown really pisses me
off, to be frank (delayed indefinitely is fine, as long as
"indefinitely" ends during v8's shutdown process). That rules out
whole categories of objects which can't safely be wrapped. It also
plays havok objects allocated via plugins, because the main
application needs a way to know which objects were allocated (but not
yet destroyed by v8).

Your suggestion from the other thread:

//on object creation
autoDestroy(theObject);
//on object deletion
cancelAutoDestroy(theObject);

is looking to be my only sensible way around the problem at the moment
- feed all objects to an app-maintained GC pool.

Bummer. And i had such high hopes for this evening's hacking session.
Instead i've got to add "supplemental" GC to v8.

Thanks again to you and Ondrej for your quick and informative help :).

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

Reply via email to