diff options
Diffstat (limited to 'deps/v8/src/profiler/heap-snapshot-generator.cc')
-rw-r--r-- | deps/v8/src/profiler/heap-snapshot-generator.cc | 33 |
1 files changed, 15 insertions, 18 deletions
diff --git a/deps/v8/src/profiler/heap-snapshot-generator.cc b/deps/v8/src/profiler/heap-snapshot-generator.cc index 2fd682e567..fbb4e973d6 100644 --- a/deps/v8/src/profiler/heap-snapshot-generator.cc +++ b/deps/v8/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(); |