OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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_ISOLATE_H_ | 5 #ifndef VM_ISOLATE_H_ |
6 #define VM_ISOLATE_H_ | 6 #define VM_ISOLATE_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/base_isolate.h" | 10 #include "vm/base_isolate.h" |
(...skipping 675 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
686 | 686 |
687 RawGrowableObjectArray* tag_table() const { return tag_table_; } | 687 RawGrowableObjectArray* tag_table() const { return tag_table_; } |
688 void set_tag_table(const GrowableObjectArray& value); | 688 void set_tag_table(const GrowableObjectArray& value); |
689 | 689 |
690 RawUserTag* current_tag() const { return current_tag_; } | 690 RawUserTag* current_tag() const { return current_tag_; } |
691 void set_current_tag(const UserTag& tag); | 691 void set_current_tag(const UserTag& tag); |
692 | 692 |
693 RawUserTag* default_tag() const { return default_tag_; } | 693 RawUserTag* default_tag() const { return default_tag_; } |
694 void set_default_tag(const UserTag& tag); | 694 void set_default_tag(const UserTag& tag); |
695 | 695 |
| 696 RawGrowableObjectArray* collected_closures() const { |
| 697 return collected_closures_; |
| 698 } |
| 699 void set_collected_closures(const GrowableObjectArray& value); |
| 700 |
696 Metric* metrics_list_head() { | 701 Metric* metrics_list_head() { |
697 return metrics_list_head_; | 702 return metrics_list_head_; |
698 } | 703 } |
699 | 704 |
700 void set_metrics_list_head(Metric* metric) { | 705 void set_metrics_list_head(Metric* metric) { |
701 metrics_list_head_ = metric; | 706 metrics_list_head_ = metric; |
702 } | 707 } |
703 | 708 |
704 RawGrowableObjectArray* deoptimized_code_array() const { | 709 RawGrowableObjectArray* deoptimized_code_array() const { |
705 return deoptimized_code_array_; | 710 return deoptimized_code_array_; |
706 } | 711 } |
707 void set_deoptimized_code_array(const GrowableObjectArray& value); | 712 void set_deoptimized_code_array(const GrowableObjectArray& value); |
708 void TrackDeoptimizedCode(const Code& code); | 713 void TrackDeoptimizedCode(const Code& code); |
709 | 714 |
| 715 bool compilation_allowed() const { return compilation_allowed_; } |
| 716 void set_compilation_allowed(bool allowed) { |
| 717 compilation_allowed_ = allowed; |
| 718 } |
| 719 |
710 #if defined(DEBUG) | 720 #if defined(DEBUG) |
711 #define REUSABLE_HANDLE_SCOPE_ACCESSORS(object) \ | 721 #define REUSABLE_HANDLE_SCOPE_ACCESSORS(object) \ |
712 void set_reusable_##object##_handle_scope_active(bool value) { \ | 722 void set_reusable_##object##_handle_scope_active(bool value) { \ |
713 reusable_##object##_handle_scope_active_ = value; \ | 723 reusable_##object##_handle_scope_active_ = value; \ |
714 } \ | 724 } \ |
715 bool reusable_##object##_handle_scope_active() const { \ | 725 bool reusable_##object##_handle_scope_active() const { \ |
716 return reusable_##object##_handle_scope_active_; \ | 726 return reusable_##object##_handle_scope_active_; \ |
717 } | 727 } |
718 REUSABLE_HANDLE_LIST(REUSABLE_HANDLE_SCOPE_ACCESSORS) | 728 REUSABLE_HANDLE_LIST(REUSABLE_HANDLE_SCOPE_ACCESSORS) |
719 #undef REUSABLE_HANDLE_SCOPE_ACCESSORS | 729 #undef REUSABLE_HANDLE_SCOPE_ACCESSORS |
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
839 | 849 |
840 IsolateProfilerData* profiler_data_; | 850 IsolateProfilerData* profiler_data_; |
841 Mutex profiler_data_mutex_; | 851 Mutex profiler_data_mutex_; |
842 InterruptableThreadState* thread_state_; | 852 InterruptableThreadState* thread_state_; |
843 | 853 |
844 VMTagCounters vm_tag_counters_; | 854 VMTagCounters vm_tag_counters_; |
845 uword user_tag_; | 855 uword user_tag_; |
846 RawGrowableObjectArray* tag_table_; | 856 RawGrowableObjectArray* tag_table_; |
847 RawUserTag* current_tag_; | 857 RawUserTag* current_tag_; |
848 RawUserTag* default_tag_; | 858 RawUserTag* default_tag_; |
| 859 |
| 860 RawGrowableObjectArray* collected_closures_; |
849 RawGrowableObjectArray* deoptimized_code_array_; | 861 RawGrowableObjectArray* deoptimized_code_array_; |
850 | 862 |
851 Metric* metrics_list_head_; | 863 Metric* metrics_list_head_; |
852 | 864 |
853 Counters counters_; | 865 Counters counters_; |
854 | 866 |
| 867 bool compilation_allowed_; |
| 868 |
855 // TODO(23153): Move this out of Isolate/Thread. | 869 // TODO(23153): Move this out of Isolate/Thread. |
856 CHA* cha_; | 870 CHA* cha_; |
857 | 871 |
858 // Isolate list next pointer. | 872 // Isolate list next pointer. |
859 Isolate* next_; | 873 Isolate* next_; |
860 | 874 |
861 // Used to wake the isolate when it is in the pause event loop. | 875 // Used to wake the isolate when it is in the pause event loop. |
862 Monitor* pause_loop_monitor_; | 876 Monitor* pause_loop_monitor_; |
863 | 877 |
864 // Reusable handles support. | 878 // Reusable handles support. |
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1060 uint8_t* serialized_message_; | 1074 uint8_t* serialized_message_; |
1061 intptr_t serialized_message_len_; | 1075 intptr_t serialized_message_len_; |
1062 Isolate::Flags isolate_flags_; | 1076 Isolate::Flags isolate_flags_; |
1063 bool paused_; | 1077 bool paused_; |
1064 bool errors_are_fatal_; | 1078 bool errors_are_fatal_; |
1065 }; | 1079 }; |
1066 | 1080 |
1067 } // namespace dart | 1081 } // namespace dart |
1068 | 1082 |
1069 #endif // VM_ISOLATE_H_ | 1083 #endif // VM_ISOLATE_H_ |
OLD | NEW |