From 7b2f214b6c3867699a37d405cf986d4f599d3f73 Mon Sep 17 00:00:00 2001 From: Hector Chu Date: Wed, 7 Sep 2011 13:53:29 -0400 Subject: [PATCH] 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 --- src/cmd/prof/gopprof | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/cmd/prof/gopprof b/src/cmd/prof/gopprof index be5f84e9e46..83438b7cd6e 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; }