| Index: src/heap/heap.h
|
| diff --git a/src/heap/heap.h b/src/heap/heap.h
|
| index 66feadc6b84368b7ef13bea9f5ebd36283f1de86..f93329402142e0af400d642561b5f2dc24ac724b 100644
|
| --- a/src/heap/heap.h
|
| +++ b/src/heap/heap.h
|
| @@ -778,6 +778,11 @@
|
|
|
| inline bool OldGenerationAllocationLimitReached();
|
|
|
| + void QueueMemoryChunkForFree(MemoryChunk* chunk);
|
| + void FreeQueuedChunks(MemoryChunk* list_head);
|
| + void FreeQueuedChunks();
|
| + void WaitUntilUnmappingOfFreeChunksCompleted();
|
| +
|
| // Completely clear the Instanceof cache (to stop it keeping objects alive
|
| // around a GC).
|
| inline void CompletelyClearInstanceofCache();
|
| @@ -1385,6 +1390,7 @@
|
|
|
| private:
|
| class PretenuringScope;
|
| + class UnmapFreeMemoryTask;
|
|
|
| // External strings table is a place where all external strings are
|
| // registered. We need to keep track of such strings to properly
|
| @@ -2201,6 +2207,12 @@
|
| GCCallbackFlags current_gc_callback_flags_;
|
|
|
| ExternalStringTable external_string_table_;
|
| +
|
| + MemoryChunk* chunks_queued_for_free_;
|
| +
|
| + size_t concurrent_unmapping_tasks_active_;
|
| +
|
| + base::Semaphore pending_unmapping_tasks_semaphore_;
|
|
|
| base::Mutex relocation_mutex_;
|
|
|
|
|