Chromium Code Reviews| Index: base/trace_event/heap_profiler_stack_frame_deduplicator.cc | 
| diff --git a/base/trace_event/heap_profiler_stack_frame_deduplicator.cc b/base/trace_event/heap_profiler_stack_frame_deduplicator.cc | 
| index 12121937530ff30503e6c6dd0a5f65cc38f4bedc..22957804f137b38b44f1610e6621c698702bbbd3 100644 | 
| --- a/base/trace_event/heap_profiler_stack_frame_deduplicator.cc | 
| +++ b/base/trace_event/heap_profiler_stack_frame_deduplicator.cc | 
| @@ -31,7 +31,7 @@ int StackFrameDeduplicator::Insert(const StackFrame* beginFrame, | 
| std::map<StackFrame, int>* nodes = &roots_; | 
| // Loop through the frames, early out when a frame is null. | 
| - for (const StackFrame* it = beginFrame; it != endFrame && *it; it++) { | 
| + for (const StackFrame* it = beginFrame; it != endFrame; it++) { | 
| StackFrame frame = *it; | 
| auto node = nodes->find(frame); | 
| @@ -78,7 +78,19 @@ void StackFrameDeduplicator::AppendAsTraceFormat(std::string* out) const { | 
| out->append(stringify_buffer); | 
| std::unique_ptr<TracedValue> frame_node_value(new TracedValue); | 
| - frame_node_value->SetString("name", frame_node->frame); | 
| + const StackFrame& frame = frame_node->frame; | 
| + switch (frame.type) { | 
| + case StackFrame::Type::TRACE_EVENT_NAME: | 
| + frame_node_value->SetString( | 
| + "name", static_cast<const char*>(frame.value)); | 
| + break; | 
| + case StackFrame::Type::THREAD_NAME: | 
| + SStringPrintf(&stringify_buffer, | 
| + "[Thread: %s]", | 
| + static_cast<const char*>(frame.value)); | 
| + frame_node_value->SetString("name", stringify_buffer); | 
| + break; | 
| 
 
Primiano Tucci (use gerrit)
2016/04/19 19:45:06
maybe add a default: NOTREACHED() (not 100% sure t
 
Dmitry Skiba
2016/04/19 22:14:14
Actually, since we're switching on enum (enum clas
 
Primiano Tucci (use gerrit)
2016/04/20 13:17:59
Sg, leave it as it is then.
 
 | 
| + } | 
| if (frame_node->parent_frame_index >= 0) { | 
| SStringPrintf(&stringify_buffer, "%d", frame_node->parent_frame_index); | 
| frame_node_value->SetString("parent", stringify_buffer); |