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 VM_THREAD_H_ | 5 #ifndef VM_THREAD_H_ |
6 #define VM_THREAD_H_ | 6 #define 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 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
44 class RawError; | 44 class RawError; |
45 class RawGrowableObjectArray; | 45 class RawGrowableObjectArray; |
46 class RawString; | 46 class RawString; |
47 class RuntimeEntry; | 47 class RuntimeEntry; |
48 class Smi; | 48 class Smi; |
49 class StackResource; | 49 class StackResource; |
50 class String; | 50 class String; |
51 class TimelineStream; | 51 class TimelineStream; |
52 class TypeArguments; | 52 class TypeArguments; |
53 class TypeParameter; | 53 class TypeParameter; |
| 54 class TypeRangeCache; |
54 class Zone; | 55 class Zone; |
55 | 56 |
56 #define REUSABLE_HANDLE_LIST(V) \ | 57 #define REUSABLE_HANDLE_LIST(V) \ |
57 V(AbstractType) \ | 58 V(AbstractType) \ |
58 V(Array) \ | 59 V(Array) \ |
59 V(Class) \ | 60 V(Class) \ |
60 V(Code) \ | 61 V(Code) \ |
61 V(Error) \ | 62 V(Error) \ |
62 V(ExceptionHandlers) \ | 63 V(ExceptionHandlers) \ |
63 V(Field) \ | 64 V(Field) \ |
(...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
293 CHA* cha() const { | 294 CHA* cha() const { |
294 ASSERT(isolate_ != NULL); | 295 ASSERT(isolate_ != NULL); |
295 return cha_; | 296 return cha_; |
296 } | 297 } |
297 | 298 |
298 void set_cha(CHA* value) { | 299 void set_cha(CHA* value) { |
299 ASSERT(isolate_ != NULL); | 300 ASSERT(isolate_ != NULL); |
300 cha_ = value; | 301 cha_ = value; |
301 } | 302 } |
302 | 303 |
| 304 TypeRangeCache* type_range_cache() const { return type_range_cache_; } |
| 305 void set_type_range_cache(TypeRangeCache* value) { |
| 306 type_range_cache_ = value; |
| 307 } |
| 308 |
303 int32_t no_callback_scope_depth() const { | 309 int32_t no_callback_scope_depth() const { |
304 return no_callback_scope_depth_; | 310 return no_callback_scope_depth_; |
305 } | 311 } |
306 | 312 |
307 void IncrementNoCallbackScopeDepth() { | 313 void IncrementNoCallbackScopeDepth() { |
308 ASSERT(no_callback_scope_depth_ < INT_MAX); | 314 ASSERT(no_callback_scope_depth_ < INT_MAX); |
309 no_callback_scope_depth_ += 1; | 315 no_callback_scope_depth_ += 1; |
310 } | 316 } |
311 | 317 |
312 void DecrementNoCallbackScopeDepth() { | 318 void DecrementNoCallbackScopeDepth() { |
(...skipping 372 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
685 #endif | 691 #endif |
686 VMHandles reusable_handles_; | 692 VMHandles reusable_handles_; |
687 uword saved_stack_limit_; | 693 uword saved_stack_limit_; |
688 intptr_t defer_oob_messages_count_; | 694 intptr_t defer_oob_messages_count_; |
689 uint16_t deferred_interrupts_mask_; | 695 uint16_t deferred_interrupts_mask_; |
690 uint16_t deferred_interrupts_; | 696 uint16_t deferred_interrupts_; |
691 int32_t stack_overflow_count_; | 697 int32_t stack_overflow_count_; |
692 | 698 |
693 // Compiler state: | 699 // Compiler state: |
694 CHA* cha_; | 700 CHA* cha_; |
| 701 TypeRangeCache* type_range_cache_; |
695 intptr_t deopt_id_; // Compilation specific counter. | 702 intptr_t deopt_id_; // Compilation specific counter. |
696 RawGrowableObjectArray* pending_functions_; | 703 RawGrowableObjectArray* pending_functions_; |
697 | 704 |
698 RawError* sticky_error_; | 705 RawError* sticky_error_; |
699 | 706 |
700 CompilerStats* compiler_stats_; | 707 CompilerStats* compiler_stats_; |
701 | 708 |
702 // Reusable handles support. | 709 // Reusable handles support. |
703 #define REUSABLE_HANDLE_FIELDS(object) \ | 710 #define REUSABLE_HANDLE_FIELDS(object) \ |
704 object* object##_handle_; | 711 object* object##_handle_; |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
771 // Disable thread interrupts. | 778 // Disable thread interrupts. |
772 class DisableThreadInterruptsScope : public StackResource { | 779 class DisableThreadInterruptsScope : public StackResource { |
773 public: | 780 public: |
774 explicit DisableThreadInterruptsScope(Thread* thread); | 781 explicit DisableThreadInterruptsScope(Thread* thread); |
775 ~DisableThreadInterruptsScope(); | 782 ~DisableThreadInterruptsScope(); |
776 }; | 783 }; |
777 | 784 |
778 } // namespace dart | 785 } // namespace dart |
779 | 786 |
780 #endif // VM_THREAD_H_ | 787 #endif // VM_THREAD_H_ |
OLD | NEW |