Jens,

another thing you should be aware of is that DOM nodes are only
collected on full garbage collections.  In order to see what is
actually live at the end of a test, you have to force a number of GCs.
 If you run in the test shell with the --js-flags="--expose-gc" flag,
you can force gc's by typing javascript:gc() in the URL bar
repeatedly.  I can easily imagine that there are cycles between JS and
C++ that keep DOM objects alive.  I would like to see the reduced test
case when you have it.

Thanks,    -- Mads

On Wed, Sep 23, 2009 at 12:28 AM, Mike Belshe <[email protected]> wrote:
> Because we have C++ and JS wrappers, and there may be references known to
> the C++ side not known to the JS side, we have to do an "object grouping"
> before we can call GC.  This grouping takes all wrappers and groups them by
> their root; and then they are collected together.  This happens
> in V8GCController::gcPrologue(). So you might fint that an interesting place
> to look.
> Mike
>
> On Tue, Sep 22, 2009 at 3:21 PM, Jens Alfke <[email protected]> wrote:
>>
>>
>> On Sep 22, 2009, at 2:54 PM, Mikhail Naganov wrote:
>>
>> > I'm working on showing JS objects retainers. But this only works for
>> > objects that live inside V8's heap.
>>
>> That would still be useful — I'd love to be able to look at all the
>> 'Window' objects in the heap and what ref chain is keeping them alive.
>>
>> Please let me know if there's something experimental I can try out.
>> Thanks!
>>
>> —Jens
>>
>>
>>
>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
Chromium Developers mailing list: [email protected] 
View archives, change email options, or unsubscribe: 
    http://groups.google.com/group/chromium-dev
-~----------~----~----~----~------~----~------~--~---

Reply via email to