| Index: src/heap-snapshot-generator.cc
|
| diff --git a/src/heap-snapshot-generator.cc b/src/heap-snapshot-generator.cc
|
| index 1c8a7b3dc4d7a3bb93cee7dce1d5ab68eae4c248..9f9f84a01dc3d3fb53d165e97ad7bd060d8538c9 100644
|
| --- a/src/heap-snapshot-generator.cc
|
| +++ b/src/heap-snapshot-generator.cc
|
| @@ -369,12 +369,6 @@ const SnapshotObjectId HeapObjectsMap::kFirstAvailableObjectId =
|
| HeapObjectsMap::kGcRootsFirstSubrootId +
|
| VisitorSynchronization::kNumberOfSyncTags * HeapObjectsMap::kObjectIdStep;
|
|
|
| -
|
| -static bool AddressesMatch(void* key1, void* key2) {
|
| - return key1 == key2;
|
| -}
|
| -
|
| -
|
| HeapObjectsMap::HeapObjectsMap(Heap* heap)
|
| : next_id_(kFirstAvailableObjectId),
|
| entries_map_(AddressesMatch),
|
| @@ -399,20 +393,19 @@ void HeapObjectsMap::MoveObject(Address from, Address to) {
|
| ASSERT(to != NULL);
|
| ASSERT(from != NULL);
|
| if (from == to) return;
|
| - void* from_value = entries_map_.Remove(from, ComputePointerHash(from));
|
| + void* from_value = entries_map_.Remove(from, AddressHash(from));
|
| if (from_value == NULL) {
|
| // It may occur that some untracked object moves to an address X and there
|
| // is a tracked object at that address. In this case we should remove the
|
| // entry as we know that the object has died.
|
| - void* to_value = entries_map_.Remove(to, ComputePointerHash(to));
|
| + void* to_value = entries_map_.Remove(to, AddressHash(to));
|
| if (to_value != NULL) {
|
| int to_entry_info_index =
|
| static_cast<int>(reinterpret_cast<intptr_t>(to_value));
|
| entries_.at(to_entry_info_index).addr = NULL;
|
| }
|
| } else {
|
| - HashMap::Entry* to_entry = entries_map_.Lookup(to, ComputePointerHash(to),
|
| - true);
|
| + HashMap::Entry* to_entry = entries_map_.Lookup(to, AddressHash(to), true);
|
| if (to_entry->value != NULL) {
|
| // We found the existing entry with to address for an old object.
|
| // Without this operation we will have two EntryInfo's with the same
|
| @@ -432,8 +425,7 @@ void HeapObjectsMap::MoveObject(Address from, Address to) {
|
|
|
|
|
| SnapshotObjectId HeapObjectsMap::FindEntry(Address addr) {
|
| - HashMap::Entry* entry = entries_map_.Lookup(addr, ComputePointerHash(addr),
|
| - false);
|
| + HashMap::Entry* entry = entries_map_.Lookup(addr, AddressHash(addr), false);
|
| if (entry == NULL) return 0;
|
| int entry_index = static_cast<int>(reinterpret_cast<intptr_t>(entry->value));
|
| EntryInfo& entry_info = entries_.at(entry_index);
|
| @@ -445,8 +437,7 @@ SnapshotObjectId HeapObjectsMap::FindEntry(Address addr) {
|
| SnapshotObjectId HeapObjectsMap::FindOrAddEntry(Address addr,
|
| unsigned int size) {
|
| ASSERT(static_cast<uint32_t>(entries_.length()) > entries_map_.occupancy());
|
| - HashMap::Entry* entry = entries_map_.Lookup(addr, ComputePointerHash(addr),
|
| - true);
|
| + HashMap::Entry* entry = entries_map_.Lookup(addr, AddressHash(addr), true);
|
| if (entry->value != NULL) {
|
| int entry_index =
|
| static_cast<int>(reinterpret_cast<intptr_t>(entry->value));
|
| @@ -541,14 +532,13 @@ void HeapObjectsMap::RemoveDeadEntries() {
|
| }
|
| entries_.at(first_free_entry).accessed = false;
|
| HashMap::Entry* entry = entries_map_.Lookup(
|
| - entry_info.addr, ComputePointerHash(entry_info.addr), false);
|
| + entry_info.addr, AddressHash(entry_info.addr), false);
|
| ASSERT(entry);
|
| entry->value = reinterpret_cast<void*>(first_free_entry);
|
| ++first_free_entry;
|
| } else {
|
| if (entry_info.addr) {
|
| - entries_map_.Remove(entry_info.addr,
|
| - ComputePointerHash(entry_info.addr));
|
| + entries_map_.Remove(entry_info.addr, AddressHash(entry_info.addr));
|
| }
|
| }
|
| }
|
|
|