Index: src/objects.h |
=================================================================== |
--- src/objects.h (revision 3952) |
+++ src/objects.h (working copy) |
@@ -72,7 +72,6 @@ |
// - Dictionary |
// - SymbolTable |
// - CompilationCacheTable |
-// - CodeCacheHashTable |
// - MapCache |
// - Context |
// - GlobalContext |
@@ -103,7 +102,6 @@ |
// - TypeSwitchInfo |
// - DebugInfo |
// - BreakPointInfo |
-// - CodeCache |
// |
// Formats of Object*: |
// Smi: [31 bit signed int] 0 |
@@ -271,7 +269,6 @@ |
V(SIGNATURE_INFO_TYPE) \ |
V(TYPE_SWITCH_INFO_TYPE) \ |
V(SCRIPT_TYPE) \ |
- V(CODE_CACHE_TYPE) \ |
\ |
V(JS_VALUE_TYPE) \ |
V(JS_OBJECT_TYPE) \ |
@@ -367,8 +364,7 @@ |
V(OBJECT_TEMPLATE_INFO, ObjectTemplateInfo, object_template_info) \ |
V(SIGNATURE_INFO, SignatureInfo, signature_info) \ |
V(TYPE_SWITCH_INFO, TypeSwitchInfo, type_switch_info) \ |
- V(SCRIPT, Script, script) \ |
- V(CODE_CACHE, CodeCache, code_cache) |
+ V(SCRIPT, Script, script) |
#ifdef ENABLE_DEBUGGER_SUPPORT |
#define STRUCT_LIST_DEBUGGER(V) \ |
@@ -472,7 +468,6 @@ |
SIGNATURE_INFO_TYPE, |
TYPE_SWITCH_INFO_TYPE, |
SCRIPT_TYPE, |
- CODE_CACHE_TYPE, |
#ifdef ENABLE_DEBUGGER_SUPPORT |
DEBUG_INFO_TYPE, |
BREAK_POINT_INFO_TYPE, |
@@ -606,7 +601,6 @@ |
inline bool IsDictionary(); |
inline bool IsSymbolTable(); |
inline bool IsCompilationCacheTable(); |
- inline bool IsCodeCacheHashTable(); |
inline bool IsMapCache(); |
inline bool IsPrimitive(); |
inline bool IsGlobalObject(); |
@@ -2928,7 +2922,7 @@ |
DECL_ACCESSORS(instance_descriptors, DescriptorArray) |
// [stub cache]: contains stubs compiled for this map. |
- DECL_ACCESSORS(code_cache, Object) |
+ DECL_ACCESSORS(code_cache, FixedArray) |
Object* CopyDropDescriptors(); |
@@ -3032,11 +3026,6 @@ |
static const int kNeedsLoading = 0; |
static const int kIsExtensible = 1; |
- // Layout of the default cache. It holds alternating name and code objects. |
- static const int kCodeCacheEntrySize = 2; |
- static const int kCodeCacheEntryNameOffset = 0; |
- static const int kCodeCacheEntryCodeOffset = 1; |
- |
private: |
DISALLOW_IMPLICIT_CONSTRUCTORS(Map); |
}; |
@@ -3722,93 +3711,6 @@ |
}; |
-class CodeCache: public Struct { |
- public: |
- DECL_ACCESSORS(default_cache, FixedArray) |
- DECL_ACCESSORS(normal_type_cache, Object) |
- |
- // Add the code object to the cache. |
- Object* Update(String* name, Code* code); |
- |
- // Lookup code object in the cache. Returns code object if found. |
- Object* Lookup(String* name, Code::Flags flags); |
- |
- // Get the internal index of a code object in the cache. Returns -1 if the |
- // code object is not in that cache. This index can be used to later call |
- // RemoveByIndex. The cache cannot be modified between a call to GetIndex and |
- // RemoveByIndex. |
- int GetIndex(Code* code); |
- |
- // Remove an object from the cache with the provided internal index. |
- void RemoveByIndex(int index); |
- |
- static inline CodeCache* cast(Object* obj); |
- |
-#ifdef DEBUG |
- void CodeCachePrint(); |
- void CodeCacheVerify(); |
-#endif |
- |
- static const int kDefaultCacheOffset = HeapObject::kHeaderSize; |
- static const int kNormalTypeCacheOffset = |
- kDefaultCacheOffset + kPointerSize; |
- static const int kSize = kNormalTypeCacheOffset + kPointerSize; |
- |
- private: |
- Object* UpdateDefaultCache(String* name, Code* code); |
- Object* UpdateNormalTypeCache(String* name, Code* code); |
- Object* LookupDefaultCache(String* name, Code::Flags flags); |
- Object* LookupNormalTypeCache(String* name, Code::Flags flags); |
- |
- // Code cache layout of the default cache. Elements are alternating name and |
- // code objects for non normal load/store/call IC's. |
- static const int kCodeCacheEntrySize = 2; |
- static const int kCodeCacheEntryNameOffset = 0; |
- static const int kCodeCacheEntryCodeOffset = 1; |
- |
- DISALLOW_IMPLICIT_CONSTRUCTORS(CodeCache); |
-}; |
- |
- |
-class CodeCacheHashTableShape { |
- public: |
- static inline bool IsMatch(HashTableKey* key, Object* value) { |
- return key->IsMatch(value); |
- } |
- |
- static inline uint32_t Hash(HashTableKey* key) { |
- return key->Hash(); |
- } |
- |
- static inline uint32_t HashForObject(HashTableKey* key, Object* object) { |
- return key->HashForObject(object); |
- } |
- |
- static Object* AsObject(HashTableKey* key) { |
- return key->AsObject(); |
- } |
- |
- static const int kPrefixSize = 0; |
- static const int kEntrySize = 2; |
-}; |
- |
- |
-class CodeCacheHashTable: public HashTable<CodeCacheHashTableShape, |
- HashTableKey*> { |
- public: |
- Object* Lookup(String* name, Code::Flags flags); |
- Object* Put(String* name, Code* code); |
- |
- static inline CodeCacheHashTable* cast(Object* obj); |
- |
- // Initial size of the fixed array backing the hash table. |
- static const int kInitialSize = 64; |
- |
- private: |
- DISALLOW_IMPLICIT_CONSTRUCTORS(CodeCacheHashTable); |
-}; |
- |
- |
enum AllowNullsFlag {ALLOW_NULLS, DISALLOW_NULLS}; |
enum RobustnessFlag {ROBUST_STRING_TRAVERSAL, FAST_STRING_TRAVERSAL}; |