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

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, 7 months ago by Will Harris
Modified:
10 years, 7 months 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, 7 months ago #1
Mark Mentovai
Seems OK. Wonder why the prebaked DIA routines to do this are so much slower. ...
10 years, 7 months ago #2
Will Harris
Thanks for the quick review. I haven't worked out why the prebaked DIA routines are ...
10 years, 7 months 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, 7 months ago #4
bsmedberg
I am worried about this change. For Firefox PGO builds we know that there are ...
10 years, 7 months 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, 7 months ago #6
Mark Mentovai
OK, I was wondering if the only difference was about the now-deleted “FUNC or PUBLIC ...
10 years, 7 months 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, 7 months ago #8
Will Harris
PTAL. I should add that after diagnosing where the bug was occurring in the DIA ...
10 years, 7 months 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, 7 months ago #10
bsmedberg
I am worried about this change. For Firefox PGO builds we know that there are ...
10 years, 7 months ago #11
bsmedberg
oops, please ignore my duplicate comment
10 years, 7 months ago #12
Mark Mentovai
Will, have you also taken any steps to make Microsoft aware of the performance problem ...
10 years, 7 months ago #13
Will Harris
MS are already aware of the bug and say "Unfortunately there is no work around ...
10 years, 7 months 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, 7 months ago #15
Will Harris
> Will, how do you guarantee that the symbol returned for a given rva will ...
10 years, 7 months ago #16
ivanpe
On 2014/04/16 21:11:32, wfh wrote: > > Will, how do you guarantee that the symbol ...
10 years, 7 months ago #17
Will Harris
10 years, 7 months 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