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 RUNTIME_VM_ISOLATE_H_ | 5 #ifndef RUNTIME_VM_ISOLATE_H_ |
6 #define RUNTIME_VM_ISOLATE_H_ | 6 #define RUNTIME_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 612 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
623 // Isolate-specific flag handling. | 623 // Isolate-specific flag handling. |
624 static void FlagsInitialize(Dart_IsolateFlags* api_flags); | 624 static void FlagsInitialize(Dart_IsolateFlags* api_flags); |
625 void FlagsCopyTo(Dart_IsolateFlags* api_flags) const; | 625 void FlagsCopyTo(Dart_IsolateFlags* api_flags) const; |
626 void FlagsCopyFrom(const Dart_IsolateFlags& api_flags); | 626 void FlagsCopyFrom(const Dart_IsolateFlags& api_flags); |
627 | 627 |
628 #if defined(PRODUCT) | 628 #if defined(PRODUCT) |
629 bool type_checks() const { return FLAG_enable_type_checks; } | 629 bool type_checks() const { return FLAG_enable_type_checks; } |
630 bool asserts() const { return FLAG_enable_asserts; } | 630 bool asserts() const { return FLAG_enable_asserts; } |
631 bool error_on_bad_type() const { return FLAG_error_on_bad_type; } | 631 bool error_on_bad_type() const { return FLAG_error_on_bad_type; } |
632 bool error_on_bad_override() const { return FLAG_error_on_bad_override; } | 632 bool error_on_bad_override() const { return FLAG_error_on_bad_override; } |
| 633 bool use_field_guards() const { return FLAG_use_field_guards; } |
633 #else // defined(PRODUCT) | 634 #else // defined(PRODUCT) |
634 bool type_checks() const { return type_checks_; } | 635 bool type_checks() const { return type_checks_; } |
635 bool asserts() const { return asserts_; } | 636 bool asserts() const { return asserts_; } |
636 bool error_on_bad_type() const { return error_on_bad_type_; } | 637 bool error_on_bad_type() const { return error_on_bad_type_; } |
637 bool error_on_bad_override() const { return error_on_bad_override_; } | 638 bool error_on_bad_override() const { return error_on_bad_override_; } |
| 639 bool use_field_guards() const { return use_field_guards_; } |
638 #endif // defined(PRODUCT) | 640 #endif // defined(PRODUCT) |
639 | 641 |
640 static void KillAllIsolates(LibMsgId msg_id); | 642 static void KillAllIsolates(LibMsgId msg_id); |
641 static void KillIfExists(Isolate* isolate, LibMsgId msg_id); | 643 static void KillIfExists(Isolate* isolate, LibMsgId msg_id); |
642 | 644 |
643 static void DisableIsolateCreation(); | 645 static void DisableIsolateCreation(); |
644 static void EnableIsolateCreation(); | 646 static void EnableIsolateCreation(); |
645 static bool IsolateCreationEnabled(); | 647 static bool IsolateCreationEnabled(); |
646 | 648 |
647 void StopBackgroundCompiler(); | 649 void StopBackgroundCompiler(); |
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
757 DeoptContext* deopt_context_; | 759 DeoptContext* deopt_context_; |
758 | 760 |
759 bool is_service_isolate_; | 761 bool is_service_isolate_; |
760 | 762 |
761 // Isolate-specific flags. | 763 // Isolate-specific flags. |
762 #if !defined(PRODUCT) | 764 #if !defined(PRODUCT) |
763 bool type_checks_; | 765 bool type_checks_; |
764 bool asserts_; | 766 bool asserts_; |
765 bool error_on_bad_type_; | 767 bool error_on_bad_type_; |
766 bool error_on_bad_override_; | 768 bool error_on_bad_override_; |
| 769 bool use_field_guards_; |
767 #endif // !defined(PRODUCT) | 770 #endif // !defined(PRODUCT) |
768 | 771 |
769 // Timestamps of last operation via service. | 772 // Timestamps of last operation via service. |
770 int64_t last_allocationprofile_accumulator_reset_timestamp_; | 773 int64_t last_allocationprofile_accumulator_reset_timestamp_; |
771 int64_t last_allocationprofile_gc_timestamp_; | 774 int64_t last_allocationprofile_gc_timestamp_; |
772 | 775 |
773 // Ring buffer of objects assigned an id. | 776 // Ring buffer of objects assigned an id. |
774 ObjectIdRing* object_id_ring_; | 777 ObjectIdRing* object_id_ring_; |
775 | 778 |
776 VMTagCounters vm_tag_counters_; | 779 VMTagCounters vm_tag_counters_; |
(...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1005 intptr_t* spawn_count_; | 1008 intptr_t* spawn_count_; |
1006 | 1009 |
1007 Dart_IsolateFlags isolate_flags_; | 1010 Dart_IsolateFlags isolate_flags_; |
1008 bool paused_; | 1011 bool paused_; |
1009 bool errors_are_fatal_; | 1012 bool errors_are_fatal_; |
1010 }; | 1013 }; |
1011 | 1014 |
1012 } // namespace dart | 1015 } // namespace dart |
1013 | 1016 |
1014 #endif // RUNTIME_VM_ISOLATE_H_ | 1017 #endif // RUNTIME_VM_ISOLATE_H_ |
OLD | NEW |