| 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 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 107 Array* Object::extractor_parameter_names_ = NULL; | 107 Array* Object::extractor_parameter_names_ = NULL; |
| 108 Instance* Object::sentinel_ = NULL; | 108 Instance* Object::sentinel_ = NULL; |
| 109 Instance* Object::transition_sentinel_ = NULL; | 109 Instance* Object::transition_sentinel_ = NULL; |
| 110 Instance* Object::unknown_constant_ = NULL; | 110 Instance* Object::unknown_constant_ = NULL; |
| 111 Instance* Object::non_constant_ = NULL; | 111 Instance* Object::non_constant_ = NULL; |
| 112 Bool* Object::bool_true_ = NULL; | 112 Bool* Object::bool_true_ = NULL; |
| 113 Bool* Object::bool_false_ = NULL; | 113 Bool* Object::bool_false_ = NULL; |
| 114 Smi* Object::smi_illegal_cid_ = NULL; | 114 Smi* Object::smi_illegal_cid_ = NULL; |
| 115 LanguageError* Object::snapshot_writer_error_ = NULL; | 115 LanguageError* Object::snapshot_writer_error_ = NULL; |
| 116 LanguageError* Object::branch_offset_error_ = NULL; | 116 LanguageError* Object::branch_offset_error_ = NULL; |
| 117 LanguageError* Object::speculative_inlining_error_ = NULL; |
| 117 Array* Object::vm_isolate_snapshot_object_table_ = NULL; | 118 Array* Object::vm_isolate_snapshot_object_table_ = NULL; |
| 118 Type* Object::dynamic_type_ = NULL; | 119 Type* Object::dynamic_type_ = NULL; |
| 119 Type* Object::void_type_ = NULL; | 120 Type* Object::void_type_ = NULL; |
| 120 | 121 |
| 121 RawObject* Object::null_ = reinterpret_cast<RawObject*>(RAW_NULL); | 122 RawObject* Object::null_ = reinterpret_cast<RawObject*>(RAW_NULL); |
| 122 RawClass* Object::class_class_ = reinterpret_cast<RawClass*>(RAW_NULL); | 123 RawClass* Object::class_class_ = reinterpret_cast<RawClass*>(RAW_NULL); |
| 123 RawClass* Object::dynamic_class_ = reinterpret_cast<RawClass*>(RAW_NULL); | 124 RawClass* Object::dynamic_class_ = reinterpret_cast<RawClass*>(RAW_NULL); |
| 124 RawClass* Object::void_class_ = reinterpret_cast<RawClass*>(RAW_NULL); | 125 RawClass* Object::void_class_ = reinterpret_cast<RawClass*>(RAW_NULL); |
| 125 RawClass* Object::unresolved_class_class_ = | 126 RawClass* Object::unresolved_class_class_ = |
| 126 reinterpret_cast<RawClass*>(RAW_NULL); | 127 reinterpret_cast<RawClass*>(RAW_NULL); |
| (...skipping 353 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 480 extractor_parameter_names_ = Array::ReadOnlyHandle(); | 481 extractor_parameter_names_ = Array::ReadOnlyHandle(); |
| 481 sentinel_ = Instance::ReadOnlyHandle(); | 482 sentinel_ = Instance::ReadOnlyHandle(); |
| 482 transition_sentinel_ = Instance::ReadOnlyHandle(); | 483 transition_sentinel_ = Instance::ReadOnlyHandle(); |
| 483 unknown_constant_ = Instance::ReadOnlyHandle(); | 484 unknown_constant_ = Instance::ReadOnlyHandle(); |
| 484 non_constant_ = Instance::ReadOnlyHandle(); | 485 non_constant_ = Instance::ReadOnlyHandle(); |
| 485 bool_true_ = Bool::ReadOnlyHandle(); | 486 bool_true_ = Bool::ReadOnlyHandle(); |
| 486 bool_false_ = Bool::ReadOnlyHandle(); | 487 bool_false_ = Bool::ReadOnlyHandle(); |
| 487 smi_illegal_cid_ = Smi::ReadOnlyHandle(); | 488 smi_illegal_cid_ = Smi::ReadOnlyHandle(); |
| 488 snapshot_writer_error_ = LanguageError::ReadOnlyHandle(); | 489 snapshot_writer_error_ = LanguageError::ReadOnlyHandle(); |
| 489 branch_offset_error_ = LanguageError::ReadOnlyHandle(); | 490 branch_offset_error_ = LanguageError::ReadOnlyHandle(); |
| 491 speculative_inlining_error_ = LanguageError::ReadOnlyHandle(); |
| 490 vm_isolate_snapshot_object_table_ = Array::ReadOnlyHandle(); | 492 vm_isolate_snapshot_object_table_ = Array::ReadOnlyHandle(); |
| 491 dynamic_type_ = Type::ReadOnlyHandle(); | 493 dynamic_type_ = Type::ReadOnlyHandle(); |
| 492 void_type_ = Type::ReadOnlyHandle(); | 494 void_type_ = Type::ReadOnlyHandle(); |
| 493 | 495 |
| 494 *null_object_ = Object::null(); | 496 *null_object_ = Object::null(); |
| 495 *null_array_ = Array::null(); | 497 *null_array_ = Array::null(); |
| 496 *null_string_ = String::null(); | 498 *null_string_ = String::null(); |
| 497 *null_instance_ = Instance::null(); | 499 *null_instance_ = Instance::null(); |
| 498 *null_type_arguments_ = TypeArguments::null(); | 500 *null_type_arguments_ = TypeArguments::null(); |
| 499 | 501 |
| (...skipping 323 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 823 | 825 |
| 824 String& error_str = String::Handle(); | 826 String& error_str = String::Handle(); |
| 825 error_str = String::New("SnapshotWriter Error", Heap::kOld); | 827 error_str = String::New("SnapshotWriter Error", Heap::kOld); |
| 826 *snapshot_writer_error_ = LanguageError::New(error_str, | 828 *snapshot_writer_error_ = LanguageError::New(error_str, |
| 827 Report::kError, | 829 Report::kError, |
| 828 Heap::kOld); | 830 Heap::kOld); |
| 829 error_str = String::New("Branch offset overflow", Heap::kOld); | 831 error_str = String::New("Branch offset overflow", Heap::kOld); |
| 830 *branch_offset_error_ = LanguageError::New(error_str, | 832 *branch_offset_error_ = LanguageError::New(error_str, |
| 831 Report::kBailout, | 833 Report::kBailout, |
| 832 Heap::kOld); | 834 Heap::kOld); |
| 835 error_str = String::New("Speculative inlining failed", Heap::kOld); |
| 836 *speculative_inlining_error_ = LanguageError::New(error_str, |
| 837 Report::kBailout, |
| 838 Heap::kOld); |
| 833 | 839 |
| 834 ASSERT(!null_object_->IsSmi()); | 840 ASSERT(!null_object_->IsSmi()); |
| 835 ASSERT(!null_array_->IsSmi()); | 841 ASSERT(!null_array_->IsSmi()); |
| 836 ASSERT(null_array_->IsArray()); | 842 ASSERT(null_array_->IsArray()); |
| 837 ASSERT(!null_string_->IsSmi()); | 843 ASSERT(!null_string_->IsSmi()); |
| 838 ASSERT(null_string_->IsString()); | 844 ASSERT(null_string_->IsString()); |
| 839 ASSERT(!null_instance_->IsSmi()); | 845 ASSERT(!null_instance_->IsSmi()); |
| 840 ASSERT(null_instance_->IsInstance()); | 846 ASSERT(null_instance_->IsInstance()); |
| 841 ASSERT(!null_type_arguments_->IsSmi()); | 847 ASSERT(!null_type_arguments_->IsSmi()); |
| 842 ASSERT(null_type_arguments_->IsTypeArguments()); | 848 ASSERT(null_type_arguments_->IsTypeArguments()); |
| (...skipping 19 matching lines...) Expand all Loading... |
| 862 ASSERT(non_constant_->IsInstance()); | 868 ASSERT(non_constant_->IsInstance()); |
| 863 ASSERT(!bool_true_->IsSmi()); | 869 ASSERT(!bool_true_->IsSmi()); |
| 864 ASSERT(bool_true_->IsBool()); | 870 ASSERT(bool_true_->IsBool()); |
| 865 ASSERT(!bool_false_->IsSmi()); | 871 ASSERT(!bool_false_->IsSmi()); |
| 866 ASSERT(bool_false_->IsBool()); | 872 ASSERT(bool_false_->IsBool()); |
| 867 ASSERT(smi_illegal_cid_->IsSmi()); | 873 ASSERT(smi_illegal_cid_->IsSmi()); |
| 868 ASSERT(!snapshot_writer_error_->IsSmi()); | 874 ASSERT(!snapshot_writer_error_->IsSmi()); |
| 869 ASSERT(snapshot_writer_error_->IsLanguageError()); | 875 ASSERT(snapshot_writer_error_->IsLanguageError()); |
| 870 ASSERT(!branch_offset_error_->IsSmi()); | 876 ASSERT(!branch_offset_error_->IsSmi()); |
| 871 ASSERT(branch_offset_error_->IsLanguageError()); | 877 ASSERT(branch_offset_error_->IsLanguageError()); |
| 878 ASSERT(!speculative_inlining_error_->IsSmi()); |
| 879 ASSERT(speculative_inlining_error_->IsLanguageError()); |
| 872 ASSERT(!vm_isolate_snapshot_object_table_->IsSmi()); | 880 ASSERT(!vm_isolate_snapshot_object_table_->IsSmi()); |
| 873 ASSERT(vm_isolate_snapshot_object_table_->IsArray()); | 881 ASSERT(vm_isolate_snapshot_object_table_->IsArray()); |
| 874 } | 882 } |
| 875 | 883 |
| 876 | 884 |
| 877 // An object visitor which will mark all visited objects. This is used to | 885 // An object visitor which will mark all visited objects. This is used to |
| 878 // premark all objects in the vm_isolate_ heap. | 886 // premark all objects in the vm_isolate_ heap. |
| 879 class PremarkingVisitor : public ObjectVisitor { | 887 class PremarkingVisitor : public ObjectVisitor { |
| 880 public: | 888 public: |
| 881 explicit PremarkingVisitor(Isolate* isolate) : ObjectVisitor(isolate) {} | 889 explicit PremarkingVisitor(Isolate* isolate) : ObjectVisitor(isolate) {} |
| (...skipping 21086 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 21968 return tag_label.ToCString(); | 21976 return tag_label.ToCString(); |
| 21969 } | 21977 } |
| 21970 | 21978 |
| 21971 | 21979 |
| 21972 void UserTag::PrintJSONImpl(JSONStream* stream, bool ref) const { | 21980 void UserTag::PrintJSONImpl(JSONStream* stream, bool ref) const { |
| 21973 Instance::PrintJSONImpl(stream, ref); | 21981 Instance::PrintJSONImpl(stream, ref); |
| 21974 } | 21982 } |
| 21975 | 21983 |
| 21976 | 21984 |
| 21977 } // namespace dart | 21985 } // namespace dart |
| OLD | NEW |