| 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 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 171 // TODO(koda): Remove after caching current thread in generated code. | 171 // TODO(koda): Remove after caching current thread in generated code. |
| 172 Thread* mutator_thread() { | 172 Thread* mutator_thread() { |
| 173 DEBUG_ASSERT(IsIsolateOf(mutator_thread_)); | 173 DEBUG_ASSERT(IsIsolateOf(mutator_thread_)); |
| 174 return mutator_thread_; | 174 return mutator_thread_; |
| 175 } | 175 } |
| 176 #if defined(DEBUG) | 176 #if defined(DEBUG) |
| 177 bool IsIsolateOf(Thread* thread); | 177 bool IsIsolateOf(Thread* thread); |
| 178 #endif // DEBUG | 178 #endif // DEBUG |
| 179 | 179 |
| 180 const char* name() const { return name_; } | 180 const char* name() const { return name_; } |
| 181 const char* debugger_name() const { return debugger_name_; } |
| 182 void set_debugger_name(const char* name); |
| 183 |
| 181 // TODO(koda): Move to Thread. | 184 // TODO(koda): Move to Thread. |
| 182 class Log* Log() const; | 185 class Log* Log() const; |
| 183 | 186 |
| 184 int64_t start_time() const { return start_time_; } | 187 int64_t start_time() const { return start_time_; } |
| 185 | 188 |
| 186 Dart_Port main_port() const { return main_port_; } | 189 Dart_Port main_port() const { return main_port_; } |
| 187 void set_main_port(Dart_Port port) { | 190 void set_main_port(Dart_Port port) { |
| 188 ASSERT(main_port_ == 0); // Only set main port once. | 191 ASSERT(main_port_ == 0); // Only set main port once. |
| 189 main_port_ = port; | 192 main_port_ = port; |
| 190 } | 193 } |
| (...skipping 491 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 682 | 685 |
| 683 template<class T> T* AllocateReusableHandle(); | 686 template<class T> T* AllocateReusableHandle(); |
| 684 | 687 |
| 685 Thread* mutator_thread_; | 688 Thread* mutator_thread_; |
| 686 uword vm_tag_; | 689 uword vm_tag_; |
| 687 StoreBuffer store_buffer_; | 690 StoreBuffer store_buffer_; |
| 688 ClassTable class_table_; | 691 ClassTable class_table_; |
| 689 MegamorphicCacheTable megamorphic_cache_table_; | 692 MegamorphicCacheTable megamorphic_cache_table_; |
| 690 Dart_MessageNotifyCallback message_notify_callback_; | 693 Dart_MessageNotifyCallback message_notify_callback_; |
| 691 char* name_; | 694 char* name_; |
| 695 char* debugger_name_; |
| 692 int64_t start_time_; | 696 int64_t start_time_; |
| 693 Dart_Port main_port_; | 697 Dart_Port main_port_; |
| 694 Dart_Port origin_id_; // Isolates created by spawnFunc have some origin id. | 698 Dart_Port origin_id_; // Isolates created by spawnFunc have some origin id. |
| 695 uint64_t pause_capability_; | 699 uint64_t pause_capability_; |
| 696 uint64_t terminate_capability_; | 700 uint64_t terminate_capability_; |
| 697 bool errors_fatal_; | 701 bool errors_fatal_; |
| 698 Heap* heap_; | 702 Heap* heap_; |
| 699 ObjectStore* object_store_; | 703 ObjectStore* object_store_; |
| 700 uword top_exit_frame_info_; | 704 uword top_exit_frame_info_; |
| 701 void* init_callback_data_; | 705 void* init_callback_data_; |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 792 static Dart_FileReadCallback file_read_callback_; | 796 static Dart_FileReadCallback file_read_callback_; |
| 793 static Dart_FileWriteCallback file_write_callback_; | 797 static Dart_FileWriteCallback file_write_callback_; |
| 794 static Dart_FileCloseCallback file_close_callback_; | 798 static Dart_FileCloseCallback file_close_callback_; |
| 795 static Dart_EntropySource entropy_source_callback_; | 799 static Dart_EntropySource entropy_source_callback_; |
| 796 static Dart_IsolateInterruptCallback vmstats_callback_; | 800 static Dart_IsolateInterruptCallback vmstats_callback_; |
| 797 | 801 |
| 798 // Manage list of existing isolates. | 802 // Manage list of existing isolates. |
| 799 static void AddIsolateTolist(Isolate* isolate); | 803 static void AddIsolateTolist(Isolate* isolate); |
| 800 static void RemoveIsolateFromList(Isolate* isolate); | 804 static void RemoveIsolateFromList(Isolate* isolate); |
| 801 static void CheckForDuplicateThreadState(InterruptableThreadState* state); | 805 static void CheckForDuplicateThreadState(InterruptableThreadState* state); |
| 802 static Monitor* isolates_list_monitor_; | 806 |
| 807 static Monitor* isolates_list_monitor_; // Protects isolates_list_head_ |
| 803 static Isolate* isolates_list_head_; | 808 static Isolate* isolates_list_head_; |
| 804 | 809 |
| 805 #define REUSABLE_FRIEND_DECLARATION(name) \ | 810 #define REUSABLE_FRIEND_DECLARATION(name) \ |
| 806 friend class Reusable##name##HandleScope; | 811 friend class Reusable##name##HandleScope; |
| 807 REUSABLE_HANDLE_LIST(REUSABLE_FRIEND_DECLARATION) | 812 REUSABLE_HANDLE_LIST(REUSABLE_FRIEND_DECLARATION) |
| 808 #undef REUSABLE_FRIEND_DECLARATION | 813 #undef REUSABLE_FRIEND_DECLARATION |
| 809 | 814 |
| 810 friend class ServiceIsolate; | 815 friend class ServiceIsolate; |
| 811 friend class Thread; | 816 friend class Thread; |
| 812 | 817 |
| (...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 929 uint8_t* serialized_args_; | 934 uint8_t* serialized_args_; |
| 930 intptr_t serialized_args_len_; | 935 intptr_t serialized_args_len_; |
| 931 uint8_t* serialized_message_; | 936 uint8_t* serialized_message_; |
| 932 intptr_t serialized_message_len_; | 937 intptr_t serialized_message_len_; |
| 933 bool paused_; | 938 bool paused_; |
| 934 }; | 939 }; |
| 935 | 940 |
| 936 } // namespace dart | 941 } // namespace dart |
| 937 | 942 |
| 938 #endif // VM_ISOLATE_H_ | 943 #endif // VM_ISOLATE_H_ |
| OLD | NEW |