OLD | NEW |
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, 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 RUNTIME_VM_THREAD_H_ | 5 #ifndef RUNTIME_VM_THREAD_H_ |
6 #define RUNTIME_VM_THREAD_H_ | 6 #define RUNTIME_VM_THREAD_H_ |
7 | 7 |
8 #include "include/dart_api.h" | 8 #include "include/dart_api.h" |
9 #include "platform/assert.h" | 9 #include "platform/assert.h" |
10 #include "vm/atomic.h" | 10 #include "vm/atomic.h" |
(...skipping 488 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
499 return OFFSET_OF(Thread, active_stacktrace_); | 499 return OFFSET_OF(Thread, active_stacktrace_); |
500 } | 500 } |
501 | 501 |
502 uword resume_pc() const { return resume_pc_; } | 502 uword resume_pc() const { return resume_pc_; } |
503 void set_resume_pc(uword value) { resume_pc_ = value; } | 503 void set_resume_pc(uword value) { resume_pc_ = value; } |
504 static uword resume_pc_offset() { return OFFSET_OF(Thread, resume_pc_); } | 504 static uword resume_pc_offset() { return OFFSET_OF(Thread, resume_pc_); } |
505 | 505 |
506 RawError* sticky_error() const; | 506 RawError* sticky_error() const; |
507 void set_sticky_error(const Error& value); | 507 void set_sticky_error(const Error& value); |
508 void clear_sticky_error(); | 508 void clear_sticky_error(); |
| 509 RawError* get_and_clear_sticky_error(); |
509 | 510 |
510 RawStackTrace* async_stack_trace() const; | 511 RawStackTrace* async_stack_trace() const; |
511 void set_async_stack_trace(const StackTrace& stack_trace); | 512 void set_async_stack_trace(const StackTrace& stack_trace); |
512 void set_raw_async_stack_trace(RawStackTrace* raw_stack_trace); | 513 void set_raw_async_stack_trace(RawStackTrace* raw_stack_trace); |
513 void clear_async_stack_trace(); | 514 void clear_async_stack_trace(); |
514 static intptr_t async_stack_trace_offset() { | 515 static intptr_t async_stack_trace_offset() { |
515 return OFFSET_OF(Thread, async_stack_trace_); | 516 return OFFSET_OF(Thread, async_stack_trace_); |
516 } | 517 } |
517 | 518 |
518 CompilerStats* compiler_stats() { return compiler_stats_; } | 519 CompilerStats* compiler_stats() { return compiler_stats_; } |
(...skipping 297 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
816 // Disable thread interrupts. | 817 // Disable thread interrupts. |
817 class DisableThreadInterruptsScope : public StackResource { | 818 class DisableThreadInterruptsScope : public StackResource { |
818 public: | 819 public: |
819 explicit DisableThreadInterruptsScope(Thread* thread); | 820 explicit DisableThreadInterruptsScope(Thread* thread); |
820 ~DisableThreadInterruptsScope(); | 821 ~DisableThreadInterruptsScope(); |
821 }; | 822 }; |
822 | 823 |
823 } // namespace dart | 824 } // namespace dart |
824 | 825 |
825 #endif // RUNTIME_VM_THREAD_H_ | 826 #endif // RUNTIME_VM_THREAD_H_ |
OLD | NEW |