Index: src/heap/heap.h |
diff --git a/src/heap/heap.h b/src/heap/heap.h |
index 15b047c62e553b83b7bed625b427724b4d383249..1889cede8b94833eaaed2939f7d91dda6dae6f7a 100644 |
--- a/src/heap/heap.h |
+++ b/src/heap/heap.h |
@@ -1423,7 +1423,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_; } |
@@ -1600,6 +1602,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; |
@@ -2277,6 +2281,8 @@ class Heap { |
MemoryChunk* chunks_queued_for_free_; |
+ base::Semaphore pending_unmap_job_semaphore_; |
+ |
base::Mutex relocation_mutex_; |
int gc_callbacks_depth_; |