1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
Description: Use `Stats*` instead of `Stats`
Forwarded: not-needed
--- a/libartbase/base/stats.h
+++ b/libartbase/base/stats.h
@@ -28,8 +28,8 @@ class Stats {
public:
double Value() const { return value_; }
size_t Count() const { return count_; }
- Stats* Child(const char* name) { return &children_[name]; }
- const std::unordered_map<const char*, Stats>& Children() const { return children_; }
+ Stats* Child(const char* name) { return &(*children_)[name]; }
+ const std::unordered_map<const char*, Stats>& Children() const { return *children_; }
void AddBytes(double bytes, size_t count = 1) { Add(bytes, count); }
void AddBits(double bits, size_t count = 1) { Add(bits / kBitsPerByte, count); }
@@ -38,7 +38,7 @@ class Stats {
double SumChildrenValues() const {
double sum = 0.0;
- for (auto it : children_) {
+ for (auto it : *children_) {
sum += it.second.Value();
}
return sum;
@@ -52,7 +52,7 @@ class Stats {
double value_ = 0.0; // Commutative sum of the collected statistic in basic units.
size_t count_ = 0; // The number of samples for this node.
- std::unordered_map<const char*, Stats> children_;
+ std::unordered_map<const char*, Stats>* children_;
};
} // namespace art
|