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

Unified Diff: base/metrics/histogram_samples.cc

Issue 1425533011: Support "shared" histograms between processes. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@shmem-alloc
Patch Set: added a couple tests (and fixed related issues) Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: base/metrics/histogram_samples.cc
diff --git a/base/metrics/histogram_samples.cc b/base/metrics/histogram_samples.cc
index ec065c602d4df7f780995dc01114032134820ab9..e2fc33dc9a154a0eeeb13d38f762c91be0d1d0dc 100644
--- a/base/metrics/histogram_samples.cc
+++ b/base/metrics/histogram_samples.cc
@@ -87,13 +87,7 @@ void HistogramSamples::SetMetadataId(uint64 id) {
// that really need it.
void HistogramSamples::Add(const HistogramSamples& other) {
-#ifdef ARCH_CPU_64_BITS
- subtle::NoBarrier_Store(
- &meta_->sum,
- subtle::NoBarrier_Load(&meta_->sum) + other.sum());
-#else // No Atomic64 on 32-bit platforms.
meta_->sum += other.sum();
-#endif
HistogramBase::Count old_redundant_count =
subtle::NoBarrier_Load(&meta_->redundant_count);
@@ -110,13 +104,7 @@ bool HistogramSamples::AddFromPickle(PickleIterator* iter) {
if (!iter->ReadInt64(&sum) || !iter->ReadInt(&redundant_count))
return false;
-#ifdef ARCH_CPU_64_BITS
- subtle::NoBarrier_Store(
- &meta_->sum,
- subtle::NoBarrier_Load(&meta_->sum) + sum);
-#else // No Atomic64 on 32-bit platforms.
meta_->sum += sum;
-#endif
HistogramBase::Count old_redundant_count =
subtle::NoBarrier_Load(&meta_->redundant_count);
@@ -128,13 +116,7 @@ bool HistogramSamples::AddFromPickle(PickleIterator* iter) {
}
void HistogramSamples::Subtract(const HistogramSamples& other) {
-#ifdef ARCH_CPU_64_BITS
- subtle::NoBarrier_Store(
- &meta_->sum,
- subtle::NoBarrier_Load(&meta_->sum) - other.sum());
-#else // No Atomic64 on 32-bit platforms.
meta_->sum -= other.sum();
-#endif
HistogramBase::Count old_redundant_count =
subtle::NoBarrier_Load(&meta_->redundant_count);
@@ -145,13 +127,8 @@ void HistogramSamples::Subtract(const HistogramSamples& other) {
}
bool HistogramSamples::Serialize(Pickle* pickle) const {
-#ifdef ARCH_CPU_64_BITS
- if (!pickle->WriteInt64(subtle::NoBarrier_Load(&meta_->sum)))
- return false;
-#else // No Atomic64 on 32-bit platforms.
if (!pickle->WriteInt64(meta_->sum))
return false;
-#endif
if (!pickle->WriteInt(subtle::NoBarrier_Load(&meta_->redundant_count)))
return false;
@@ -171,13 +148,7 @@ bool HistogramSamples::Serialize(Pickle* pickle) const {
}
void HistogramSamples::IncreaseSum(int64 diff) {
-#ifdef ARCH_CPU_64_BITS
- subtle::NoBarrier_Store(
- &meta_->sum,
- subtle::NoBarrier_Load(&meta_->sum) + diff);
-#else // No Atomic64 on 32-bit platforms.
meta_->sum += diff;
-#endif
}
void HistogramSamples::IncreaseRedundantCount(HistogramBase::Count diff) {

Powered by Google App Engine
This is Rietveld 408576698