| Index: src/counters.cc
|
| diff --git a/src/counters.cc b/src/counters.cc
|
| index df75e212791d1743001334ae4047e761d6d62f18..8fcfd541411d433911bf2003d4ce46d8535ff873 100644
|
| --- a/src/counters.cc
|
| +++ b/src/counters.cc
|
| @@ -277,9 +277,11 @@ void RuntimeCallCounter::Reset() {
|
| time = base::TimeDelta();
|
| }
|
|
|
| -void RuntimeCallCounter::Dump(std::stringstream& out) {
|
| - out << "\"" << name << "\":[" << count << "," << time.InMicroseconds()
|
| - << "],";
|
| +void RuntimeCallCounter::Dump(v8::tracing::TracedValue* value) {
|
| + value->BeginArray(name);
|
| + value->AppendLongInteger(count);
|
| + value->AppendLongInteger(time.InMicroseconds());
|
| + value->EndArray();
|
| }
|
|
|
| // static
|
| @@ -365,37 +367,33 @@ void RuntimeCallStats::Reset() {
|
| in_use_ = true;
|
| }
|
|
|
| -std::string RuntimeCallStats::Dump() {
|
| - buffer_.str(std::string());
|
| - buffer_.clear();
|
| - buffer_ << "{";
|
| +void RuntimeCallStats::Dump(v8::tracing::TracedValue* value) {
|
| #define DUMP_COUNTER(name) \
|
| - if (this->name.count > 0) this->name.Dump(buffer_);
|
| + if (this->name.count > 0) this->name.Dump(value);
|
| FOR_EACH_MANUAL_COUNTER(DUMP_COUNTER)
|
| #undef DUMP_COUNTER
|
|
|
| #define DUMP_COUNTER(name, nargs, result_size) \
|
| - if (this->Runtime_##name.count > 0) this->Runtime_##name.Dump(buffer_);
|
| + if (this->Runtime_##name.count > 0) this->Runtime_##name.Dump(value);
|
| FOR_EACH_INTRINSIC(DUMP_COUNTER)
|
| #undef DUMP_COUNTER
|
|
|
| #define DUMP_COUNTER(name) \
|
| - if (this->Builtin_##name.count > 0) this->Builtin_##name.Dump(buffer_);
|
| + if (this->Builtin_##name.count > 0) this->Builtin_##name.Dump(value);
|
| BUILTIN_LIST_C(DUMP_COUNTER)
|
| #undef DUMP_COUNTER
|
|
|
| #define DUMP_COUNTER(name) \
|
| - if (this->API_##name.count > 0) this->API_##name.Dump(buffer_);
|
| + if (this->API_##name.count > 0) this->API_##name.Dump(value);
|
| FOR_EACH_API_COUNTER(DUMP_COUNTER)
|
| #undef DUMP_COUNTER
|
|
|
| #define DUMP_COUNTER(name) \
|
| - if (this->Handler_##name.count > 0) this->Handler_##name.Dump(buffer_);
|
| + if (this->Handler_##name.count > 0) this->Handler_##name.Dump(value);
|
| FOR_EACH_HANDLER_COUNTER(DUMP_COUNTER)
|
| #undef DUMP_COUNTER
|
| - buffer_ << "\"END\":[]}";
|
| +
|
| in_use_ = false;
|
| - return buffer_.str();
|
| }
|
|
|
| } // namespace internal
|
|
|