Index: src/heap/heap.h |
diff --git a/src/heap/heap.h b/src/heap/heap.h |
index 027dcf79554a9dafe8bcf3af7d659d6048899644..246d389b88dc97ddf6ea61dc5f1ea621f96e571d 100644 |
--- a/src/heap/heap.h |
+++ b/src/heap/heap.h |
@@ -820,6 +820,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() { |
@@ -1354,10 +1364,6 @@ class Heap { |
void RegisterNewArrayBuffer(JSArrayBuffer* buffer); |
void UnregisterArrayBuffer(JSArrayBuffer* buffer); |
- inline ArrayBufferTracker* array_buffer_tracker() { |
- return array_buffer_tracker_; |
- } |
- |
// =========================================================================== |
// Allocation site tracking. ================================================= |
// =========================================================================== |
@@ -1994,6 +2000,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_; |
@@ -2232,8 +2240,6 @@ class Heap { |
StrongRootsList* strong_roots_list_; |
- ArrayBufferTracker* array_buffer_tracker_; |
- |
// The depth of HeapIterator nestings. |
int heap_iterator_depth_; |