OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 2798 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2809 SetRootNativeRootsReference(); | 2809 SetRootNativeRootsReference(); |
2810 filler_ = NULL; | 2810 filler_ = NULL; |
2811 return true; | 2811 return true; |
2812 } | 2812 } |
2813 | 2813 |
2814 | 2814 |
2815 class NativeGroupRetainedObjectInfo : public v8::RetainedObjectInfo { | 2815 class NativeGroupRetainedObjectInfo : public v8::RetainedObjectInfo { |
2816 public: | 2816 public: |
2817 explicit NativeGroupRetainedObjectInfo(const char* label) | 2817 explicit NativeGroupRetainedObjectInfo(const char* label) |
2818 : disposed_(false), | 2818 : disposed_(false), |
2819 hash_(reinterpret_cast<intptr_t>(label)), | 2819 hash_(reinterpret_cast<int>(label)), |
2820 label_(label) { | 2820 label_(label) { |
2821 } | 2821 } |
2822 | 2822 |
2823 virtual ~NativeGroupRetainedObjectInfo() {} | 2823 virtual ~NativeGroupRetainedObjectInfo() {} |
2824 virtual void Dispose() { | 2824 virtual void Dispose() { |
2825 CHECK(!disposed_); | 2825 CHECK(!disposed_); |
2826 disposed_ = true; | 2826 disposed_ = true; |
2827 } | 2827 } |
2828 virtual bool IsEquivalent(RetainedObjectInfo* other) { | 2828 virtual bool IsEquivalent(RetainedObjectInfo* other) { |
2829 return hash_ == other->GetHash() && !strcmp(label_, other->GetLabel()); | 2829 return hash_ == other->GetHash() && !strcmp(label_, other->GetLabel()); |
2830 } | 2830 } |
2831 virtual intptr_t GetHash() { return hash_; } | 2831 virtual intptr_t GetHash() { return hash_; } |
2832 virtual const char* GetLabel() { return label_; } | 2832 virtual const char* GetLabel() { return label_; } |
2833 | 2833 |
2834 private: | 2834 private: |
2835 bool disposed_; | 2835 bool disposed_; |
2836 int hash_; | 2836 int hash_; |
2837 const char* label_; | 2837 const char* label_; |
2838 }; | 2838 }; |
2839 | 2839 |
2840 | 2840 |
2841 NativeGroupRetainedObjectInfo* NativeObjectsExplorer::FindOrAddGroupInfo( | 2841 NativeGroupRetainedObjectInfo* NativeObjectsExplorer::FindOrAddGroupInfo( |
2842 const char* label) { | 2842 const char* label) { |
2843 const char* label_copy = collection_->names()->GetCopy(label); | 2843 const char* label_copy = collection_->names()->GetCopy(label); |
2844 intptr_t hash = HashSequentialString(label_copy, strlen(label_copy), | 2844 uint32_t hash = HashSequentialString(label_copy, |
| 2845 static_cast<int>(strlen(label_copy)), |
2845 HEAP->HashSeed()); | 2846 HEAP->HashSeed()); |
2846 HashMap::Entry* entry = native_groups_.Lookup(const_cast<char*>(label_copy), | 2847 HashMap::Entry* entry = native_groups_.Lookup(const_cast<char*>(label_copy), |
2847 hash, true); | 2848 hash, true); |
2848 if (entry->value == NULL) | 2849 if (entry->value == NULL) |
2849 entry->value = new NativeGroupRetainedObjectInfo(label); | 2850 entry->value = new NativeGroupRetainedObjectInfo(label); |
2850 return static_cast<NativeGroupRetainedObjectInfo*>(entry->value); | 2851 return static_cast<NativeGroupRetainedObjectInfo*>(entry->value); |
2851 } | 2852 } |
2852 | 2853 |
2853 | 2854 |
2854 void NativeObjectsExplorer::SetNativeRootReference( | 2855 void NativeObjectsExplorer::SetNativeRootReference( |
(...skipping 803 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3658 | 3659 |
3659 | 3660 |
3660 void HeapSnapshotJSONSerializer::SortHashMap( | 3661 void HeapSnapshotJSONSerializer::SortHashMap( |
3661 HashMap* map, List<HashMap::Entry*>* sorted_entries) { | 3662 HashMap* map, List<HashMap::Entry*>* sorted_entries) { |
3662 for (HashMap::Entry* p = map->Start(); p != NULL; p = map->Next(p)) | 3663 for (HashMap::Entry* p = map->Start(); p != NULL; p = map->Next(p)) |
3663 sorted_entries->Add(p); | 3664 sorted_entries->Add(p); |
3664 sorted_entries->Sort(SortUsingEntryValue); | 3665 sorted_entries->Sort(SortUsingEntryValue); |
3665 } | 3666 } |
3666 | 3667 |
3667 } } // namespace v8::internal | 3668 } } // namespace v8::internal |
OLD | NEW |