| OLD | NEW |
| 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_PROFILER_HEAP_SNAPSHOT_GENERATOR_H_ | 5 #ifndef V8_PROFILER_HEAP_SNAPSHOT_GENERATOR_H_ |
| 6 #define V8_PROFILER_HEAP_SNAPSHOT_GENERATOR_H_ | 6 #define V8_PROFILER_HEAP_SNAPSHOT_GENERATOR_H_ |
| 7 | 7 |
| 8 #include <unordered_map> |
| 9 |
| 8 #include "include/v8-profiler.h" | 10 #include "include/v8-profiler.h" |
| 9 #include "src/base/platform/time.h" | 11 #include "src/base/platform/time.h" |
| 10 #include "src/objects.h" | 12 #include "src/objects.h" |
| 11 #include "src/profiler/strings-storage.h" | 13 #include "src/profiler/strings-storage.h" |
| 12 | 14 |
| 13 namespace v8 { | 15 namespace v8 { |
| 14 namespace internal { | 16 namespace internal { |
| 15 | 17 |
| 16 class AllocationTracker; | 18 class AllocationTracker; |
| 17 class AllocationTraceNode; | 19 class AllocationTraceNode; |
| (...skipping 428 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 446 const char* name_format_string = NULL, | 448 const char* name_format_string = NULL, |
| 447 int field_offset = -1); | 449 int field_offset = -1); |
| 448 | 450 |
| 449 void SetUserGlobalReference(Object* user_global); | 451 void SetUserGlobalReference(Object* user_global); |
| 450 void SetRootGcRootsReference(); | 452 void SetRootGcRootsReference(); |
| 451 void SetGcRootsReference(VisitorSynchronization::SyncTag tag); | 453 void SetGcRootsReference(VisitorSynchronization::SyncTag tag); |
| 452 void SetGcSubrootReference( | 454 void SetGcSubrootReference( |
| 453 VisitorSynchronization::SyncTag tag, bool is_weak, Object* child); | 455 VisitorSynchronization::SyncTag tag, bool is_weak, Object* child); |
| 454 const char* GetStrongGcSubrootName(Object* object); | 456 const char* GetStrongGcSubrootName(Object* object); |
| 455 void TagObject(Object* obj, const char* tag); | 457 void TagObject(Object* obj, const char* tag); |
| 456 void MarkAsWeakContainer(Object* object); | 458 void TagFixedArraySubType(const FixedArray* array, |
| 459 FixedArraySubInstanceType type); |
| 457 | 460 |
| 458 HeapEntry* GetEntry(Object* obj); | 461 HeapEntry* GetEntry(Object* obj); |
| 459 | 462 |
| 460 Heap* heap_; | 463 Heap* heap_; |
| 461 HeapSnapshot* snapshot_; | 464 HeapSnapshot* snapshot_; |
| 462 StringsStorage* names_; | 465 StringsStorage* names_; |
| 463 HeapObjectsMap* heap_object_map_; | 466 HeapObjectsMap* heap_object_map_; |
| 464 SnapshottingProgressReportingInterface* progress_; | 467 SnapshottingProgressReportingInterface* progress_; |
| 465 SnapshotFiller* filler_; | 468 SnapshotFiller* filler_; |
| 466 HeapObjectsSet objects_tags_; | 469 HeapObjectsSet objects_tags_; |
| 467 HeapObjectsSet strong_gc_subroot_names_; | 470 HeapObjectsSet strong_gc_subroot_names_; |
| 468 HeapObjectsSet user_roots_; | 471 HeapObjectsSet user_roots_; |
| 469 HeapObjectsSet weak_containers_; | 472 std::unordered_map<const FixedArray*, FixedArraySubInstanceType> array_types_; |
| 470 v8::HeapProfiler::ObjectNameResolver* global_object_name_resolver_; | 473 v8::HeapProfiler::ObjectNameResolver* global_object_name_resolver_; |
| 471 | 474 |
| 472 std::vector<bool> marks_; | 475 std::vector<bool> marks_; |
| 473 | 476 |
| 474 friend class IndexedReferencesExtractor; | 477 friend class IndexedReferencesExtractor; |
| 475 friend class RootsReferencesExtractor; | 478 friend class RootsReferencesExtractor; |
| 476 | 479 |
| 477 DISALLOW_COPY_AND_ASSIGN(V8HeapExplorer); | 480 DISALLOW_COPY_AND_ASSIGN(V8HeapExplorer); |
| 478 }; | 481 }; |
| 479 | 482 |
| (...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 619 friend class HeapSnapshotJSONSerializerIterator; | 622 friend class HeapSnapshotJSONSerializerIterator; |
| 620 | 623 |
| 621 DISALLOW_COPY_AND_ASSIGN(HeapSnapshotJSONSerializer); | 624 DISALLOW_COPY_AND_ASSIGN(HeapSnapshotJSONSerializer); |
| 622 }; | 625 }; |
| 623 | 626 |
| 624 | 627 |
| 625 } // namespace internal | 628 } // namespace internal |
| 626 } // namespace v8 | 629 } // namespace v8 |
| 627 | 630 |
| 628 #endif // V8_PROFILER_HEAP_SNAPSHOT_GENERATOR_H_ | 631 #endif // V8_PROFILER_HEAP_SNAPSHOT_GENERATOR_H_ |
| OLD | NEW |