| Index: src/counters.cc
|
| diff --git a/src/counters.cc b/src/counters.cc
|
| index 20d0ee45633781b5f49b45e86ab0872841746588..8a5908c9af3d1dc981235cb5481b1798d0c938c9 100644
|
| --- a/src/counters.cc
|
| +++ b/src/counters.cc
|
| @@ -282,15 +282,18 @@
|
| }
|
|
|
| // static
|
| -void RuntimeCallStats::Enter(RuntimeCallStats* stats, RuntimeCallTimer* timer,
|
| +void RuntimeCallStats::Enter(Isolate* isolate, RuntimeCallTimer* timer,
|
| CounterId counter_id) {
|
| + RuntimeCallStats* stats = isolate->counters()->runtime_call_stats();
|
| RuntimeCallCounter* counter = &(stats->*counter_id);
|
| timer->Start(counter, stats->current_timer_);
|
| stats->current_timer_ = timer;
|
| }
|
|
|
| // static
|
| -void RuntimeCallStats::Leave(RuntimeCallStats* stats, RuntimeCallTimer* timer) {
|
| +void RuntimeCallStats::Leave(Isolate* isolate, RuntimeCallTimer* timer) {
|
| + RuntimeCallStats* stats = isolate->counters()->runtime_call_stats();
|
| +
|
| if (stats->current_timer_ == timer) {
|
| stats->current_timer_ = timer->Stop();
|
| } else {
|
| @@ -304,8 +307,9 @@
|
| }
|
|
|
| // static
|
| -void RuntimeCallStats::CorrectCurrentCounterId(RuntimeCallStats* stats,
|
| +void RuntimeCallStats::CorrectCurrentCounterId(Isolate* isolate,
|
| CounterId counter_id) {
|
| + RuntimeCallStats* stats = isolate->counters()->runtime_call_stats();
|
| DCHECK_NOT_NULL(stats->current_timer_);
|
| RuntimeCallCounter* counter = &(stats->*counter_id);
|
| stats->current_timer_->counter_ = counter;
|
| @@ -360,45 +364,5 @@
|
| #undef RESET_COUNTER
|
| }
|
|
|
| -const char* RuntimeCallStats::Dump() {
|
| - buffer_.str(std::string());
|
| - buffer_.clear();
|
| - buffer_ << "{";
|
| -#define DUMP_COUNTER(name) \
|
| - if (this->name.count > 0) this->name.Dump(buffer_);
|
| - 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_);
|
| - FOR_EACH_INTRINSIC(DUMP_COUNTER)
|
| -#undef DUMP_COUNTER
|
| -
|
| -#define DUMP_COUNTER(name) \
|
| - if (this->Builtin_##name.count > 0) this->Builtin_##name.Dump(buffer_);
|
| - BUILTIN_LIST_C(DUMP_COUNTER)
|
| -#undef DUMP_COUNTER
|
| -
|
| -#define DUMP_COUNTER(name) \
|
| - if (this->API_##name.count > 0) this->API_##name.Dump(buffer_);
|
| - FOR_EACH_API_COUNTER(DUMP_COUNTER)
|
| -#undef DUMP_COUNTER
|
| -
|
| -#define DUMP_COUNTER(name) \
|
| - if (this->Handler_##name.count > 0) this->Handler_##name.Dump(buffer_);
|
| - FOR_EACH_HANDLER_COUNTER(DUMP_COUNTER)
|
| -#undef DUMP_COUNTER
|
| - buffer_ << "\"END\":[]}";
|
| - const std::string& buffer_str = buffer_.str();
|
| - size_t length = buffer_str.size();
|
| - if (length > len_) {
|
| - buffer_c_str_.reset(new char[length + 1]);
|
| - len_ = length;
|
| - }
|
| - strncpy(buffer_c_str_.get(), buffer_str.c_str(), length + 1);
|
| - in_use_ = false;
|
| - return buffer_c_str_.get();
|
| -}
|
| -
|
| } // namespace internal
|
| } // namespace v8
|
|
|