Index: src/objects.h |
diff --git a/src/objects.h b/src/objects.h |
index f8b9ad1e9a92f4209e0d72674db29dc7b4669327..760a7a12cf517bbefc3a7fd48122d0b43198c06f 100644 |
--- a/src/objects.h |
+++ b/src/objects.h |
@@ -3681,8 +3681,7 @@ class HashTable: public FixedArray { |
// Wrapper methods |
inline uint32_t Hash(Key key) { |
if (Shape::UsesSeed) { |
- return Shape::SeededHash(key, |
- GetHeap()->HashSeed()); |
+ return Shape::SeededHash(key, GetHeap()->HashSeed()); |
} else { |
return Shape::Hash(key); |
} |
@@ -3690,8 +3689,7 @@ class HashTable: public FixedArray { |
inline uint32_t HashForObject(Key key, Object* object) { |
if (Shape::UsesSeed) { |
- return Shape::SeededHashForObject(key, |
- GetHeap()->HashSeed(), object); |
+ return Shape::SeededHashForObject(key, GetHeap()->HashSeed(), object); |
} else { |
return Shape::HashForObject(key, object); |
} |
@@ -4260,13 +4258,14 @@ class UnseededNumberDictionary |
}; |
-class ObjectHashTableShape : public BaseShape<Object*> { |
+class ObjectHashTableShape : public BaseShape<Handle<Object> > { |
public: |
- static inline bool IsMatch(Object* key, Object* other); |
- static inline uint32_t Hash(Object* key); |
- static inline uint32_t HashForObject(Object* key, Object* object); |
+ static inline bool IsMatch(Handle<Object> key, Object* other); |
+ static inline uint32_t Hash(Handle<Object> key); |
+ static inline uint32_t HashForObject(Handle<Object> key, Object* object); |
MUST_USE_RESULT static inline MaybeObject* AsObject(Heap* heap, |
- Object* key); |
+ Handle<Object> key); |
+ static inline Handle<Object> AsHandle(Isolate* isolate, Handle<Object> key); |
static const int kPrefixSize = 0; |
static const int kEntrySize = 2; |
}; |
@@ -4276,9 +4275,9 @@ class ObjectHashTableShape : public BaseShape<Object*> { |
// using the identity hash of the key for hashing purposes. |
class ObjectHashTable: public HashTable<ObjectHashTable, |
ObjectHashTableShape, |
- Object*> { |
+ Handle<Object> > { |
typedef HashTable< |
- ObjectHashTable, ObjectHashTableShape, Object*> DerivedHashTable; |
+ ObjectHashTable, ObjectHashTableShape, Handle<Object> > DerivedHashTable; |
public: |
static inline ObjectHashTable* cast(Object* obj) { |
ASSERT(obj->IsHashTable()); |
@@ -4294,6 +4293,10 @@ class ObjectHashTable: public HashTable<ObjectHashTable, |
// returned in case the key is not present. |
Object* Lookup(Object* key); |
+ int FindEntry(Handle<Object> key); |
+ // TODO(ishell): Remove this when all the callers are handlified. |
+ int FindEntry(Object* key); |
+ |
// Adds (or overwrites) the value associated with the given key. Mapping a |
// key to the hole value causes removal of the whole entry. |
static Handle<ObjectHashTable> Put(Handle<ObjectHashTable> table, |
@@ -4492,13 +4495,12 @@ class OrderedHashMap:public OrderedHashTable< |
template <int entrysize> |
-class WeakHashTableShape : public BaseShape<Object*> { |
+class WeakHashTableShape : public BaseShape<Handle<Object> > { |
public: |
- static inline bool IsMatch(Object* key, Object* other); |
- static inline uint32_t Hash(Object* key); |
- static inline uint32_t HashForObject(Object* key, Object* object); |
- MUST_USE_RESULT static inline MaybeObject* AsObject(Heap* heap, |
- Object* key); |
+ static inline bool IsMatch(Handle<Object> key, Object* other); |
+ static inline uint32_t Hash(Handle<Object> key); |
+ static inline uint32_t HashForObject(Handle<Object> key, Object* object); |
+ static inline Handle<Object> AsHandle(Isolate* isolate, Handle<Object> key); |
static const int kPrefixSize = 0; |
static const int kEntrySize = entrysize; |
}; |
@@ -4509,7 +4511,9 @@ class WeakHashTableShape : public BaseShape<Object*> { |
// embedded in optimized code to dependent code lists. |
class WeakHashTable: public HashTable<WeakHashTable, |
WeakHashTableShape<2>, |
- Object*> { |
+ Handle<Object> > { |
+ typedef HashTable< |
+ WeakHashTable, WeakHashTableShape<2>, Handle<Object> > DerivedHashTable; |
public: |
static inline WeakHashTable* cast(Object* obj) { |
ASSERT(obj->IsHashTable()); |
@@ -4520,6 +4524,10 @@ class WeakHashTable: public HashTable<WeakHashTable, |
// returned in case the key is not present. |
Object* Lookup(Object* key); |
+ int FindEntry(Handle<Object> key); |
+ // TODO(ishell): Remove this when all the callers are handlified. |
+ int FindEntry(Object* key); |
+ |
// Adds (or overwrites) the value associated with the given key. Mapping a |
// key to the hole value causes removal of the whole entry. |
MUST_USE_RESULT static Handle<WeakHashTable> Put(Handle<WeakHashTable> table, |