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 RUNTIME_VM_ISOLATE_H_ | 5 #ifndef RUNTIME_VM_ISOLATE_H_ |
6 #define RUNTIME_VM_ISOLATE_H_ | 6 #define RUNTIME_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/atomic.h" | 10 #include "vm/atomic.h" |
(...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
220 // is unscheduled by the isolate (or never scheduled). | 220 // is unscheduled by the isolate (or never scheduled). |
221 bool IsMutatorThreadScheduled() { | 221 bool IsMutatorThreadScheduled() { |
222 return mutator_thread_ != NULL && mutator_thread_->heap() != NULL; | 222 return mutator_thread_ != NULL && mutator_thread_->heap() != NULL; |
223 } | 223 } |
224 | 224 |
225 const char* name() const { return name_; } | 225 const char* name() const { return name_; } |
226 | 226 |
227 #if !defined(PRODUCT) | 227 #if !defined(PRODUCT) |
228 const char* debugger_name() const { return debugger_name_; } | 228 const char* debugger_name() const { return debugger_name_; } |
229 void set_debugger_name(const char* name); | 229 void set_debugger_name(const char* name); |
230 #endif // !defined(PRODUCT) | |
231 | |
230 int64_t UptimeMicros() const; | 232 int64_t UptimeMicros() const; |
231 #endif // !defined(PRODUCT) | |
232 | 233 |
233 Dart_Port main_port() const { return main_port_; } | 234 Dart_Port main_port() const { return main_port_; } |
234 void set_main_port(Dart_Port port) { | 235 void set_main_port(Dart_Port port) { |
235 ASSERT(main_port_ == 0); // Only set main port once. | 236 ASSERT(main_port_ == 0); // Only set main port once. |
236 main_port_ = port; | 237 main_port_ = port; |
237 } | 238 } |
238 Dart_Port origin_id() const { return origin_id_; } | 239 Dart_Port origin_id() const { return origin_id_; } |
239 void set_origin_id(Dart_Port id) { | 240 void set_origin_id(Dart_Port id) { |
240 ASSERT((id == main_port_ && origin_id_ == 0) || (origin_id_ == main_port_)); | 241 ASSERT((id == main_port_ && origin_id_ == 0) || (origin_id_ == main_port_)); |
241 origin_id_ = id; | 242 origin_id_ = id; |
(...skipping 531 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
773 ClassTable class_table_; | 774 ClassTable class_table_; |
774 bool single_step_; | 775 bool single_step_; |
775 | 776 |
776 // Try to keep boolean fields together. | 777 // Try to keep boolean fields together. |
777 bool errors_fatal_; | 778 bool errors_fatal_; |
778 bool is_runnable_; | 779 bool is_runnable_; |
779 bool is_service_isolate_; | 780 bool is_service_isolate_; |
780 bool compilation_allowed_; | 781 bool compilation_allowed_; |
781 bool all_classes_finalized_; | 782 bool all_classes_finalized_; |
782 bool remapping_cids_; | 783 bool remapping_cids_; |
784 int64_t start_time_micros_; | |
zra
2017/08/04 20:08:28
In non-product builds, this will break up the bool
alexmarkov
2017/08/04 20:28:06
Done.
| |
783 | 785 |
784 // Fields that aren't needed in a product build go here with boolean flags at | 786 // Fields that aren't needed in a product build go here with boolean flags at |
785 // the top. | 787 // the top. |
786 #if !defined(PRODUCT) | 788 #if !defined(PRODUCT) |
787 bool resume_request_; | 789 bool resume_request_; |
788 bool has_attempted_reload_; // Has a reload ever been attempted? | 790 bool has_attempted_reload_; // Has a reload ever been attempted? |
789 // Should we pause in the debug message loop after this request? | 791 // Should we pause in the debug message loop after this request? |
790 bool should_pause_post_service_request_; | 792 bool should_pause_post_service_request_; |
791 | 793 |
792 char* debugger_name_; | 794 char* debugger_name_; |
793 int64_t start_time_micros_; | |
794 Debugger* debugger_; | 795 Debugger* debugger_; |
795 int64_t last_resume_timestamp_; | 796 int64_t last_resume_timestamp_; |
796 | 797 |
797 // Isolate-specific flags. | 798 // Isolate-specific flags. |
798 #define DECLARE_FIELD(name, isolate_flag_name, flag_name) bool name##_; | 799 #define DECLARE_FIELD(name, isolate_flag_name, flag_name) bool name##_; |
799 ISOLATE_FLAG_LIST(DECLARE_FIELD) | 800 ISOLATE_FLAG_LIST(DECLARE_FIELD) |
800 #undef DECLARE_FIELD | 801 #undef DECLARE_FIELD |
801 | 802 |
802 // Timestamps of last operation via service. | 803 // Timestamps of last operation via service. |
803 int64_t last_allocationprofile_accumulator_reset_timestamp_; | 804 int64_t last_allocationprofile_accumulator_reset_timestamp_; |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
837 | 838 |
838 intptr_t no_reload_scope_depth_; // we can only reload when this is 0. | 839 intptr_t no_reload_scope_depth_; // we can only reload when this is 0. |
839 // Per-isolate copy of FLAG_reload_every. | 840 // Per-isolate copy of FLAG_reload_every. |
840 intptr_t reload_every_n_stack_overflow_checks_; | 841 intptr_t reload_every_n_stack_overflow_checks_; |
841 IsolateReloadContext* reload_context_; | 842 IsolateReloadContext* reload_context_; |
842 int64_t last_reload_timestamp_; | 843 int64_t last_reload_timestamp_; |
843 // Ring buffer of objects assigned an id. | 844 // Ring buffer of objects assigned an id. |
844 ObjectIdRing* object_id_ring_; | 845 ObjectIdRing* object_id_ring_; |
845 #endif // !defined(PRODUCT) | 846 #endif // !defined(PRODUCT) |
846 | 847 |
847 // All other fields go here. | 848 // All other fields go here. |
zra
2017/08/04 20:08:28
Somewhere below here.
alexmarkov
2017/08/04 20:28:06
Done.
| |
848 ThreadRegistry* thread_registry_; | 849 ThreadRegistry* thread_registry_; |
849 SafepointHandler* safepoint_handler_; | 850 SafepointHandler* safepoint_handler_; |
850 Dart_MessageNotifyCallback message_notify_callback_; | 851 Dart_MessageNotifyCallback message_notify_callback_; |
851 char* name_; | 852 char* name_; |
852 Dart_Port main_port_; | 853 Dart_Port main_port_; |
853 Dart_Port origin_id_; // Isolates created by spawnFunc have some origin id. | 854 Dart_Port origin_id_; // Isolates created by spawnFunc have some origin id. |
854 uint64_t pause_capability_; | 855 uint64_t pause_capability_; |
855 uint64_t terminate_capability_; | 856 uint64_t terminate_capability_; |
856 void* init_callback_data_; | 857 void* init_callback_data_; |
857 Dart_EnvironmentCallback environment_callback_; | 858 Dart_EnvironmentCallback environment_callback_; |
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1060 intptr_t* spawn_count_; | 1061 intptr_t* spawn_count_; |
1061 | 1062 |
1062 Dart_IsolateFlags isolate_flags_; | 1063 Dart_IsolateFlags isolate_flags_; |
1063 bool paused_; | 1064 bool paused_; |
1064 bool errors_are_fatal_; | 1065 bool errors_are_fatal_; |
1065 }; | 1066 }; |
1066 | 1067 |
1067 } // namespace dart | 1068 } // namespace dart |
1068 | 1069 |
1069 #endif // RUNTIME_VM_ISOLATE_H_ | 1070 #endif // RUNTIME_VM_ISOLATE_H_ |
OLD | NEW |