| 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_RAW_OBJECT_H_ | 5 #ifndef VM_RAW_OBJECT_H_ |
| 6 #define VM_RAW_OBJECT_H_ | 6 #define VM_RAW_OBJECT_H_ |
| 7 | 7 |
| 8 #include "platform/assert.h" | 8 #include "platform/assert.h" |
| 9 #include "vm/globals.h" | 9 #include "vm/globals.h" |
| 10 #include "vm/token.h" | 10 #include "vm/token.h" |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 87 V(Uint8ClampedArray) \ | 87 V(Uint8ClampedArray) \ |
| 88 V(Int16Array) \ | 88 V(Int16Array) \ |
| 89 V(Uint16Array) \ | 89 V(Uint16Array) \ |
| 90 V(Int32Array) \ | 90 V(Int32Array) \ |
| 91 V(Uint32Array) \ | 91 V(Uint32Array) \ |
| 92 V(Int64Array) \ | 92 V(Int64Array) \ |
| 93 V(Uint64Array) \ | 93 V(Uint64Array) \ |
| 94 V(Float32Array) \ | 94 V(Float32Array) \ |
| 95 V(Float64Array) \ | 95 V(Float64Array) \ |
| 96 V(Float32x4Array) \ | 96 V(Float32x4Array) \ |
| 97 V(Uint32x4Array) \ |
| 97 | 98 |
| 98 #define CLASS_LIST_FOR_HANDLES(V) \ | 99 #define CLASS_LIST_FOR_HANDLES(V) \ |
| 99 CLASS_LIST_NO_OBJECT_NOR_STRING_NOR_ARRAY(V) \ | 100 CLASS_LIST_NO_OBJECT_NOR_STRING_NOR_ARRAY(V) \ |
| 100 V(Array) \ | 101 V(Array) \ |
| 101 V(String) | 102 V(String) |
| 102 | 103 |
| 103 #define CLASS_LIST_NO_OBJECT(V) \ | 104 #define CLASS_LIST_NO_OBJECT(V) \ |
| 104 CLASS_LIST_NO_OBJECT_NOR_STRING_NOR_ARRAY(V) \ | 105 CLASS_LIST_NO_OBJECT_NOR_STRING_NOR_ARRAY(V) \ |
| 105 CLASS_LIST_ARRAYS(V) \ | 106 CLASS_LIST_ARRAYS(V) \ |
| 106 CLASS_LIST_STRINGS(V) | 107 CLASS_LIST_STRINGS(V) |
| (...skipping 1533 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1640 kTypedDataUint8ClampedArrayCid == kTypedDataInt8ArrayCid + 2 && | 1641 kTypedDataUint8ClampedArrayCid == kTypedDataInt8ArrayCid + 2 && |
| 1641 kTypedDataInt16ArrayCid == kTypedDataInt8ArrayCid + 3 && | 1642 kTypedDataInt16ArrayCid == kTypedDataInt8ArrayCid + 3 && |
| 1642 kTypedDataUint16ArrayCid == kTypedDataInt8ArrayCid + 4 && | 1643 kTypedDataUint16ArrayCid == kTypedDataInt8ArrayCid + 4 && |
| 1643 kTypedDataInt32ArrayCid == kTypedDataInt8ArrayCid + 5 && | 1644 kTypedDataInt32ArrayCid == kTypedDataInt8ArrayCid + 5 && |
| 1644 kTypedDataUint32ArrayCid == kTypedDataInt8ArrayCid + 6 && | 1645 kTypedDataUint32ArrayCid == kTypedDataInt8ArrayCid + 6 && |
| 1645 kTypedDataInt64ArrayCid == kTypedDataInt8ArrayCid + 7 && | 1646 kTypedDataInt64ArrayCid == kTypedDataInt8ArrayCid + 7 && |
| 1646 kTypedDataUint64ArrayCid == kTypedDataInt8ArrayCid + 8 && | 1647 kTypedDataUint64ArrayCid == kTypedDataInt8ArrayCid + 8 && |
| 1647 kTypedDataFloat32ArrayCid == kTypedDataInt8ArrayCid + 9 && | 1648 kTypedDataFloat32ArrayCid == kTypedDataInt8ArrayCid + 9 && |
| 1648 kTypedDataFloat64ArrayCid == kTypedDataInt8ArrayCid + 10 && | 1649 kTypedDataFloat64ArrayCid == kTypedDataInt8ArrayCid + 10 && |
| 1649 kTypedDataFloat32x4ArrayCid == kTypedDataInt8ArrayCid + 11 && | 1650 kTypedDataFloat32x4ArrayCid == kTypedDataInt8ArrayCid + 11 && |
| 1650 kTypedDataInt8ArrayViewCid == kTypedDataInt8ArrayCid + 12); | 1651 kTypedDataUint32x4ArrayCid == kTypedDataInt8ArrayCid + 12 && |
| 1652 kTypedDataInt8ArrayViewCid == kTypedDataInt8ArrayCid + 13); |
| 1651 return (index >= kTypedDataInt8ArrayCid && | 1653 return (index >= kTypedDataInt8ArrayCid && |
| 1652 index <= kTypedDataFloat32x4ArrayCid); | 1654 index <= kTypedDataUint32x4ArrayCid); |
| 1653 } | 1655 } |
| 1654 | 1656 |
| 1655 | 1657 |
| 1656 inline bool RawObject::IsTypedDataViewClassId(intptr_t index) { | 1658 inline bool RawObject::IsTypedDataViewClassId(intptr_t index) { |
| 1657 // Make sure this is updated when new TypedData types are added. | 1659 // Make sure this is updated when new TypedData types are added. |
| 1658 ASSERT(kTypedDataUint8ArrayViewCid == kTypedDataInt8ArrayViewCid + 1 && | 1660 ASSERT(kTypedDataUint8ArrayViewCid == kTypedDataInt8ArrayViewCid + 1 && |
| 1659 kTypedDataUint8ClampedArrayViewCid == kTypedDataInt8ArrayViewCid + 2 && | 1661 kTypedDataUint8ClampedArrayViewCid == kTypedDataInt8ArrayViewCid + 2 && |
| 1660 kTypedDataInt16ArrayViewCid == kTypedDataInt8ArrayViewCid + 3 && | 1662 kTypedDataInt16ArrayViewCid == kTypedDataInt8ArrayViewCid + 3 && |
| 1661 kTypedDataUint16ArrayViewCid == kTypedDataInt8ArrayViewCid + 4 && | 1663 kTypedDataUint16ArrayViewCid == kTypedDataInt8ArrayViewCid + 4 && |
| 1662 kTypedDataInt32ArrayViewCid == kTypedDataInt8ArrayViewCid + 5 && | 1664 kTypedDataInt32ArrayViewCid == kTypedDataInt8ArrayViewCid + 5 && |
| 1663 kTypedDataUint32ArrayViewCid == kTypedDataInt8ArrayViewCid + 6 && | 1665 kTypedDataUint32ArrayViewCid == kTypedDataInt8ArrayViewCid + 6 && |
| 1664 kTypedDataInt64ArrayViewCid == kTypedDataInt8ArrayViewCid + 7 && | 1666 kTypedDataInt64ArrayViewCid == kTypedDataInt8ArrayViewCid + 7 && |
| 1665 kTypedDataUint64ArrayViewCid == kTypedDataInt8ArrayViewCid + 8 && | 1667 kTypedDataUint64ArrayViewCid == kTypedDataInt8ArrayViewCid + 8 && |
| 1666 kTypedDataFloat32ArrayViewCid == kTypedDataInt8ArrayViewCid + 9 && | 1668 kTypedDataFloat32ArrayViewCid == kTypedDataInt8ArrayViewCid + 9 && |
| 1667 kTypedDataFloat64ArrayViewCid == kTypedDataInt8ArrayViewCid + 10 && | 1669 kTypedDataFloat64ArrayViewCid == kTypedDataInt8ArrayViewCid + 10 && |
| 1668 kTypedDataFloat32x4ArrayViewCid == kTypedDataInt8ArrayViewCid + 11 && | 1670 kTypedDataFloat32x4ArrayViewCid == kTypedDataInt8ArrayViewCid + 11 && |
| 1669 kByteDataViewCid == kTypedDataInt8ArrayViewCid + 12 && | 1671 kTypedDataUint32x4ArrayViewCid == kTypedDataInt8ArrayViewCid + 12 && |
| 1670 kExternalTypedDataInt8ArrayCid == kTypedDataInt8ArrayViewCid + 13); | 1672 kByteDataViewCid == kTypedDataInt8ArrayViewCid + 13 && |
| 1673 kExternalTypedDataInt8ArrayCid == kTypedDataInt8ArrayViewCid + 14); |
| 1671 return (index >= kTypedDataInt8ArrayViewCid && | 1674 return (index >= kTypedDataInt8ArrayViewCid && |
| 1672 index <= kByteDataViewCid); | 1675 index <= kByteDataViewCid); |
| 1673 } | 1676 } |
| 1674 | 1677 |
| 1675 | 1678 |
| 1676 inline bool RawObject::IsExternalTypedDataClassId(intptr_t index) { | 1679 inline bool RawObject::IsExternalTypedDataClassId(intptr_t index) { |
| 1677 // Make sure this is updated when new ExternalTypedData types are added. | 1680 // Make sure this is updated when new ExternalTypedData types are added. |
| 1678 ASSERT((kExternalTypedDataUint8ArrayCid == | 1681 ASSERT((kExternalTypedDataUint8ArrayCid == |
| 1679 kExternalTypedDataInt8ArrayCid + 1) && | 1682 kExternalTypedDataInt8ArrayCid + 1) && |
| 1680 (kExternalTypedDataUint8ClampedArrayCid == | 1683 (kExternalTypedDataUint8ClampedArrayCid == |
| 1681 kExternalTypedDataInt8ArrayCid + 2) && | 1684 kExternalTypedDataInt8ArrayCid + 2) && |
| 1682 (kExternalTypedDataInt16ArrayCid == | 1685 (kExternalTypedDataInt16ArrayCid == |
| 1683 kExternalTypedDataInt8ArrayCid + 3) && | 1686 kExternalTypedDataInt8ArrayCid + 3) && |
| 1684 (kExternalTypedDataUint16ArrayCid == | 1687 (kExternalTypedDataUint16ArrayCid == |
| 1685 kExternalTypedDataInt8ArrayCid + 4) && | 1688 kExternalTypedDataInt8ArrayCid + 4) && |
| 1686 (kExternalTypedDataInt32ArrayCid == | 1689 (kExternalTypedDataInt32ArrayCid == |
| 1687 kExternalTypedDataInt8ArrayCid + 5) && | 1690 kExternalTypedDataInt8ArrayCid + 5) && |
| 1688 (kExternalTypedDataUint32ArrayCid == | 1691 (kExternalTypedDataUint32ArrayCid == |
| 1689 kExternalTypedDataInt8ArrayCid + 6) && | 1692 kExternalTypedDataInt8ArrayCid + 6) && |
| 1690 (kExternalTypedDataInt64ArrayCid == | 1693 (kExternalTypedDataInt64ArrayCid == |
| 1691 kExternalTypedDataInt8ArrayCid + 7) && | 1694 kExternalTypedDataInt8ArrayCid + 7) && |
| 1692 (kExternalTypedDataUint64ArrayCid == | 1695 (kExternalTypedDataUint64ArrayCid == |
| 1693 kExternalTypedDataInt8ArrayCid + 8) && | 1696 kExternalTypedDataInt8ArrayCid + 8) && |
| 1694 (kExternalTypedDataFloat32ArrayCid == | 1697 (kExternalTypedDataFloat32ArrayCid == |
| 1695 kExternalTypedDataInt8ArrayCid + 9) && | 1698 kExternalTypedDataInt8ArrayCid + 9) && |
| 1696 (kExternalTypedDataFloat64ArrayCid == | 1699 (kExternalTypedDataFloat64ArrayCid == |
| 1697 kExternalTypedDataInt8ArrayCid + 10) && | 1700 kExternalTypedDataInt8ArrayCid + 10) && |
| 1698 (kExternalTypedDataFloat32x4ArrayCid == | 1701 (kExternalTypedDataFloat32x4ArrayCid == |
| 1699 kExternalTypedDataInt8ArrayCid + 11) && | 1702 kExternalTypedDataInt8ArrayCid + 11) && |
| 1700 (kNullCid == kExternalTypedDataInt8ArrayCid + 12)); | 1703 (kExternalTypedDataUint32x4ArrayCid == |
| 1704 kExternalTypedDataInt8ArrayCid + 12) && |
| 1705 (kNullCid == kExternalTypedDataInt8ArrayCid + 13)); |
| 1701 return (index >= kExternalTypedDataInt8ArrayCid && | 1706 return (index >= kExternalTypedDataInt8ArrayCid && |
| 1702 index <= kExternalTypedDataFloat32x4ArrayCid); | 1707 index <= kExternalTypedDataUint32x4ArrayCid); |
| 1703 } | 1708 } |
| 1704 | 1709 |
| 1705 | 1710 |
| 1706 inline bool RawObject::IsInternalVMdefinedClassId(intptr_t index) { | 1711 inline bool RawObject::IsInternalVMdefinedClassId(intptr_t index) { |
| 1707 return ((index < kNumPredefinedCids) && | 1712 return ((index < kNumPredefinedCids) && |
| 1708 !RawObject::IsTypedDataViewClassId(index)); | 1713 !RawObject::IsTypedDataViewClassId(index)); |
| 1709 } | 1714 } |
| 1710 | 1715 |
| 1711 | 1716 |
| 1712 inline intptr_t RawObject::NumberOfTypedDataClasses() { | 1717 inline intptr_t RawObject::NumberOfTypedDataClasses() { |
| 1713 // Make sure this is updated when new TypedData types are added. | 1718 // Make sure this is updated when new TypedData types are added. |
| 1714 ASSERT(kTypedDataInt8ArrayViewCid == kTypedDataInt8ArrayCid + 12); | 1719 ASSERT(kTypedDataInt8ArrayViewCid == kTypedDataInt8ArrayCid + 13); |
| 1715 ASSERT(kExternalTypedDataInt8ArrayCid == kTypedDataInt8ArrayViewCid + 13); | 1720 ASSERT(kExternalTypedDataInt8ArrayCid == kTypedDataInt8ArrayViewCid + 14); |
| 1716 ASSERT(kNullCid == kExternalTypedDataInt8ArrayCid + 12); | 1721 ASSERT(kNullCid == kExternalTypedDataInt8ArrayCid + 13); |
| 1717 return (kNullCid - kTypedDataInt8ArrayCid); | 1722 return (kNullCid - kTypedDataInt8ArrayCid); |
| 1718 } | 1723 } |
| 1719 | 1724 |
| 1720 } // namespace dart | 1725 } // namespace dart |
| 1721 | 1726 |
| 1722 #endif // VM_RAW_OBJECT_H_ | 1727 #endif // VM_RAW_OBJECT_H_ |
| OLD | NEW |