| 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/raw_object.h" | 5 #include "vm/raw_object.h" |
| 6 | 6 |
| 7 #include "vm/become.h" | 7 #include "vm/become.h" |
| 8 #include "vm/class_table.h" | 8 #include "vm/class_table.h" |
| 9 #include "vm/dart.h" | 9 #include "vm/dart.h" |
| 10 #include "vm/freelist.h" | 10 #include "vm/freelist.h" |
| (...skipping 803 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 814 // String is an abstract class. | 814 // String is an abstract class. |
| 815 UNREACHABLE(); | 815 UNREACHABLE(); |
| 816 return 0; | 816 return 0; |
| 817 } | 817 } |
| 818 | 818 |
| 819 | 819 |
| 820 intptr_t RawOneByteString::VisitOneByteStringPointers( | 820 intptr_t RawOneByteString::VisitOneByteStringPointers( |
| 821 RawOneByteString* raw_obj, | 821 RawOneByteString* raw_obj, |
| 822 ObjectPointerVisitor* visitor) { | 822 ObjectPointerVisitor* visitor) { |
| 823 ASSERT(!raw_obj->ptr()->length_->IsHeapObject()); | 823 ASSERT(!raw_obj->ptr()->length_->IsHeapObject()); |
| 824 #if !defined(HASH_IN_OBJECT_HEADER) |
| 824 ASSERT(!raw_obj->ptr()->hash_->IsHeapObject()); | 825 ASSERT(!raw_obj->ptr()->hash_->IsHeapObject()); |
| 826 #endif |
| 825 intptr_t length = Smi::Value(raw_obj->ptr()->length_); | 827 intptr_t length = Smi::Value(raw_obj->ptr()->length_); |
| 826 return OneByteString::InstanceSize(length); | 828 return OneByteString::InstanceSize(length); |
| 827 } | 829 } |
| 828 | 830 |
| 829 | 831 |
| 830 intptr_t RawTwoByteString::VisitTwoByteStringPointers( | 832 intptr_t RawTwoByteString::VisitTwoByteStringPointers( |
| 831 RawTwoByteString* raw_obj, | 833 RawTwoByteString* raw_obj, |
| 832 ObjectPointerVisitor* visitor) { | 834 ObjectPointerVisitor* visitor) { |
| 833 ASSERT(!raw_obj->ptr()->length_->IsHeapObject()); | 835 ASSERT(!raw_obj->ptr()->length_->IsHeapObject()); |
| 836 #if !defined(HASH_IN_OBJECT_HEADER) |
| 834 ASSERT(!raw_obj->ptr()->hash_->IsHeapObject()); | 837 ASSERT(!raw_obj->ptr()->hash_->IsHeapObject()); |
| 838 #endif |
| 835 intptr_t length = Smi::Value(raw_obj->ptr()->length_); | 839 intptr_t length = Smi::Value(raw_obj->ptr()->length_); |
| 836 return TwoByteString::InstanceSize(length); | 840 return TwoByteString::InstanceSize(length); |
| 837 } | 841 } |
| 838 | 842 |
| 839 | 843 |
| 840 intptr_t RawExternalOneByteString::VisitExternalOneByteStringPointers( | 844 intptr_t RawExternalOneByteString::VisitExternalOneByteStringPointers( |
| 841 RawExternalOneByteString* raw_obj, | 845 RawExternalOneByteString* raw_obj, |
| 842 ObjectPointerVisitor* visitor) { | 846 ObjectPointerVisitor* visitor) { |
| 843 // Make sure that we got here with the tagged pointer as this. | 847 // Make sure that we got here with the tagged pointer as this. |
| 844 ASSERT(raw_obj->IsHeapObject()); | 848 ASSERT(raw_obj->IsHeapObject()); |
| (...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1004 intptr_t RawUserTag::VisitUserTagPointers(RawUserTag* raw_obj, | 1008 intptr_t RawUserTag::VisitUserTagPointers(RawUserTag* raw_obj, |
| 1005 ObjectPointerVisitor* visitor) { | 1009 ObjectPointerVisitor* visitor) { |
| 1006 // Make sure that we got here with the tagged pointer as this. | 1010 // Make sure that we got here with the tagged pointer as this. |
| 1007 ASSERT(raw_obj->IsHeapObject()); | 1011 ASSERT(raw_obj->IsHeapObject()); |
| 1008 visitor->VisitPointers(raw_obj->from(), raw_obj->to()); | 1012 visitor->VisitPointers(raw_obj->from(), raw_obj->to()); |
| 1009 return UserTag::InstanceSize(); | 1013 return UserTag::InstanceSize(); |
| 1010 } | 1014 } |
| 1011 | 1015 |
| 1012 | 1016 |
| 1013 } // namespace dart | 1017 } // namespace dart |
| OLD | NEW |