summaryrefslogtreecommitdiffstats
path: root/base
diff options
context:
space:
mode:
authorglider@chromium.org <glider@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-09-04 11:07:28 +0000
committerglider@chromium.org <glider@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-09-04 11:07:28 +0000
commiteef52675b773df81d866c8ff57daab6209cfdca0 (patch)
tree7efad42a6e5317296173ddcef4307ad9b72ae150 /base
parent665aaca303c92a10a63047ed7ce893d7dab05386 (diff)
downloadchromium_src-eef52675b773df81d866c8ff57daab6209cfdca0.zip
chromium_src-eef52675b773df81d866c8ff57daab6209cfdca0.tar.gz
chromium_src-eef52675b773df81d866c8ff57daab6209cfdca0.tar.bz2
Revert 221168 "Use nobarrier atomics for platform-size lossy cou..."
> Use nobarrier atomics for platform-size lossy counters in base::HistogramSamples and base::SampleVector > This should not affect the performance, but will make it explicit that the counter values are expected to be read and written atomically. > This will also suppress the ThreadSanitizer v2 reports on these counters. > > BUG=46840 > R=jar@chromium.org > > Review URL: https://codereview.chromium.org/23602005 TBR=glider@chromium.org Review URL: https://codereview.chromium.org/23888004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@221170 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base')
-rw-r--r--base/metrics/histogram_base.h4
-rw-r--r--base/metrics/histogram_samples.cc3
-rw-r--r--base/metrics/sample_vector.cc3
3 files changed, 4 insertions, 6 deletions
diff --git a/base/metrics/histogram_base.h b/base/metrics/histogram_base.h
index dba4395..f5448e7 100644
--- a/base/metrics/histogram_base.h
+++ b/base/metrics/histogram_base.h
@@ -50,8 +50,8 @@ BASE_EXPORT void DeserializeHistogramAndAddSamples(PickleIterator* iter);
class BASE_EXPORT HistogramBase {
public:
- typedef int Sample; // Used for samples.
- typedef subtle::Atomic32 Count; // Used to count samples.
+ typedef int Sample; // Used for samples.
+ typedef int Count; // Used to count samples.
static const Sample kSampleType_MAX; // INT_MAX
diff --git a/base/metrics/histogram_samples.cc b/base/metrics/histogram_samples.cc
index 9f3dd6a..0e0eeb4 100644
--- a/base/metrics/histogram_samples.cc
+++ b/base/metrics/histogram_samples.cc
@@ -113,8 +113,7 @@ void HistogramSamples::IncreaseSum(int64 diff) {
}
void HistogramSamples::IncreaseRedundantCount(HistogramBase::Count diff) {
- base::subtle::NoBarrier_Store(&redundant_count_,
- base::subtle::NoBarrier_Load(&redundant_count_) + diff);
+ redundant_count_ += diff;
}
SampleCountIterator::~SampleCountIterator() {}
diff --git a/base/metrics/sample_vector.cc b/base/metrics/sample_vector.cc
index 89233c7..fe602ee 100644
--- a/base/metrics/sample_vector.cc
+++ b/base/metrics/sample_vector.cc
@@ -24,8 +24,7 @@ SampleVector::~SampleVector() {}
void SampleVector::Accumulate(Sample value, Count count) {
size_t bucket_index = GetBucketIndex(value);
- subtle::NoBarrier_Store(&counts_[bucket_index],
- subtle::NoBarrier_Load(&counts_[bucket_index]) + count);
+ counts_[bucket_index] += count;
IncreaseSum(count * value);
IncreaseRedundantCount(count);
}