OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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_INTERMEDIATE_LANGUAGE_H_ | 5 #ifndef VM_INTERMEDIATE_LANGUAGE_H_ |
6 #define VM_INTERMEDIATE_LANGUAGE_H_ | 6 #define VM_INTERMEDIATE_LANGUAGE_H_ |
7 | 7 |
8 #include "vm/allocation.h" | 8 #include "vm/allocation.h" |
9 #include "vm/ast.h" | 9 #include "vm/ast.h" |
10 #include "vm/growable_array.h" | 10 #include "vm/growable_array.h" |
(...skipping 21 matching lines...) Expand all Loading... |
32 class LocalVariable; | 32 class LocalVariable; |
33 class ParsedFunction; | 33 class ParsedFunction; |
34 class Range; | 34 class Range; |
35 | 35 |
36 | 36 |
37 // TODO(srdjan): Unify with INTRINSIC_LIST. | 37 // TODO(srdjan): Unify with INTRINSIC_LIST. |
38 // (class-name, function-name, recognized enum, fingerprint). | 38 // (class-name, function-name, recognized enum, fingerprint). |
39 // See intrinsifier for fingerprint computation. | 39 // See intrinsifier for fingerprint computation. |
40 #define RECOGNIZED_LIST(V) \ | 40 #define RECOGNIZED_LIST(V) \ |
41 V(::, identical, ObjectIdentical, 496869842) \ | 41 V(::, identical, ObjectIdentical, 496869842) \ |
42 V(Object, ==, ObjectEquals, 180968008) \ | 42 V(Object, ==, ObjectEquals, 1068471689) \ |
43 V(Object, Object., ObjectConstructor, 1058585294) \ | 43 V(Object, Object., ObjectConstructor, 1058615085) \ |
44 V(Object, get:_cid, ObjectCid, 1498721510) \ | 44 V(Object, get:_cid, ObjectCid, 1498751301) \ |
45 V(_List, get:length, ObjectArrayLength, 215153395) \ | 45 V(_List, get:length, ObjectArrayLength, 215183186) \ |
46 V(_ImmutableList, get:length, ImmutableArrayLength, 578733070) \ | 46 V(_ImmutableList, get:length, ImmutableArrayLength, 578762861) \ |
47 V(_TypedList, get:length, TypedDataLength, 26616328) \ | 47 V(_TypedList, get:length, TypedDataLength, 26646119) \ |
48 V(_TypedList, _getInt8, ByteArrayBaseGetInt8, 272598802) \ | 48 V(_TypedList, _getInt8, ByteArrayBaseGetInt8, 272598802) \ |
49 V(_TypedList, _getUint8, ByteArrayBaseGetUint8, 831354841) \ | 49 V(_TypedList, _getUint8, ByteArrayBaseGetUint8, 831354841) \ |
50 V(_TypedList, _getInt16, ByteArrayBaseGetInt16, 1832126257) \ | 50 V(_TypedList, _getInt16, ByteArrayBaseGetInt16, 1832126257) \ |
51 V(_TypedList, _getUint16, ByteArrayBaseGetUint16, 1762714698) \ | 51 V(_TypedList, _getUint16, ByteArrayBaseGetUint16, 1762714698) \ |
52 V(_TypedList, _getInt32, ByteArrayBaseGetInt32, 48785449) \ | 52 V(_TypedList, _getInt32, ByteArrayBaseGetInt32, 48785449) \ |
53 V(_TypedList, _getUint32, ByteArrayBaseGetUint32, 1392579206) \ | 53 V(_TypedList, _getUint32, ByteArrayBaseGetUint32, 1392579206) \ |
54 V(_TypedList, _getFloat32, ByteArrayBaseGetFloat32, 185163470) \ | 54 V(_TypedList, _getFloat32, ByteArrayBaseGetFloat32, 185163470) \ |
55 V(_TypedList, _getFloat64, ByteArrayBaseGetFloat64, 1356392173) \ | 55 V(_TypedList, _getFloat64, ByteArrayBaseGetFloat64, 1356392173) \ |
56 V(_TypedList, _getFloat32x4, ByteArrayBaseGetFloat32x4, 1239681356) \ | 56 V(_TypedList, _getFloat32x4, ByteArrayBaseGetFloat32x4, 1239681356) \ |
57 V(_TypedList, _getInt32x4, ByteArrayBaseGetInt32x4, 163795162) \ | 57 V(_TypedList, _getInt32x4, ByteArrayBaseGetInt32x4, 163795162) \ |
58 V(_TypedList, _setInt8, ByteArrayBaseSetInt8, 1443265945) \ | 58 V(_TypedList, _setInt8, ByteArrayBaseSetInt8, 1793798234) \ |
59 V(_TypedList, _setUint8, ByteArrayBaseSetUint8, 1864204733) \ | 59 V(_TypedList, _setUint8, ByteArrayBaseSetUint8, 67253374) \ |
60 V(_TypedList, _setInt16, ByteArrayBaseSetInt16, 1807419109) \ | 60 V(_TypedList, _setInt16, ByteArrayBaseSetInt16, 10467750) \ |
61 V(_TypedList, _setUint16, ByteArrayBaseSetUint16, 1246454605) \ | 61 V(_TypedList, _setUint16, ByteArrayBaseSetUint16, 1596986894) \ |
62 V(_TypedList, _setInt32, ByteArrayBaseSetInt32, 517505240) \ | 62 V(_TypedList, _setInt32, ByteArrayBaseSetInt32, 868037529) \ |
63 V(_TypedList, _setUint32, ByteArrayBaseSetUint32, 1425812717) \ | 63 V(_TypedList, _setUint32, ByteArrayBaseSetUint32, 1776345006) \ |
64 V(_TypedList, _setFloat32, ByteArrayBaseSetFloat32, 1457395244) \ | 64 V(_TypedList, _setFloat32, ByteArrayBaseSetFloat32, 1807927533) \ |
65 V(_TypedList, _setFloat64, ByteArrayBaseSetFloat64, 49127618) \ | 65 V(_TypedList, _setFloat64, ByteArrayBaseSetFloat64, 399659907) \ |
66 V(_TypedList, _setFloat32x4, ByteArrayBaseSetFloat32x4, 1261559935) \ | 66 V(_TypedList, _setFloat32x4, ByteArrayBaseSetFloat32x4, 1612092224) \ |
67 V(_TypedList, _setInt32x4, ByteArrayBaseSetInt32x4, 1871750680) \ | 67 V(_TypedList, _setInt32x4, ByteArrayBaseSetInt32x4, 74799321) \ |
68 V(_GrowableList, get:length, GrowableArrayLength, 1654225242) \ | 68 V(_GrowableList, get:length, GrowableArrayLength, 1654255033) \ |
69 V(_GrowableList, get:_capacity, GrowableArrayCapacity, 817090003) \ | 69 V(_GrowableList, get:_capacity, GrowableArrayCapacity, 817119794) \ |
70 V(_GrowableList, _setData, GrowableArraySetData, 1375509957) \ | 70 V(_GrowableList, _setData, GrowableArraySetData, 970836644) \ |
71 V(_GrowableList, _setLength, GrowableArraySetLength, 1227678442) \ | 71 V(_GrowableList, _setLength, GrowableArraySetLength, 823005129) \ |
72 V(_StringBase, get:length, StringBaseLength, 1483520063) \ | 72 V(_StringBase, get:length, StringBaseLength, 1483549854) \ |
73 V(_StringBase, get:isEmpty, StringBaseIsEmpty, 879849436) \ | 73 V(_StringBase, get:isEmpty, StringBaseIsEmpty, 1599468763) \ |
74 V(_StringBase, codeUnitAt, StringBaseCodeUnitAt, 1958436584) \ | 74 V(_StringBase, codeUnitAt, StringBaseCodeUnitAt, 1958436584) \ |
75 V(_StringBase, [], StringBaseCharAt, 990046076) \ | 75 V(_StringBase, [], StringBaseCharAt, 585372763) \ |
76 V(_StringBase, _interpolate, StringBaseInterpolate, 1824308855) \ | 76 V(_StringBase, _interpolate, StringBaseInterpolate, 2013078843) \ |
77 V(_OneByteString, _setAt, OneByteStringSetAt, 308408714) \ | 77 V(_OneByteString, _setAt, OneByteStringSetAt, 658941003) \ |
78 V(_IntegerImplementation, toDouble, IntegerToDouble, 2011998508) \ | 78 V(_IntegerImplementation, toDouble, IntegerToDouble, 1947355341) \ |
79 V(_IntegerImplementation, _leftShiftWithMask32, IntegerLeftShiftWithMask32, \ | 79 V(_IntegerImplementation, _leftShiftWithMask32, IntegerLeftShiftWithMask32, \ |
80 2095943661) \ | 80 2095943661) \ |
81 V(_Double, toInt, DoubleToInteger, 1328149975) \ | 81 V(_Double, toInt, DoubleToInteger, 1328149975) \ |
82 V(_Double, truncateToDouble, DoubleTruncate, 615732263) \ | 82 V(_Double, truncateToDouble, DoubleTruncate, 615732263) \ |
83 V(_Double, roundToDouble, DoubleRound, 622146406) \ | 83 V(_Double, roundToDouble, DoubleRound, 622146406) \ |
84 V(_Double, floorToDouble, DoubleFloor, 1614014643) \ | 84 V(_Double, floorToDouble, DoubleFloor, 1614014643) \ |
85 V(_Double, ceilToDouble, DoubleCeil, 277859570) \ | 85 V(_Double, ceilToDouble, DoubleCeil, 277859570) \ |
86 V(_Double, _modulo, DoubleMod, 1443289156) \ | 86 V(_Double, _modulo, DoubleMod, 1443289156) \ |
87 V(::, sqrt, MathSqrt, 465520247) \ | 87 V(::, sqrt, MathSqrt, 465520247) \ |
88 V(::, sin, MathSin, 730107143) \ | 88 V(::, sin, MathSin, 730107143) \ |
89 V(::, cos, MathCos, 1282146521) \ | 89 V(::, cos, MathCos, 1282146521) \ |
90 V(::, min, MathMin, 1830216388) \ | 90 V(::, min, MathMin, 1022567780) \ |
91 V(::, max, MathMax, 234565686) \ | 91 V(::, max, MathMax, 612058870) \ |
92 V(::, _doublePow, MathDoublePow, 1728171041) \ | 92 V(::, _doublePow, MathDoublePow, 1591032382) \ |
93 V(Float32x4, Float32x4., Float32x4Constructor, 786169160) \ | 93 V(Float32x4, Float32x4., Float32x4Constructor, 1314950569) \ |
94 V(Float32x4, Float32x4.zero, Float32x4Zero, 1589383280) \ | 94 V(Float32x4, Float32x4.zero, Float32x4Zero, 1432281809) \ |
95 V(Float32x4, Float32x4.splat, Float32x4Splat, 62513275) \ | 95 V(Float32x4, Float32x4.splat, Float32x4Splat, 1148280442) \ |
96 V(Float32x4, Float32x4.fromInt32x4Bits, Float32x4FromInt32x4Bits, \ | 96 V(Float32x4, Float32x4.fromInt32x4Bits, Float32x4FromInt32x4Bits, \ |
97 1933861675) \ | 97 872145194) \ |
98 V(_Float32x4, shuffle, Float32x4Shuffle, 1178727105) \ | 98 V(_Float32x4, shuffle, Float32x4Shuffle, 1178727105) \ |
99 V(_Float32x4, shuffleMix, Float32x4ShuffleMix, 927956119) \ | 99 V(_Float32x4, shuffleMix, Float32x4ShuffleMix, 927956119) \ |
100 V(_Float32x4, get:x, Float32x4ShuffleX, 1351717838) \ | 100 V(_Float32x4, get:x, Float32x4ShuffleX, 1351747629) \ |
101 V(_Float32x4, get:y, Float32x4ShuffleY, 217386410) \ | 101 V(_Float32x4, get:y, Float32x4ShuffleY, 217416201) \ |
102 V(_Float32x4, get:z, Float32x4ShuffleZ, 2144923721) \ | 102 V(_Float32x4, get:z, Float32x4ShuffleZ, 2144953512) \ |
103 V(_Float32x4, get:w, Float32x4ShuffleW, 1447699119) \ | 103 V(_Float32x4, get:w, Float32x4ShuffleW, 1447728910) \ |
104 V(_Float32x4, get:signMask, Float32x4GetSignMask, 1198849347) \ | 104 V(_Float32x4, get:signMask, Float32x4GetSignMask, 1198879138) \ |
105 V(_Float32x4, _cmpequal, Float32x4Equal, 1944929844) \ | 105 V(_Float32x4, _cmpequal, Float32x4Equal, 1944929844) \ |
106 V(_Float32x4, _cmpgt, Float32x4GreaterThan, 499965951) \ | 106 V(_Float32x4, _cmpgt, Float32x4GreaterThan, 499965951) \ |
107 V(_Float32x4, _cmpgte, Float32x4GreaterThanOrEqual, 1003006845) \ | 107 V(_Float32x4, _cmpgte, Float32x4GreaterThanOrEqual, 1003006845) \ |
108 V(_Float32x4, _cmplt, Float32x4LessThan, 747070271) \ | 108 V(_Float32x4, _cmplt, Float32x4LessThan, 747070271) \ |
109 V(_Float32x4, _cmplte, Float32x4LessThanOrEqual, 2008368570) \ | 109 V(_Float32x4, _cmplte, Float32x4LessThanOrEqual, 2008368570) \ |
110 V(_Float32x4, _cmpnequal, Float32x4NotEqual, 1038562565) \ | 110 V(_Float32x4, _cmpnequal, Float32x4NotEqual, 1038562565) \ |
111 V(_Float32x4, _min, Float32x4Min, 1166664658) \ | 111 V(_Float32x4, _min, Float32x4Min, 1166664658) \ |
112 V(_Float32x4, _max, Float32x4Max, 343968921) \ | 112 V(_Float32x4, _max, Float32x4Max, 343968921) \ |
113 V(_Float32x4, _scale, Float32x4Scale, 803505531) \ | 113 V(_Float32x4, _scale, Float32x4Scale, 803505531) \ |
114 V(_Float32x4, _sqrt, Float32x4Sqrt, 2092250151) \ | 114 V(_Float32x4, _sqrt, Float32x4Sqrt, 2092250151) \ |
115 V(_Float32x4, _reciprocalSqrt, Float32x4ReciprocalSqrt, 965252704) \ | 115 V(_Float32x4, _reciprocalSqrt, Float32x4ReciprocalSqrt, 965252704) \ |
116 V(_Float32x4, _reciprocal, Float32x4Reciprocal, 1262202915) \ | 116 V(_Float32x4, _reciprocal, Float32x4Reciprocal, 1262202915) \ |
117 V(_Float32x4, _negate, Float32x4Negate, 1203192635) \ | 117 V(_Float32x4, _negate, Float32x4Negate, 1203192635) \ |
118 V(_Float32x4, _abs, Float32x4Absolute, 386324188) \ | 118 V(_Float32x4, _abs, Float32x4Absolute, 386324188) \ |
119 V(_Float32x4, _clamp, Float32x4Clamp, 1454612345) \ | 119 V(_Float32x4, _clamp, Float32x4Clamp, 1454612345) \ |
120 V(_Float32x4, withX, Float32x4WithX, 795284225) \ | 120 V(_Float32x4, withX, Float32x4WithX, 795284225) \ |
121 V(_Float32x4, withY, Float32x4WithY, 1806065938) \ | 121 V(_Float32x4, withY, Float32x4WithY, 1806065938) \ |
122 V(_Float32x4, withZ, Float32x4WithZ, 320659034) \ | 122 V(_Float32x4, withZ, Float32x4WithZ, 320659034) \ |
123 V(_Float32x4, withW, Float32x4WithW, 1108437255) \ | 123 V(_Float32x4, withW, Float32x4WithW, 1108437255) \ |
124 V(Int32x4, Int32x4.bool, Int32x4BoolConstructor, 1477593884) \ | 124 V(Int32x4, Int32x4.bool, Int32x4BoolConstructor, 295910141) \ |
125 V(Int32x4, Int32x4.fromFloat32x4Bits, Int32x4FromFloat32x4Bits, \ | 125 V(Int32x4, Int32x4.fromFloat32x4Bits, Int32x4FromFloat32x4Bits, \ |
126 1955567428) \ | 126 893850947) \ |
127 V(_Int32x4, get:flagX, Int32x4GetFlagX, 729235803) \ | 127 V(_Int32x4, get:flagX, Int32x4GetFlagX, 729265594) \ |
128 V(_Int32x4, get:flagY, Int32x4GetFlagY, 430840849) \ | 128 V(_Int32x4, get:flagY, Int32x4GetFlagY, 430870640) \ |
129 V(_Int32x4, get:flagZ, Int32x4GetFlagZ, 1981076496) \ | 129 V(_Int32x4, get:flagZ, Int32x4GetFlagZ, 1981106287) \ |
130 V(_Int32x4, get:flagW, Int32x4GetFlagW, 629356099) \ | 130 V(_Int32x4, get:flagW, Int32x4GetFlagW, 629385890) \ |
131 V(_Int32x4, get:signMask, Int32x4GetSignMask, 1598787746) \ | 131 V(_Int32x4, get:signMask, Int32x4GetSignMask, 1598817537) \ |
132 V(_Int32x4, shuffle, Int32x4Shuffle, 599391160) \ | 132 V(_Int32x4, shuffle, Int32x4Shuffle, 599391160) \ |
133 V(_Int32x4, shuffleMix, Int32x4ShuffleMix, 1491641197) \ | 133 V(_Int32x4, shuffleMix, Int32x4ShuffleMix, 1491641197) \ |
134 V(_Int32x4, select, Int32x4Select, 598942806) \ | 134 V(_Int32x4, select, Int32x4Select, 194269493) \ |
135 V(_Int32x4, withFlagX, Int32x4WithFlagX, 63248661) \ | 135 V(_Int32x4, withFlagX, Int32x4WithFlagX, 63248661) \ |
136 V(_Int32x4, withFlagY, Int32x4WithFlagY, 1498755850) \ | 136 V(_Int32x4, withFlagY, Int32x4WithFlagY, 1498755850) \ |
137 V(_Int32x4, withFlagZ, Int32x4WithFlagZ, 457856832) \ | 137 V(_Int32x4, withFlagZ, Int32x4WithFlagZ, 457856832) \ |
138 V(_Int32x4, withFlagW, Int32x4WithFlagW, 690638779) \ | 138 V(_Int32x4, withFlagW, Int32x4WithFlagW, 690638779) \ |
139 V(_List, [], ObjectArrayGetIndexed, 1079829188) \ | 139 V(_List, [], ObjectArrayGetIndexed, 675155875) \ |
140 V(_List, []=, ObjectArraySetIndexed, 748954698) \ | 140 V(_List, []=, ObjectArraySetIndexed, 1228569706) \ |
141 V(_ImmutableList, [], ImmutableArrayGetIndexed, 25983597) \ | 141 V(_ImmutableList, [], ImmutableArrayGetIndexed, 1768793932) \ |
142 V(_GrowableList, [], GrowableArrayGetIndexed, 1686777561) \ | 142 V(_GrowableList, [], GrowableArrayGetIndexed, 1282104248) \ |
143 V(_GrowableList, []=, GrowableArraySetIndexed, 327404102) \ | 143 V(_GrowableList, []=, GrowableArraySetIndexed, 807019110) \ |
144 V(_Float32Array, [], Float32ArrayGetIndexed, 1225286513) \ | 144 V(_Float32Array, [], Float32ArrayGetIndexed, 1461569776) \ |
145 V(_Float32Array, []=, Float32ArraySetIndexed, 1155155195) \ | 145 V(_Float32Array, []=, Float32ArraySetIndexed, 1318757370) \ |
146 V(_Float64Array, [], Float64ArrayGetIndexed, 871118335) \ | 146 V(_Float64Array, [], Float64ArrayGetIndexed, 1107401598) \ |
147 V(_Float64Array, []=, Float64ArraySetIndexed, 214271306) \ | 147 V(_Float64Array, []=, Float64ArraySetIndexed, 377873481) \ |
148 V(_Int8Array, [], Int8ArrayGetIndexed, 199925538) \ | 148 V(_Int8Array, [], Int8ArrayGetIndexed, 436208801) \ |
149 V(_Int8Array, []=, Int8ArraySetIndexed, 25452746) \ | 149 V(_Int8Array, []=, Int8ArraySetIndexed, 1257450859) \ |
150 V(_Uint8Array, [], Uint8ArrayGetIndexed, 502448555) \ | 150 V(_Uint8Array, [], Uint8ArrayGetIndexed, 738731818) \ |
151 V(_Uint8Array, []=, Uint8ArraySetIndexed, 182237960) \ | 151 V(_Uint8Array, []=, Uint8ArraySetIndexed, 1414236073) \ |
152 V(_Uint8ClampedArray, [], Uint8ClampedArrayGetIndexed, 1292893603) \ | 152 V(_Uint8ClampedArray, [], Uint8ClampedArrayGetIndexed, 1529176866) \ |
153 V(_Uint8ClampedArray, []=, Uint8ClampedArraySetIndexed, 670971404) \ | 153 V(_Uint8ClampedArray, []=, Uint8ClampedArraySetIndexed, 1902969517) \ |
154 V(_ExternalUint8Array, [], ExternalUint8ArrayGetIndexed, 1831383216) \ | 154 V(_ExternalUint8Array, [], ExternalUint8ArrayGetIndexed, 2067666479) \ |
155 V(_ExternalUint8Array, []=, ExternalUint8ArraySetIndexed, 1660673499) \ | 155 V(_ExternalUint8Array, []=, ExternalUint8ArraySetIndexed, 745187964) \ |
156 V(_ExternalUint8ClampedArray, [], ExternalUint8ClampedArrayGetIndexed, \ | 156 V(_ExternalUint8ClampedArray, [], ExternalUint8ClampedArrayGetIndexed, \ |
157 1831906095) \ | 157 2068189358) \ |
158 V(_ExternalUint8ClampedArray, []=, ExternalUint8ClampedArraySetIndexed, \ | 158 V(_ExternalUint8ClampedArray, []=, ExternalUint8ClampedArraySetIndexed, \ |
159 19235519) \ | 159 1251233632) \ |
160 V(_Int16Array, [], Int16ArrayGetIndexed, 1191799443) \ | 160 V(_Int16Array, [], Int16ArrayGetIndexed, 1428082706) \ |
161 V(_Int16Array, []=, Int16ArraySetIndexed, 1182335435) \ | 161 V(_Int16Array, []=, Int16ArraySetIndexed, 266849900) \ |
162 V(_Uint16Array, [], Uint16ArrayGetIndexed, 814177144) \ | 162 V(_Uint16Array, [], Uint16ArrayGetIndexed, 1050460407) \ |
163 V(_Uint16Array, []=, Uint16ArraySetIndexed, 663508528) \ | 163 V(_Uint16Array, []=, Uint16ArraySetIndexed, 1895506641) \ |
164 V(_Int32Array, [], Int32ArrayGetIndexed, 787321640) \ | 164 V(_Int32Array, [], Int32ArrayGetIndexed, 1023604903) \ |
165 V(_Int32Array, []=, Int32ArraySetIndexed, 1515238594) \ | 165 V(_Int32Array, []=, Int32ArraySetIndexed, 599753059) \ |
166 V(_Uint32Array, [], Uint32ArrayGetIndexed, 1421922726) \ | 166 V(_Uint32Array, [], Uint32ArrayGetIndexed, 1658205989) \ |
167 V(_Uint32Array, []=, Uint32ArraySetIndexed, 1980947178) \ | 167 V(_Uint32Array, []=, Uint32ArraySetIndexed, 1065461643) \ |
168 V(_Float32x4Array, [], Float32x4ArrayGetIndexed, 1901126825) \ | 168 V(_Float32x4Array, [], Float32x4ArrayGetIndexed, 2137410088) \ |
169 V(_Float32x4Array, []=, Float32x4ArraySetIndexed, 1419416331) \ | 169 V(_Float32x4Array, []=, Float32x4ArraySetIndexed, 1583018506) \ |
170 V(_Int32x4Array, [], Int32x4ArrayGetIndexed, 1675579883) \ | 170 V(_Int32x4Array, [], Int32x4ArrayGetIndexed, 1911863146) \ |
171 V(_Int32x4Array, []=, Int32x4ArraySetIndexed, 809970636) \ | 171 V(_Int32x4Array, []=, Int32x4ArraySetIndexed, 973572811) \ |
172 | 172 |
173 | 173 |
174 // A list of core function that should always be inlined. | 174 // A list of core function that should always be inlined. |
175 #define INLINE_WHITE_LIST(V) \ | 175 #define INLINE_WHITE_LIST(V) \ |
176 V(_List, get:length, ObjectArrayLength, 215153395) \ | 176 V(_List, get:length, ObjectArrayLength, 215183186) \ |
177 V(_ImmutableList, get:length, ImmutableArrayLength, 578733070) \ | 177 V(_ImmutableList, get:length, ImmutableArrayLength, 578762861) \ |
178 V(_TypedList, get:length, TypedDataLength, 26616328) \ | 178 V(_TypedList, get:length, TypedDataLength, 26646119) \ |
179 V(_GrowableList, get:length, GrowableArrayLength, 1654225242) \ | 179 V(_GrowableList, get:length, GrowableArrayLength, 1654255033) \ |
180 V(_StringBase, get:length, StringBaseLength, 1483520063) \ | 180 V(_StringBase, get:length, StringBaseLength, 1483549854) \ |
181 V(ListIterator, moveNext, ListIteratorMoveNext, 90930587) \ | 181 V(ListIterator, moveNext, ListIteratorMoveNext, 881367324) \ |
182 V(_GrowableList, get:iterator, GrowableArrayIterator, 1305127405) \ | 182 V(_GrowableList, get:iterator, GrowableArrayIterator, 1155241039) \ |
183 V(_GrowableList, forEach, GrowableArrayForEach, 1675430533) \ | 183 V(_GrowableList, forEach, GrowableArrayForEach, 195359970) \ |
184 | 184 |
185 // A list of core functions that internally dispatch based on received id. | 185 // A list of core functions that internally dispatch based on received id. |
186 #define POLYMORPHIC_TARGET_LIST(V) \ | 186 #define POLYMORPHIC_TARGET_LIST(V) \ |
187 V(_TypedList, _getInt8, ByteArrayBaseGetInt8, 272598802) \ | 187 V(_TypedList, _getInt8, ByteArrayBaseGetInt8, 272598802) \ |
188 V(_TypedList, _getUint8, ByteArrayBaseGetUint8, 831354841) \ | 188 V(_TypedList, _getUint8, ByteArrayBaseGetUint8, 831354841) \ |
189 V(_TypedList, _getInt16, ByteArrayBaseGetInt16, 1832126257) \ | 189 V(_TypedList, _getInt16, ByteArrayBaseGetInt16, 1832126257) \ |
190 V(_TypedList, _getUint16, ByteArrayBaseGetUint16, 1762714698) \ | 190 V(_TypedList, _getUint16, ByteArrayBaseGetUint16, 1762714698) \ |
191 V(_TypedList, _getInt32, ByteArrayBaseGetInt32, 48785449) \ | 191 V(_TypedList, _getInt32, ByteArrayBaseGetInt32, 48785449) \ |
192 V(_TypedList, _getUint32, ByteArrayBaseGetUint32, 1392579206) \ | 192 V(_TypedList, _getUint32, ByteArrayBaseGetUint32, 1392579206) \ |
193 V(_TypedList, _getFloat32, ByteArrayBaseGetFloat32, 185163470) \ | 193 V(_TypedList, _getFloat32, ByteArrayBaseGetFloat32, 185163470) \ |
(...skipping 6710 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6904 ForwardInstructionIterator* current_iterator_; | 6904 ForwardInstructionIterator* current_iterator_; |
6905 | 6905 |
6906 private: | 6906 private: |
6907 DISALLOW_COPY_AND_ASSIGN(FlowGraphVisitor); | 6907 DISALLOW_COPY_AND_ASSIGN(FlowGraphVisitor); |
6908 }; | 6908 }; |
6909 | 6909 |
6910 | 6910 |
6911 } // namespace dart | 6911 } // namespace dart |
6912 | 6912 |
6913 #endif // VM_INTERMEDIATE_LANGUAGE_H_ | 6913 #endif // VM_INTERMEDIATE_LANGUAGE_H_ |
OLD | NEW |