Keyboard Shortcuts

File
u :up to issue
m :publish + mail comments
M :edit review message
j / k :jump to file after / before current file
J / K :jump to next file with a comment after / before current file
Side-by-side diff
i :toggle intra-line diffs
e :expand all comments
c :collapse all comments
s :toggle showing all comments
n / p :next / previous diff chunk or comment
N / P :next / previous comment
<Up> / <Down> :next / previous line
<Enter> :respond to / edit current comment
d :mark current comment as done
Issue
u :up to list of issues
m :publish + mail comments
j / k :jump to patch after / before current patch
o / <Enter> :open current patch in side-by-side view
i :open current patch in unified diff view
Issue List
j / k :jump to issue after / before current issue
o / <Enter> :open current issue
# : close issue
Comment/message editing
<Ctrl> + s or <Ctrl> + Enter :save comment
<Esc> :cancel edit
Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(176)
Issues Repositories Search
Open Issues | Closed Issues | All Issues | Sign in with your Google Account to create issues and add comments

Issue 2127047: Refactor the ignore lists

Can't Edit
Can't Publish+Mail
Start Review
Created:
15 years, 4 months ago by ramosian.glider
Modified:
15 years, 3 months ago
Base URL:
http://data-race-test.googlecode.com/svn/trunk/tsan/
Visibility:
Public.

Patch Set 1 #

Total comments: 16

Patch Set 2 : Fixed kcc@ and eugenis@'s comments for patch set 1 #

Total comments: 4

Patch Set 3 : Fixed the IgnoreTriple initialization #

Total comments: 4

Patch Set 4 : Fixed Timur's comments from patch set 3 #

Total comments: 3

Patch Set 5 : Fixed output parameter, removed fun_hist (kcc's comments) #

Total comments: 5

Patch Set 6 : fixed Timur's comments from PS5 #

Total comments: 1

Patch Set 7 : Fixed the CHECK in IgnoreTriple ctor #

Patch Set 8 : Fixed the matcher after running the tests #

Patch Set 9 : updated the comment in MatchKnown #

Created: 15 years, 3 months ago
Download [raw] [tar.bz2]
Unified diffs Side-by-side diffs Delta from patch set Stats (+138 lines, -76 lines) Patch
M thread_sanitizer.cc View 1 2 3 4 5 6 7 8 7 chunks +138 lines, -76 lines 0 comments Download
Total messages: 15
|
ramosian.glider
15 years, 4 months ago (2010年09月13日 08:38:26 UTC) #1
Sign in to reply to this message.
Evgeniy Stepanov
http://codereview.appspot.com/2127047/diff/1/thread_sanitizer.cc File thread_sanitizer.cc (right): http://codereview.appspot.com/2127047/diff/1/thread_sanitizer.cc#newcode6955 thread_sanitizer.cc:6955: struct IgnoreTriple { add some comments please http://codereview.appspot.com/2127047/diff/1/thread_sanitizer.cc#newcode6977 thread_sanitizer.cc:6977: ...
15 years, 4 months ago (2010年09月13日 08:58:07 UTC) #2
http://codereview.appspot.com/2127047/diff/1/thread_sanitizer.cc
File thread_sanitizer.cc (right):
http://codereview.appspot.com/2127047/diff/1/thread_sanitizer.cc#newcode6955
thread_sanitizer.cc:6955: struct IgnoreTriple {
add some comments please
http://codereview.appspot.com/2127047/diff/1/thread_sanitizer.cc#newcode6977
thread_sanitizer.cc:6977: vector<IgnoreTriple> funs;
"funs" seems like a bad name for this
http://codereview.appspot.com/2127047/diff/1/thread_sanitizer.cc#newcode7089
thread_sanitizer.cc:7089: ReadIgnoreLine(line, "obj:", g_ignore_lists->funs) ||
You can just parse the prefix in ReadIgnoreLine instead of calling it 5 times.
http://codereview.appspot.com/2127047/diff/1/thread_sanitizer.cc#newcode7135
thread_sanitizer.cc:7135: bool TripleVectorPartMatch(const vector<IgnoreTriple>&
v,
TripleVectorPartialMatch?
TripleVectorMatchKnown?
http://codereview.appspot.com/2127047/diff/1/thread_sanitizer.cc#newcode7184
thread_sanitizer.cc:7184: return !(TripleVectorMatch(g_ignore_lists->funs_hist,
rtn_name, "*", "*"));
You can not use stars here! It is a string that is matched against a template,
not a template itself.
Sign in to reply to this message.
kcc
http://codereview.appspot.com/2127047/diff/1/thread_sanitizer.cc File thread_sanitizer.cc (right): http://codereview.appspot.com/2127047/diff/1/thread_sanitizer.cc#newcode6991 thread_sanitizer.cc:6991: } else { } else if (...) { http://codereview.appspot.com/2127047/diff/1/thread_sanitizer.cc#newcode7107 ...
15 years, 4 months ago (2010年09月13日 10:39:03 UTC) #3
http://codereview.appspot.com/2127047/diff/1/thread_sanitizer.cc
File thread_sanitizer.cc (right):
http://codereview.appspot.com/2127047/diff/1/thread_sanitizer.cc#newcode6991
thread_sanitizer.cc:6991: } else {
} else if (...) {
http://codereview.appspot.com/2127047/diff/1/thread_sanitizer.cc#newcode7107
thread_sanitizer.cc:7107: cur = ConvertToPlatformIndependentPath(cur);
Do it in CTOR?
http://codereview.appspot.com/2127047/diff/1/thread_sanitizer.cc#newcode7168
thread_sanitizer.cc:7168: bool ignore =
TripleVectorPartMatch(g_ignore_lists->funs, rtn_name, img_name, file_name) ||
80 lines
Sign in to reply to this message.
ramosian.glider
http://codereview.appspot.com/2127047/diff/1/thread_sanitizer.cc File thread_sanitizer.cc (right): http://codereview.appspot.com/2127047/diff/1/thread_sanitizer.cc#newcode6955 thread_sanitizer.cc:6955: struct IgnoreTriple { On 2010年09月13日 08:58:07, Evgeniy Stepanov wrote: ...
15 years, 4 months ago (2010年09月14日 10:36:09 UTC) #4
http://codereview.appspot.com/2127047/diff/1/thread_sanitizer.cc
File thread_sanitizer.cc (right):
http://codereview.appspot.com/2127047/diff/1/thread_sanitizer.cc#newcode6955
thread_sanitizer.cc:6955: struct IgnoreTriple {
On 2010年09月13日 08:58:07, Evgeniy Stepanov wrote:
> add some comments please
Done.
http://codereview.appspot.com/2127047/diff/1/thread_sanitizer.cc#newcode6977
thread_sanitizer.cc:6977: vector<IgnoreTriple> funs;
On 2010年09月13日 08:58:07, Evgeniy Stepanov wrote:
> "funs" seems like a bad name for this
Fixed.
http://codereview.appspot.com/2127047/diff/1/thread_sanitizer.cc#newcode7089
thread_sanitizer.cc:7089: ReadIgnoreLine(line, "obj:", g_ignore_lists->funs) ||
On 2010年09月13日 08:58:07, Evgeniy Stepanov wrote:
> You can just parse the prefix in ReadIgnoreLine instead of calling it 5 times.
Done.
http://codereview.appspot.com/2127047/diff/1/thread_sanitizer.cc#newcode7135
thread_sanitizer.cc:7135: bool TripleVectorPartMatch(const vector<IgnoreTriple>&
v,
On 2010年09月13日 08:58:07, Evgeniy Stepanov wrote:
> TripleVectorPartialMatch?
> TripleVectorMatchKnown?
TripleVectorMatchKnown.
Please note a change to the function's implementation.
http://codereview.appspot.com/2127047/diff/1/thread_sanitizer.cc#newcode7184
thread_sanitizer.cc:7184: return !(TripleVectorMatch(g_ignore_lists->funs_hist,
rtn_name, "*", "*"));
On 2010年09月13日 08:58:07, Evgeniy Stepanov wrote:
> You can not use stars here! It is a string that is matched against a template,
> not a template itself.
Fixed, thanks!
Sign in to reply to this message.
ramosian.glider
http://codereview.appspot.com/2127047/diff/1/thread_sanitizer.cc File thread_sanitizer.cc (right): http://codereview.appspot.com/2127047/diff/1/thread_sanitizer.cc#newcode6991 thread_sanitizer.cc:6991: } else { On 2010年09月13日 10:39:04, kcc wrote: > ...
15 years, 4 months ago (2010年09月14日 10:42:21 UTC) #5
http://codereview.appspot.com/2127047/diff/1/thread_sanitizer.cc
File thread_sanitizer.cc (right):
http://codereview.appspot.com/2127047/diff/1/thread_sanitizer.cc#newcode6991
thread_sanitizer.cc:6991: } else {
On 2010年09月13日 10:39:04, kcc wrote:
> } else if (...) {
Refactored, please see ReadIgnoreLine()
http://codereview.appspot.com/2127047/diff/1/thread_sanitizer.cc#newcode7107
thread_sanitizer.cc:7107: cur = ConvertToPlatformIndependentPath(cur);
On 2010年09月13日 10:39:04, kcc wrote:
> Do it in CTOR? 
Done.
http://codereview.appspot.com/2127047/diff/1/thread_sanitizer.cc#newcode7168
thread_sanitizer.cc:7168: bool ignore =
TripleVectorPartMatch(g_ignore_lists->funs, rtn_name, img_name, file_name) ||
On 2010年09月13日 10:39:04, kcc wrote:
> 80 lines
Done.
Sign in to reply to this message.
Evgeniy Stepanov
http://codereview.appspot.com/2127047/diff/8001/thread_sanitizer.cc File thread_sanitizer.cc (right): http://codereview.appspot.com/2127047/diff/8001/thread_sanitizer.cc#newcode6972 thread_sanitizer.cc:6972: obj = ConvertToPlatformIndependentPath(iobj); ConvertToPlatformIndependentPath is only applied to file ...
15 years, 4 months ago (2010年09月14日 10:48:54 UTC) #6
http://codereview.appspot.com/2127047/diff/8001/thread_sanitizer.cc
File thread_sanitizer.cc (right):
http://codereview.appspot.com/2127047/diff/8001/thread_sanitizer.cc#newcode6972
thread_sanitizer.cc:6972: obj = ConvertToPlatformIndependentPath(iobj);
ConvertToPlatformIndependentPath is only applied to file paths
http://codereview.appspot.com/2127047/diff/8001/thread_sanitizer.cc#newcode6973
thread_sanitizer.cc:6973: file = ConvertToPlatformIndependentPath(file);
ifile
Sign in to reply to this message.
ramosian.glider
http://codereview.appspot.com/2127047/diff/8001/thread_sanitizer.cc File thread_sanitizer.cc (right): http://codereview.appspot.com/2127047/diff/8001/thread_sanitizer.cc#newcode6972 thread_sanitizer.cc:6972: obj = ConvertToPlatformIndependentPath(iobj); On 2010年09月14日 10:48:59, Evgeniy Stepanov wrote: ...
15 years, 4 months ago (2010年09月14日 10:53:39 UTC) #7
http://codereview.appspot.com/2127047/diff/8001/thread_sanitizer.cc
File thread_sanitizer.cc (right):
http://codereview.appspot.com/2127047/diff/8001/thread_sanitizer.cc#newcode6972
thread_sanitizer.cc:6972: obj = ConvertToPlatformIndependentPath(iobj);
On 2010年09月14日 10:48:59, Evgeniy Stepanov wrote:
> ConvertToPlatformIndependentPath is only applied to file paths
It was a mistake, I guess. Objects are file names, too.
http://codereview.appspot.com/2127047/diff/8001/thread_sanitizer.cc#newcode6973
thread_sanitizer.cc:6973: file = ConvertToPlatformIndependentPath(file);
On 2010年09月14日 10:48:59, Evgeniy Stepanov wrote:
> ifile
Done.
Sign in to reply to this message.
timurrrr_at_google_com
http://codereview.appspot.com/2127047/diff/13001/thread_sanitizer.cc File thread_sanitizer.cc (right): http://codereview.appspot.com/2127047/diff/13001/thread_sanitizer.cc#newcode7002 thread_sanitizer.cc:7002: if (input_line.find("src:") == 0) { I'd replace something with ...
15 years, 4 months ago (2010年09月14日 12:33:20 UTC) #8
http://codereview.appspot.com/2127047/diff/13001/thread_sanitizer.cc
File thread_sanitizer.cc (right):
http://codereview.appspot.com/2127047/diff/13001/thread_sanitizer.cc#newcode7002
thread_sanitizer.cc:7002: if (input_line.find("src:") == 0) {
I'd replace something with a macro or a function.
http://codereview.appspot.com/2127047/diff/13001/thread_sanitizer.cc#newcode7134
thread_sanitizer.cc:7134: (file.size() == 0 || StringMatch(v[i].file, file)))
return true;
"return true" on a separate line, probably with {}
Sign in to reply to this message.
ramosian.glider
http://codereview.appspot.com/2127047/diff/13001/thread_sanitizer.cc File thread_sanitizer.cc (right): http://codereview.appspot.com/2127047/diff/13001/thread_sanitizer.cc#newcode7002 thread_sanitizer.cc:7002: if (input_line.find("src:") == 0) { On 2010年09月14日 12:33:20, timurrrr_at_google_com ...
15 years, 4 months ago (2010年09月14日 12:55:14 UTC) #9
http://codereview.appspot.com/2127047/diff/13001/thread_sanitizer.cc
File thread_sanitizer.cc (right):
http://codereview.appspot.com/2127047/diff/13001/thread_sanitizer.cc#newcode7002
thread_sanitizer.cc:7002: if (input_line.find("src:") == 0) {
On 2010年09月14日 12:33:20, timurrrr_at_google_com wrote:
> I'd replace something with a macro or a function.
Done.
http://codereview.appspot.com/2127047/diff/13001/thread_sanitizer.cc#newcode7134
thread_sanitizer.cc:7134: (file.size() == 0 || StringMatch(v[i].file, file)))
return true;
On 2010年09月14日 12:33:20, timurrrr_at_google_com wrote:
> "return true" on a separate line, probably with {}
Done.
Sign in to reply to this message.
kcc
http://codereview.appspot.com/2127047/diff/18001/thread_sanitizer.cc File thread_sanitizer.cc (right): http://codereview.appspot.com/2127047/diff/18001/thread_sanitizer.cc#newcode6997 thread_sanitizer.cc:6997: /* OUT */ string &output) { string * http://codereview.appspot.com/2127047/diff/18001/thread_sanitizer.cc#newcode7169 ...
15 years, 4 months ago (2010年09月15日 08:12:40 UTC) #10
http://codereview.appspot.com/2127047/diff/18001/thread_sanitizer.cc
File thread_sanitizer.cc (right):
http://codereview.appspot.com/2127047/diff/18001/thread_sanitizer.cc#newcode6997
thread_sanitizer.cc:6997: /* OUT */ string &output) {
string *
http://codereview.appspot.com/2127047/diff/18001/thread_sanitizer.cc#newcode7169
thread_sanitizer.cc:7169: TripleVectorMatchKnown(g_ignore_lists->ignores_hist,
wtf?
Sign in to reply to this message.
ramosian.glider
http://codereview.appspot.com/2127047/diff/18001/thread_sanitizer.cc File thread_sanitizer.cc (right): http://codereview.appspot.com/2127047/diff/18001/thread_sanitizer.cc#newcode6997 thread_sanitizer.cc:6997: /* OUT */ string &output) { On 2010年09月15日 08:12:41, ...
15 years, 4 months ago (2010年09月15日 08:17:35 UTC) #11
http://codereview.appspot.com/2127047/diff/18001/thread_sanitizer.cc
File thread_sanitizer.cc (right):
http://codereview.appspot.com/2127047/diff/18001/thread_sanitizer.cc#newcode6997
thread_sanitizer.cc:6997: /* OUT */ string &output) {
On 2010年09月15日 08:12:41, kcc wrote:
> string *
Fixed
Sign in to reply to this message.
timurrrr_at_google_com
General comment: please run the old and new binaries with --debug_phase=ignores on Mac/media_unittests and compare ...
15 years, 4 months ago (2010年09月15日 10:51:38 UTC) #12
General comment:
please run the old and new binaries with --debug_phase=ignores on
Mac/media_unittests and compare the logs
http://codereview.appspot.com/2127047/diff/21001/thread_sanitizer.cc
File thread_sanitizer.cc (right):
http://codereview.appspot.com/2127047/diff/21001/thread_sanitizer.cc#newcode6972
thread_sanitizer.cc:6972: file = ConvertToPlatformIndependentPath(ifile);
I'd add an assert that all three params can't be "*" at the same time.
http://codereview.appspot.com/2127047/diff/21001/thread_sanitizer.cc#newcode6996
thread_sanitizer.cc:6996: bool CutStringPrefix(const string &input, const string
&prefix,
CutStringPrefixIfPresent ?
http://codereview.appspot.com/2127047/diff/21001/thread_sanitizer.cc#newcode7135
thread_sanitizer.cc:7135: if ((fun.size() == 0 || StringMatch(v[i].fun, fun)) &&
Possible performance issue: default value for 2 of 3 vars are "*", not "".
Sign in to reply to this message.
ramosian.glider
The third comment was fixed too, but a server error occured while sending that comment ...
15 years, 4 months ago (2010年09月15日 11:02:08 UTC) #13
The third comment was fixed too, but a server error occured while sending that
comment
http://codereview.appspot.com/2127047/diff/21001/thread_sanitizer.cc
File thread_sanitizer.cc (right):
http://codereview.appspot.com/2127047/diff/21001/thread_sanitizer.cc#newcode6972
thread_sanitizer.cc:6972: file = ConvertToPlatformIndependentPath(ifile);
On 2010年09月15日 10:51:38, timurrrr_at_google_com wrote:
> I'd add an assert that all three params can't be "*" at the same time.
Done.
http://codereview.appspot.com/2127047/diff/21001/thread_sanitizer.cc#newcode7135
thread_sanitizer.cc:7135: if ((fun.size() == 0 || StringMatch(v[i].fun, fun)) &&
On 2010年09月15日 10:51:38, timurrrr_at_google_com wrote:
> Possible performance issue: default value for 2 of 3 vars are "*", not "".
Discussed offline
Sign in to reply to this message.
timurrrr_at_google_com
http://codereview.appspot.com/2127047/diff/25001/thread_sanitizer.cc File thread_sanitizer.cc (right): http://codereview.appspot.com/2127047/diff/25001/thread_sanitizer.cc#newcode6973 thread_sanitizer.cc:6973: CHECK(!((ifun == iobj) && (iobj == ifile))); wrong condition ...
15 years, 4 months ago (2010年09月15日 11:05:11 UTC) #14
http://codereview.appspot.com/2127047/diff/25001/thread_sanitizer.cc
File thread_sanitizer.cc (right):
http://codereview.appspot.com/2127047/diff/25001/thread_sanitizer.cc#newcode6973
thread_sanitizer.cc:6973: CHECK(!((ifun == iobj) && (iobj == ifile)));
wrong condition (discussed offline)
Sign in to reply to this message.
ramosian.glider
I've fixed the matcher routine after running the tests, eerything is ok now. Going to ...
15 years, 3 months ago (2010年09月18日 06:57:32 UTC) #15
I've fixed the matcher routine after running the tests, eerything is ok now.
Going to land the CL on Monday
Sign in to reply to this message.
|
This is Rietveld f62528b

AltStyle によって変換されたページ (->オリジナル) /