| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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/object.h" | 5 #include "vm/object.h" |
| 6 | 6 |
| 7 #include "include/dart_api.h" | 7 #include "include/dart_api.h" |
| 8 #include "platform/assert.h" | 8 #include "platform/assert.h" |
| 9 #include "vm/assembler.h" | 9 #include "vm/assembler.h" |
| 10 #include "vm/cpu.h" | 10 #include "vm/cpu.h" |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 55 "When possible, partially or fully overlap the type arguments of a type " | 55 "When possible, partially or fully overlap the type arguments of a type " |
| 56 "with the type arguments of its super type."); | 56 "with the type arguments of its super type."); |
| 57 DEFINE_FLAG(bool, show_internal_names, false, | 57 DEFINE_FLAG(bool, show_internal_names, false, |
| 58 "Show names of internal classes (e.g. \"OneByteString\") in error messages " | 58 "Show names of internal classes (e.g. \"OneByteString\") in error messages " |
| 59 "instead of showing the corresponding interface names (e.g. \"String\")"); | 59 "instead of showing the corresponding interface names (e.g. \"String\")"); |
| 60 DEFINE_FLAG(bool, trace_disabling_optimized_code, false, | 60 DEFINE_FLAG(bool, trace_disabling_optimized_code, false, |
| 61 "Trace disabling optimized code."); | 61 "Trace disabling optimized code."); |
| 62 DEFINE_FLAG(bool, throw_on_javascript_int_overflow, false, | 62 DEFINE_FLAG(bool, throw_on_javascript_int_overflow, false, |
| 63 "Throw an exception when the result of an integer calculation will not " | 63 "Throw an exception when the result of an integer calculation will not " |
| 64 "fit into a javascript integer."); | 64 "fit into a javascript integer."); |
| 65 DEFINE_FLAG(bool, use_field_guards, true, "Guard field cids."); |
| 65 DEFINE_FLAG(bool, use_lib_cache, true, "Use library name cache"); | 66 DEFINE_FLAG(bool, use_lib_cache, true, "Use library name cache"); |
| 66 | 67 |
| 67 DECLARE_FLAG(bool, eliminate_type_checks); | 68 DECLARE_FLAG(bool, eliminate_type_checks); |
| 68 DECLARE_FLAG(bool, enable_type_checks); | 69 DECLARE_FLAG(bool, enable_type_checks); |
| 69 DECLARE_FLAG(bool, error_on_bad_override); | 70 DECLARE_FLAG(bool, error_on_bad_override); |
| 70 DECLARE_FLAG(bool, trace_compiler); | 71 DECLARE_FLAG(bool, trace_compiler); |
| 71 DECLARE_FLAG(bool, trace_deoptimization); | 72 DECLARE_FLAG(bool, trace_deoptimization); |
| 72 DECLARE_FLAG(bool, trace_deoptimization_verbose); | 73 DECLARE_FLAG(bool, trace_deoptimization_verbose); |
| 73 DECLARE_FLAG(bool, verbose_stacktrace); | 74 DECLARE_FLAG(bool, verbose_stacktrace); |
| 74 DECLARE_FLAG(charp, coverage_dir); | 75 DECLARE_FLAG(charp, coverage_dir); |
| (...skipping 6700 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6775 result.set_value(Object::null_instance()); | 6776 result.set_value(Object::null_instance()); |
| 6776 } else { | 6777 } else { |
| 6777 result.SetOffset(0); | 6778 result.SetOffset(0); |
| 6778 } | 6779 } |
| 6779 result.set_is_final(is_final); | 6780 result.set_is_final(is_final); |
| 6780 result.set_is_const(is_const); | 6781 result.set_is_const(is_const); |
| 6781 result.set_owner(owner); | 6782 result.set_owner(owner); |
| 6782 result.set_token_pos(token_pos); | 6783 result.set_token_pos(token_pos); |
| 6783 result.set_has_initializer(false); | 6784 result.set_has_initializer(false); |
| 6784 result.set_is_unboxing_candidate(true); | 6785 result.set_is_unboxing_candidate(true); |
| 6785 result.set_guarded_cid(kIllegalCid); | 6786 result.set_guarded_cid(FLAG_use_field_guards ? kIllegalCid : kDynamicCid); |
| 6786 result.set_is_nullable(false); | 6787 result.set_is_nullable(FLAG_use_field_guards ? false : true); |
| 6787 // Presently, we only attempt to remember the list length for final fields. | 6788 // Presently, we only attempt to remember the list length for final fields. |
| 6788 if (is_final) { | 6789 if (is_final && FLAG_use_field_guards) { |
| 6789 result.set_guarded_list_length(Field::kUnknownFixedLength); | 6790 result.set_guarded_list_length(Field::kUnknownFixedLength); |
| 6790 } else { | 6791 } else { |
| 6791 result.set_guarded_list_length(Field::kNoFixedLength); | 6792 result.set_guarded_list_length(Field::kNoFixedLength); |
| 6792 } | 6793 } |
| 6793 result.set_dependent_code(Object::null_array()); | 6794 result.set_dependent_code(Object::null_array()); |
| 6794 return result.raw(); | 6795 return result.raw(); |
| 6795 } | 6796 } |
| 6796 | 6797 |
| 6797 | 6798 |
| 6798 | 6799 |
| (...skipping 12066 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 18865 return tag_label.ToCString(); | 18866 return tag_label.ToCString(); |
| 18866 } | 18867 } |
| 18867 | 18868 |
| 18868 | 18869 |
| 18869 void UserTag::PrintJSONImpl(JSONStream* stream, bool ref) const { | 18870 void UserTag::PrintJSONImpl(JSONStream* stream, bool ref) const { |
| 18870 Instance::PrintJSONImpl(stream, ref); | 18871 Instance::PrintJSONImpl(stream, ref); |
| 18871 } | 18872 } |
| 18872 | 18873 |
| 18873 | 18874 |
| 18874 } // namespace dart | 18875 } // namespace dart |
| OLD | NEW |