| Index: src/profiler/heap-snapshot-generator.h
|
| diff --git a/src/profiler/heap-snapshot-generator.h b/src/profiler/heap-snapshot-generator.h
|
| index b235ff050298c1f0db8923ae2caaf892112365df..b4de8b57e12c7c31404fb4e9b832315b9a426204 100644
|
| --- a/src/profiler/heap-snapshot-generator.h
|
| +++ b/src/profiler/heap-snapshot-generator.h
|
| @@ -5,6 +5,7 @@
|
| #ifndef V8_PROFILER_HEAP_SNAPSHOT_GENERATOR_H_
|
| #define V8_PROFILER_HEAP_SNAPSHOT_GENERATOR_H_
|
|
|
| +#include <deque>
|
| #include <unordered_map>
|
|
|
| #include "include/v8-profiler.h"
|
| @@ -115,10 +116,9 @@ class HeapEntry BASE_EMBEDDED {
|
| int children_count() const { return children_count_; }
|
| INLINE(int set_children_index(int index));
|
| void add_child(HeapGraphEdge* edge) {
|
| - children_arr()[children_count_++] = edge;
|
| + *(children_begin() + children_count_++) = edge;
|
| }
|
| - Vector<HeapGraphEdge*> children() {
|
| - return Vector<HeapGraphEdge*>(children_arr(), children_count_); }
|
| + HeapGraphEdge* child(int i) { return *(children_begin() + i); }
|
| INLINE(Isolate* isolate() const);
|
|
|
| void SetIndexedReference(
|
| @@ -130,7 +130,8 @@ class HeapEntry BASE_EMBEDDED {
|
| const char* prefix, const char* edge_name, int max_depth, int indent);
|
|
|
| private:
|
| - INLINE(HeapGraphEdge** children_arr());
|
| + INLINE(std::deque<HeapGraphEdge*>::iterator children_begin());
|
| + INLINE(std::deque<HeapGraphEdge*>::iterator children_end());
|
| const char* TypeAsString();
|
|
|
| unsigned type_: 4;
|
| @@ -163,8 +164,8 @@ class HeapSnapshot {
|
| return &entries_[gc_subroot_indexes_[index]];
|
| }
|
| List<HeapEntry>& entries() { return entries_; }
|
| - List<HeapGraphEdge>& edges() { return edges_; }
|
| - List<HeapGraphEdge*>& children() { return children_; }
|
| + std::deque<HeapGraphEdge>& edges() { return edges_; }
|
| + std::deque<HeapGraphEdge*>& children() { return children_; }
|
| void RememberLastJSObjectId();
|
| SnapshotObjectId max_snapshot_js_object_id() const {
|
| return max_snapshot_js_object_id_;
|
| @@ -192,8 +193,8 @@ class HeapSnapshot {
|
| int gc_roots_index_;
|
| int gc_subroot_indexes_[VisitorSynchronization::kNumberOfSyncTags];
|
| List<HeapEntry> entries_;
|
| - List<HeapGraphEdge> edges_;
|
| - List<HeapGraphEdge*> children_;
|
| + std::deque<HeapGraphEdge> edges_;
|
| + std::deque<HeapGraphEdge*> children_;
|
| List<HeapEntry*> sorted_entries_;
|
| SnapshotObjectId max_snapshot_js_object_id_;
|
|
|
|
|