Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(327)

Side by Side Diff: src/heap-snapshot-generator.h

Issue 681333003: Heap profiler clean-up: remove dead code (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | src/heap-snapshot-generator.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef V8_HEAP_SNAPSHOT_GENERATOR_H_ 5 #ifndef V8_HEAP_SNAPSHOT_GENERATOR_H_
6 #define V8_HEAP_SNAPSHOT_GENERATOR_H_ 6 #define V8_HEAP_SNAPSHOT_GENERATOR_H_
7 7
8 #include "src/profile-generator-inl.h" 8 #include "src/profile-generator-inl.h"
9 9
10 namespace v8 { 10 namespace v8 {
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after
169 const char* name, 169 const char* name,
170 SnapshotObjectId id, 170 SnapshotObjectId id,
171 size_t size, 171 size_t size,
172 unsigned trace_node_id); 172 unsigned trace_node_id);
173 void AddSyntheticRootEntries(); 173 void AddSyntheticRootEntries();
174 HeapEntry* GetEntryById(SnapshotObjectId id); 174 HeapEntry* GetEntryById(SnapshotObjectId id);
175 List<HeapEntry*>* GetSortedEntriesList(); 175 List<HeapEntry*>* GetSortedEntriesList();
176 void FillChildren(); 176 void FillChildren();
177 177
178 void Print(int max_depth); 178 void Print(int max_depth);
179 void PrintEntriesSize();
180 179
181 private: 180 private:
182 HeapEntry* AddRootEntry(); 181 HeapEntry* AddRootEntry();
183 HeapEntry* AddGcRootsEntry(); 182 HeapEntry* AddGcRootsEntry();
184 HeapEntry* AddGcSubrootEntry(int tag, SnapshotObjectId id); 183 HeapEntry* AddGcSubrootEntry(int tag, SnapshotObjectId id);
185 184
186 HeapProfiler* profiler_; 185 HeapProfiler* profiler_;
187 const char* title_; 186 const char* title_;
188 unsigned uid_; 187 unsigned uid_;
189 int root_index_; 188 int root_index_;
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
325 324
326 325
327 // An implementation of V8 heap graph extractor. 326 // An implementation of V8 heap graph extractor.
328 class V8HeapExplorer : public HeapEntriesAllocator { 327 class V8HeapExplorer : public HeapEntriesAllocator {
329 public: 328 public:
330 V8HeapExplorer(HeapSnapshot* snapshot, 329 V8HeapExplorer(HeapSnapshot* snapshot,
331 SnapshottingProgressReportingInterface* progress, 330 SnapshottingProgressReportingInterface* progress,
332 v8::HeapProfiler::ObjectNameResolver* resolver); 331 v8::HeapProfiler::ObjectNameResolver* resolver);
333 virtual ~V8HeapExplorer(); 332 virtual ~V8HeapExplorer();
334 virtual HeapEntry* AllocateEntry(HeapThing ptr); 333 virtual HeapEntry* AllocateEntry(HeapThing ptr);
335 void AddRootEntries(SnapshotFiller* filler);
336 int EstimateObjectsCount(HeapIterator* iterator); 334 int EstimateObjectsCount(HeapIterator* iterator);
337 bool IterateAndExtractReferences(SnapshotFiller* filler); 335 bool IterateAndExtractReferences(SnapshotFiller* filler);
338 void TagGlobalObjects(); 336 void TagGlobalObjects();
339 void TagCodeObject(Code* code); 337 void TagCodeObject(Code* code);
340 void TagBuiltinCodeObject(Code* code, const char* name); 338 void TagBuiltinCodeObject(Code* code, const char* name);
341 HeapEntry* AddEntry(Address address, 339 HeapEntry* AddEntry(Address address,
342 HeapEntry::Type type, 340 HeapEntry::Type type,
343 const char* name, 341 const char* name,
344 size_t size); 342 size_t size);
345 343
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
466 464
467 class NativeGroupRetainedObjectInfo; 465 class NativeGroupRetainedObjectInfo;
468 466
469 467
470 // An implementation of retained native objects extractor. 468 // An implementation of retained native objects extractor.
471 class NativeObjectsExplorer { 469 class NativeObjectsExplorer {
472 public: 470 public:
473 NativeObjectsExplorer(HeapSnapshot* snapshot, 471 NativeObjectsExplorer(HeapSnapshot* snapshot,
474 SnapshottingProgressReportingInterface* progress); 472 SnapshottingProgressReportingInterface* progress);
475 virtual ~NativeObjectsExplorer(); 473 virtual ~NativeObjectsExplorer();
476 void AddRootEntries(SnapshotFiller* filler);
477 int EstimateObjectsCount(); 474 int EstimateObjectsCount();
478 bool IterateAndExtractReferences(SnapshotFiller* filler); 475 bool IterateAndExtractReferences(SnapshotFiller* filler);
479 476
480 private: 477 private:
481 void FillRetainedObjects(); 478 void FillRetainedObjects();
482 void FillImplicitReferences(); 479 void FillImplicitReferences();
483 List<HeapObject*>* GetListMaybeDisposeInfo(v8::RetainedObjectInfo* info); 480 List<HeapObject*>* GetListMaybeDisposeInfo(v8::RetainedObjectInfo* info);
484 void SetNativeRootReference(v8::RetainedObjectInfo* info); 481 void SetNativeRootReference(v8::RetainedObjectInfo* info);
485 void SetRootNativeRootsReference(); 482 void SetRootNativeRootsReference();
486 void SetWrapperNativeReferences(HeapObject* wrapper, 483 void SetWrapperNativeReferences(HeapObject* wrapper,
(...skipping 12 matching lines...) Expand all
499 INLINE(static bool StringsMatch(void* key1, void* key2)) { 496 INLINE(static bool StringsMatch(void* key1, void* key2)) {
500 return strcmp(reinterpret_cast<char*>(key1), 497 return strcmp(reinterpret_cast<char*>(key1),
501 reinterpret_cast<char*>(key2)) == 0; 498 reinterpret_cast<char*>(key2)) == 0;
502 } 499 }
503 500
504 NativeGroupRetainedObjectInfo* FindOrAddGroupInfo(const char* label); 501 NativeGroupRetainedObjectInfo* FindOrAddGroupInfo(const char* label);
505 502
506 Isolate* isolate_; 503 Isolate* isolate_;
507 HeapSnapshot* snapshot_; 504 HeapSnapshot* snapshot_;
508 StringsStorage* names_; 505 StringsStorage* names_;
509 SnapshottingProgressReportingInterface* progress_;
510 bool embedder_queried_; 506 bool embedder_queried_;
511 HeapObjectsSet in_groups_; 507 HeapObjectsSet in_groups_;
512 // RetainedObjectInfo* -> List<HeapObject*>* 508 // RetainedObjectInfo* -> List<HeapObject*>*
513 HashMap objects_by_info_; 509 HashMap objects_by_info_;
514 HashMap native_groups_; 510 HashMap native_groups_;
515 HeapEntriesAllocator* synthetic_entries_allocator_; 511 HeapEntriesAllocator* synthetic_entries_allocator_;
516 HeapEntriesAllocator* native_entries_allocator_; 512 HeapEntriesAllocator* native_entries_allocator_;
517 // Used during references extraction. 513 // Used during references extraction.
518 SnapshotFiller* filler_; 514 SnapshotFiller* filler_;
519 515
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
605 friend class HeapSnapshotJSONSerializerEnumerator; 601 friend class HeapSnapshotJSONSerializerEnumerator;
606 friend class HeapSnapshotJSONSerializerIterator; 602 friend class HeapSnapshotJSONSerializerIterator;
607 603
608 DISALLOW_COPY_AND_ASSIGN(HeapSnapshotJSONSerializer); 604 DISALLOW_COPY_AND_ASSIGN(HeapSnapshotJSONSerializer);
609 }; 605 };
610 606
611 607
612 } } // namespace v8::internal 608 } } // namespace v8::internal
613 609
614 #endif // V8_HEAP_SNAPSHOT_GENERATOR_H_ 610 #endif // V8_HEAP_SNAPSHOT_GENERATOR_H_
OLDNEW
« no previous file with comments | « no previous file | src/heap-snapshot-generator.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698