Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(29)

Issue 2918703002: Localize counter class member functions. (Closed)

Created:
3 years, 6 months ago by kschimpf
Modified:
3 years, 6 months ago
CC:
v8-reviews_googlegroups.com
Target Ref:
refs/heads/master
Project:
v8
Visibility:
Public.

Description

Localize counter class member functions. This CL takes advantage of the fact that StatsCounter is now local to the Counters class. This includes: 1) Method StatsTable::SetCreateHistogramFunction() was only called in one spot (in api.cc), which also called Counters::ResetHistograms() and Counters::InitializeHistorgram(). InitializeHistogram can be folded into Histogram.Reset(). 2) Since Histogram::Reset() now regenerats the histogram, we no longer need the field lookup_done_. Therefore there is no longer a race between updating ptr_ and lookup_done_, making the Histogram class thread safe. 3) Made the constructors of several classes private (except for class Counters), minimizing the scope that they are used. When the couldn't be moved, add comment that they were public only for test cases. 4) Removed the need for a mutex lock on StatsCounter::Reset(), since it is now guaranteed to only be called when StatsTable::SetCounterFunction() is called. BUG=v8:6361 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_rel_ng Review-Url: https://codereview.chromium.org/2918703002 Cr-Commit-Position: refs/heads/master@{#45791} Committed: https://chromium.googlesource.com/v8/v8/+/f073a20b6999573a415a3f56912c812d1d737cbe

Patch Set 1 #

Patch Set 2 : Initial patch. #

Patch Set 3 : Fix nits in comments. #

Patch Set 4 : Remove need for mutex to initialize counters. #

Total comments: 4

Patch Set 5 : Refactor so that isolates only communicate via the Counters class. #

Patch Set 6 : Remove unnecessary outline definition. #

Patch Set 7 : Fix runtime bug. #

Patch Set 8 : Make constructors public and move friend declarations. #

Patch Set 9 : Move ctors back to private. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+113 lines, -142 lines) Patch
M src/api.cc View 1 2 3 4 5 6 7 8 1 chunk +3 lines, -6 lines 0 comments Download
M src/counters.h View 1 2 3 4 5 6 7 8 16 chunks +99 lines, -78 lines 0 comments Download
M src/counters.cc View 1 2 3 4 5 5 chunks +10 lines, -41 lines 0 comments Download
M src/isolate.h View 1 2 3 4 5 6 7 8 2 chunks +0 lines, -2 lines 0 comments Download
M src/isolate.cc View 1 2 3 4 5 6 7 8 3 chunks +0 lines, -12 lines 0 comments Download
M test/unittests/counters-unittest.cc View 1 chunk +1 line, -3 lines 0 comments Download

Messages

Total messages: 33 (23 generated)
kschimpf
3 years, 6 months ago (2017-06-02 15:22:24 UTC) #10
kschimpf
Please review. Thanks!
3 years, 6 months ago (2017-06-05 14:52:04 UTC) #13
Mircea Trofin
https://codereview.chromium.org/2918703002/diff/60001/src/counters.cc File src/counters.cc (right): https://codereview.chromium.org/2918703002/diff/60001/src/counters.cc#newcode29 src/counters.cc:29: void StatsTable::SetCreateHistogramFunction(CreateHistogramCallback f) { It's a bit surprising setting ...
3 years, 6 months ago (2017-06-05 15:57:49 UTC) #14
kschimpf
https://codereview.chromium.org/2918703002/diff/60001/src/counters.cc File src/counters.cc (right): https://codereview.chromium.org/2918703002/diff/60001/src/counters.cc#newcode29 src/counters.cc:29: void StatsTable::SetCreateHistogramFunction(CreateHistogramCallback f) { On 2017/06/05 15:57:49, Mircea Trofin ...
3 years, 6 months ago (2017-06-05 17:38:52 UTC) #15
jochen (gone - plz use gerrit)
friend should go first in the private: section, however, I think it would be preferable ...
3 years, 6 months ago (2017-06-06 14:58:03 UTC) #24
kschimpf
Moved friend and ctor declarations as suggested by @jochen. Did not remove friend declarations. Google ...
3 years, 6 months ago (2017-06-07 15:42:46 UTC) #25
Mircea Trofin
On 2017/06/07 15:42:46, kschimpf wrote: > Moved friend and ctor declarations as suggested by @jochen. ...
3 years, 6 months ago (2017-06-07 20:31:47 UTC) #26
Mircea Trofin
lgtm - with the nit that i'd prefer keeping ctors private, as originally designed.
3 years, 6 months ago (2017-06-07 20:32:29 UTC) #27
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2918703002/160001
3 years, 6 months ago (2017-06-08 15:15:11 UTC) #30
commit-bot: I haz the power
3 years, 6 months ago (2017-06-08 16:18:40 UTC) #33
Message was sent while issue was closed.
Committed patchset #9 (id:160001) as
https://chromium.googlesource.com/v8/v8/+/f073a20b6999573a415a3f56912c812d1d7...

Powered by Google App Engine
This is Rietveld 408576698