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 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
163 | 163 |
164 const char* name() const { return name_; } | 164 const char* name() const { return name_; } |
165 | 165 |
166 int64_t start_time() const { return start_time_; } | 166 int64_t start_time() const { return start_time_; } |
167 | 167 |
168 Dart_Port main_port() const { return main_port_; } | 168 Dart_Port main_port() const { return main_port_; } |
169 void set_main_port(Dart_Port port) { | 169 void set_main_port(Dart_Port port) { |
170 ASSERT(main_port_ == 0); // Only set main port once. | 170 ASSERT(main_port_ == 0); // Only set main port once. |
171 main_port_ = port; | 171 main_port_ = port; |
172 } | 172 } |
| 173 Dart_Port origin_id() const { return origin_id_; } |
| 174 void set_origin_id(Dart_Port id) { |
| 175 ASSERT((id == main_port_ && origin_id_ == 0) || |
| 176 (origin_id_ == main_port_)); |
| 177 origin_id_ = id; |
| 178 } |
173 void set_pause_capability(uint64_t value) { pause_capability_ = value; } | 179 void set_pause_capability(uint64_t value) { pause_capability_ = value; } |
174 uint64_t pause_capability() const { return pause_capability_; } | 180 uint64_t pause_capability() const { return pause_capability_; } |
175 void set_terminate_capability(uint64_t value) { | 181 void set_terminate_capability(uint64_t value) { |
176 terminate_capability_ = value; | 182 terminate_capability_ = value; |
177 } | 183 } |
178 uint64_t terminate_capability() const { return terminate_capability_; } | 184 uint64_t terminate_capability() const { return terminate_capability_; } |
179 | 185 |
180 Heap* heap() const { return heap_; } | 186 Heap* heap() const { return heap_; } |
181 void set_heap(Heap* value) { heap_ = value; } | 187 void set_heap(Heap* value) { heap_ = value; } |
182 static intptr_t heap_offset() { return OFFSET_OF(Isolate, heap_); } | 188 static intptr_t heap_offset() { return OFFSET_OF(Isolate, heap_); } |
(...skipping 443 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
626 | 632 |
627 static ThreadLocalKey isolate_key; | 633 static ThreadLocalKey isolate_key; |
628 | 634 |
629 StoreBuffer store_buffer_; | 635 StoreBuffer store_buffer_; |
630 ClassTable class_table_; | 636 ClassTable class_table_; |
631 MegamorphicCacheTable megamorphic_cache_table_; | 637 MegamorphicCacheTable megamorphic_cache_table_; |
632 Dart_MessageNotifyCallback message_notify_callback_; | 638 Dart_MessageNotifyCallback message_notify_callback_; |
633 char* name_; | 639 char* name_; |
634 int64_t start_time_; | 640 int64_t start_time_; |
635 Dart_Port main_port_; | 641 Dart_Port main_port_; |
| 642 Dart_Port origin_id_; // Isolates created by spawnFunc have some origin id. |
636 uint64_t pause_capability_; | 643 uint64_t pause_capability_; |
637 uint64_t terminate_capability_; | 644 uint64_t terminate_capability_; |
638 Heap* heap_; | 645 Heap* heap_; |
639 ObjectStore* object_store_; | 646 ObjectStore* object_store_; |
640 uword top_exit_frame_info_; | 647 uword top_exit_frame_info_; |
641 void* init_callback_data_; | 648 void* init_callback_data_; |
642 Dart_EnvironmentCallback environment_callback_; | 649 Dart_EnvironmentCallback environment_callback_; |
643 Dart_LibraryTagHandler library_tag_handler_; | 650 Dart_LibraryTagHandler library_tag_handler_; |
644 ApiState* api_state_; | 651 ApiState* api_state_; |
645 StubCode* stub_code_; | 652 StubCode* stub_code_; |
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
853 uint8_t* serialized_args_; | 860 uint8_t* serialized_args_; |
854 intptr_t serialized_args_len_; | 861 intptr_t serialized_args_len_; |
855 uint8_t* serialized_message_; | 862 uint8_t* serialized_message_; |
856 intptr_t serialized_message_len_; | 863 intptr_t serialized_message_len_; |
857 bool paused_; | 864 bool paused_; |
858 }; | 865 }; |
859 | 866 |
860 } // namespace dart | 867 } // namespace dart |
861 | 868 |
862 #endif // VM_ISOLATE_H_ | 869 #endif // VM_ISOLATE_H_ |
OLD | NEW |