| Index: runtime/vm/timer.h
|
| ===================================================================
|
| --- runtime/vm/timer.h (revision 32362)
|
| +++ runtime/vm/timer.h (working copy)
|
| @@ -83,6 +83,7 @@
|
| V(time_compilation, "Function compilation") \
|
| V(time_bootstrap, "Bootstrap of core classes") \
|
| V(time_dart_execution, "Dart execution") \
|
| + V(time_native_execution, "Native code execution") \
|
| V(time_total_runtime, "Total runtime for isolate") \
|
|
|
| // Maintains a list of timers per isolate.
|
| @@ -98,6 +99,7 @@
|
| #undef TIMER_FIELD_ACCESSOR
|
|
|
| void ReportTimers();
|
| + void ReportTimerState(const char* prefix);
|
|
|
| void PrintTimersToJSONProperty(JSONObject* jsobj);
|
|
|
| @@ -110,12 +112,15 @@
|
| };
|
|
|
| // Timer Usage.
|
| -#define START_TIMER(name) \
|
| - Isolate::Current()->timer_list().name().Start();
|
| +#define START_TIMER(isolate, name) \
|
| + isolate->timer_list().name().Start();
|
|
|
| -#define STOP_TIMER(name) \
|
| - Isolate::Current()->timer_list().name().Stop();
|
| +#define STOP_TIMER(isolate, name) \
|
| + isolate->timer_list().name().Stop();
|
|
|
| +#define TIMER_STATE(isolate, prefix) \
|
| + isolate->timer_list().ReportTimerState(prefix);
|
| +
|
| // The class TimerScope is used to start and stop a timer within a scope.
|
| // It is used as follows:
|
| // {
|
| @@ -127,7 +132,7 @@
|
| // }
|
| class TimerScope : public StackResource {
|
| public:
|
| - TimerScope(bool flag, Timer* timer, BaseIsolate* isolate = NULL)
|
| + TimerScope(bool flag, Timer* timer, BaseIsolate* isolate)
|
| : StackResource(isolate), flag_(flag), nested_(false), timer_(timer) {
|
| if (flag_) {
|
| if (!timer_->running()) {
|
| @@ -152,9 +157,8 @@
|
| DISALLOW_COPY_AND_ASSIGN(TimerScope);
|
| };
|
|
|
| -#define TIMERSCOPE(name) \
|
| - TimerScope vm_internal_timer_(true, \
|
| - &(Isolate::Current()->timer_list().name()))
|
| +#define TIMERSCOPE(isolate, name) \
|
| + TimerScope vm_internal_timer_(true, &(isolate->timer_list().name()), isolate)
|
|
|
| } // namespace dart
|
|
|
|
|