Index: src/objects.h |
=================================================================== |
--- src/objects.h (revision 556) |
+++ src/objects.h (working copy) |
@@ -58,6 +58,9 @@ |
// - HashTable |
// - Dictionary |
// - SymbolTable |
+// - CompilationCacheTable |
+// - MapCache |
+// - LookupCache |
// - Context |
// - GlobalContext |
// - String |
@@ -626,6 +629,7 @@ |
inline bool IsSymbolTable(); |
inline bool IsCompilationCacheTable(); |
inline bool IsMapCache(); |
+ inline bool IsLookupCache(); |
inline bool IsPrimitive(); |
inline bool IsGlobalObject(); |
inline bool IsJSGlobalObject(); |
@@ -1870,6 +1874,24 @@ |
}; |
+// LookupCache. |
+// |
+// Maps a key consisting of a map and a name to an index within a |
+// fast-case properties array. |
+// |
+// LookupCaches are used to avoid repeatedly searching instance |
+// descriptors. |
+class LookupCache: public HashTable<0, 2> { |
+ public: |
+ int Lookup(Map* map, String* name); |
+ Object* Put(Map* map, String* name, int offset); |
+ static inline LookupCache* cast(Object* obj); |
+ |
+ private: |
+ DISALLOW_IMPLICIT_CONSTRUCTORS(LookupCache); |
+}; |
+ |
+ |
// Dictionary for keeping properties and elements in slow case. |
// |
// One element in the prefix is used for storing non-element |