Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(356)

Unified Diff: src/heap/heap.h

Issue 688853007: Implement aging of maps embedded in optimized code. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | src/heap/heap.cc » ('j') | src/heap/heap.cc » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/heap/heap.h
diff --git a/src/heap/heap.h b/src/heap/heap.h
index 184cb42b2ee8f6ef9043b1892fb65c693ab51f9f..49519a267671d7aa615c379ff312d958973b4db9 100644
--- a/src/heap/heap.h
+++ b/src/heap/heap.h
@@ -832,6 +832,8 @@ class Heap {
Object* weak_object_to_code_table() { return weak_object_to_code_table_; }
+ Object* embedded_map_cache() { return embedded_map_cache_; }
+
void set_encountered_weak_collections(Object* weak_collection) {
encountered_weak_collections_ = weak_collection;
}
@@ -861,6 +863,7 @@ class Heap {
// from start to end.
void IterateAndMarkPointersToFromSpace(Address start, Address end,
ObjectSlotCallback callback);
+ void IterateEmbeddedMapCache(ObjectVisitor* v);
// Returns whether the object resides in new space.
inline bool InNewSpace(Object* object);
@@ -1398,8 +1401,12 @@ class Heap {
set_weak_object_to_code_table(undefined_value());
}
+ void InitializeEmbeddedMapCache() { embedded_map_cache_ = undefined_value(); }
+
void EnsureWeakObjectToCodeTable();
+ void CacheEmbeddedMap(Handle<Map> map);
+
static void FatalProcessOutOfMemory(const char* location,
bool take_snapshot = false);
@@ -1583,6 +1590,8 @@ class Heap {
// start.
Object* weak_object_to_code_table_;
+ Object* embedded_map_cache_;
+
// List of encountered weak collections (JSWeakMap and JSWeakSet) during
// marking. It is initialized during marking, destroyed after marking and
// contains Smi(0) while marking is not active.
@@ -2001,6 +2010,8 @@ class Heap {
return &weak_object_to_code_table_;
}
+ Object** embedded_map_cache_address() { return &embedded_map_cache_; }
+
inline void UpdateAllocationsHash(HeapObject* object);
inline void UpdateAllocationsHash(uint32_t value);
inline void PrintAlloctionsHash();
« no previous file with comments | « no previous file | src/heap/heap.cc » ('j') | src/heap/heap.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698