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 620 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
631 // Isolate-specific flag handling. | 631 // Isolate-specific flag handling. |
632 static void FlagsInitialize(Dart_IsolateFlags* api_flags); | 632 static void FlagsInitialize(Dart_IsolateFlags* api_flags); |
633 void FlagsCopyTo(Dart_IsolateFlags* api_flags) const; | 633 void FlagsCopyTo(Dart_IsolateFlags* api_flags) const; |
634 void FlagsCopyFrom(const Dart_IsolateFlags& api_flags); | 634 void FlagsCopyFrom(const Dart_IsolateFlags& api_flags); |
635 | 635 |
636 #if defined(PRODUCT) | 636 #if defined(PRODUCT) |
637 bool type_checks() const { return FLAG_enable_type_checks; } | 637 bool type_checks() const { return FLAG_enable_type_checks; } |
638 bool asserts() const { return FLAG_enable_asserts; } | 638 bool asserts() const { return FLAG_enable_asserts; } |
639 bool error_on_bad_type() const { return FLAG_error_on_bad_type; } | 639 bool error_on_bad_type() const { return FLAG_error_on_bad_type; } |
640 bool error_on_bad_override() const { return FLAG_error_on_bad_override; } | 640 bool error_on_bad_override() const { return FLAG_error_on_bad_override; } |
| 641 bool use_field_guards() const { return FLAG_use_field_guards; } |
641 #else // defined(PRODUCT) | 642 #else // defined(PRODUCT) |
642 bool type_checks() const { return type_checks_; } | 643 bool type_checks() const { return type_checks_; } |
643 bool asserts() const { return asserts_; } | 644 bool asserts() const { return asserts_; } |
644 bool error_on_bad_type() const { return error_on_bad_type_; } | 645 bool error_on_bad_type() const { return error_on_bad_type_; } |
645 bool error_on_bad_override() const { return error_on_bad_override_; } | 646 bool error_on_bad_override() const { return error_on_bad_override_; } |
| 647 bool use_field_guards() const { return use_field_guards_; } |
646 #endif // defined(PRODUCT) | 648 #endif // defined(PRODUCT) |
647 | 649 |
648 static void KillAllIsolates(LibMsgId msg_id); | 650 static void KillAllIsolates(LibMsgId msg_id); |
649 static void KillIfExists(Isolate* isolate, LibMsgId msg_id); | 651 static void KillIfExists(Isolate* isolate, LibMsgId msg_id); |
650 | 652 |
651 static void DisableIsolateCreation(); | 653 static void DisableIsolateCreation(); |
652 static void EnableIsolateCreation(); | 654 static void EnableIsolateCreation(); |
653 static bool IsolateCreationEnabled(); | 655 static bool IsolateCreationEnabled(); |
654 | 656 |
655 void StopBackgroundCompiler(); | 657 void StopBackgroundCompiler(); |
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
765 DeoptContext* deopt_context_; | 767 DeoptContext* deopt_context_; |
766 | 768 |
767 bool is_service_isolate_; | 769 bool is_service_isolate_; |
768 | 770 |
769 // Isolate-specific flags. | 771 // Isolate-specific flags. |
770 #if !defined(PRODUCT) | 772 #if !defined(PRODUCT) |
771 bool type_checks_; | 773 bool type_checks_; |
772 bool asserts_; | 774 bool asserts_; |
773 bool error_on_bad_type_; | 775 bool error_on_bad_type_; |
774 bool error_on_bad_override_; | 776 bool error_on_bad_override_; |
| 777 bool use_field_guards_; |
775 #endif // !defined(PRODUCT) | 778 #endif // !defined(PRODUCT) |
776 | 779 |
777 // Timestamps of last operation via service. | 780 // Timestamps of last operation via service. |
778 int64_t last_allocationprofile_accumulator_reset_timestamp_; | 781 int64_t last_allocationprofile_accumulator_reset_timestamp_; |
779 int64_t last_allocationprofile_gc_timestamp_; | 782 int64_t last_allocationprofile_gc_timestamp_; |
780 | 783 |
781 // Ring buffer of objects assigned an id. | 784 // Ring buffer of objects assigned an id. |
782 ObjectIdRing* object_id_ring_; | 785 ObjectIdRing* object_id_ring_; |
783 | 786 |
784 VMTagCounters vm_tag_counters_; | 787 VMTagCounters vm_tag_counters_; |
(...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1014 intptr_t* spawn_count_; | 1017 intptr_t* spawn_count_; |
1015 | 1018 |
1016 Dart_IsolateFlags isolate_flags_; | 1019 Dart_IsolateFlags isolate_flags_; |
1017 bool paused_; | 1020 bool paused_; |
1018 bool errors_are_fatal_; | 1021 bool errors_are_fatal_; |
1019 }; | 1022 }; |
1020 | 1023 |
1021 } // namespace dart | 1024 } // namespace dart |
1022 | 1025 |
1023 #endif // RUNTIME_VM_ISOLATE_H_ | 1026 #endif // RUNTIME_VM_ISOLATE_H_ |
OLD | NEW |