Index: src/heap/heap.h |
diff --git a/src/heap/heap.h b/src/heap/heap.h |
index 470b4cee20de407dfb5a7b6ea958ce8809e0cb31..7c555c6352d00b729d4a01ac5fbf563711ceec7e 100644 |
--- a/src/heap/heap.h |
+++ b/src/heap/heap.h |
@@ -1407,22 +1407,26 @@ class Heap { |
void UpdateSurvivalStatistics(int start_new_space_size); |
- inline void IncrementPromotedObjectsSize(int object_size) { |
+ inline void IncrementPromotedObjectsSize(intptr_t object_size) { |
DCHECK_GE(object_size, 0); |
- promoted_objects_size_ += object_size; |
+ promoted_objects_size_.Increment(object_size); |
} |
- inline intptr_t promoted_objects_size() { return promoted_objects_size_; } |
- inline void IncrementSemiSpaceCopiedObjectSize(int object_size) { |
+ inline intptr_t promoted_objects_size() { |
+ return promoted_objects_size_.Value(); |
+ } |
+ |
+ inline void IncrementSemiSpaceCopiedObjectSize(intptr_t object_size) { |
DCHECK_GE(object_size, 0); |
- semi_space_copied_object_size_ += object_size; |
+ semi_space_copied_object_size_.Increment(object_size); |
} |
+ |
inline intptr_t semi_space_copied_object_size() { |
- return semi_space_copied_object_size_; |
+ return semi_space_copied_object_size_.Value(); |
} |
inline intptr_t SurvivedNewSpaceObjectSize() { |
- return promoted_objects_size_ + semi_space_copied_object_size_; |
+ return promoted_objects_size() + semi_space_copied_object_size(); |
} |
inline void IncrementNodesDiedInNewSpace() { nodes_died_in_new_space_++; } |
@@ -1431,10 +1435,18 @@ class Heap { |
inline void IncrementNodesPromoted() { nodes_promoted_++; } |
- inline void IncrementYoungSurvivorsCounter(int survived) { |
- DCHECK(survived >= 0); |
- survived_last_scavenge_ = survived; |
- survived_since_last_expansion_ += survived; |
+ inline void IncrementYoungSurvivorsCounter(intptr_t survived) { |
+ DCHECK_GE(survived, 0); |
+ survived_last_scavenge_.SetValue(survived); |
+ survived_since_last_expansion_.Increment(survived); |
+ } |
+ |
+ inline intptr_t survived_last_scavenge() { |
+ return survived_last_scavenge_.Value(); |
+ } |
+ |
+ inline intptr_t survived_since_last_expansion() { |
+ return survived_since_last_expansion_.Value(); |
} |
inline intptr_t PromotedTotalSize() { |
@@ -2181,10 +2193,10 @@ class Heap { |
// For keeping track of how much data has survived |
// scavenge since last new space expansion. |
- int survived_since_last_expansion_; |
+ AtomicNumber<intptr_t> survived_since_last_expansion_; |
// ... and since the last scavenge. |
- int survived_last_scavenge_; |
+ AtomicNumber<intptr_t> survived_last_scavenge_; |
// This is not the depth of nested AlwaysAllocateScope's but rather a single |
// count, as scopes can be acquired from multiple tasks (read: threads). |
@@ -2282,10 +2294,10 @@ class Heap { |
GCTracer* tracer_; |
int high_survival_rate_period_length_; |
- intptr_t promoted_objects_size_; |
+ AtomicNumber<intptr_t> promoted_objects_size_; |
double promotion_ratio_; |
double promotion_rate_; |
- intptr_t semi_space_copied_object_size_; |
+ AtomicNumber<intptr_t> semi_space_copied_object_size_; |
intptr_t previous_semi_space_copied_object_size_; |
double semi_space_copied_rate_; |
int nodes_died_in_new_space_; |