| Index: src/identity-map.h
|
| diff --git a/src/identity-map.h b/src/identity-map.h
|
| index 7c3e6a98bff94fc5e5c8928798e824fc8f2b4555..2c4a0f33991f48401ecb9668218a374333d6c5c9 100644
|
| --- a/src/identity-map.h
|
| +++ b/src/identity-map.h
|
| @@ -17,11 +17,6 @@ class Zone;
|
| // Base class of identity maps contains shared code for all template
|
| // instantions.
|
| class IdentityMapBase {
|
| - public:
|
| - // Enable or disable concurrent mode for this map. Concurrent mode implies
|
| - // taking the heap's relocation lock during most operations.
|
| - void SetConcurrent(bool concurrent) { concurrent_ = concurrent; }
|
| -
|
| protected:
|
| // Allow Tester to access internals, including changing the address of objects
|
| // within the {keys_} array in order to simulate a moving GC.
|
| @@ -32,7 +27,6 @@ class IdentityMapBase {
|
| IdentityMapBase(Heap* heap, Zone* zone)
|
| : heap_(heap),
|
| zone_(zone),
|
| - concurrent_(false),
|
| gc_counter_(-1),
|
| size_(0),
|
| mask_(0),
|
| @@ -40,8 +34,8 @@ class IdentityMapBase {
|
| values_(nullptr) {}
|
| ~IdentityMapBase();
|
|
|
| - RawEntry GetEntry(Handle<Object> key);
|
| - RawEntry FindEntry(Handle<Object> key);
|
| + RawEntry GetEntry(Object* key);
|
| + RawEntry FindEntry(Object* key);
|
|
|
| private:
|
| // Internal implementation should not be called directly by subclasses.
|
| @@ -49,13 +43,12 @@ class IdentityMapBase {
|
| int InsertIndex(Object* address);
|
| void Rehash();
|
| void Resize();
|
| - RawEntry Lookup(Handle<Object> key);
|
| - RawEntry Insert(Handle<Object> key);
|
| + RawEntry Lookup(Object* key);
|
| + RawEntry Insert(Object* key);
|
| int Hash(Object* address);
|
|
|
| Heap* heap_;
|
| Zone* zone_;
|
| - bool concurrent_;
|
| int gc_counter_;
|
| int size_;
|
| int mask_;
|
| @@ -79,18 +72,19 @@ class IdentityMap : public IdentityMapBase {
|
| // as the identity, returning:
|
| // found => a pointer to the storage location for the value
|
| // not found => a pointer to a new storage location for the value
|
| - V* Get(Handle<Object> key) { return reinterpret_cast<V*>(GetEntry(key)); }
|
| + V* Get(Handle<Object> key) { return Get(*key); }
|
| + V* Get(Object* key) { return reinterpret_cast<V*>(GetEntry(key)); }
|
|
|
| // Searches this map for the given key using the object's address
|
| // as the identity, returning:
|
| // found => a pointer to the storage location for the value
|
| // not found => {nullptr}
|
| - V* Find(Handle<Object> key) { return reinterpret_cast<V*>(FindEntry(key)); }
|
| + V* Find(Handle<Object> key) { return Find(*key); }
|
| + V* Find(Object* key) { return reinterpret_cast<V*>(FindEntry(key)); }
|
|
|
| // Set the value for the given key.
|
| - void Set(Handle<Object> key, V value) {
|
| - *(reinterpret_cast<V*>(GetEntry(key))) = value;
|
| - }
|
| + void Set(Handle<Object> key, V v) { Set(*key, v); }
|
| + void Set(Object* key, V v) { *(reinterpret_cast<V*>(GetEntry(key))) = v; }
|
| };
|
| } // namespace internal
|
| } // namespace v8
|
|
|