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 #ifndef VM_OBJECT_H_ | 5 #ifndef VM_OBJECT_H_ |
6 #define VM_OBJECT_H_ | 6 #define VM_OBJECT_H_ |
7 | 7 |
8 #include "include/dart_api.h" | 8 #include "include/dart_api.h" |
9 #include "platform/assert.h" | 9 #include "platform/assert.h" |
10 #include "platform/utils.h" | 10 #include "platform/utils.h" |
(...skipping 6779 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6790 intptr_t Length() const { | 6790 intptr_t Length() const { |
6791 ASSERT(!IsNull()); | 6791 ASSERT(!IsNull()); |
6792 return Smi::Value(raw_ptr()->length_); | 6792 return Smi::Value(raw_ptr()->length_); |
6793 } | 6793 } |
6794 | 6794 |
6795 intptr_t ElementSizeInBytes() const { | 6795 intptr_t ElementSizeInBytes() const { |
6796 intptr_t cid = raw()->GetClassId(); | 6796 intptr_t cid = raw()->GetClassId(); |
6797 return ElementSizeInBytes(cid); | 6797 return ElementSizeInBytes(cid); |
6798 } | 6798 } |
6799 | 6799 |
| 6800 const char* ElementTypeName() const { |
| 6801 switch (ElementType()) { |
| 6802 #define V(name) case k##name##Element: return #name; |
| 6803 CLASS_LIST_TYPED_DATA(V) |
| 6804 #undef V |
| 6805 } |
| 6806 UNREACHABLE(); |
| 6807 return "UnknownTypedDataElementType"; |
| 6808 } |
6800 | 6809 |
6801 TypedDataElementType ElementType() const { | 6810 TypedDataElementType ElementType() const { |
6802 intptr_t cid = raw()->GetClassId(); | 6811 intptr_t cid = raw()->GetClassId(); |
6803 return ElementType(cid); | 6812 return ElementType(cid); |
6804 } | 6813 } |
6805 | 6814 |
6806 intptr_t LengthInBytes() const { | 6815 intptr_t LengthInBytes() const { |
6807 intptr_t cid = raw()->GetClassId(); | 6816 intptr_t cid = raw()->GetClassId(); |
6808 return (ElementSizeInBytes(cid) * Length()); | 6817 return (ElementSizeInBytes(cid) * Length()); |
6809 } | 6818 } |
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6966 intptr_t Length() const { | 6975 intptr_t Length() const { |
6967 ASSERT(!IsNull()); | 6976 ASSERT(!IsNull()); |
6968 return Smi::Value(raw_ptr()->length_); | 6977 return Smi::Value(raw_ptr()->length_); |
6969 } | 6978 } |
6970 | 6979 |
6971 intptr_t ElementSizeInBytes() const { | 6980 intptr_t ElementSizeInBytes() const { |
6972 intptr_t cid = raw()->GetClassId(); | 6981 intptr_t cid = raw()->GetClassId(); |
6973 return ElementSizeInBytes(cid); | 6982 return ElementSizeInBytes(cid); |
6974 } | 6983 } |
6975 | 6984 |
| 6985 const char* ElementTypeName() const { |
| 6986 switch (ElementType()) { |
| 6987 #define V(name) case k##name##Element: return #name; |
| 6988 CLASS_LIST_TYPED_DATA(V) |
| 6989 #undef V |
| 6990 } |
| 6991 UNREACHABLE(); |
| 6992 return "UnknownTypedDataElementType"; |
| 6993 } |
| 6994 |
6976 TypedDataElementType ElementType() const { | 6995 TypedDataElementType ElementType() const { |
6977 intptr_t cid = raw()->GetClassId(); | 6996 intptr_t cid = raw()->GetClassId(); |
6978 return ElementType(cid); | 6997 return ElementType(cid); |
6979 } | 6998 } |
6980 | 6999 |
6981 intptr_t LengthInBytes() const { | 7000 intptr_t LengthInBytes() const { |
6982 intptr_t cid = raw()->GetClassId(); | 7001 intptr_t cid = raw()->GetClassId(); |
6983 return (ElementSizeInBytes(cid) * Length()); | 7002 return (ElementSizeInBytes(cid) * Length()); |
6984 } | 7003 } |
6985 | 7004 |
(...skipping 862 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7848 | 7867 |
7849 | 7868 |
7850 RawObject* MegamorphicCache::GetTargetFunction(const Array& array, | 7869 RawObject* MegamorphicCache::GetTargetFunction(const Array& array, |
7851 intptr_t index) { | 7870 intptr_t index) { |
7852 return array.At((index * kEntryLength) + kTargetFunctionIndex); | 7871 return array.At((index * kEntryLength) + kTargetFunctionIndex); |
7853 } | 7872 } |
7854 | 7873 |
7855 } // namespace dart | 7874 } // namespace dart |
7856 | 7875 |
7857 #endif // VM_OBJECT_H_ | 7876 #endif // VM_OBJECT_H_ |
OLD | NEW |