| OLD | NEW |
| 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef VM_TIMER_H_ | 5 #ifndef VM_TIMER_H_ |
| 6 #define VM_TIMER_H_ | 6 #define VM_TIMER_H_ |
| 7 | 7 |
| 8 #include "platform/utils.h" | 8 #include "platform/utils.h" |
| 9 #include "vm/allocation.h" | 9 #include "vm/allocation.h" |
| 10 #include "vm/flags.h" | 10 #include "vm/flags.h" |
| (...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 171 bool nested_; | 171 bool nested_; |
| 172 Timer* const timer_; | 172 Timer* const timer_; |
| 173 | 173 |
| 174 DISALLOW_ALLOCATION(); | 174 DISALLOW_ALLOCATION(); |
| 175 DISALLOW_COPY_AND_ASSIGN(TimerScope); | 175 DISALLOW_COPY_AND_ASSIGN(TimerScope); |
| 176 }; | 176 }; |
| 177 | 177 |
| 178 | 178 |
| 179 class PauseTimerScope : public StackResource { | 179 class PauseTimerScope : public StackResource { |
| 180 public: | 180 public: |
| 181 PauseTimerScope(bool flag, Timer* timer, Isolate* isolate = NULL) | 181 PauseTimerScope(bool flag, Timer* timer, Thread* thread = NULL) |
| 182 : StackResource(isolate), | 182 : StackResource(thread), |
| 183 nested_(false), | 183 nested_(false), |
| 184 timer_(flag ? timer : NULL) { | 184 timer_(flag ? timer : NULL) { |
| 185 if (timer_) { | 185 if (timer_) { |
| 186 if (timer_->running()) { | 186 if (timer_->running()) { |
| 187 timer_->Stop(); | 187 timer_->Stop(); |
| 188 } else { | 188 } else { |
| 189 nested_ = true; | 189 nested_ = true; |
| 190 } | 190 } |
| 191 } | 191 } |
| 192 } | 192 } |
| (...skipping 14 matching lines...) Expand all Loading... |
| 207 }; | 207 }; |
| 208 | 208 |
| 209 | 209 |
| 210 // Macros to deal with named timers in the isolate. | 210 // Macros to deal with named timers in the isolate. |
| 211 #define START_TIMER(isolate, name) \ | 211 #define START_TIMER(isolate, name) \ |
| 212 isolate->timer_list().name().Start(); | 212 isolate->timer_list().name().Start(); |
| 213 | 213 |
| 214 #define STOP_TIMER(isolate, name) \ | 214 #define STOP_TIMER(isolate, name) \ |
| 215 isolate->timer_list().name().Stop(); | 215 isolate->timer_list().name().Stop(); |
| 216 | 216 |
| 217 #define TIMERSCOPE(isolate, name) \ | 217 #define TIMERSCOPE(thread, name) \ |
| 218 TimerScope vm_internal_timer_(true, &(isolate->timer_list().name()), isolate) | 218 TimerScope vm_internal_timer_( \ |
| 219 true, &(thread->isolate()->timer_list().name()), thread) |
| 219 | 220 |
| 220 #define PAUSETIMERSCOPE(isolate, name) \ | 221 #define PAUSETIMERSCOPE(thread, name) \ |
| 221 PauseTimerScope vm_internal_timer_(true, \ | 222 PauseTimerScope vm_internal_timer_(true, \ |
| 222 &(isolate->timer_list().name()), \ | 223 &(thread->isolate()->timer_list().name()), \ |
| 223 isolate) | 224 thread) |
| 224 | 225 |
| 225 } // namespace dart | 226 } // namespace dart |
| 226 | 227 |
| 227 #endif // VM_TIMER_H_ | 228 #endif // VM_TIMER_H_ |
| OLD | NEW |