| 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;
|
|
|