| 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 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 131 | 131 |
| 132 StoreBuffer* store_buffer() { return store_buffer_; } | 132 StoreBuffer* store_buffer() { return store_buffer_; } |
| 133 | 133 |
| 134 ThreadRegistry* thread_registry() { return thread_registry_; } | 134 ThreadRegistry* thread_registry() { return thread_registry_; } |
| 135 | 135 |
| 136 ClassTable* class_table() { return &class_table_; } | 136 ClassTable* class_table() { return &class_table_; } |
| 137 static intptr_t class_table_offset() { | 137 static intptr_t class_table_offset() { |
| 138 return OFFSET_OF(Isolate, class_table_); | 138 return OFFSET_OF(Isolate, class_table_); |
| 139 } | 139 } |
| 140 | 140 |
| 141 static intptr_t ic_miss_function_offset() { |
| 142 return OFFSET_OF(Isolate, ic_miss_function_); |
| 143 } |
| 144 |
| 141 Dart_MessageNotifyCallback message_notify_callback() const { | 145 Dart_MessageNotifyCallback message_notify_callback() const { |
| 142 return message_notify_callback_; | 146 return message_notify_callback_; |
| 143 } | 147 } |
| 144 void set_message_notify_callback(Dart_MessageNotifyCallback value) { | 148 void set_message_notify_callback(Dart_MessageNotifyCallback value) { |
| 145 message_notify_callback_ = value; | 149 message_notify_callback_ = value; |
| 146 } | 150 } |
| 147 | 151 |
| 148 // Limited public access to BaseIsolate::mutator_thread_ for code that | 152 // Limited public access to BaseIsolate::mutator_thread_ for code that |
| 149 // must treat the mutator as the default or a special case. Prefer code | 153 // must treat the mutator as the default or a special case. Prefer code |
| 150 // that works uniformly across all threads. | 154 // that works uniformly across all threads. |
| (...skipping 436 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 587 | 591 |
| 588 RawGrowableObjectArray* tag_table() const { return tag_table_; } | 592 RawGrowableObjectArray* tag_table() const { return tag_table_; } |
| 589 void set_tag_table(const GrowableObjectArray& value); | 593 void set_tag_table(const GrowableObjectArray& value); |
| 590 | 594 |
| 591 RawUserTag* current_tag() const { return current_tag_; } | 595 RawUserTag* current_tag() const { return current_tag_; } |
| 592 void set_current_tag(const UserTag& tag); | 596 void set_current_tag(const UserTag& tag); |
| 593 | 597 |
| 594 RawUserTag* default_tag() const { return default_tag_; } | 598 RawUserTag* default_tag() const { return default_tag_; } |
| 595 void set_default_tag(const UserTag& tag); | 599 void set_default_tag(const UserTag& tag); |
| 596 | 600 |
| 601 void set_ic_miss_function(const Function& func); |
| 602 |
| 597 Metric* metrics_list_head() { | 603 Metric* metrics_list_head() { |
| 598 return metrics_list_head_; | 604 return metrics_list_head_; |
| 599 } | 605 } |
| 600 | 606 |
| 601 void set_metrics_list_head(Metric* metric) { | 607 void set_metrics_list_head(Metric* metric) { |
| 602 metrics_list_head_ = metric; | 608 metrics_list_head_ = metric; |
| 603 } | 609 } |
| 604 | 610 |
| 605 RawGrowableObjectArray* deoptimized_code_array() const { | 611 RawGrowableObjectArray* deoptimized_code_array() const { |
| 606 return deoptimized_code_array_; | 612 return deoptimized_code_array_; |
| (...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 717 return mutator_thread_->zone(); | 723 return mutator_thread_->zone(); |
| 718 } | 724 } |
| 719 | 725 |
| 720 // Accessed from generated code: | 726 // Accessed from generated code: |
| 721 uword stack_limit_; | 727 uword stack_limit_; |
| 722 StoreBuffer* store_buffer_; | 728 StoreBuffer* store_buffer_; |
| 723 Heap* heap_; | 729 Heap* heap_; |
| 724 uword user_tag_; | 730 uword user_tag_; |
| 725 RawUserTag* current_tag_; | 731 RawUserTag* current_tag_; |
| 726 RawUserTag* default_tag_; | 732 RawUserTag* default_tag_; |
| 733 RawFunction* ic_miss_function_; |
| 727 ClassTable class_table_; | 734 ClassTable class_table_; |
| 728 bool single_step_; | 735 bool single_step_; |
| 729 | 736 |
| 730 ThreadRegistry* thread_registry_; | 737 ThreadRegistry* thread_registry_; |
| 731 Dart_MessageNotifyCallback message_notify_callback_; | 738 Dart_MessageNotifyCallback message_notify_callback_; |
| 732 char* name_; | 739 char* name_; |
| 733 char* debugger_name_; | 740 char* debugger_name_; |
| 734 int64_t start_time_; | 741 int64_t start_time_; |
| 735 Dart_Port main_port_; | 742 Dart_Port main_port_; |
| 736 Dart_Port origin_id_; // Isolates created by spawnFunc have some origin id. | 743 Dart_Port origin_id_; // Isolates created by spawnFunc have some origin id. |
| (...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 971 uint8_t* serialized_message_; | 978 uint8_t* serialized_message_; |
| 972 intptr_t serialized_message_len_; | 979 intptr_t serialized_message_len_; |
| 973 Isolate::Flags isolate_flags_; | 980 Isolate::Flags isolate_flags_; |
| 974 bool paused_; | 981 bool paused_; |
| 975 bool errors_are_fatal_; | 982 bool errors_are_fatal_; |
| 976 }; | 983 }; |
| 977 | 984 |
| 978 } // namespace dart | 985 } // namespace dart |
| 979 | 986 |
| 980 #endif // VM_ISOLATE_H_ | 987 #endif // VM_ISOLATE_H_ |
| OLD | NEW |