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

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

Issue 12534006: Port SIMD types from dart:scalarlist to dart:typeddata. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Merge fixes Created 7 years, 9 months 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/snapshot.cc » ('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 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
110 V(Uint8Array) \ 110 V(Uint8Array) \
111 V(Uint8ClampedArray) \ 111 V(Uint8ClampedArray) \
112 V(Int16Array) \ 112 V(Int16Array) \
113 V(Uint16Array) \ 113 V(Uint16Array) \
114 V(Int32Array) \ 114 V(Int32Array) \
115 V(Uint32Array) \ 115 V(Uint32Array) \
116 V(Int64Array) \ 116 V(Int64Array) \
117 V(Uint64Array) \ 117 V(Uint64Array) \
118 V(Float32Array) \ 118 V(Float32Array) \
119 V(Float64Array) \ 119 V(Float64Array) \
120 V(Float32x4Array) \
120 121
121 #define CLASS_LIST_FOR_HANDLES(V) \ 122 #define CLASS_LIST_FOR_HANDLES(V) \
122 CLASS_LIST_NO_OBJECT_OR_STRING(V) \ 123 CLASS_LIST_NO_OBJECT_OR_STRING(V) \
123 V(String) 124 V(String)
124 125
125 #define CLASS_LIST_NO_OBJECT(V) \ 126 #define CLASS_LIST_NO_OBJECT(V) \
126 CLASS_LIST_NO_OBJECT_OR_STRING(V) \ 127 CLASS_LIST_NO_OBJECT_OR_STRING(V) \
127 CLASS_LIST_STRINGS(V) 128 CLASS_LIST_STRINGS(V)
128 129
129 #define CLASS_LIST(V) \ 130 #define CLASS_LIST(V) \
(...skipping 1744 matching lines...) Expand 10 before | Expand all | Expand 10 after
1874 ASSERT(kTypedDataUint8ArrayCid == kTypedDataInt8ArrayCid + 1 && 1875 ASSERT(kTypedDataUint8ArrayCid == kTypedDataInt8ArrayCid + 1 &&
1875 kTypedDataUint8ClampedArrayCid == kTypedDataInt8ArrayCid + 2 && 1876 kTypedDataUint8ClampedArrayCid == kTypedDataInt8ArrayCid + 2 &&
1876 kTypedDataInt16ArrayCid == kTypedDataInt8ArrayCid + 3 && 1877 kTypedDataInt16ArrayCid == kTypedDataInt8ArrayCid + 3 &&
1877 kTypedDataUint16ArrayCid == kTypedDataInt8ArrayCid + 4 && 1878 kTypedDataUint16ArrayCid == kTypedDataInt8ArrayCid + 4 &&
1878 kTypedDataInt32ArrayCid == kTypedDataInt8ArrayCid + 5 && 1879 kTypedDataInt32ArrayCid == kTypedDataInt8ArrayCid + 5 &&
1879 kTypedDataUint32ArrayCid == kTypedDataInt8ArrayCid + 6 && 1880 kTypedDataUint32ArrayCid == kTypedDataInt8ArrayCid + 6 &&
1880 kTypedDataInt64ArrayCid == kTypedDataInt8ArrayCid + 7 && 1881 kTypedDataInt64ArrayCid == kTypedDataInt8ArrayCid + 7 &&
1881 kTypedDataUint64ArrayCid == kTypedDataInt8ArrayCid + 8 && 1882 kTypedDataUint64ArrayCid == kTypedDataInt8ArrayCid + 8 &&
1882 kTypedDataFloat32ArrayCid == kTypedDataInt8ArrayCid + 9 && 1883 kTypedDataFloat32ArrayCid == kTypedDataInt8ArrayCid + 9 &&
1883 kTypedDataFloat64ArrayCid == kTypedDataInt8ArrayCid + 10 && 1884 kTypedDataFloat64ArrayCid == kTypedDataInt8ArrayCid + 10 &&
1884 kTypedDataInt8ArrayViewCid == kTypedDataInt8ArrayCid + 11); 1885 kTypedDataFloat32x4ArrayCid == kTypedDataInt8ArrayCid + 11 &&
1886 kTypedDataInt8ArrayViewCid == kTypedDataInt8ArrayCid + 12);
1885 return (index >= kTypedDataInt8ArrayCid && 1887 return (index >= kTypedDataInt8ArrayCid &&
1886 index <= kTypedDataFloat64ArrayCid); 1888 index <= kTypedDataFloat32x4ArrayCid);
1887 } 1889 }
1888 1890
1889 1891
1890 inline bool RawObject::IsTypedDataViewClassId(intptr_t index) { 1892 inline bool RawObject::IsTypedDataViewClassId(intptr_t index) {
1891 // Make sure this is updated when new TypedData types are added. 1893 // Make sure this is updated when new TypedData types are added.
1892 ASSERT(kTypedDataUint8ArrayViewCid == kTypedDataInt8ArrayViewCid + 1 && 1894 ASSERT(kTypedDataUint8ArrayViewCid == kTypedDataInt8ArrayViewCid + 1 &&
1893 kTypedDataUint8ClampedArrayViewCid == kTypedDataInt8ArrayViewCid + 2 && 1895 kTypedDataUint8ClampedArrayViewCid == kTypedDataInt8ArrayViewCid + 2 &&
1894 kTypedDataInt16ArrayViewCid == kTypedDataInt8ArrayViewCid + 3 && 1896 kTypedDataInt16ArrayViewCid == kTypedDataInt8ArrayViewCid + 3 &&
1895 kTypedDataUint16ArrayViewCid == kTypedDataInt8ArrayViewCid + 4 && 1897 kTypedDataUint16ArrayViewCid == kTypedDataInt8ArrayViewCid + 4 &&
1896 kTypedDataInt32ArrayViewCid == kTypedDataInt8ArrayViewCid + 5 && 1898 kTypedDataInt32ArrayViewCid == kTypedDataInt8ArrayViewCid + 5 &&
1897 kTypedDataUint32ArrayViewCid == kTypedDataInt8ArrayViewCid + 6 && 1899 kTypedDataUint32ArrayViewCid == kTypedDataInt8ArrayViewCid + 6 &&
1898 kTypedDataInt64ArrayViewCid == kTypedDataInt8ArrayViewCid + 7 && 1900 kTypedDataInt64ArrayViewCid == kTypedDataInt8ArrayViewCid + 7 &&
1899 kTypedDataUint64ArrayViewCid == kTypedDataInt8ArrayViewCid + 8 && 1901 kTypedDataUint64ArrayViewCid == kTypedDataInt8ArrayViewCid + 8 &&
1900 kTypedDataFloat32ArrayViewCid == kTypedDataInt8ArrayViewCid + 9 && 1902 kTypedDataFloat32ArrayViewCid == kTypedDataInt8ArrayViewCid + 9 &&
1901 kTypedDataFloat64ArrayViewCid == kTypedDataInt8ArrayViewCid + 10 && 1903 kTypedDataFloat64ArrayViewCid == kTypedDataInt8ArrayViewCid + 10 &&
1902 kByteDataViewCid == kTypedDataInt8ArrayViewCid + 11 && 1904 kTypedDataFloat32x4ArrayViewCid == kTypedDataInt8ArrayViewCid + 11 &&
1903 kExternalTypedDataInt8ArrayCid == kTypedDataInt8ArrayViewCid + 12); 1905 kByteDataViewCid == kTypedDataInt8ArrayViewCid + 12 &&
1906 kExternalTypedDataInt8ArrayCid == kTypedDataInt8ArrayViewCid + 13);
1904 return (index >= kTypedDataInt8ArrayViewCid && 1907 return (index >= kTypedDataInt8ArrayViewCid &&
1905 index <= kByteDataViewCid); 1908 index <= kByteDataViewCid);
1906 } 1909 }
1907 1910
1908 1911
1909 inline bool RawObject::IsExternalTypedDataClassId(intptr_t index) { 1912 inline bool RawObject::IsExternalTypedDataClassId(intptr_t index) {
1910 // Make sure this is updated when new ExternalTypedData types are added. 1913 // Make sure this is updated when new ExternalTypedData types are added.
1911 ASSERT((kExternalTypedDataUint8ArrayCid == 1914 ASSERT((kExternalTypedDataUint8ArrayCid ==
1912 kExternalTypedDataInt8ArrayCid + 1) && 1915 kExternalTypedDataInt8ArrayCid + 1) &&
1913 (kExternalTypedDataUint8ClampedArrayCid == 1916 (kExternalTypedDataUint8ClampedArrayCid ==
1914 kExternalTypedDataInt8ArrayCid + 2) && 1917 kExternalTypedDataInt8ArrayCid + 2) &&
1915 (kExternalTypedDataInt16ArrayCid == 1918 (kExternalTypedDataInt16ArrayCid ==
1916 kExternalTypedDataInt8ArrayCid + 3) && 1919 kExternalTypedDataInt8ArrayCid + 3) &&
1917 (kExternalTypedDataUint16ArrayCid == 1920 (kExternalTypedDataUint16ArrayCid ==
1918 kExternalTypedDataInt8ArrayCid + 4) && 1921 kExternalTypedDataInt8ArrayCid + 4) &&
1919 (kExternalTypedDataInt32ArrayCid == 1922 (kExternalTypedDataInt32ArrayCid ==
1920 kExternalTypedDataInt8ArrayCid + 5) && 1923 kExternalTypedDataInt8ArrayCid + 5) &&
1921 (kExternalTypedDataUint32ArrayCid == 1924 (kExternalTypedDataUint32ArrayCid ==
1922 kExternalTypedDataInt8ArrayCid + 6) && 1925 kExternalTypedDataInt8ArrayCid + 6) &&
1923 (kExternalTypedDataInt64ArrayCid == 1926 (kExternalTypedDataInt64ArrayCid ==
1924 kExternalTypedDataInt8ArrayCid + 7) && 1927 kExternalTypedDataInt8ArrayCid + 7) &&
1925 (kExternalTypedDataUint64ArrayCid == 1928 (kExternalTypedDataUint64ArrayCid ==
1926 kExternalTypedDataInt8ArrayCid + 8) && 1929 kExternalTypedDataInt8ArrayCid + 8) &&
1927 (kExternalTypedDataFloat32ArrayCid == 1930 (kExternalTypedDataFloat32ArrayCid ==
1928 kExternalTypedDataInt8ArrayCid + 9) && 1931 kExternalTypedDataInt8ArrayCid + 9) &&
1929 (kExternalTypedDataFloat64ArrayCid == 1932 (kExternalTypedDataFloat64ArrayCid ==
1930 kExternalTypedDataInt8ArrayCid + 10) && 1933 kExternalTypedDataInt8ArrayCid + 10) &&
1931 (kNullCid == kExternalTypedDataInt8ArrayCid + 11)); 1934 (kExternalTypedDataFloat32x4ArrayCid ==
1935 kExternalTypedDataInt8ArrayCid + 11) &&
1936 (kNullCid == kExternalTypedDataInt8ArrayCid + 12));
1932 return (index >= kExternalTypedDataInt8ArrayCid && 1937 return (index >= kExternalTypedDataInt8ArrayCid &&
1933 index <= kExternalTypedDataFloat64ArrayCid); 1938 index <= kExternalTypedDataFloat32x4ArrayCid);
1934 } 1939 }
1935 1940
1936 1941
1937 inline intptr_t RawObject::NumberOfTypedDataClasses() { 1942 inline intptr_t RawObject::NumberOfTypedDataClasses() {
1938 // Make sure this is updated when new TypedData types are added. 1943 // Make sure this is updated when new TypedData types are added.
1939 ASSERT(kTypedDataInt8ArrayViewCid == kTypedDataInt8ArrayCid + 11); 1944 ASSERT(kTypedDataInt8ArrayViewCid == kTypedDataInt8ArrayCid + 12);
1940 ASSERT(kExternalTypedDataInt8ArrayCid == kTypedDataInt8ArrayViewCid + 12); 1945 ASSERT(kExternalTypedDataInt8ArrayCid == kTypedDataInt8ArrayViewCid + 13);
1941 ASSERT(kNullCid == kExternalTypedDataInt8ArrayCid + 11); 1946 ASSERT(kNullCid == kExternalTypedDataInt8ArrayCid + 12);
1942 return (kNullCid - kTypedDataInt8ArrayCid); 1947 return (kNullCid - kTypedDataInt8ArrayCid);
1943 } 1948 }
1944 1949
1945 } // namespace dart 1950 } // namespace dart
1946 1951
1947 #endif // VM_RAW_OBJECT_H_ 1952 #endif // VM_RAW_OBJECT_H_
OLDNEW
« no previous file with comments | « runtime/vm/object.cc ('k') | runtime/vm/snapshot.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698