Bug 538388 - Make find-leakers.pl work with the output of XPCOM_MEM_ALLOC_LOG as it dose with XPCOM_MEM_REFCNT_LOG, r=dbaron

This commit is contained in:
Benjamin Smedberg 2010-01-07 15:14:27 -05:00
parent aa2def2183
commit d62ec5b38c

View File

@ -52,6 +52,8 @@ LINE: while (<>) {
my $op = shift(@fields); my $op = shift(@fields);
my $cnt = shift(@fields); my $cnt = shift(@fields);
# for AddRef/Release $cnt is the refcount, for Ctor/Dtor it's the size
if ($op eq 'AddRef' && $cnt == 1) { if ($op eq 'AddRef' && $cnt == 1) {
# Example: <nsStringBuffer> 0x01AFD3B8 1 AddRef 1 # Example: <nsStringBuffer> 0x01AFD3B8 1 AddRef 1
@ -64,6 +66,18 @@ LINE: while (<>) {
delete($allocs{$obj}); delete($allocs{$obj});
delete($classes{$obj}); delete($classes{$obj});
} }
elsif ($op eq 'Ctor') {
# Example: <PStreamNotifyParent> 0x08880BD0 8 Ctor (20)
$allocs{$obj} = ++$counter{$class};
$classes{$obj} = $class;
}
elsif ($op eq 'Dtor') {
# Example: <PStreamNotifyParent> 0x08880BD0 8 Dtor (20)
delete($allocs{$obj});
delete($classes{$obj});
}
} }