Chromium Code Reviews| Index: runtime/vm/isolate.h |
| =================================================================== |
| --- runtime/vm/isolate.h (revision 20638) |
| +++ runtime/vm/isolate.h (working copy) |
| @@ -262,11 +262,13 @@ |
| kApiInterrupt = 0x1, // An interrupt from Dart_InterruptIsolate. |
| kMessageInterrupt = 0x2, // An interrupt to process an out of band message. |
| kStoreBufferInterrupt = 0x4, // An interrupt to process the store buffer. |
| + kVmStatusInterrupt = 0x8, // An interrupt to process a status request. |
| kInterruptsMask = |
| kApiInterrupt | |
| kMessageInterrupt | |
| - kStoreBufferInterrupt, |
| + kStoreBufferInterrupt | |
| + kVmStatusInterrupt, |
| }; |
| void ScheduleInterrupts(uword interrupt_bits); |
| @@ -320,6 +322,13 @@ |
| return interrupt_callback_; |
| } |
| + static void SetVmStatsCallback(Dart_IsolateInterruptCallback cb) { |
| + vmstats_callback_ = cb; |
| + } |
| + static Dart_IsolateInterruptCallback VmStatsCallback() { |
| + return vmstats_callback_; |
| + } |
| + |
| static void SetUnhandledExceptionCallback( |
| Dart_IsolateUnhandledExceptionCallback cb) { |
| unhandled_exception_callback_ = cb; |
| @@ -457,6 +466,16 @@ |
| intptr_t deopt_frame_copy_size_; |
| DeferredObject* deferred_objects_; |
| + // Status support. |
| + char* stacktrace_; |
| + intptr_t stack_frame_index_; |
| + static bool FetchStacktrace(); |
| + static bool FetchStackFrameDetails(); |
| + char* GetStatusDetails(); |
| + char* GetStatusStacktrace(); |
| + char* GetStatusStackFrame(intptr_t index); |
| + char* DoStacktraceInterrupt(Dart_IsolateInterruptCallback cb); |
|
siva
2013/04/01 22:07:55
Normally we try to list all the functions first an
Tom Ball
2013/04/02 16:49:16
Moved functions up with the others.
|
| + |
| static Dart_IsolateCreateCallback create_callback_; |
| static Dart_IsolateInterruptCallback interrupt_callback_; |
| static Dart_IsolateUnhandledExceptionCallback unhandled_exception_callback_; |
| @@ -464,6 +483,7 @@ |
| static Dart_FileOpenCallback file_open_callback_; |
| static Dart_FileWriteCallback file_write_callback_; |
| static Dart_FileCloseCallback file_close_callback_; |
| + static Dart_IsolateInterruptCallback vmstats_callback_; |
| DISALLOW_COPY_AND_ASSIGN(Isolate); |
| }; |