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/atomic.h" | 10 #include "vm/atomic.h" |
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
138 | 138 |
139 StoreBuffer* store_buffer() { return store_buffer_; } | 139 StoreBuffer* store_buffer() { return store_buffer_; } |
140 | 140 |
141 ThreadRegistry* thread_registry() { return thread_registry_; } | 141 ThreadRegistry* thread_registry() { return thread_registry_; } |
142 | 142 |
143 ClassTable* class_table() { return &class_table_; } | 143 ClassTable* class_table() { return &class_table_; } |
144 static intptr_t class_table_offset() { | 144 static intptr_t class_table_offset() { |
145 return OFFSET_OF(Isolate, class_table_); | 145 return OFFSET_OF(Isolate, class_table_); |
146 } | 146 } |
147 | 147 |
| 148 MegamorphicCacheTable* megamorphic_cache_table() { |
| 149 return &megamorphic_cache_table_; |
| 150 } |
| 151 |
148 Dart_MessageNotifyCallback message_notify_callback() const { | 152 Dart_MessageNotifyCallback message_notify_callback() const { |
149 return message_notify_callback_; | 153 return message_notify_callback_; |
150 } | 154 } |
151 void set_message_notify_callback(Dart_MessageNotifyCallback value) { | 155 void set_message_notify_callback(Dart_MessageNotifyCallback value) { |
152 message_notify_callback_ = value; | 156 message_notify_callback_ = value; |
153 } | 157 } |
154 | 158 |
155 // Limited public access to BaseIsolate::mutator_thread_ for code that | 159 // Limited public access to BaseIsolate::mutator_thread_ for code that |
156 // must treat the mutator as the default or a special case. Prefer code | 160 // must treat the mutator as the default or a special case. Prefer code |
157 // that works uniformly across all threads. | 161 // that works uniformly across all threads. |
(...skipping 646 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
804 #if defined(DEBUG) | 808 #if defined(DEBUG) |
805 bool IsIsolateOf(Thread* thread); | 809 bool IsIsolateOf(Thread* thread); |
806 #endif // DEBUG | 810 #endif // DEBUG |
807 | 811 |
808 template<class T> T* AllocateReusableHandle(); | 812 template<class T> T* AllocateReusableHandle(); |
809 | 813 |
810 uword vm_tag_; | 814 uword vm_tag_; |
811 StoreBuffer* store_buffer_; | 815 StoreBuffer* store_buffer_; |
812 ThreadRegistry* thread_registry_; | 816 ThreadRegistry* thread_registry_; |
813 ClassTable class_table_; | 817 ClassTable class_table_; |
| 818 MegamorphicCacheTable megamorphic_cache_table_; |
814 Dart_MessageNotifyCallback message_notify_callback_; | 819 Dart_MessageNotifyCallback message_notify_callback_; |
815 char* name_; | 820 char* name_; |
816 char* debugger_name_; | 821 char* debugger_name_; |
817 int64_t start_time_; | 822 int64_t start_time_; |
818 Dart_Port main_port_; | 823 Dart_Port main_port_; |
819 Dart_Port origin_id_; // Isolates created by spawnFunc have some origin id. | 824 Dart_Port origin_id_; // Isolates created by spawnFunc have some origin id. |
820 uint64_t pause_capability_; | 825 uint64_t pause_capability_; |
821 uint64_t terminate_capability_; | 826 uint64_t terminate_capability_; |
822 bool errors_fatal_; | 827 bool errors_fatal_; |
823 Heap* heap_; | 828 Heap* heap_; |
(...skipping 291 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1115 uint8_t* serialized_message_; | 1120 uint8_t* serialized_message_; |
1116 intptr_t serialized_message_len_; | 1121 intptr_t serialized_message_len_; |
1117 Isolate::Flags isolate_flags_; | 1122 Isolate::Flags isolate_flags_; |
1118 bool paused_; | 1123 bool paused_; |
1119 bool errors_are_fatal_; | 1124 bool errors_are_fatal_; |
1120 }; | 1125 }; |
1121 | 1126 |
1122 } // namespace dart | 1127 } // namespace dart |
1123 | 1128 |
1124 #endif // VM_ISOLATE_H_ | 1129 #endif // VM_ISOLATE_H_ |
OLD | NEW |