| Index: src/profiler/heap-snapshot-generator.cc
|
| diff --git a/src/profiler/heap-snapshot-generator.cc b/src/profiler/heap-snapshot-generator.cc
|
| index 74e70ffd02765263f9a9663675f6fbe04230cef3..c80877f62392923612654013cbd2e526472d3d14 100644
|
| --- a/src/profiler/heap-snapshot-generator.cc
|
| +++ b/src/profiler/heap-snapshot-generator.cc
|
| @@ -392,7 +392,7 @@ bool HeapObjectsMap::MoveObject(Address from, Address to, int object_size) {
|
| entries_.at(to_entry_info_index).addr = NULL;
|
| }
|
| } else {
|
| - HashMap::Entry* to_entry =
|
| + base::HashMap::Entry* to_entry =
|
| entries_map_.LookupOrInsert(to, ComputePointerHash(to));
|
| if (to_entry->value != NULL) {
|
| // We found the existing entry with to address for an old object.
|
| @@ -428,7 +428,8 @@ void HeapObjectsMap::UpdateObjectSize(Address addr, int size) {
|
|
|
|
|
| SnapshotObjectId HeapObjectsMap::FindEntry(Address addr) {
|
| - HashMap::Entry* entry = entries_map_.Lookup(addr, ComputePointerHash(addr));
|
| + base::HashMap::Entry* entry =
|
| + entries_map_.Lookup(addr, ComputePointerHash(addr));
|
| if (entry == NULL) return 0;
|
| int entry_index = static_cast<int>(reinterpret_cast<intptr_t>(entry->value));
|
| EntryInfo& entry_info = entries_.at(entry_index);
|
| @@ -441,7 +442,7 @@ SnapshotObjectId HeapObjectsMap::FindOrAddEntry(Address addr,
|
| unsigned int size,
|
| bool accessed) {
|
| DCHECK(static_cast<uint32_t>(entries_.length()) > entries_map_.occupancy());
|
| - HashMap::Entry* entry =
|
| + base::HashMap::Entry* entry =
|
| entries_map_.LookupOrInsert(addr, ComputePointerHash(addr));
|
| if (entry->value != NULL) {
|
| int entry_index =
|
| @@ -545,7 +546,7 @@ int HeapObjectsMap::FindUntrackedObjects() {
|
| for (HeapObject* obj = iterator.next();
|
| obj != NULL;
|
| obj = iterator.next()) {
|
| - HashMap::Entry* entry =
|
| + base::HashMap::Entry* entry =
|
| entries_map_.Lookup(obj->address(), ComputePointerHash(obj->address()));
|
| if (entry == NULL) {
|
| ++untracked;
|
| @@ -665,7 +666,7 @@ void HeapObjectsMap::RemoveDeadEntries() {
|
| entries_.at(first_free_entry) = entry_info;
|
| }
|
| entries_.at(first_free_entry).accessed = false;
|
| - HashMap::Entry* entry = entries_map_.Lookup(
|
| + base::HashMap::Entry* entry = entries_map_.Lookup(
|
| entry_info.addr, ComputePointerHash(entry_info.addr));
|
| DCHECK(entry);
|
| entry->value = reinterpret_cast<void*>(first_free_entry);
|
| @@ -698,37 +699,28 @@ SnapshotObjectId HeapObjectsMap::GenerateId(v8::RetainedObjectInfo* info) {
|
|
|
|
|
| size_t HeapObjectsMap::GetUsedMemorySize() const {
|
| - return
|
| - sizeof(*this) +
|
| - sizeof(HashMap::Entry) * entries_map_.capacity() +
|
| - GetMemoryUsedByList(entries_) +
|
| - GetMemoryUsedByList(time_intervals_);
|
| -}
|
| -
|
| -
|
| -HeapEntriesMap::HeapEntriesMap()
|
| - : entries_(HashMap::PointersMatch) {
|
| + return sizeof(*this) +
|
| + sizeof(base::HashMap::Entry) * entries_map_.capacity() +
|
| + GetMemoryUsedByList(entries_) + GetMemoryUsedByList(time_intervals_);
|
| }
|
|
|
| +HeapEntriesMap::HeapEntriesMap() : entries_(base::HashMap::PointersMatch) {}
|
|
|
| int HeapEntriesMap::Map(HeapThing thing) {
|
| - HashMap::Entry* cache_entry = entries_.Lookup(thing, Hash(thing));
|
| + base::HashMap::Entry* cache_entry = entries_.Lookup(thing, Hash(thing));
|
| if (cache_entry == NULL) return HeapEntry::kNoEntry;
|
| return static_cast<int>(reinterpret_cast<intptr_t>(cache_entry->value));
|
| }
|
|
|
|
|
| void HeapEntriesMap::Pair(HeapThing thing, int entry) {
|
| - HashMap::Entry* cache_entry = entries_.LookupOrInsert(thing, Hash(thing));
|
| + base::HashMap::Entry* cache_entry =
|
| + entries_.LookupOrInsert(thing, Hash(thing));
|
| DCHECK(cache_entry->value == NULL);
|
| cache_entry->value = reinterpret_cast<void*>(static_cast<intptr_t>(entry));
|
| }
|
|
|
| -
|
| -HeapObjectsSet::HeapObjectsSet()
|
| - : entries_(HashMap::PointersMatch) {
|
| -}
|
| -
|
| +HeapObjectsSet::HeapObjectsSet() : entries_(base::HashMap::PointersMatch) {}
|
|
|
| void HeapObjectsSet::Clear() {
|
| entries_.Clear();
|
| @@ -751,7 +743,7 @@ void HeapObjectsSet::Insert(Object* obj) {
|
|
|
| const char* HeapObjectsSet::GetTag(Object* obj) {
|
| HeapObject* object = HeapObject::cast(obj);
|
| - HashMap::Entry* cache_entry =
|
| + base::HashMap::Entry* cache_entry =
|
| entries_.Lookup(object, HeapEntriesMap::Hash(object));
|
| return cache_entry != NULL
|
| ? reinterpret_cast<const char*>(cache_entry->value)
|
| @@ -762,7 +754,7 @@ const char* HeapObjectsSet::GetTag(Object* obj) {
|
| void HeapObjectsSet::SetTag(Object* obj, const char* tag) {
|
| if (!obj->IsHeapObject()) return;
|
| HeapObject* object = HeapObject::cast(obj);
|
| - HashMap::Entry* cache_entry =
|
| + base::HashMap::Entry* cache_entry =
|
| entries_.LookupOrInsert(object, HeapEntriesMap::Hash(object));
|
| cache_entry->value = const_cast<char*>(tag);
|
| }
|
| @@ -2254,8 +2246,7 @@ NativeObjectsExplorer::NativeObjectsExplorer(
|
|
|
|
|
| NativeObjectsExplorer::~NativeObjectsExplorer() {
|
| - for (HashMap::Entry* p = objects_by_info_.Start();
|
| - p != NULL;
|
| + for (base::HashMap::Entry* p = objects_by_info_.Start(); p != NULL;
|
| p = objects_by_info_.Next(p)) {
|
| v8::RetainedObjectInfo* info =
|
| reinterpret_cast<v8::RetainedObjectInfo*>(p->key);
|
| @@ -2264,8 +2255,7 @@ NativeObjectsExplorer::~NativeObjectsExplorer() {
|
| reinterpret_cast<List<HeapObject*>* >(p->value);
|
| delete objects;
|
| }
|
| - for (HashMap::Entry* p = native_groups_.Start();
|
| - p != NULL;
|
| + for (base::HashMap::Entry* p = native_groups_.Start(); p != NULL;
|
| p = native_groups_.Next(p)) {
|
| v8::RetainedObjectInfo* info =
|
| reinterpret_cast<v8::RetainedObjectInfo*>(p->value);
|
| @@ -2337,7 +2327,8 @@ void NativeObjectsExplorer::FillImplicitReferences() {
|
|
|
| List<HeapObject*>* NativeObjectsExplorer::GetListMaybeDisposeInfo(
|
| v8::RetainedObjectInfo* info) {
|
| - HashMap::Entry* entry = objects_by_info_.LookupOrInsert(info, InfoHash(info));
|
| + base::HashMap::Entry* entry =
|
| + objects_by_info_.LookupOrInsert(info, InfoHash(info));
|
| if (entry->value != NULL) {
|
| info->Dispose();
|
| } else {
|
| @@ -2353,8 +2344,7 @@ bool NativeObjectsExplorer::IterateAndExtractReferences(
|
| FillRetainedObjects();
|
| FillImplicitReferences();
|
| if (EstimateObjectsCount() > 0) {
|
| - for (HashMap::Entry* p = objects_by_info_.Start();
|
| - p != NULL;
|
| + for (base::HashMap::Entry* p = objects_by_info_.Start(); p != NULL;
|
| p = objects_by_info_.Next(p)) {
|
| v8::RetainedObjectInfo* info =
|
| reinterpret_cast<v8::RetainedObjectInfo*>(p->key);
|
| @@ -2406,7 +2396,7 @@ NativeGroupRetainedObjectInfo* NativeObjectsExplorer::FindOrAddGroupInfo(
|
| label_copy,
|
| static_cast<int>(strlen(label_copy)),
|
| isolate_->heap()->HashSeed());
|
| - HashMap::Entry* entry =
|
| + base::HashMap::Entry* entry =
|
| native_groups_.LookupOrInsert(const_cast<char*>(label_copy), hash);
|
| if (entry->value == NULL) {
|
| entry->value = new NativeGroupRetainedObjectInfo(label);
|
| @@ -2452,8 +2442,7 @@ void NativeObjectsExplorer::SetWrapperNativeReferences(
|
|
|
|
|
| void NativeObjectsExplorer::SetRootNativeRootsReference() {
|
| - for (HashMap::Entry* entry = native_groups_.Start();
|
| - entry;
|
| + for (base::HashMap::Entry* entry = native_groups_.Start(); entry;
|
| entry = native_groups_.Next(entry)) {
|
| NativeGroupRetainedObjectInfo* group_info =
|
| static_cast<NativeGroupRetainedObjectInfo*>(entry->value);
|
| @@ -2721,7 +2710,7 @@ void HeapSnapshotJSONSerializer::SerializeImpl() {
|
|
|
|
|
| int HeapSnapshotJSONSerializer::GetStringId(const char* s) {
|
| - HashMap::Entry* cache_entry =
|
| + base::HashMap::Entry* cache_entry =
|
| strings_.LookupOrInsert(const_cast<char*>(s), StringHash(s));
|
| if (cache_entry->value == NULL) {
|
| cache_entry->value = reinterpret_cast<void*>(next_string_id_++);
|
| @@ -3106,8 +3095,7 @@ void HeapSnapshotJSONSerializer::SerializeString(const unsigned char* s) {
|
| void HeapSnapshotJSONSerializer::SerializeStrings() {
|
| ScopedVector<const unsigned char*> sorted_strings(
|
| strings_.occupancy() + 1);
|
| - for (HashMap::Entry* entry = strings_.Start();
|
| - entry != NULL;
|
| + for (base::HashMap::Entry* entry = strings_.Start(); entry != NULL;
|
| entry = strings_.Next(entry)) {
|
| int index = static_cast<int>(reinterpret_cast<uintptr_t>(entry->value));
|
| sorted_strings[index] = reinterpret_cast<const unsigned char*>(entry->key);
|
|
|