From: Hector Chu Date: Wed, 7 Sep 2011 17:53:29 +0000 (-0400) Subject: gopprof: regexp fixes X-Git-Tag: weekly.2011-09-07~10 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=7b2f214b6c3867699a37d405cf986d4f599d3f73;p=gostls13.git gopprof: regexp fixes Extract Windows filenames correctly. Don't remove receivers from method names. Fixes #2227. R=rsc CC=golang-dev https://golang.org/cl/4969059 --- diff --git a/src/cmd/prof/gopprof b/src/cmd/prof/gopprof index be5f84e9e4..83438b7cd6 100755 --- a/src/cmd/prof/gopprof +++ b/src/cmd/prof/gopprof @@ -1241,7 +1241,7 @@ sub Disassemble { while () { s/\r//g; # turn windows-looking lines into unix-looking lines chop; - if (m|\s*([^:\s]+):(\d+)\s*$|) { + if (m|\s*(.+):(\d+)\s*$|) { # Location line of the form: # : $filename = $1; @@ -4485,7 +4485,7 @@ sub MapSymbolsWithNM { sub ShortFunctionName { my $function = shift; - while ($function =~ s/\([^()]*\)(\s*const)?//g) { } # Argument types + while ($function =~ s/(?]*>//g) { } # Remove template arguments $function =~ s/^.*\s+(\w+::)/$1/; # Remove leading type return $function; @@ -4494,7 +4494,7 @@ sub ShortFunctionName { # Trim overly long symbols found in disassembler output sub CleanDisassembly { my $d = shift; - while ($d =~ s/\([^()%]*\)(\s*const)?//g) { } # Argument types, not (%rax) + while ($d =~ s/(?]*>/$1/g) { } # Remove template arguments return $d; }