Index: src/objects.cc |
=================================================================== |
--- src/objects.cc (revision 2194) |
+++ src/objects.cc (working copy) |
@@ -6756,60 +6756,6 @@ |
}; |
-// MapNameKeys are used as keys in lookup caches. |
-class MapNameKey : public HashTableKey { |
- public: |
- MapNameKey(Map* map, String* name) |
- : map_(map), name_(name) { } |
- |
- bool IsMatch(Object* other) { |
- if (!other->IsFixedArray()) return false; |
- FixedArray* pair = FixedArray::cast(other); |
- Map* map = Map::cast(pair->get(0)); |
- if (map != map_) return false; |
- String* name = String::cast(pair->get(1)); |
- return name->Equals(name_); |
- } |
- |
- typedef uint32_t (*HashFunction)(Object* obj); |
- |
- virtual HashFunction GetHashFunction() { return MapNameHash; } |
- |
- static uint32_t MapNameHashHelper(Map* map, String* name) { |
- // Uses only lower 32 bits if pointers are larger. |
- uintptr_t addr_hash = |
- static_cast<uint32_t>(reinterpret_cast<uintptr_t>(map)); |
- return addr_hash ^ name->Hash(); |
- } |
- |
- static uint32_t MapNameHash(Object* obj) { |
- FixedArray* pair = FixedArray::cast(obj); |
- Map* map = Map::cast(pair->get(0)); |
- String* name = String::cast(pair->get(1)); |
- return MapNameHashHelper(map, name); |
- } |
- |
- virtual uint32_t Hash() { |
- return MapNameHashHelper(map_, name_); |
- } |
- |
- virtual Object* GetObject() { |
- Object* obj = Heap::AllocateFixedArray(2); |
- if (obj->IsFailure()) return obj; |
- FixedArray* pair = FixedArray::cast(obj); |
- pair->set(0, map_); |
- pair->set(1, name_); |
- return pair; |
- } |
- |
- virtual bool IsStringKey() { return false; } |
- |
- private: |
- Map* map_; |
- String* name_; |
-}; |
- |
- |
Object* MapCache::Lookup(FixedArray* array) { |
SymbolsKey key(array); |
int entry = FindEntry(&key); |
@@ -6832,31 +6778,6 @@ |
} |
-int LookupCache::Lookup(Map* map, String* name) { |
- MapNameKey key(map, name); |
- int entry = FindEntry(&key); |
- if (entry == -1) return kNotFound; |
- return Smi::cast(get(EntryToIndex(entry) + 1))->value(); |
-} |
- |
- |
-Object* LookupCache::Put(Map* map, String* name, int value) { |
- MapNameKey key(map, name); |
- Object* obj = EnsureCapacity(1, &key); |
- if (obj->IsFailure()) return obj; |
- Object* k = key.GetObject(); |
- if (k->IsFailure()) return k; |
- |
- LookupCache* cache = reinterpret_cast<LookupCache*>(obj); |
- int entry = cache->FindInsertionEntry(k, key.Hash()); |
- int index = EntryToIndex(entry); |
- cache->set(index, k); |
- cache->set(index + 1, Smi::FromInt(value), SKIP_WRITE_BARRIER); |
- cache->ElementAdded(); |
- return cache; |
-} |
- |
- |
Object* Dictionary::Allocate(int at_least_space_for) { |
Object* obj = DictionaryBase::Allocate(at_least_space_for); |
// Initialize the next enumeration index. |