Index: src/heap/heap.h |
diff --git a/src/heap/heap.h b/src/heap/heap.h |
index 31d228aa6f547b7ebce2b9a51ff79184bfd348db..e15c1f37e77dfa3dd43b61ed0c2125e93c871c7c 100644 |
--- a/src/heap/heap.h |
+++ b/src/heap/heap.h |
@@ -843,9 +843,14 @@ |
int64_t external_memory() { return external_memory_; } |
void update_external_memory(int64_t delta) { external_memory_ += delta; } |
- size_t external_memory_retained_from_new_space(); |
- |
- bool ShouldDoScavengeForReducingExternalMemory(); |
+ void update_external_memory_concurrently_freed(intptr_t freed) { |
+ external_memory_concurrently_freed_.Increment(freed); |
+ } |
+ |
+ void account_external_memory_concurrently_freed() { |
+ external_memory_ -= external_memory_concurrently_freed_.Value(); |
+ external_memory_concurrently_freed_.SetValue(0); |
+ } |
void DeoptMarkedAllocationSites(); |
@@ -1400,8 +1405,6 @@ |
void RegisterNewArrayBuffer(JSArrayBuffer* buffer); |
void UnregisterArrayBuffer(JSArrayBuffer* buffer); |
- ArrayBufferTracker* array_buffer_tracker() { return array_buffer_tracker_; } |
- |
// =========================================================================== |
// Allocation site tracking. ================================================= |
// =========================================================================== |
@@ -2041,6 +2044,9 @@ |
// Caches the amount of external memory registered at the last MC. |
int64_t external_memory_at_last_mark_compact_; |
+ |
+ // The amount of memory that has been freed concurrently. |
+ base::AtomicNumber<intptr_t> external_memory_concurrently_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. |
@@ -2282,9 +2288,6 @@ |
// Used for testing purposes. |
bool force_oom_; |
- |
- // Tracker for ArrayBuffers pointing to external memory. |
- ArrayBufferTracker* array_buffer_tracker_; |
// Classes in "heap" can be friends. |
friend class AlwaysAllocateScope; |