Index: src/profiler/heap-snapshot-generator.cc |
diff --git a/src/profiler/heap-snapshot-generator.cc b/src/profiler/heap-snapshot-generator.cc |
index 2fd682e567945f989edb32fe6dce95fd63fee81a..fbb4e973d6157e65f4fb30ee94ea7a9f7809a4f8 100644 |
--- a/src/profiler/heap-snapshot-generator.cc |
+++ b/src/profiler/heap-snapshot-generator.cc |
@@ -63,7 +63,7 @@ void HeapEntry::SetNamedReference(HeapGraphEdge::Type type, |
const char* name, |
HeapEntry* entry) { |
HeapGraphEdge edge(type, name, this->index(), entry->index()); |
- snapshot_->edges().Add(edge); |
+ snapshot_->edges().push_back(edge); |
++children_count_; |
} |
@@ -72,7 +72,7 @@ void HeapEntry::SetIndexedReference(HeapGraphEdge::Type type, |
int index, |
HeapEntry* entry) { |
HeapGraphEdge edge(type, index, this->index(), entry->index()); |
- snapshot_->edges().Add(edge); |
+ snapshot_->edges().push_back(edge); |
++children_count_; |
} |
@@ -97,9 +97,8 @@ void HeapEntry::Print( |
base::OS::Print("\"\n"); |
} |
if (--max_depth == 0) return; |
- Vector<HeapGraphEdge*> ch = children(); |
- for (int i = 0; i < ch.length(); ++i) { |
- HeapGraphEdge& edge = *ch[i]; |
+ for (auto i = children_begin(); i != children_end(); ++i) { |
+ HeapGraphEdge& edge = **i; |
const char* edge_prefix = ""; |
EmbeddedVector<char, 64> index; |
const char* edge_name = index.start(); |
@@ -270,15 +269,15 @@ HeapEntry* HeapSnapshot::AddEntry(HeapEntry::Type type, |
void HeapSnapshot::FillChildren() { |
- DCHECK(children().is_empty()); |
- children().Allocate(edges().length()); |
+ DCHECK(children().empty()); |
+ children().resize(edges().size()); |
int children_index = 0; |
for (int i = 0; i < entries().length(); ++i) { |
HeapEntry* entry = &entries()[i]; |
children_index = entry->set_children_index(children_index); |
} |
- DCHECK(edges().length() == children_index); |
- for (int i = 0; i < edges().length(); ++i) { |
+ DCHECK_EQ(edges().size(), static_cast<size_t>(children_index)); |
+ for (size_t i = 0; i < edges().size(); ++i) { |
HeapGraphEdge* edge = &edges()[i]; |
edge->ReplaceToIndexWithEntry(this); |
edge->from()->add_child(edge); |
@@ -335,12 +334,10 @@ void HeapSnapshot::Print(int max_depth) { |
size_t HeapSnapshot::RawSnapshotSize() const { |
- return |
- sizeof(*this) + |
- GetMemoryUsedByList(entries_) + |
- GetMemoryUsedByList(edges_) + |
- GetMemoryUsedByList(children_) + |
- GetMemoryUsedByList(sorted_entries_); |
+ return sizeof(*this) + GetMemoryUsedByList(entries_) + |
+ edges_.size() * sizeof(decltype(edges_)::value_type) + |
+ children_.size() * sizeof(decltype(children_)::value_type) + |
+ GetMemoryUsedByList(sorted_entries_); |
} |
@@ -2797,8 +2794,8 @@ void HeapSnapshotJSONSerializer::SerializeEdge(HeapGraphEdge* edge, |
void HeapSnapshotJSONSerializer::SerializeEdges() { |
- List<HeapGraphEdge*>& edges = snapshot_->children(); |
- for (int i = 0; i < edges.length(); ++i) { |
+ std::deque<HeapGraphEdge*>& edges = snapshot_->children(); |
+ for (size_t i = 0; i < edges.size(); ++i) { |
DCHECK(i == 0 || |
edges[i - 1]->from()->index() <= edges[i]->from()->index()); |
SerializeEdge(edges[i], i == 0); |
@@ -2916,7 +2913,7 @@ void HeapSnapshotJSONSerializer::SerializeSnapshot() { |
writer_->AddString(",\"node_count\":"); |
writer_->AddNumber(snapshot_->entries().length()); |
writer_->AddString(",\"edge_count\":"); |
- writer_->AddNumber(snapshot_->edges().length()); |
+ writer_->AddNumber(static_cast<double>(snapshot_->edges().size())); |
writer_->AddString(",\"trace_function_count\":"); |
uint32_t count = 0; |
AllocationTracker* tracker = snapshot_->profiler()->allocation_tracker(); |