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 825 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
836 Heap::kOld); | 836 Heap::kOld); |
837 error_str = String::New("Branch offset overflow", Heap::kOld); | 837 error_str = String::New("Branch offset overflow", Heap::kOld); |
838 *branch_offset_error_ = LanguageError::New(error_str, | 838 *branch_offset_error_ = LanguageError::New(error_str, |
839 Report::kBailout, | 839 Report::kBailout, |
840 Heap::kOld); | 840 Heap::kOld); |
841 error_str = String::New("Speculative inlining failed", Heap::kOld); | 841 error_str = String::New("Speculative inlining failed", Heap::kOld); |
842 *speculative_inlining_error_ = LanguageError::New(error_str, | 842 *speculative_inlining_error_ = LanguageError::New(error_str, |
843 Report::kBailout, | 843 Report::kBailout, |
844 Heap::kOld); | 844 Heap::kOld); |
845 | 845 |
| 846 // Some thread fields need to be reinitialized as null constants have not been |
| 847 // initialized until now. |
| 848 Thread* thr = Thread::Current(); |
| 849 ASSERT(thr != NULL); |
| 850 thr->clear_sticky_error(); |
| 851 thr->clear_pending_functions(); |
| 852 |
846 ASSERT(!null_object_->IsSmi()); | 853 ASSERT(!null_object_->IsSmi()); |
847 ASSERT(!null_array_->IsSmi()); | 854 ASSERT(!null_array_->IsSmi()); |
848 ASSERT(null_array_->IsArray()); | 855 ASSERT(null_array_->IsArray()); |
849 ASSERT(!null_string_->IsSmi()); | 856 ASSERT(!null_string_->IsSmi()); |
850 ASSERT(null_string_->IsString()); | 857 ASSERT(null_string_->IsString()); |
851 ASSERT(!null_instance_->IsSmi()); | 858 ASSERT(!null_instance_->IsSmi()); |
852 ASSERT(null_instance_->IsInstance()); | 859 ASSERT(null_instance_->IsInstance()); |
853 ASSERT(!null_type_arguments_->IsSmi()); | 860 ASSERT(!null_type_arguments_->IsSmi()); |
854 ASSERT(null_type_arguments_->IsTypeArguments()); | 861 ASSERT(null_type_arguments_->IsTypeArguments()); |
855 ASSERT(!empty_array_->IsSmi()); | 862 ASSERT(!empty_array_->IsSmi()); |
(...skipping 20513 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
21369 return UserTag::null(); | 21376 return UserTag::null(); |
21370 } | 21377 } |
21371 | 21378 |
21372 | 21379 |
21373 const char* UserTag::ToCString() const { | 21380 const char* UserTag::ToCString() const { |
21374 const String& tag_label = String::Handle(label()); | 21381 const String& tag_label = String::Handle(label()); |
21375 return tag_label.ToCString(); | 21382 return tag_label.ToCString(); |
21376 } | 21383 } |
21377 | 21384 |
21378 } // namespace dart | 21385 } // namespace dart |
OLD | NEW |