• mikhail.naganov@gmail.com's avatar
    Add initial version of retainers heap profile. · abc0bd46
    mikhail.naganov@gmail.com authored
    The profile is taken together with constructors profile. In theory, it
    should represent a complete heap graph. However, this takes a lot of memory,
    so it is reduced to a more compact, but still useful form. Namely:
    
     - objects are aggregated by their constructors, except for Array and Object
       instances, that are too hetereogeneous;
    
     - for Arrays and Objects, initially every instance is concerned, but then
       they are grouped together based on their retainer graph paths similarity (e.g.
       if two objects has the same retainer, they are considered equal);
    
    Review URL: http://codereview.chromium.org/200132
    
    git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2903 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
    abc0bd46
heap.cc 119 KB