| Index: src/heap.h
|
| diff --git a/src/heap.h b/src/heap.h
|
| index ba340a24e6a2dc11d044d4546bfca6e515aded15..8906f90b13644bb9916abee9dc656777b86f5497 100644
|
| --- a/src/heap.h
|
| +++ b/src/heap.h
|
| @@ -2368,7 +2368,7 @@ class KeyedLookupCache {
|
| };
|
|
|
|
|
| -// Cache for mapping (array, property name) into descriptor index.
|
| +// Cache for mapping (map, property name) into descriptor index.
|
| // The cache contains both positive and negative results.
|
| // Descriptor index equals kNotFound means the property is absent.
|
| // Cleared at startup and prior to any gc.
|
| @@ -2376,21 +2376,21 @@ class DescriptorLookupCache {
|
| public:
|
| // Lookup descriptor index for (map, name).
|
| // If absent, kAbsent is returned.
|
| - int Lookup(DescriptorArray* array, String* name) {
|
| + int Lookup(Map* source, String* name) {
|
| if (!StringShape(name).IsSymbol()) return kAbsent;
|
| - int index = Hash(array, name);
|
| + int index = Hash(source, name);
|
| Key& key = keys_[index];
|
| - if ((key.array == array) && (key.name == name)) return results_[index];
|
| + if ((key.source == source) && (key.name == name)) return results_[index];
|
| return kAbsent;
|
| }
|
|
|
| // Update an element in the cache.
|
| - void Update(DescriptorArray* array, String* name, int result) {
|
| + void Update(Map* source, String* name, int result) {
|
| ASSERT(result != kAbsent);
|
| if (StringShape(name).IsSymbol()) {
|
| - int index = Hash(array, name);
|
| + int index = Hash(source, name);
|
| Key& key = keys_[index];
|
| - key.array = array;
|
| + key.source = source;
|
| key.name = name;
|
| results_[index] = result;
|
| }
|
| @@ -2404,26 +2404,26 @@ class DescriptorLookupCache {
|
| private:
|
| DescriptorLookupCache() {
|
| for (int i = 0; i < kLength; ++i) {
|
| - keys_[i].array = NULL;
|
| + keys_[i].source = NULL;
|
| keys_[i].name = NULL;
|
| results_[i] = kAbsent;
|
| }
|
| }
|
|
|
| - static int Hash(DescriptorArray* array, String* name) {
|
| + static int Hash(Object* source, String* name) {
|
| // Uses only lower 32 bits if pointers are larger.
|
| - uint32_t array_hash =
|
| - static_cast<uint32_t>(reinterpret_cast<uintptr_t>(array))
|
| + uint32_t source_hash =
|
| + static_cast<uint32_t>(reinterpret_cast<uintptr_t>(source))
|
| >> kPointerSizeLog2;
|
| uint32_t name_hash =
|
| static_cast<uint32_t>(reinterpret_cast<uintptr_t>(name))
|
| >> kPointerSizeLog2;
|
| - return (array_hash ^ name_hash) % kLength;
|
| + return (source_hash ^ name_hash) % kLength;
|
| }
|
|
|
| static const int kLength = 64;
|
| struct Key {
|
| - DescriptorArray* array;
|
| + Map* source;
|
| String* name;
|
| };
|
|
|
|
|