Index: src/heap/heap.h |
diff --git a/src/heap/heap.h b/src/heap/heap.h |
index 3692823eeab47c8a09ed3ac0cc7b20b9d6faef30..8430c955659b8643db0dd1e0f35bc2e4dd775ac9 100644 |
--- a/src/heap/heap.h |
+++ b/src/heap/heap.h |
@@ -822,6 +822,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() { |
@@ -1356,10 +1366,6 @@ class Heap { |
void RegisterNewArrayBuffer(JSArrayBuffer* buffer); |
void UnregisterArrayBuffer(JSArrayBuffer* buffer); |
- inline ArrayBufferTracker* array_buffer_tracker() { |
- return array_buffer_tracker_; |
- } |
- |
// =========================================================================== |
// Allocation site tracking. ================================================= |
// =========================================================================== |
@@ -1997,6 +2003,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_; |
@@ -2235,8 +2243,6 @@ class Heap { |
StrongRootsList* strong_roots_list_; |
- ArrayBufferTracker* array_buffer_tracker_; |
- |
// The depth of HeapIterator nestings. |
int heap_iterator_depth_; |