Index: src/heap/spaces.h |
diff --git a/src/heap/spaces.h b/src/heap/spaces.h |
index ecea13d522d400beb86d69068aa4aa25403e3060..4f8ba95fbd81eec5b35c0d734ae38fceb4b023f0 100644 |
--- a/src/heap/spaces.h |
+++ b/src/heap/spaces.h |
@@ -2922,7 +2922,9 @@ |
public: |
explicit CompactionSpaceCollection(Heap* heap) |
: old_space_(heap, OLD_SPACE, Executability::NOT_EXECUTABLE), |
- code_space_(heap, CODE_SPACE, Executability::EXECUTABLE) {} |
+ code_space_(heap, CODE_SPACE, Executability::EXECUTABLE), |
+ duration_(0.0), |
+ bytes_compacted_(0) {} |
CompactionSpace* Get(AllocationSpace space) { |
switch (space) { |
@@ -2937,9 +2939,21 @@ |
return nullptr; |
} |
+ void ReportCompactionProgress(double duration, intptr_t bytes_compacted) { |
+ duration_ += duration; |
+ bytes_compacted_ += bytes_compacted; |
+ } |
+ |
+ double duration() const { return duration_; } |
+ intptr_t bytes_compacted() const { return bytes_compacted_; } |
+ |
private: |
CompactionSpace old_space_; |
CompactionSpace code_space_; |
+ |
+ // Book keeping. |
+ double duration_; |
+ intptr_t bytes_compacted_; |
}; |