| Index: src/objects.h
|
| diff --git a/src/objects.h b/src/objects.h
|
| index c52a17bef6192a1203d7d6acfc388ae03b538d34..eb5fc790900da0df9bf82541d656df6da55808a2 100644
|
| --- a/src/objects.h
|
| +++ b/src/objects.h
|
| @@ -980,6 +980,7 @@ template <class C> inline bool Is(Object* obj);
|
| V(JSRegExp) \
|
| V(HashTable) \
|
| V(Dictionary) \
|
| + V(UnseededNumberDictionary) \
|
| V(StringTable) \
|
| V(StringSet) \
|
| V(NormalizedMapCache) \
|
| @@ -1078,7 +1079,6 @@ class Object {
|
| INLINE(bool IsNameDictionary() const);
|
| INLINE(bool IsGlobalDictionary() const);
|
| INLINE(bool IsSeededNumberDictionary() const);
|
| - INLINE(bool IsUnseededNumberDictionary() const);
|
| INLINE(bool IsOrderedHashSet() const);
|
| INLINE(bool IsOrderedHashMap() const);
|
|
|
| @@ -3124,6 +3124,7 @@ class BaseShape {
|
| DCHECK(UsesSeed);
|
| return HashForObject(key, object);
|
| }
|
| + static inline Map* GetMap(Isolate* isolate);
|
| };
|
|
|
|
|
| @@ -3646,7 +3647,6 @@ class NumberDictionaryShape : public BaseDictionaryShape<uint32_t> {
|
| public:
|
| static inline bool IsMatch(uint32_t key, Object* other);
|
| static inline Handle<Object> AsHandle(Isolate* isolate, uint32_t key);
|
| - static const int kEntrySize = 3;
|
| static const bool kIsEnumerable = false;
|
| };
|
|
|
| @@ -3655,6 +3655,7 @@ class SeededNumberDictionaryShape : public NumberDictionaryShape {
|
| public:
|
| static const bool UsesSeed = true;
|
| static const int kPrefixSize = 2;
|
| + static const int kEntrySize = 3;
|
|
|
| static inline uint32_t SeededHash(uint32_t key, uint32_t seed);
|
| static inline uint32_t SeededHashForObject(uint32_t key,
|
| @@ -3666,9 +3667,24 @@ class SeededNumberDictionaryShape : public NumberDictionaryShape {
|
| class UnseededNumberDictionaryShape : public NumberDictionaryShape {
|
| public:
|
| static const int kPrefixSize = 0;
|
| + static const int kEntrySize = 2;
|
|
|
| static inline uint32_t Hash(uint32_t key);
|
| static inline uint32_t HashForObject(uint32_t key, Object* object);
|
| +
|
| + template <typename Dictionary>
|
| + static inline PropertyDetails DetailsAt(Dictionary* dict, int entry) {
|
| + UNREACHABLE();
|
| + return PropertyDetails::Empty();
|
| + }
|
| +
|
| + template <typename Dictionary>
|
| + static inline void DetailsAtPut(Dictionary* dict, int entry,
|
| + PropertyDetails value) {
|
| + UNREACHABLE();
|
| + }
|
| +
|
| + static inline Map* GetMap(Isolate* isolate);
|
| };
|
|
|
|
|
|
|