Index: src/heap/heap.h |
diff --git a/src/heap/heap.h b/src/heap/heap.h |
index 0d7b77d0765723218213ceeecca9b9953574f8cc..ad1a6e8cbed53e688c25de7647401809d6f5728a 100644 |
--- a/src/heap/heap.h |
+++ b/src/heap/heap.h |
@@ -1442,7 +1442,9 @@ class Heap { |
void QueueMemoryChunkForFree(MemoryChunk* chunk); |
void FilterStoreBufferEntriesOnAboutToBeFreedPages(); |
+ void FreeQueuedChunks(MemoryChunk* list_head); |
void FreeQueuedChunks(); |
+ void WaitUntilUnmappingOfFreeChunksCompleted(); |
int gc_count() const { return gc_count_; } |
@@ -1619,6 +1621,8 @@ class Heap { |
bool ShouldOptimizeForMemoryUsage() { return optimize_for_memory_usage_; } |
private: |
+ class UnmapFreeMemoryTask; |
+ |
static const int kInitialStringTableSize = 2048; |
static const int kInitialEvalCacheSize = 64; |
static const int kInitialNumberStringCacheSize = 256; |
@@ -2296,6 +2300,8 @@ class Heap { |
MemoryChunk* chunks_queued_for_free_; |
+ base::Semaphore pending_unmap_job_semaphore_; |
+ |
base::Mutex relocation_mutex_; |
int gc_callbacks_depth_; |