Index: src/heap/heap.h |
diff --git a/src/heap/heap.h b/src/heap/heap.h |
index e15c1f37e77dfa3dd43b61ed0c2125e93c871c7c..31d228aa6f547b7ebce2b9a51ff79184bfd348db 100644 |
--- a/src/heap/heap.h |
+++ b/src/heap/heap.h |
@@ -843,14 +843,9 @@ class Heap { |
int64_t external_memory() { return external_memory_; } |
void update_external_memory(int64_t delta) { external_memory_ += delta; } |
- void update_external_memory_concurrently_freed(intptr_t freed) { |
- external_memory_concurrently_freed_.Increment(freed); |
- } |
+ size_t external_memory_retained_from_new_space(); |
- void account_external_memory_concurrently_freed() { |
- external_memory_ -= external_memory_concurrently_freed_.Value(); |
- external_memory_concurrently_freed_.SetValue(0); |
- } |
+ bool ShouldDoScavengeForReducingExternalMemory(); |
void DeoptMarkedAllocationSites(); |
@@ -1405,6 +1400,8 @@ class Heap { |
void RegisterNewArrayBuffer(JSArrayBuffer* buffer); |
void UnregisterArrayBuffer(JSArrayBuffer* buffer); |
+ ArrayBufferTracker* array_buffer_tracker() { return array_buffer_tracker_; } |
+ |
// =========================================================================== |
// Allocation site tracking. ================================================= |
// =========================================================================== |
@@ -2045,9 +2042,6 @@ class Heap { |
// 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. |
Isolate* isolate_; |
@@ -2289,6 +2283,9 @@ class Heap { |
// 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; |
friend class GCCallbacksScope; |