Use `Stats*` instead of `Stats`
authorAndroid Tools Maintainers <android-tools-devel@lists.alioth.debian.org>
Mon, 27 Jun 2022 17:30:12 +0000 (18:30 +0100)
committerRoger Shimizu <rosh@debian.org>
Mon, 27 Jun 2022 17:30:12 +0000 (18:30 +0100)
Forwarded: not-needed

Gbp-Pq: Topic art
Gbp-Pq: Name stats-incomplete-def.patch

art/libartbase/base/stats.h

index 4dcbfe81c67b1ae09b70b3682b8c0f3f67f7ba16..b399e978482ba607098e938b0359e1116bf2916f 100644 (file)
@@ -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