Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1808)

Side by Side Diff: runtime/vm/raw_object.h

Issue 51333005: Add Uint32x4List to typed_data (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « runtime/vm/object.cc ('k') | runtime/vm/symbols.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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_
OLDNEW
« no previous file with comments | « runtime/vm/object.cc ('k') | runtime/vm/symbols.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698