Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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_NATIVE_ARGUMENTS_H_ | 5 #ifndef VM_NATIVE_ARGUMENTS_H_ |
| 6 #define VM_NATIVE_ARGUMENTS_H_ | 6 #define VM_NATIVE_ARGUMENTS_H_ |
| 7 | 7 |
| 8 #include "platform/assert.h" | 8 #include "platform/assert.h" |
| 9 #include "vm/globals.h" | 9 #include "vm/globals.h" |
| 10 #include "vm/handles_impl.h" | 10 #include "vm/handles_impl.h" |
| (...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 214 } | 214 } |
| 215 return 0; | 215 return 0; |
| 216 } | 216 } |
| 217 | 217 |
| 218 Isolate* isolate_; // Current isolate pointer. | 218 Isolate* isolate_; // Current isolate pointer. |
| 219 int argc_tag_; // Encodes argument count and invoked native call type. | 219 int argc_tag_; // Encodes argument count and invoked native call type. |
| 220 RawObject*(*argv_)[]; // Pointer to an array of arguments to runtime call. | 220 RawObject*(*argv_)[]; // Pointer to an array of arguments to runtime call. |
| 221 RawObject** retval_; // Pointer to the return value area. | 221 RawObject** retval_; // Pointer to the return value area. |
| 222 }; | 222 }; |
| 223 | 223 |
| 224 class DartToNativeTimerScope : public ValueObject { | |
|
turnidge
2014/02/11 21:24:33
Two notes:
1) Did you consider putting all of the
siva
2014/02/19 22:38:30
Created a new file timer_scope.h and moved all the
| |
| 225 public: | |
| 226 explicit DartToNativeTimerScope(Isolate* isolate) { | |
| 227 dart_timer_ = &(isolate->timer_list().time_dart_execution()); | |
| 228 native_timer_ = &(isolate->timer_list().time_native_execution()); | |
| 229 dart_timer_->Stop(); | |
| 230 native_timer_->Start(); | |
| 231 } | |
| 232 ~DartToNativeTimerScope() { | |
| 233 native_timer_->Stop(); | |
| 234 dart_timer_->Start(); | |
| 235 } | |
| 236 | |
| 237 private: | |
| 238 Timer* native_timer_; | |
| 239 Timer* dart_timer_; | |
| 240 DISALLOW_COPY_AND_ASSIGN(DartToNativeTimerScope); | |
| 241 }; | |
| 242 | |
| 243 class DartToVmTimerScope : public ValueObject { | |
| 244 public: | |
| 245 explicit DartToVmTimerScope(Isolate* isolate) { | |
| 246 dart_timer_ = &(isolate->timer_list().time_dart_execution()); | |
| 247 dart_timer_->Stop(); | |
| 248 } | |
| 249 ~DartToVmTimerScope() { | |
| 250 dart_timer_->Start(); | |
| 251 } | |
| 252 | |
| 253 private: | |
| 254 Timer* dart_timer_; | |
| 255 DISALLOW_COPY_AND_ASSIGN(DartToVmTimerScope); | |
| 256 }; | |
| 257 | |
| 224 } // namespace dart | 258 } // namespace dart |
| 225 | 259 |
| 226 #endif // VM_NATIVE_ARGUMENTS_H_ | 260 #endif // VM_NATIVE_ARGUMENTS_H_ |
| OLD | NEW |