DescriptionLocalize 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. #
Messages
Total messages: 33 (23 generated)
|