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 237 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
248 const uint8_t* instructions_snapshot_buffer); | 248 const uint8_t* instructions_snapshot_buffer); |
249 void SetupDataSnapshotPage( | 249 void SetupDataSnapshotPage( |
250 const uint8_t* instructions_snapshot_buffer); | 250 const uint8_t* instructions_snapshot_buffer); |
251 | 251 |
252 void ScheduleMessageInterrupts(); | 252 void ScheduleMessageInterrupts(); |
253 | 253 |
254 // Marks all libraries as loaded. | 254 // Marks all libraries as loaded. |
255 void DoneLoading(); | 255 void DoneLoading(); |
256 void DoneFinalizing(); | 256 void DoneFinalizing(); |
257 | 257 |
258 void OnStackReload(); | |
259 void ReloadSources(bool test_mode = false); | 258 void ReloadSources(bool test_mode = false); |
260 | 259 |
261 bool MakeRunnable(); | 260 bool MakeRunnable(); |
262 void Run(); | 261 void Run(); |
263 | 262 |
264 MessageHandler* message_handler() const { return message_handler_; } | 263 MessageHandler* message_handler() const { return message_handler_; } |
265 void set_message_handler(MessageHandler* value) { message_handler_ = value; } | 264 void set_message_handler(MessageHandler* value) { message_handler_ = value; } |
266 | 265 |
267 bool is_runnable() const { return is_runnable_; } | 266 bool is_runnable() const { return is_runnable_; } |
268 void set_is_runnable(bool value) { | 267 void set_is_runnable(bool value) { |
(...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
525 | 524 |
526 RawGrowableObjectArray* deoptimized_code_array() const { | 525 RawGrowableObjectArray* deoptimized_code_array() const { |
527 return deoptimized_code_array_; | 526 return deoptimized_code_array_; |
528 } | 527 } |
529 void set_deoptimized_code_array(const GrowableObjectArray& value); | 528 void set_deoptimized_code_array(const GrowableObjectArray& value); |
530 void TrackDeoptimizedCode(const Code& code); | 529 void TrackDeoptimizedCode(const Code& code); |
531 | 530 |
532 RawError* sticky_error() const { return sticky_error_; } | 531 RawError* sticky_error() const { return sticky_error_; } |
533 void clear_sticky_error(); | 532 void clear_sticky_error(); |
534 | 533 |
| 534 RawError* sticky_reload_error() const { return sticky_reload_error_; } |
| 535 void clear_sticky_reload_error(); |
| 536 |
535 bool compilation_allowed() const { return compilation_allowed_; } | 537 bool compilation_allowed() const { return compilation_allowed_; } |
536 void set_compilation_allowed(bool allowed) { | 538 void set_compilation_allowed(bool allowed) { |
537 compilation_allowed_ = allowed; | 539 compilation_allowed_ = allowed; |
538 } | 540 } |
539 | 541 |
540 // In precompilation we finalize all regular classes before compiling. | 542 // In precompilation we finalize all regular classes before compiling. |
541 bool all_classes_finalized() const { return all_classes_finalized_; } | 543 bool all_classes_finalized() const { return all_classes_finalized_; } |
542 void set_all_classes_finalized(bool value) { | 544 void set_all_classes_finalized(bool value) { |
543 all_classes_finalized_ = value; | 545 all_classes_finalized_ = value; |
544 } | 546 } |
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
744 // Ring buffer of objects assigned an id. | 746 // Ring buffer of objects assigned an id. |
745 ObjectIdRing* object_id_ring_; | 747 ObjectIdRing* object_id_ring_; |
746 | 748 |
747 VMTagCounters vm_tag_counters_; | 749 VMTagCounters vm_tag_counters_; |
748 RawGrowableObjectArray* tag_table_; | 750 RawGrowableObjectArray* tag_table_; |
749 | 751 |
750 RawGrowableObjectArray* deoptimized_code_array_; | 752 RawGrowableObjectArray* deoptimized_code_array_; |
751 | 753 |
752 RawError* sticky_error_; | 754 RawError* sticky_error_; |
753 | 755 |
| 756 RawError* sticky_reload_error_; |
| 757 |
754 // Background compilation. | 758 // Background compilation. |
755 BackgroundCompiler* background_compiler_; | 759 BackgroundCompiler* background_compiler_; |
756 intptr_t background_compiler_disabled_depth_; | 760 intptr_t background_compiler_disabled_depth_; |
757 | 761 |
758 // We use 6 list entries for each pending service extension calls. | 762 // We use 6 list entries for each pending service extension calls. |
759 enum { | 763 enum { |
760 kPendingHandlerIndex = 0, | 764 kPendingHandlerIndex = 0, |
761 kPendingMethodNameIndex, | 765 kPendingMethodNameIndex, |
762 kPendingKeysIndex, | 766 kPendingKeysIndex, |
763 kPendingValuesIndex, | 767 kPendingValuesIndex, |
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
969 intptr_t* spawn_count_; | 973 intptr_t* spawn_count_; |
970 | 974 |
971 Dart_IsolateFlags isolate_flags_; | 975 Dart_IsolateFlags isolate_flags_; |
972 bool paused_; | 976 bool paused_; |
973 bool errors_are_fatal_; | 977 bool errors_are_fatal_; |
974 }; | 978 }; |
975 | 979 |
976 } // namespace dart | 980 } // namespace dart |
977 | 981 |
978 #endif // VM_ISOLATE_H_ | 982 #endif // VM_ISOLATE_H_ |
OLD | NEW |