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 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
45 class RawError; | 45 class RawError; |
46 class RawGrowableObjectArray; | 46 class RawGrowableObjectArray; |
47 class RawString; | 47 class RawString; |
48 class RuntimeEntry; | 48 class RuntimeEntry; |
49 class Smi; | 49 class Smi; |
50 class StackResource; | 50 class StackResource; |
51 class String; | 51 class String; |
52 class TimelineStream; | 52 class TimelineStream; |
53 class TypeArguments; | 53 class TypeArguments; |
54 class TypeParameter; | 54 class TypeParameter; |
| 55 class TypeRangeCache; |
55 class Zone; | 56 class Zone; |
56 | 57 |
57 #define REUSABLE_HANDLE_LIST(V) \ | 58 #define REUSABLE_HANDLE_LIST(V) \ |
58 V(AbstractType) \ | 59 V(AbstractType) \ |
59 V(Array) \ | 60 V(Array) \ |
60 V(Class) \ | 61 V(Class) \ |
61 V(Code) \ | 62 V(Code) \ |
62 V(Error) \ | 63 V(Error) \ |
63 V(ExceptionHandlers) \ | 64 V(ExceptionHandlers) \ |
64 V(Field) \ | 65 V(Field) \ |
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
297 CHA* cha() const { | 298 CHA* cha() const { |
298 ASSERT(isolate_ != NULL); | 299 ASSERT(isolate_ != NULL); |
299 return cha_; | 300 return cha_; |
300 } | 301 } |
301 | 302 |
302 void set_cha(CHA* value) { | 303 void set_cha(CHA* value) { |
303 ASSERT(isolate_ != NULL); | 304 ASSERT(isolate_ != NULL); |
304 cha_ = value; | 305 cha_ = value; |
305 } | 306 } |
306 | 307 |
| 308 TypeRangeCache* type_range_cache() const { return type_range_cache_; } |
| 309 void set_type_range_cache(TypeRangeCache* value) { |
| 310 type_range_cache_ = value; |
| 311 } |
| 312 |
307 int32_t no_callback_scope_depth() const { return no_callback_scope_depth_; } | 313 int32_t no_callback_scope_depth() const { return no_callback_scope_depth_; } |
308 | 314 |
309 void IncrementNoCallbackScopeDepth() { | 315 void IncrementNoCallbackScopeDepth() { |
310 ASSERT(no_callback_scope_depth_ < INT_MAX); | 316 ASSERT(no_callback_scope_depth_ < INT_MAX); |
311 no_callback_scope_depth_ += 1; | 317 no_callback_scope_depth_ += 1; |
312 } | 318 } |
313 | 319 |
314 void DecrementNoCallbackScopeDepth() { | 320 void DecrementNoCallbackScopeDepth() { |
315 ASSERT(no_callback_scope_depth_ > 0); | 321 ASSERT(no_callback_scope_depth_ > 0); |
316 no_callback_scope_depth_ -= 1; | 322 no_callback_scope_depth_ -= 1; |
(...skipping 374 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
691 #endif | 697 #endif |
692 VMHandles reusable_handles_; | 698 VMHandles reusable_handles_; |
693 uword saved_stack_limit_; | 699 uword saved_stack_limit_; |
694 intptr_t defer_oob_messages_count_; | 700 intptr_t defer_oob_messages_count_; |
695 uint16_t deferred_interrupts_mask_; | 701 uint16_t deferred_interrupts_mask_; |
696 uint16_t deferred_interrupts_; | 702 uint16_t deferred_interrupts_; |
697 int32_t stack_overflow_count_; | 703 int32_t stack_overflow_count_; |
698 | 704 |
699 // Compiler state: | 705 // Compiler state: |
700 CHA* cha_; | 706 CHA* cha_; |
| 707 TypeRangeCache* type_range_cache_; |
701 intptr_t deopt_id_; // Compilation specific counter. | 708 intptr_t deopt_id_; // Compilation specific counter. |
702 RawGrowableObjectArray* pending_functions_; | 709 RawGrowableObjectArray* pending_functions_; |
703 | 710 |
704 // JumpToExceptionHandler state: | 711 // JumpToExceptionHandler state: |
705 RawObject* active_exception_; | 712 RawObject* active_exception_; |
706 RawObject* active_stacktrace_; | 713 RawObject* active_stacktrace_; |
707 uword resume_pc_; | 714 uword resume_pc_; |
708 | 715 |
709 RawError* sticky_error_; | 716 RawError* sticky_error_; |
710 | 717 |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
777 // Disable thread interrupts. | 784 // Disable thread interrupts. |
778 class DisableThreadInterruptsScope : public StackResource { | 785 class DisableThreadInterruptsScope : public StackResource { |
779 public: | 786 public: |
780 explicit DisableThreadInterruptsScope(Thread* thread); | 787 explicit DisableThreadInterruptsScope(Thread* thread); |
781 ~DisableThreadInterruptsScope(); | 788 ~DisableThreadInterruptsScope(); |
782 }; | 789 }; |
783 | 790 |
784 } // namespace dart | 791 } // namespace dart |
785 | 792 |
786 #endif // RUNTIME_VM_THREAD_H_ | 793 #endif // RUNTIME_VM_THREAD_H_ |
OLD | NEW |