Index: src/heap/heap.h |
diff --git a/src/heap/heap.h b/src/heap/heap.h |
index 12ae76583d35d72870a155eb85d4762eef5af202..7f9275a842a8d2a770c767ac210548511e665cc6 100644 |
--- a/src/heap/heap.h |
+++ b/src/heap/heap.h |
@@ -815,6 +815,16 @@ class Heap { |
amount_of_external_allocated_memory_ += delta; |
} |
+ void update_amount_of_external_allocated_freed_memory(intptr_t freed) { |
+ amount_of_external_allocated_memory_freed_.Increment(freed); |
+ } |
+ |
+ void account_amount_of_external_allocated_freed_memory() { |
+ amount_of_external_allocated_memory_ -= |
+ amount_of_external_allocated_memory_freed_.Value(); |
+ amount_of_external_allocated_memory_freed_.SetValue(0); |
+ } |
+ |
void DeoptMarkedAllocationSites(); |
bool DeoptMaybeTenuredAllocationSites() { |
@@ -1982,6 +1992,8 @@ class Heap { |
// Caches the amount of external memory registered at the last global gc. |
int64_t amount_of_external_allocated_memory_at_last_global_gc_; |
+ base::AtomicNumber<intptr_t> amount_of_external_allocated_memory_freed_; |
+ |
// This can be calculated directly from a pointer to the heap; however, it is |
// more expedient to get at the isolate directly from within Heap methods. |
Isolate* isolate_; |