Commit e184be90 authored by kaiwang@chromium.org's avatar kaiwang@chromium.org

CHECK -> DCHECK to prevent breaking exisitng histograms.

This is the second try of
https://src.chromium.org/viewvc/chrome?view=rev&revision=150240

TBR=jar
Review URL: https://chromiumcodereview.appspot.com/10829212

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@150276 0039d316-1c4b-4281-b951-d872f2087c98
parent 93867e43
...@@ -134,7 +134,9 @@ Histogram* Histogram::FactoryGet(const string& name, ...@@ -134,7 +134,9 @@ Histogram* Histogram::FactoryGet(const string& name,
Sample maximum, Sample maximum,
size_t bucket_count, size_t bucket_count,
Flags flags) { Flags flags) {
CHECK(InspectConstructionArguments(name, &minimum, &maximum, &bucket_count)); bool valid_arguments =
InspectConstructionArguments(name, &minimum, &maximum, &bucket_count);
DCHECK(valid_arguments);
Histogram* histogram = StatisticsRecorder::FindHistogram(name); Histogram* histogram = StatisticsRecorder::FindHistogram(name);
if (!histogram) { if (!histogram) {
...@@ -465,8 +467,15 @@ bool Histogram::InspectConstructionArguments(const string& name, ...@@ -465,8 +467,15 @@ bool Histogram::InspectConstructionArguments(const string& name,
DVLOG(1) << "Histogram: " << name << " has bad maximum: " << *maximum; DVLOG(1) << "Histogram: " << name << " has bad maximum: " << *maximum;
*maximum = kSampleType_MAX - 1; *maximum = kSampleType_MAX - 1;
} }
if (*bucket_count >= kBucketCount_MAX) {
DVLOG(1) << "Histogram: " << name << " has bad bucket_count: "
<< *bucket_count;
*bucket_count = kBucketCount_MAX - 1;
}
if (*bucket_count < 3 || *bucket_count >= kBucketCount_MAX) if (*minimum >= *maximum)
return false;
if (*bucket_count < 3)
return false; return false;
if (*bucket_count > static_cast<size_t>(*maximum - *minimum + 2)) if (*bucket_count > static_cast<size_t>(*maximum - *minimum + 2))
return false; return false;
...@@ -677,8 +686,9 @@ Histogram* LinearHistogram::FactoryGet(const string& name, ...@@ -677,8 +686,9 @@ Histogram* LinearHistogram::FactoryGet(const string& name,
Sample maximum, Sample maximum,
size_t bucket_count, size_t bucket_count,
Flags flags) { Flags flags) {
CHECK(Histogram::InspectConstructionArguments(name, &minimum, &maximum, bool valid_arguments = Histogram::InspectConstructionArguments(
&bucket_count)); name, &minimum, &maximum, &bucket_count);
DCHECK(valid_arguments);
Histogram* histogram = StatisticsRecorder::FindHistogram(name); Histogram* histogram = StatisticsRecorder::FindHistogram(name);
if (!histogram) { if (!histogram) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment