| 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 "include/v8-profiler.h" | 8 #include "include/v8-profiler.h" |
| 9 #include "src/base/platform/time.h" | 9 #include "src/base/platform/time.h" |
| 10 #include "src/objects.h" | 10 #include "src/objects.h" |
| 11 #include "src/profiler/heap-profiler.h" |
| 11 #include "src/profiler/strings-storage.h" | 12 #include "src/profiler/strings-storage.h" |
| 12 | 13 |
| 13 namespace v8 { | 14 namespace v8 { |
| 14 namespace internal { | 15 namespace internal { |
| 15 | 16 |
| 16 class AllocationTracker; | 17 class AllocationTracker; |
| 17 class AllocationTraceNode; | 18 class AllocationTraceNode; |
| 18 class HeapEntry; | 19 class HeapEntry; |
| 19 class HeapIterator; | 20 class HeapIterator; |
| 20 class HeapProfiler; | 21 class HeapProfiler; |
| (...skipping 537 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 558 // Mapping from HeapThing pointers to HeapEntry* pointers. | 559 // Mapping from HeapThing pointers to HeapEntry* pointers. |
| 559 HeapEntriesMap entries_; | 560 HeapEntriesMap entries_; |
| 560 // Used during snapshot generation. | 561 // Used during snapshot generation. |
| 561 int progress_counter_; | 562 int progress_counter_; |
| 562 int progress_total_; | 563 int progress_total_; |
| 563 Heap* heap_; | 564 Heap* heap_; |
| 564 | 565 |
| 565 DISALLOW_COPY_AND_ASSIGN(HeapSnapshotGenerator); | 566 DISALLOW_COPY_AND_ASSIGN(HeapSnapshotGenerator); |
| 566 }; | 567 }; |
| 567 | 568 |
| 568 class OutputStreamWriter; | |
| 569 | |
| 570 class HeapSnapshotJSONSerializer { | 569 class HeapSnapshotJSONSerializer { |
| 571 public: | 570 public: |
| 572 explicit HeapSnapshotJSONSerializer(HeapSnapshot* snapshot) | 571 explicit HeapSnapshotJSONSerializer(HeapSnapshot* snapshot) |
| 573 : snapshot_(snapshot), | 572 : snapshot_(snapshot), |
| 574 strings_(StringsMatch), | 573 strings_(StringsMatch), |
| 575 next_node_id_(1), | 574 next_node_id_(1), |
| 576 next_string_id_(1), | 575 next_string_id_(1), |
| 577 writer_(NULL) { | 576 writer_(NULL) { |
| 578 } | 577 } |
| 579 void Serialize(v8::OutputStream* stream); | 578 void Serialize(v8::OutputStream* stream); |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 619 friend class HeapSnapshotJSONSerializerIterator; | 618 friend class HeapSnapshotJSONSerializerIterator; |
| 620 | 619 |
| 621 DISALLOW_COPY_AND_ASSIGN(HeapSnapshotJSONSerializer); | 620 DISALLOW_COPY_AND_ASSIGN(HeapSnapshotJSONSerializer); |
| 622 }; | 621 }; |
| 623 | 622 |
| 624 | 623 |
| 625 } // namespace internal | 624 } // namespace internal |
| 626 } // namespace v8 | 625 } // namespace v8 |
| 627 | 626 |
| 628 #endif // V8_PROFILER_HEAP_SNAPSHOT_GENERATOR_H_ | 627 #endif // V8_PROFILER_HEAP_SNAPSHOT_GENERATOR_H_ |
| OLD | NEW |