Index: src/heap/spaces.h |
diff --git a/src/heap/spaces.h b/src/heap/spaces.h |
index f5701adc69edc2a80cee6125e1eb780516e0fddb..fd7c475b4e746b6f54eaec1698ec50366e779fb5 100644 |
--- a/src/heap/spaces.h |
+++ b/src/heap/spaces.h |
@@ -2820,6 +2820,9 @@ class LargeObjectSpace : public Space { |
// The function iterates through all objects in this space, may be slow. |
Object* FindObject(Address a); |
+ // Takes the chunk_map_mutex_ and calls FindPage after that. |
+ LargePage* FindPageThreadSafe(Address a); |
+ |
// Finds a large object page containing the given address, returns NULL |
// if such a page doesn't exist. |
LargePage* FindPage(Address a); |
@@ -2870,6 +2873,9 @@ class LargeObjectSpace : public Space { |
size_t size_; // allocated bytes |
int page_count_; // number of chunks |
size_t objects_size_; // size of objects |
+ // The chunk_map_mutex_ has to be used when the chunk map is accessed |
+ // concurrently. |
+ base::Mutex chunk_map_mutex_; |
// Map MemoryChunk::kAlignment-aligned chunks to large pages covering them |
base::HashMap chunk_map_; |