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 #include "vm/isolate.h" | 5 #include "vm/isolate.h" |
6 | 6 |
7 #include "include/dart_api.h" | 7 #include "include/dart_api.h" |
8 #include "include/dart_native_api.h" | 8 #include "include/dart_native_api.h" |
9 #include "platform/assert.h" | 9 #include "platform/assert.h" |
10 #include "platform/text_buffer.h" | 10 #include "platform/text_buffer.h" |
(...skipping 708 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
719 return kOK; | 719 return kOK; |
720 } | 720 } |
721 | 721 |
722 | 722 |
723 void Isolate::FlagsInitialize(Dart_IsolateFlags* api_flags) { | 723 void Isolate::FlagsInitialize(Dart_IsolateFlags* api_flags) { |
724 api_flags->version = DART_FLAGS_CURRENT_VERSION; | 724 api_flags->version = DART_FLAGS_CURRENT_VERSION; |
725 api_flags->enable_type_checks = FLAG_enable_type_checks; | 725 api_flags->enable_type_checks = FLAG_enable_type_checks; |
726 api_flags->enable_asserts = FLAG_enable_asserts; | 726 api_flags->enable_asserts = FLAG_enable_asserts; |
727 api_flags->enable_error_on_bad_type = FLAG_error_on_bad_type; | 727 api_flags->enable_error_on_bad_type = FLAG_error_on_bad_type; |
728 api_flags->enable_error_on_bad_override = FLAG_error_on_bad_override; | 728 api_flags->enable_error_on_bad_override = FLAG_error_on_bad_override; |
| 729 api_flags->use_field_guards = FLAG_use_field_guards; |
729 } | 730 } |
730 | 731 |
731 | 732 |
732 void Isolate::FlagsCopyTo(Dart_IsolateFlags* api_flags) const { | 733 void Isolate::FlagsCopyTo(Dart_IsolateFlags* api_flags) const { |
733 api_flags->version = DART_FLAGS_CURRENT_VERSION; | 734 api_flags->version = DART_FLAGS_CURRENT_VERSION; |
734 api_flags->enable_type_checks = type_checks(); | 735 api_flags->enable_type_checks = type_checks(); |
735 api_flags->enable_asserts = asserts(); | 736 api_flags->enable_asserts = asserts(); |
736 api_flags->enable_error_on_bad_type = error_on_bad_type(); | 737 api_flags->enable_error_on_bad_type = error_on_bad_type(); |
737 api_flags->enable_error_on_bad_override = error_on_bad_override(); | 738 api_flags->enable_error_on_bad_override = error_on_bad_override(); |
| 739 api_flags->use_field_guards = use_field_guards(); |
738 } | 740 } |
739 | 741 |
740 | 742 |
741 #if !defined(PRODUCT) | 743 #if !defined(PRODUCT) |
742 void Isolate::FlagsCopyFrom(const Dart_IsolateFlags& api_flags) { | 744 void Isolate::FlagsCopyFrom(const Dart_IsolateFlags& api_flags) { |
743 type_checks_ = api_flags.enable_type_checks; | 745 type_checks_ = api_flags.enable_type_checks; |
744 asserts_ = api_flags.enable_asserts; | 746 asserts_ = api_flags.enable_asserts; |
745 error_on_bad_type_ = api_flags.enable_error_on_bad_type; | 747 error_on_bad_type_ = api_flags.enable_error_on_bad_type; |
746 error_on_bad_override_ = api_flags.enable_error_on_bad_override; | 748 error_on_bad_override_ = api_flags.enable_error_on_bad_override; |
| 749 use_field_guards_ = api_flags.use_field_guards; |
747 // Leave others at defaults. | 750 // Leave others at defaults. |
748 } | 751 } |
749 #endif // !defined(PRODUCT) | 752 #endif // !defined(PRODUCT) |
750 | 753 |
751 | 754 |
752 #if defined(DEBUG) | 755 #if defined(DEBUG) |
753 // static | 756 // static |
754 void BaseIsolate::AssertCurrent(BaseIsolate* isolate) { | 757 void BaseIsolate::AssertCurrent(BaseIsolate* isolate) { |
755 ASSERT(isolate == Isolate::Current()); | 758 ASSERT(isolate == Isolate::Current()); |
756 } | 759 } |
(...skipping 2193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2950 void IsolateSpawnState::DecrementSpawnCount() { | 2953 void IsolateSpawnState::DecrementSpawnCount() { |
2951 ASSERT(spawn_count_monitor_ != NULL); | 2954 ASSERT(spawn_count_monitor_ != NULL); |
2952 ASSERT(spawn_count_ != NULL); | 2955 ASSERT(spawn_count_ != NULL); |
2953 MonitorLocker ml(spawn_count_monitor_); | 2956 MonitorLocker ml(spawn_count_monitor_); |
2954 ASSERT(*spawn_count_ > 0); | 2957 ASSERT(*spawn_count_ > 0); |
2955 *spawn_count_ = *spawn_count_ - 1; | 2958 *spawn_count_ = *spawn_count_ - 1; |
2956 ml.Notify(); | 2959 ml.Notify(); |
2957 } | 2960 } |
2958 | 2961 |
2959 } // namespace dart | 2962 } // namespace dart |
OLD | NEW |