Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(322)

Issue 1574002: Change the way function and public symbols are obtained to use the findChildren DIA function. (Closed)

Can't Edit
Can't Publish+Mail
Start Review
Created:
10 years ago by Will Harris
Modified:
10 years ago
CC:
google-breakpad-dev_googlegroups.com
Base URL:
http://google-breakpad.googlecode.com/svn/trunk/
Visibility:
Public.

Description

Change the way function and public symbols are obtained to use the findChildren
DIA function.

This has a substantial performance improvement over using the getSymbolsByAddr
iterator, especially on certain 64bit DLLS.  e.g. Time to process
chrome_child.dll drops from 51 minutes to 21 secs.

Note: new test data looks different because the ordering of lines is no longer
by memory address.  This does not affect processing.  The test data has been
manually compared to old data and matches (except additional PUBLIC symbols). 
Also, INFO lines are omitted because the source executable files are not checked
in, so they are unavailable.

R=ivanpe@chromium.org, mark@chromium.org

Committed: https://code.google.com/p/google-breakpad/source/detail?r=1316

Patch Set 1 #

Total comments: 11

Patch Set 2 : #

Total comments: 3

Patch Set 3 : #

Total comments: 1

Patch Set 4 : #

Unified diffs Side-by-side diffs Delta from patch set Stats Patch
M src/common/windows/pdb_source_line_writer.cc View 1 2 5 chunks +48 lines, -37 lines 0 comments Download
M src/tools/windows/dump_syms/testdata/dump_syms_regtest.sym View 1 2 3 7 chunks +2079 lines, -1933 lines 0 comments Download
M src/tools/windows/dump_syms/testdata/dump_syms_regtest64.sym View 1 2 3 16 chunks +3201 lines, -2988 lines 0 comments Download
M src/tools/windows/dump_syms/testdata/omap_reorder_bbs.sym View 1 2 3 14 chunks +2920 lines, -2774 lines 0 comments Download
M src/tools/windows/dump_syms/testdata/omap_reorder_funcs.sym View 1 2 3 7 chunks +2079 lines, -1933 lines 0 comments Download
M src/tools/windows/dump_syms/testdata/omap_stretched.sym View 1 2 3 7 chunks +2200 lines, -2054 lines 0 comments Download
M src/tools/windows/dump_syms/testdata/omap_stretched_filled.sym View 1 2 3 7 chunks +2079 lines, -1933 lines 0 comments Download

Messages

Total messages: 18
Will Harris
I'm still updating the dump_syms_unittest data (as we now get a bit more PUBLIC symbol ...
10 years ago #1
Mark Mentovai
Seems OK. Wonder why the prebaked DIA routines to do this are so much slower. ...
10 years ago #2
Will Harris
Thanks for the quick review. I haven't worked out why the prebaked DIA routines are ...
10 years ago #3
Will Harris
https://breakpad.appspot.com/1574002/diff/1/src/common/windows/pdb_source_line_writer.cc File src/common/windows/pdb_source_line_writer.cc (right): https://breakpad.appspot.com/1574002/diff/1/src/common/windows/pdb_source_line_writer.cc#newcode359 src/common/windows/pdb_source_line_writer.cc:359: CComPtr<IDiaSymbol> symbol = NULL; That's my old school C ...
10 years ago #4
bsmedberg
I am worried about this change. For Firefox PGO builds we know that there are ...
10 years ago #5
Will Harris
I should add I've done end-to-end testing on chrome://crash generating .sym files manually with this ...
10 years ago #6
Mark Mentovai
OK, I was wondering if the only difference was about the now-deleted “FUNC or PUBLIC ...
10 years ago #7
Will Harris
https://breakpad.appspot.com/1574002/diff/1/src/common/windows/pdb_source_line_writer.cc File src/common/windows/pdb_source_line_writer.cc (right): https://breakpad.appspot.com/1574002/diff/1/src/common/windows/pdb_source_line_writer.cc#newcode384 src/common/windows/pdb_source_line_writer.cc:384: rvas.insert(rva); Right, sorry I misunderstood what you were saying. ...
10 years ago #8
Will Harris
PTAL. I should add that after diagnosing where the bug was occurring in the DIA ...
10 years ago #9
Mark Mentovai
LGTM, but please watch very closely for fallout in crash reports once this lands. https://breakpad.appspot.com/1574002/diff/20002/src/common/windows/pdb_source_line_writer.cc ...
10 years ago #10
bsmedberg
I am worried about this change. For Firefox PGO builds we know that there are ...
10 years ago #11
bsmedberg
oops, please ignore my duplicate comment
10 years ago #12
Mark Mentovai
Will, have you also taken any steps to make Microsoft aware of the performance problem ...
10 years ago #13
Will Harris
MS are already aware of the bug and say "Unfortunately there is no work around ...
10 years ago #14
ivanpe
https://breakpad.appspot.com/1574002/diff/80002/src/common/windows/pdb_source_line_writer.cc File src/common/windows/pdb_source_line_writer.cc (right): https://breakpad.appspot.com/1574002/diff/80002/src/common/windows/pdb_source_line_writer.cc#newcode384 src/common/windows/pdb_source_line_writer.cc:384: // rva onto a set here to uniquify them. ...
10 years ago #15
Will Harris
> Will, how do you guarantee that the symbol returned for a given rva will ...
10 years ago #16
ivanpe
On 2014/04/16 21:11:32, wfh wrote: > > Will, how do you guarantee that the symbol ...
10 years ago #17
Will Harris
10 years ago #18
Message was sent while issue was closed.
Committed patchset #4 manually as r1316 (presubmit successful).
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld 1004:630ec63f810e-tainted