| OLD | NEW |
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, 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_METHOD_RECOGNIZER_H_ | 5 #ifndef VM_METHOD_RECOGNIZER_H_ |
| 6 #define VM_METHOD_RECOGNIZER_H_ | 6 #define VM_METHOD_RECOGNIZER_H_ |
| 7 | 7 |
| 8 #include "vm/allocation.h" | 8 #include "vm/allocation.h" |
| 9 | 9 |
| 10 namespace dart { | 10 namespace dart { |
| 11 | 11 |
| 12 // (class-name, function-name, recognized enum, fingerprint). | 12 // (class-name, function-name, recognized enum, fingerprint). |
| 13 // When adding a new function add a 0 as fingerprint, build and run to get the | 13 // When adding a new function add a 0 as fingerprint, build and run to get the |
| 14 // correct fingerprint from the mismatch error. | 14 // correct fingerprint from the mismatch error. |
| 15 #define OTHER_RECOGNIZED_LIST(V) \ | 15 #define OTHER_RECOGNIZED_LIST(V) \ |
| 16 V(::, identical, ObjectIdentical, 496869842) \ | 16 V(::, identical, ObjectIdentical, 554128144) \ |
| 17 V(ClassID, getID, ClassIDgetID, 1662520165) \ | 17 V(ClassID, getID, ClassIDgetID, 535124072) \ |
| 18 V(Object, Object., ObjectConstructor, 1066669787) \ | 18 V(Object, Object., ObjectConstructor, 1066759160) \ |
| 19 V(_List, ., ObjectArrayAllocate, 335347617) \ | 19 V(_List, ., ObjectArrayAllocate, 850375012) \ |
| 20 V(_TypedList, _getInt8, ByteArrayBaseGetInt8, 1541411498) \ | 20 V(_TypedList, _getInt8, ByteArrayBaseGetInt8, 1541411498) \ |
| 21 V(_TypedList, _getUint8, ByteArrayBaseGetUint8, 1032404349) \ | 21 V(_TypedList, _getUint8, ByteArrayBaseGetUint8, 1032404349) \ |
| 22 V(_TypedList, _getInt16, ByteArrayBaseGetInt16, 381073990) \ | 22 V(_TypedList, _getInt16, ByteArrayBaseGetInt16, 381073990) \ |
| 23 V(_TypedList, _getUint16, ByteArrayBaseGetUint16, 1142676276) \ | 23 V(_TypedList, _getUint16, ByteArrayBaseGetUint16, 1142676276) \ |
| 24 V(_TypedList, _getInt32, ByteArrayBaseGetInt32, 330269934) \ | 24 V(_TypedList, _getInt32, ByteArrayBaseGetInt32, 330269934) \ |
| 25 V(_TypedList, _getUint32, ByteArrayBaseGetUint32, 59490554) \ | 25 V(_TypedList, _getUint32, ByteArrayBaseGetUint32, 59490554) \ |
| 26 V(_TypedList, _getInt64, ByteArrayBaseGetInt64, 322272622) \ | 26 V(_TypedList, _getInt64, ByteArrayBaseGetInt64, 322272622) \ |
| 27 V(_TypedList, _getFloat32, ByteArrayBaseGetFloat32, 393003933) \ | 27 V(_TypedList, _getFloat32, ByteArrayBaseGetFloat32, 393003933) \ |
| 28 V(_TypedList, _getFloat64, ByteArrayBaseGetFloat64, 1792407200) \ | 28 V(_TypedList, _getFloat64, ByteArrayBaseGetFloat64, 1792407200) \ |
| 29 V(_TypedList, _getFloat32x4, ByteArrayBaseGetFloat32x4, 1338379857) \ | 29 V(_TypedList, _getFloat32x4, ByteArrayBaseGetFloat32x4, 1338379857) \ |
| 30 V(_TypedList, _getInt32x4, ByteArrayBaseGetInt32x4, 1469917805) \ | 30 V(_TypedList, _getInt32x4, ByteArrayBaseGetInt32x4, 1469917805) \ |
| 31 V(_TypedList, _setInt8, ByteArrayBaseSetInt8, 783880753) \ | 31 V(_TypedList, _setInt8, ByteArrayBaseSetInt8, 1892735922) \ |
| 32 V(_TypedList, _setUint8, ByteArrayBaseSetUint8, 499938872) \ | 32 V(_TypedList, _setUint8, ByteArrayBaseSetUint8, 1608794041) \ |
| 33 V(_TypedList, _setInt16, ByteArrayBaseSetInt16, 1156009451) \ | 33 V(_TypedList, _setInt16, ByteArrayBaseSetInt16, 117380972) \ |
| 34 V(_TypedList, _setUint16, ByteArrayBaseSetUint16, 1239113233) \ | 34 V(_TypedList, _setUint16, ByteArrayBaseSetUint16, 200484754) \ |
| 35 V(_TypedList, _setInt32, ByteArrayBaseSetInt32, 2058780470) \ | 35 V(_TypedList, _setInt32, ByteArrayBaseSetInt32, 1020151991) \ |
| 36 V(_TypedList, _setUint32, ByteArrayBaseSetUint32, 66201433) \ | 36 V(_TypedList, _setUint32, ByteArrayBaseSetUint32, 1175056602) \ |
| 37 V(_TypedList, _setInt64, ByteArrayBaseSetInt64, 1823612342) \ | 37 V(_TypedList, _setInt64, ByteArrayBaseSetInt64, 784983863) \ |
| 38 V(_TypedList, _setFloat32, ByteArrayBaseSetFloat32, 1499236144) \ | 38 V(_TypedList, _setFloat32, ByteArrayBaseSetFloat32, 460607665) \ |
| 39 V(_TypedList, _setFloat64, ByteArrayBaseSetFloat64, 1323416269) \ | 39 V(_TypedList, _setFloat64, ByteArrayBaseSetFloat64, 284787790) \ |
| 40 V(_TypedList, _setFloat32x4, ByteArrayBaseSetFloat32x4, 1301054599) \ | 40 V(_TypedList, _setFloat32x4, ByteArrayBaseSetFloat32x4, 262426120) \ |
| 41 V(_TypedList, _setInt32x4, ByteArrayBaseSetInt32x4, 1651670367) \ | 41 V(_TypedList, _setInt32x4, ByteArrayBaseSetInt32x4, 613041888) \ |
| 42 V(_StringBase, _interpolate, StringBaseInterpolate, 1503544722) \ | 42 V(_StringBase, _interpolate, StringBaseInterpolate, 1214901263) \ |
| 43 V(_IntegerImplementation, toDouble, IntegerToDouble, 1020333941) \ | 43 V(_IntegerImplementation, toDouble, IntegerToDouble, 826404440) \ |
| 44 V(_IntegerImplementation, _leftShiftWithMask32, IntegerLeftShiftWithMask32, \ | 44 V(_IntegerImplementation, _leftShiftWithMask32, \ |
| 45 597111055) \ | 45 IntegerLeftShiftWithMask32, 598958097) \ |
| 46 V(_Double, truncateToDouble, DoubleTruncate, 2117801967) \ | 46 V(_Double, truncateToDouble, DoubleTruncate, 2117801967) \ |
| 47 V(_Double, roundToDouble, DoubleRound, 2124216110) \ | 47 V(_Double, roundToDouble, DoubleRound, 2124216110) \ |
| 48 V(_Double, floorToDouble, DoubleFloor, 968600699) \ | 48 V(_Double, floorToDouble, DoubleFloor, 968600699) \ |
| 49 V(_Double, ceilToDouble, DoubleCeil, 1779929274) \ | 49 V(_Double, ceilToDouble, DoubleCeil, 1779929274) \ |
| 50 V(_Double, _modulo, DoubleMod, 1473971007) \ | 50 V(_Double, _modulo, DoubleMod, 1473971007) \ |
| 51 V(_Double, _add, DoubleAdd, 1570715125) \ | 51 V(_Double, _add, DoubleAdd, 1570715125) \ |
| 52 V(_Double, _sub, DoubleSub, 1466395310) \ | 52 V(_Double, _sub, DoubleSub, 1466395310) \ |
| 53 V(_Double, _mul, DoubleMul, 546441193) \ | 53 V(_Double, _mul, DoubleMul, 546441193) \ |
| 54 V(_Double, _div, DoubleDiv, 1201505037) \ | 54 V(_Double, _div, DoubleDiv, 1201505037) \ |
| 55 V(::, sin, MathSin, 1741396147) \ | 55 V(::, sin, MathSin, 1741396147) \ |
| 56 V(::, cos, MathCos, 1951197905) \ | 56 V(::, cos, MathCos, 1951197905) \ |
| 57 V(::, min, MathMin, 214919172) \ | 57 V(::, min, MathMin, 478627534) \ |
| 58 V(::, max, MathMax, 989552054) \ | 58 V(::, max, MathMax, 212291192) \ |
| 59 V(::, _doublePow, MathDoublePow, 275712742) \ | 59 V(::, _doublePow, MathDoublePow, 1286501289) \ |
| 60 V(Float32x4, Float32x4., Float32x4Constructor, 137170840) \ | 60 V(Float32x4, Float32x4., Float32x4Constructor, 1413513587) \ |
| 61 V(Float32x4, Float32x4.zero, Float32x4Zero, 1336967908) \ | 61 V(Float32x4, Float32x4.zero, Float32x4Zero, 865663495) \ |
| 62 V(Float32x4, Float32x4.splat, Float32x4Splat, 2001978631) \ | 62 V(Float32x4, Float32x4.splat, Float32x4Splat, 964312836) \ |
| 63 V(Float32x4, Float32x4.fromInt32x4Bits, Float32x4FromInt32x4Bits, \ | 63 V(Float32x4, Float32x4.fromInt32x4Bits, Float32x4FromInt32x4Bits, 688177588) \ |
| 64 1725843383) \ | 64 V(Float32x4, Float32x4.fromFloat64x2, Float32x4FromFloat64x2, 1327692716) \ |
| 65 V(Float32x4, Float32x4.fromFloat64x2, Float32x4FromFloat64x2, 217874863) \ | |
| 66 V(_Float32x4, shuffle, Float32x4Shuffle, 1636488139) \ | 65 V(_Float32x4, shuffle, Float32x4Shuffle, 1636488139) \ |
| 67 V(_Float32x4, shuffleMix, Float32x4ShuffleMix, 597555927) \ | 66 V(_Float32x4, shuffleMix, Float32x4ShuffleMix, 654814229) \ |
| 68 V(_Float32x4, get:x, Float32x4ShuffleX, 384880349) \ | 67 V(_Float32x4, get:x, Float32x4ShuffleX, 384969722) \ |
| 69 V(_Float32x4, get:y, Float32x4ShuffleY, 1398032569) \ | 68 V(_Float32x4, get:y, Float32x4ShuffleY, 1398121942) \ |
| 70 V(_Float32x4, get:z, Float32x4ShuffleZ, 1178086232) \ | 69 V(_Float32x4, get:z, Float32x4ShuffleZ, 1178175605) \ |
| 71 V(_Float32x4, get:w, Float32x4ShuffleW, 480861630) \ | 70 V(_Float32x4, get:w, Float32x4ShuffleW, 480951003) \ |
| 72 V(_Float32x4, get:signMask, Float32x4GetSignMask, 630791302) \ | 71 V(_Float32x4, get:signMask, Float32x4GetSignMask, 630880675) \ |
| 73 V(_Float32x4, _cmpequal, Float32x4Equal, 571062952) \ | 72 V(_Float32x4, _cmpequal, Float32x4Equal, 571062952) \ |
| 74 V(_Float32x4, _cmpgt, Float32x4GreaterThan, 1613543295) \ | 73 V(_Float32x4, _cmpgt, Float32x4GreaterThan, 1613543295) \ |
| 75 V(_Float32x4, _cmpgte, Float32x4GreaterThanOrEqual, 589402909) \ | 74 V(_Float32x4, _cmpgte, Float32x4GreaterThanOrEqual, 589402909) \ |
| 76 V(_Float32x4, _cmplt, Float32x4LessThan, 1502332656) \ | 75 V(_Float32x4, _cmplt, Float32x4LessThan, 1502332656) \ |
| 77 V(_Float32x4, _cmplte, Float32x4LessThanOrEqual, 1069848031) \ | 76 V(_Float32x4, _cmplte, Float32x4LessThanOrEqual, 1069848031) \ |
| 78 V(_Float32x4, _cmpnequal, Float32x4NotEqual, 1334574472) \ | 77 V(_Float32x4, _cmpnequal, Float32x4NotEqual, 1334574472) \ |
| 79 V(_Float32x4, _min, Float32x4Min, 2036349551) \ | 78 V(_Float32x4, _min, Float32x4Min, 2036349551) \ |
| 80 V(_Float32x4, _max, Float32x4Max, 571688115) \ | 79 V(_Float32x4, _max, Float32x4Max, 571688115) \ |
| 81 V(_Float32x4, _scale, Float32x4Scale, 1311297761) \ | 80 V(_Float32x4, _scale, Float32x4Scale, 1311297761) \ |
| 82 V(_Float32x4, _sqrt, Float32x4Sqrt, 1709659395) \ | 81 V(_Float32x4, _sqrt, Float32x4Sqrt, 1709659395) \ |
| 83 V(_Float32x4, _reciprocalSqrt, Float32x4ReciprocalSqrt, 2043980962) \ | 82 V(_Float32x4, _reciprocalSqrt, Float32x4ReciprocalSqrt, 2043980962) \ |
| 84 V(_Float32x4, _reciprocal, Float32x4Reciprocal, 739405237) \ | 83 V(_Float32x4, _reciprocal, Float32x4Reciprocal, 739405237) \ |
| 85 V(_Float32x4, _negate, Float32x4Negate, 445839777) \ | 84 V(_Float32x4, _negate, Float32x4Negate, 445839777) \ |
| 86 V(_Float32x4, _abs, Float32x4Absolute, 1152777608) \ | 85 V(_Float32x4, _abs, Float32x4Absolute, 1152777608) \ |
| 87 V(_Float32x4, _clamp, Float32x4Clamp, 353415442) \ | 86 V(_Float32x4, _clamp, Float32x4Clamp, 410673744) \ |
| 88 V(_Float32x4, withX, Float32x4WithX, 1446546696) \ | 87 V(_Float32x4, withX, Float32x4WithX, 1446546696) \ |
| 89 V(_Float32x4, withY, Float32x4WithY, 309844761) \ | 88 V(_Float32x4, withY, Float32x4WithY, 309844761) \ |
| 90 V(_Float32x4, withZ, Float32x4WithZ, 971921505) \ | 89 V(_Float32x4, withZ, Float32x4WithZ, 971921505) \ |
| 91 V(_Float32x4, withW, Float32x4WithW, 1759699726) \ | 90 V(_Float32x4, withW, Float32x4WithW, 1759699726) \ |
| 92 V(Float64x2, Float64x2., Float64x2Constructor, 490465873) \ | 91 V(Float64x2, Float64x2., Float64x2Constructor, 1047027504) \ |
| 93 V(Float64x2, Float64x2.zero, Float64x2Zero, 1679669116) \ | 92 V(Float64x2, Float64x2.zero, Float64x2Zero, 1208364703) \ |
| 94 V(Float64x2, Float64x2.splat, Float64x2Splat, 2025058326) \ | 93 V(Float64x2, Float64x2.splat, Float64x2Splat, 987392531) \ |
| 95 V(Float64x2, Float64x2.fromFloat32x4, Float64x2FromFloat32x4, 438009925) \ | 94 V(Float64x2, Float64x2.fromFloat32x4, Float64x2FromFloat32x4, 1547827778) \ |
| 96 V(_Float64x2, get:x, Float64x2GetX, 261073885) \ | 95 V(_Float64x2, get:x, Float64x2GetX, 261163258) \ |
| 97 V(_Float64x2, get:y, Float64x2GetY, 1942287677) \ | 96 V(_Float64x2, get:y, Float64x2GetY, 1942377050) \ |
| 98 V(_Float64x2, _negate, Float64x2Negate, 2133212774) \ | 97 V(_Float64x2, _negate, Float64x2Negate, 2133212774) \ |
| 99 V(_Float64x2, abs, Float64x2Abs, 1224776282) \ | 98 V(_Float64x2, abs, Float64x2Abs, 1224776282) \ |
| 100 V(_Float64x2, sqrt, Float64x2Sqrt, 1037569520) \ | 99 V(_Float64x2, sqrt, Float64x2Sqrt, 1037569520) \ |
| 101 V(_Float64x2, get:signMask, Float64x2GetSignMask, 252966591) \ | 100 V(_Float64x2, get:signMask, Float64x2GetSignMask, 253055964) \ |
| 102 V(_Float64x2, scale, Float64x2Scale, 1199438744) \ | 101 V(_Float64x2, scale, Float64x2Scale, 1199438744) \ |
| 103 V(_Float64x2, withX, Float64x2WithX, 1042725932) \ | 102 V(_Float64x2, withX, Float64x2WithX, 1042725932) \ |
| 104 V(_Float64x2, withY, Float64x2WithY, 1496958947) \ | 103 V(_Float64x2, withY, Float64x2WithY, 1496958947) \ |
| 105 V(_Float64x2, min, Float64x2Min, 485240583) \ | 104 V(_Float64x2, min, Float64x2Min, 485240583) \ |
| 106 V(_Float64x2, max, Float64x2Max, 2146148204) \ | 105 V(_Float64x2, max, Float64x2Max, 2146148204) \ |
| 107 V(Int32x4, Int32x4., Int32x4Constructor, 1194767693) \ | 106 V(Int32x4, Int32x4., Int32x4Constructor, 323626792) \ |
| 108 V(Int32x4, Int32x4.bool, Int32x4BoolConstructor, 1052882565) \ | 107 V(Int32x4, Int32x4.bool, Int32x4BoolConstructor, 637206368) \ |
| 109 V(Int32x4, Int32x4.fromFloat32x4Bits, Int32x4FromFloat32x4Bits, \ | 108 V(Int32x4, Int32x4.fromFloat32x4Bits, Int32x4FromFloat32x4Bits, 420618790) \ |
| 110 1458284585) \ | 109 V(_Int32x4, get:flagX, Int32x4GetFlagX, 1077674402) \ |
| 111 V(_Int32x4, get:flagX, Int32x4GetFlagX, 1077585029) \ | 110 V(_Int32x4, get:flagY, Int32x4GetFlagY, 779279448) \ |
| 112 V(_Int32x4, get:flagY, Int32x4GetFlagY, 779190075) \ | 111 V(_Int32x4, get:flagZ, Int32x4GetFlagZ, 182031447) \ |
| 113 V(_Int32x4, get:flagZ, Int32x4GetFlagZ, 181942074) \ | 112 V(_Int32x4, get:flagW, Int32x4GetFlagW, 977794698) \ |
| 114 V(_Int32x4, get:flagW, Int32x4GetFlagW, 977705325) \ | 113 V(_Int32x4, get:signMask, Int32x4GetSignMask, 1929391078) \ |
| 115 V(_Int32x4, get:signMask, Int32x4GetSignMask, 1929301705) \ | |
| 116 V(_Int32x4, shuffle, Int32x4Shuffle, 1870018702) \ | 114 V(_Int32x4, shuffle, Int32x4Shuffle, 1870018702) \ |
| 117 V(_Int32x4, shuffleMix, Int32x4ShuffleMix, 967644870) \ | 115 V(_Int32x4, shuffleMix, Int32x4ShuffleMix, 1024903172) \ |
| 118 V(_Int32x4, select, Int32x4Select, 1291364368) \ | 116 V(_Int32x4, select, Int32x4Select, 1638081645) \ |
| 119 V(_Int32x4, withFlagX, Int32x4WithFlagX, 467852789) \ | 117 V(_Int32x4, withFlagX, Int32x4WithFlagX, 467852789) \ |
| 120 V(_Int32x4, withFlagY, Int32x4WithFlagY, 1903359978) \ | 118 V(_Int32x4, withFlagY, Int32x4WithFlagY, 1903359978) \ |
| 121 V(_Int32x4, withFlagZ, Int32x4WithFlagZ, 862460960) \ | 119 V(_Int32x4, withFlagZ, Int32x4WithFlagZ, 862460960) \ |
| 122 V(_Int32x4, withFlagW, Int32x4WithFlagW, 1095242907) \ | 120 V(_Int32x4, withFlagW, Int32x4WithFlagW, 1095242907) \ |
| 123 V(_Float32Array, [], Float32ArrayGetIndexed, 1535169225) \ | 121 V(_Float32Array, [], Float32ArrayGetIndexed, 275040752) \ |
| 124 V(_Float32Array, []=, Float32ArraySetIndexed, 626578817) \ | 122 V(_Float32Array, []=, Float32ArraySetIndexed, 157872912) \ |
| 125 V(_Int8Array, [], Int8ArrayGetIndexed, 138473967) \ | 123 V(_Int8Array, [], Int8ArrayGetIndexed, 1025829142) \ |
| 126 V(_Int8Array, []=, Int8ArraySetIndexed, 1974948008) \ | 124 V(_Int8Array, []=, Int8ArraySetIndexed, 1696011449) \ |
| 127 V(_Uint8ClampedArray, [], Uint8ClampedArrayGetIndexed, 900572864) \ | 125 V(_Uint8ClampedArray, [], Uint8ClampedArrayGetIndexed, 1787928039) \ |
| 128 V(_Uint8ClampedArray, []=, Uint8ClampedArraySetIndexed, 1618616151) \ | 126 V(_Uint8ClampedArray, []=, Uint8ClampedArraySetIndexed, 1339679592) \ |
| 129 V(_ExternalUint8ClampedArray, [], ExternalUint8ClampedArrayGetIndexed, \ | 127 V(_ExternalUint8ClampedArray, [], \ |
| 130 1375076880) \ | 128 ExternalUint8ClampedArrayGetIndexed, 114948407) \ |
| 131 V(_ExternalUint8ClampedArray, []=, ExternalUint8ClampedArraySetIndexed, \ | 129 V(_ExternalUint8ClampedArray, []=, \ |
| 132 1734046173) \ | 130 ExternalUint8ClampedArraySetIndexed, 1455109614) \ |
| 133 V(_Int16Array, [], Int16ArrayGetIndexed, 2007660358) \ | 131 V(_Int16Array, [], Int16ArrayGetIndexed, 747531885) \ |
| 134 V(_Int16Array, []=, Int16ArraySetIndexed, 1816201356) \ | 132 V(_Int16Array, []=, Int16ArraySetIndexed, 1537264797) \ |
| 135 V(_Uint16Array, [], Uint16ArrayGetIndexed, 1089984866) \ | 133 V(_Uint16Array, [], Uint16ArrayGetIndexed, 1977340041) \ |
| 136 V(_Uint16Array, []=, Uint16ArraySetIndexed, 1478733345) \ | 134 V(_Uint16Array, []=, Uint16ArraySetIndexed, 1199796786) \ |
| 137 V(_Int32Array, [], Int32ArrayGetIndexed, 1705827339) \ | 135 V(_Int32Array, [], Int32ArrayGetIndexed, 445698866) \ |
| 138 V(_Int32Array, []=, Int32ArraySetIndexed, 42548988) \ | 136 V(_Int32Array, []=, Int32ArraySetIndexed, 1911096077) \ |
| 139 V(_Uint32Array, [], Uint32ArrayGetIndexed, 1251606959) \ | 137 V(_Uint32Array, [], Uint32ArrayGetIndexed, 2138962134) \ |
| 140 V(_Uint32Array, []=, Uint32ArraySetIndexed, 35369746) \ | 138 V(_Uint32Array, []=, Uint32ArraySetIndexed, 1903916835) \ |
| 141 V(_Int64Array, [], Int64ArrayGetIndexed, 123397249) \ | 139 V(_Int64Array, [], Int64ArrayGetIndexed, 1010752424) \ |
| 142 V(_Int64Array, []=, Int64ArraySetIndexed, 1286315154) \ | 140 V(_Int64Array, []=, Int64ArraySetIndexed, 1007378595) \ |
| 143 V(_Float32x4Array, [], Float32x4ArrayGetIndexed, 1291435540) \ | 141 V(_Float32x4Array, [], Float32x4ArrayGetIndexed, 31307067) \ |
| 144 V(_Float32x4Array, []=, Float32x4ArraySetIndexed, 993794277) \ | 142 V(_Float32x4Array, []=, Float32x4ArraySetIndexed, 525088372) \ |
| 145 V(_Int32x4Array, [], Int32x4ArrayGetIndexed, 1120121805) \ | 143 V(_Int32x4Array, [], Int32x4ArrayGetIndexed, 2007476980) \ |
| 146 V(_Int32x4Array, []=, Int32x4ArraySetIndexed, 900060207) \ | 144 V(_Int32x4Array, []=, Int32x4ArraySetIndexed, 431354302) \ |
| 147 V(_Float64x2Array, [], Float64x2ArrayGetIndexed, 408038297) \ | 145 V(_Float64x2Array, [], Float64x2ArrayGetIndexed, 1295393472) \ |
| 148 V(_Float64x2Array, []=, Float64x2ArraySetIndexed, 1277140175) \ | 146 V(_Float64x2Array, []=, Float64x2ArraySetIndexed, 808434270) \ |
| 149 V(_Bigint, get:_neg, Bigint_getNeg, 1151543890) \ | 147 V(_Bigint, get:_neg, Bigint_getNeg, 1151633263) \ |
| 150 V(_Bigint, get:_used, Bigint_getUsed, 1308559334) \ | 148 V(_Bigint, get:_used, Bigint_getUsed, 1308648707) \ |
| 151 V(_Bigint, get:_digits, Bigint_getDigits, 1408092463) \ | 149 V(_Bigint, get:_digits, Bigint_getDigits, 1408181836) \ |
| 152 | 150 |
| 153 // List of intrinsics: | 151 // List of intrinsics: |
| 154 // (class-name, function-name, intrinsification method, fingerprint). | 152 // (class-name, function-name, intrinsification method, fingerprint). |
| 155 #define CORE_LIB_INTRINSIC_LIST(V) \ | 153 #define CORE_LIB_INTRINSIC_LIST(V) \ |
| 156 V(_Smi, ~, Smi_bitNegate, 134149043) \ | 154 V(_Smi, ~, Smi_bitNegate, 221883538) \ |
| 157 V(_Smi, get:bitLength, Smi_bitLength, 869986288) \ | 155 V(_Smi, get:bitLength, Smi_bitLength, 870075661) \ |
| 158 V(_Bigint, _lsh, Bigint_lsh, 1318834243) \ | 156 V(_Bigint, _lsh, Bigint_lsh, 1457834861) \ |
| 159 V(_Bigint, _rsh, Bigint_rsh, 1239668932) \ | 157 V(_Bigint, _rsh, Bigint_rsh, 1619318930) \ |
| 160 V(_Bigint, _absAdd, Bigint_absAdd, 222437051) \ | 158 V(_Bigint, _absAdd, Bigint_absAdd, 1029882563) \ |
| 161 V(_Bigint, _absSub, Bigint_absSub, 599465997) \ | 159 V(_Bigint, _absSub, Bigint_absSub, 1407667556) \ |
| 162 V(_Bigint, _mulAdd, Bigint_mulAdd, 1696801459) \ | 160 V(_Bigint, _mulAdd, Bigint_mulAdd, 1408994809) \ |
| 163 V(_Bigint, _sqrAdd, Bigint_sqrAdd, 1937424317) \ | 161 V(_Bigint, _sqrAdd, Bigint_sqrAdd, 2025116181) \ |
| 164 V(_Bigint, _estQuotientDigit, Bigint_estQuotientDigit, 1873913198) \ | 162 V(_Bigint, _estQuotientDigit, Bigint_estQuotientDigit, 919247767) \ |
| 165 V(_Montgomery, _mulMod, Montgomery_mulMod, 2040316431) \ | 163 V(_Montgomery, _mulMod, Montgomery_mulMod, 401580778) \ |
| 166 V(_Double, >, Double_greaterThan, 1538121903) \ | 164 V(_Double, >, Double_greaterThan, 1329424300) \ |
| 167 V(_Double, >=, Double_greaterEqualThan, 1058495718) \ | 165 V(_Double, >=, Double_greaterEqualThan, 805805707) \ |
| 168 V(_Double, <, Double_lessThan, 62910596) \ | 166 V(_Double, <, Double_lessThan, 1504529159) \ |
| 169 V(_Double, <=, Double_lessEqualThan, 1902937798) \ | 167 V(_Double, <=, Double_lessEqualThan, 1650247787) \ |
| 170 V(_Double, ==, Double_equal, 793601203) \ | 168 V(_Double, ==, Double_equal, 1107327662) \ |
| 171 V(_Double, +, Double_add, 655662995) \ | 169 V(_Double, +, Double_add, 957499569) \ |
| 172 V(_Double, -, Double_sub, 486771820) \ | 170 V(_Double, -, Double_sub, 788608394) \ |
| 173 V(_Double, *, Double_mul, 343893321) \ | 171 V(_Double, *, Double_mul, 645729895) \ |
| 174 V(_Double, /, Double_div, 947349699) \ | 172 V(_Double, /, Double_div, 1249186273) \ |
| 175 V(_Double, get:isNaN, Double_getIsNaN, 843079824) \ | 173 V(_Double, get:isNaN, Double_getIsNaN, 843169197) \ |
| 176 V(_Double, get:isNegative, Double_getIsNegative, 1637905371) \ | 174 V(_Double, get:isNegative, Double_getIsNegative, 1637994744) \ |
| 177 V(_Double, _mulFromInteger, Double_mulFromInteger, 1748815298) \ | 175 V(_Double, _mulFromInteger, Double_mulFromInteger, 63390017) \ |
| 178 V(_Double, .fromInteger, DoubleFromInteger, 803258435) \ | 176 V(_Double, .fromInteger, DoubleFromInteger, 213717920) \ |
| 179 V(_List, []=, ObjectArraySetIndexed, 1768442583) \ | 177 V(_List, []=, ObjectArraySetIndexed, 527521746) \ |
| 180 V(_GrowableList, .withData, GrowableArray_Allocate, 536409567) \ | 178 V(_GrowableList, .withData, GrowableArray_Allocate, 2094352700) \ |
| 181 V(_GrowableList, add, GrowableArray_add, 422087403) \ | 179 V(_GrowableList, add, GrowableArray_add, 1675959698) \ |
| 182 V(_JSSyntaxRegExp, _ExecuteMatch, JSRegExp_ExecuteMatch, 1654250896) \ | 180 V(_JSSyntaxRegExp, _ExecuteMatch, JSRegExp_ExecuteMatch, 1711509198) \ |
| 183 V(Object, ==, ObjectEquals, 1955975370) \ | 181 V(Object, ==, ObjectEquals, 409406570) \ |
| 184 V(_StringBase, get:hashCode, String_getHashCode, 2102936032) \ | 182 V(_StringBase, get:hashCode, String_getHashCode, 2103025405) \ |
| 185 V(_StringBase, get:isEmpty, StringBaseIsEmpty, 769493198) \ | 183 V(_StringBase, get:isEmpty, StringBaseIsEmpty, 780870414) \ |
| 186 V(_StringBase, codeUnitAt, StringBaseCodeUnitAt, 397735324) \ | 184 V(_StringBase, codeUnitAt, StringBaseCodeUnitAt, 397735324) \ |
| 187 V(_StringBase, [], StringBaseCharAt, 1107537364) \ | 185 V(_StringBase, [], StringBaseCharAt, 408544820) \ |
| 188 V(_OneByteString, get:hashCode, OneByteString_getHashCode, 1111867720) \ | 186 V(_OneByteString, get:hashCode, OneByteString_getHashCode, 1111957093) \ |
| 189 V(_OneByteString, _substringUncheckedNative, \ | 187 V(_OneByteString, _substringUncheckedNative, \ |
| 190 OneByteString_substringUnchecked, 1527498975) \ | 188 OneByteString_substringUnchecked, 1584757277) \ |
| 191 V(_OneByteString, _setAt, OneByteStringSetAt, 819138038) \ | 189 V(_OneByteString, _setAt, OneByteStringSetAt, 1927993207) \ |
| 192 V(_OneByteString, _allocate, OneByteString_allocate, 227962559) \ | 190 V(_OneByteString, _allocate, OneByteString_allocate, 1248050114) \ |
| 193 V(_OneByteString, ==, OneByteString_equality, 1857083054) \ | 191 V(_OneByteString, ==, OneByteString_equality, 1151307249) \ |
| 194 V(_TwoByteString, ==, TwoByteString_equality, 1081185720) \ | 192 V(_TwoByteString, ==, TwoByteString_equality, 375409915) \ |
| 195 | 193 |
| 196 | 194 |
| 197 #define CORE_INTEGER_LIB_INTRINSIC_LIST(V) \ | 195 #define CORE_INTEGER_LIB_INTRINSIC_LIST(V) \ |
| 198 V(_IntegerImplementation, _addFromInteger, Integer_addFromInteger, \ | 196 V(_IntegerImplementation, _addFromInteger, Integer_addFromInteger, \ |
| 199 438687793) \ | 197 438687793) \ |
| 200 V(_IntegerImplementation, +, Integer_add, 1324179652) \ | 198 V(_IntegerImplementation, +, Integer_add, 6890122) \ |
| 201 V(_IntegerImplementation, _subFromInteger, Integer_subFromInteger, \ | 199 V(_IntegerImplementation, _subFromInteger, Integer_subFromInteger, \ |
| 202 562800077) \ | 200 562800077) \ |
| 203 V(_IntegerImplementation, -, Integer_sub, 494872517) \ | 201 V(_IntegerImplementation, -, Integer_sub, 1325066635) \ |
| 204 V(_IntegerImplementation, _mulFromInteger, Integer_mulFromInteger, \ | 202 V(_IntegerImplementation, _mulFromInteger, Integer_mulFromInteger, \ |
| 205 67891834) \ | 203 67891834) \ |
| 206 V(_IntegerImplementation, *, Integer_mul, 463313062) \ | 204 V(_IntegerImplementation, *, Integer_mul, 1293507180) \ |
| 207 V(_IntegerImplementation, _moduloFromInteger, Integer_moduloFromInteger, \ | 205 V(_IntegerImplementation, _moduloFromInteger, Integer_moduloFromInteger, \ |
| 208 93478264) \ | 206 93478264) \ |
| 209 V(_IntegerImplementation, ~/, Integer_truncDivide, 300412283) \ | 207 V(_IntegerImplementation, ~/, Integer_truncDivide, 1401079912) \ |
| 210 V(_IntegerImplementation, unary-, Integer_negate, 1899613736) \ | 208 V(_IntegerImplementation, unary-, Integer_negate, 1992904169) \ |
| 211 V(_IntegerImplementation, _bitAndFromInteger, \ | 209 V(_IntegerImplementation, _bitAndFromInteger, \ |
| 212 Integer_bitAndFromInteger, 504496713) \ | 210 Integer_bitAndFromInteger, 504496713) \ |
| 213 V(_IntegerImplementation, &, Integer_bitAnd, 1471812911) \ | 211 V(_IntegerImplementation, &, Integer_bitAnd, 154523381) \ |
| 214 V(_IntegerImplementation, _bitOrFromInteger, \ | 212 V(_IntegerImplementation, _bitOrFromInteger, \ |
| 215 Integer_bitOrFromInteger, 1763728073) \ | 213 Integer_bitOrFromInteger, 1763728073) \ |
| 216 V(_IntegerImplementation, |, Integer_bitOr, 149206765) \ | 214 V(_IntegerImplementation, |, Integer_bitOr, 979400883) \ |
| 217 V(_IntegerImplementation, _bitXorFromInteger, \ | 215 V(_IntegerImplementation, _bitXorFromInteger, \ |
| 218 Integer_bitXorFromInteger, 281425907) \ | 216 Integer_bitXorFromInteger, 281425907) \ |
| 219 V(_IntegerImplementation, ^, Integer_bitXor, 922906510) \ | 217 V(_IntegerImplementation, ^, Integer_bitXor, 1753100628) \ |
| 220 V(_IntegerImplementation, \ | 218 V(_IntegerImplementation, \ |
| 221 _greaterThanFromInteger, \ | 219 _greaterThanFromInteger, \ |
| 222 Integer_greaterThanFromInt, 787426822) \ | 220 Integer_greaterThanFromInt, 787426822) \ |
| 223 V(_IntegerImplementation, >, Integer_greaterThan, 1226840498) \ | 221 V(_IntegerImplementation, >, Integer_greaterThan, 871319346) \ |
| 224 V(_IntegerImplementation, ==, Integer_equal, 1155579943) \ | 222 V(_IntegerImplementation, ==, Integer_equal, 150126631) \ |
| 225 V(_IntegerImplementation, _equalToInteger, Integer_equalToInteger, \ | 223 V(_IntegerImplementation, _equalToInteger, Integer_equalToInteger, \ |
| 226 1790821042) \ | 224 1790821042) \ |
| 227 V(_IntegerImplementation, <, Integer_lessThan, 555566388) \ | 225 V(_IntegerImplementation, <, Integer_lessThan, 1997184951) \ |
| 228 V(_IntegerImplementation, <=, Integer_lessEqualThan, 1161964406) \ | 226 V(_IntegerImplementation, <=, Integer_lessEqualThan, 909274395) \ |
| 229 V(_IntegerImplementation, >=, Integer_greaterEqualThan, 317522326) \ | 227 V(_IntegerImplementation, >=, Integer_greaterEqualThan, 64832315) \ |
| 230 V(_IntegerImplementation, <<, Integer_shl, 1479333073) \ | 228 V(_IntegerImplementation, <<, Integer_shl, 162043543) \ |
| 231 V(_IntegerImplementation, >>, Integer_sar, 1310672722) \ | 229 V(_IntegerImplementation, >>, Integer_sar, 2140866840) \ |
| 232 V(_Double, toInt, DoubleToInteger, 1547535151) | 230 V(_Double, toInt, DoubleToInteger, 1547535151) |
| 233 | 231 |
| 234 | 232 |
| 235 #define MATH_LIB_INTRINSIC_LIST(V) \ | 233 #define MATH_LIB_INTRINSIC_LIST(V) \ |
| 236 V(::, sqrt, MathSqrt, 101545548) \ | 234 V(::, sqrt, MathSqrt, 101545548) \ |
| 237 V(_Random, _nextState, Random_nextState, 84519862) \ | 235 V(_Random, _nextState, Random_nextState, 170407315) \ |
| 238 | 236 |
| 239 | 237 |
| 240 #define TYPED_DATA_LIB_INTRINSIC_LIST(V) \ | 238 #define TYPED_DATA_LIB_INTRINSIC_LIST(V) \ |
| 241 V(_Int8Array, _new, TypedData_Int8Array_new, 1490161004) \ | 239 V(_Int8Array, _new, TypedData_Int8Array_new, 362764911) \ |
| 242 V(_Uint8Array, _new, TypedData_Uint8Array_new, 212211297) \ | 240 V(_Uint8Array, _new, TypedData_Uint8Array_new, 1232298852) \ |
| 243 V(_Uint8ClampedArray, _new, TypedData_Uint8ClampedArray_new, 1066441853) \ | 241 V(_Uint8ClampedArray, _new, TypedData_Uint8ClampedArray_new, 2086529408) \ |
| 244 V(_Int16Array, _new, TypedData_Int16Array_new, 72086552) \ | 242 V(_Int16Array, _new, TypedData_Int16Array_new, 1092174107) \ |
| 245 V(_Uint16Array, _new, TypedData_Uint16Array_new, 529525586) \ | 243 V(_Uint16Array, _new, TypedData_Uint16Array_new, 1549613141) \ |
| 246 V(_Int32Array, _new, TypedData_Int32Array_new, 2065356233) \ | 244 V(_Int32Array, _new, TypedData_Int32Array_new, 937960140) \ |
| 247 V(_Uint32Array, _new, TypedData_Uint32Array_new, 350335670) \ | 245 V(_Uint32Array, _new, TypedData_Uint32Array_new, 1370423225) \ |
| 248 V(_Int64Array, _new, TypedData_Int64Array_new, 1639531103) \ | 246 V(_Int64Array, _new, TypedData_Int64Array_new, 512135010) \ |
| 249 V(_Uint64Array, _new, TypedData_Uint64Array_new, 1975347888) \ | 247 V(_Uint64Array, _new, TypedData_Uint64Array_new, 847951795) \ |
| 250 V(_Float32Array, _new, TypedData_Float32Array_new, 917766665) \ | 248 V(_Float32Array, _new, TypedData_Float32Array_new, 1937854220) \ |
| 251 V(_Float64Array, _new, TypedData_Float64Array_new, 985384871) \ | 249 V(_Float64Array, _new, TypedData_Float64Array_new, 2005472426) \ |
| 252 V(_Float32x4Array, _new, TypedData_Float32x4Array_new, 936668603) \ | 250 V(_Float32x4Array, _new, TypedData_Float32x4Array_new, 1956756158) \ |
| 253 V(_Int32x4Array, _new, TypedData_Int32x4Array_new, 836387418) \ | 251 V(_Int32x4Array, _new, TypedData_Int32x4Array_new, 1856474973) \ |
| 254 V(_Float64x2Array, _new, TypedData_Float64x2Array_new, 1847004265) \ | 252 V(_Float64x2Array, _new, TypedData_Float64x2Array_new, 719608172) \ |
| 255 V(_Int8Array, ., TypedData_Int8Array_factory, 1234236264) \ | 253 V(_Int8Array, ., TypedData_Int8Array_factory, 439914696) \ |
| 256 V(_Uint8Array, ., TypedData_Uint8Array_factory, 89436950) \ | 254 V(_Uint8Array, ., TypedData_Uint8Array_factory, 1442599030) \ |
| 257 V(_Uint8ClampedArray, ., TypedData_Uint8ClampedArray_factory, 2114336727) \ | 255 V(_Uint8ClampedArray, ., TypedData_Uint8ClampedArray_factory, 1320015159) \ |
| 258 V(_Int16Array, ., TypedData_Int16Array_factory, 779429598) \ | 256 V(_Int16Array, ., TypedData_Int16Array_factory, 2132591678) \ |
| 259 V(_Uint16Array, ., TypedData_Uint16Array_factory, 351653952) \ | 257 V(_Uint16Array, ., TypedData_Uint16Array_factory, 1704816032) \ |
| 260 V(_Int32Array, ., TypedData_Int32Array_factory, 1909366715) \ | 258 V(_Int32Array, ., TypedData_Int32Array_factory, 1115045147) \ |
| 261 V(_Uint32Array, ., TypedData_Uint32Array_factory, 32690110) \ | 259 V(_Uint32Array, ., TypedData_Uint32Array_factory, 1385852190) \ |
| 262 V(_Int64Array, ., TypedData_Int64Array_factory, 1987760123) \ | 260 V(_Int64Array, ., TypedData_Int64Array_factory, 1193438555) \ |
| 263 V(_Uint64Array, ., TypedData_Uint64Array_factory, 1205087814) \ | 261 V(_Uint64Array, ., TypedData_Uint64Array_factory, 410766246) \ |
| 264 V(_Float32Array, ., TypedData_Float32Array_factory, 1988570712) \ | 262 V(_Float32Array, ., TypedData_Float32Array_factory, 1194249144) \ |
| 265 V(_Float64Array, ., TypedData_Float64Array_factory, 77468920) \ | 263 V(_Float64Array, ., TypedData_Float64Array_factory, 1430631000) \ |
| 266 V(_Float32x4Array, ., TypedData_Float32x4Array_factory, 953075137) \ | 264 V(_Float32x4Array, ., TypedData_Float32x4Array_factory, 158753569) \ |
| 267 V(_Int32x4Array, ., TypedData_Int32x4Array_factory, 1983535209) \ | 265 V(_Int32x4Array, ., TypedData_Int32x4Array_factory, 1189213641) \ |
| 268 V(_Float64x2Array, ., TypedData_Float64x2Array_factory, 346534719) \ | 266 V(_Float64x2Array, ., TypedData_Float64x2Array_factory, 1699696799) \ |
| 269 | 267 |
| 270 #define GRAPH_TYPED_DATA_INTRINSICS_LIST(V) \ | 268 #define GRAPH_TYPED_DATA_INTRINSICS_LIST(V) \ |
| 271 V(_Uint8Array, [], Uint8ArrayGetIndexed, 934520139) \ | 269 V(_Uint8Array, [], Uint8ArrayGetIndexed, 1821875314) \ |
| 272 V(_Uint8Array, []=, Uint8ArraySetIndexed, 1193298978) \ | 270 V(_Uint8Array, []=, Uint8ArraySetIndexed, 914362419) \ |
| 273 V(_ExternalUint8Array, [], ExternalUint8ArrayGetIndexed, 937149728) \ | 271 V(_ExternalUint8Array, [], ExternalUint8ArrayGetIndexed, 1824504903) \ |
| 274 V(_ExternalUint8Array, []=, ExternalUint8ArraySetIndexed, 1465870106) \ | 272 V(_ExternalUint8Array, []=, ExternalUint8ArraySetIndexed, 1186933547) \ |
| 275 V(_Float64Array, []=, Float64ArraySetIndexed, 1400622753) \ | 273 V(_Float64Array, []=, Float64ArraySetIndexed, 931916848) \ |
| 276 V(_Float64Array, [], Float64ArrayGetIndexed, 1330768796) \ | 274 V(_Float64Array, [], Float64ArrayGetIndexed, 70640323) \ |
| 277 V(_TypedList, get:length, TypedDataLength, 522595148) \ | 275 V(_TypedList, get:length, TypedDataLength, 522684521) \ |
| 278 | 276 |
| 279 #define GRAPH_CORE_INTRINSICS_LIST(V) \ | 277 #define GRAPH_CORE_INTRINSICS_LIST(V) \ |
| 280 V(_List, get:length, ObjectArrayLength, 1181382520) \ | 278 V(_List, get:length, ObjectArrayLength, 1181471893) \ |
| 281 V(_List, [], ObjectArrayGetIndexed, 390939163) \ | 279 V(_List, [], ObjectArrayGetIndexed, 1839430267) \ |
| 282 V(_ImmutableList, get:length, ImmutableArrayLength, 274947518) \ | 280 V(_ImmutableList, get:length, ImmutableArrayLength, 275036891) \ |
| 283 V(_ImmutableList, [], ImmutableArrayGetIndexed, 1585504028) \ | 281 V(_ImmutableList, [], ImmutableArrayGetIndexed, 886511484) \ |
| 284 V(_GrowableList, get:length, GrowableArrayLength, 778534898) \ | 282 V(_GrowableList, get:length, GrowableArrayLength, 778624271) \ |
| 285 V(_GrowableList, get:_capacity, GrowableArrayCapacity, 555169866) \ | 283 V(_GrowableList, get:_capacity, GrowableArrayCapacity, 555259239) \ |
| 286 V(_GrowableList, _setData, GrowableArraySetData, 1722254196) \ | 284 V(_GrowableList, _setData, GrowableArraySetData, 508234257) \ |
| 287 V(_GrowableList, _setLength, GrowableArraySetLength, 1832199634) \ | 285 V(_GrowableList, _setLength, GrowableArraySetLength, 618179695) \ |
| 288 V(_GrowableList, [], GrowableArrayGetIndexed, 514434920) \ | 286 V(_GrowableList, [], GrowableArrayGetIndexed, 1962926024) \ |
| 289 V(_GrowableList, []=, GrowableArraySetIndexed, 1698264861) \ | 287 V(_GrowableList, []=, GrowableArraySetIndexed, 457344024) \ |
| 290 V(_StringBase, get:length, StringBaseLength, 784429419) \ | 288 V(_StringBase, get:length, StringBaseLength, 784518792) \ |
| 291 | 289 |
| 292 #define GRAPH_INTRINSICS_LIST(V) \ | 290 #define GRAPH_INTRINSICS_LIST(V) \ |
| 293 GRAPH_CORE_INTRINSICS_LIST(V) \ | 291 GRAPH_CORE_INTRINSICS_LIST(V) \ |
| 294 GRAPH_TYPED_DATA_INTRINSICS_LIST(V) \ | 292 GRAPH_TYPED_DATA_INTRINSICS_LIST(V) \ |
| 295 | 293 |
| 296 #define DEVELOPER_LIB_INTRINSIC_LIST(V) \ | 294 #define DEVELOPER_LIB_INTRINSIC_LIST(V) \ |
| 297 V(_UserTag, makeCurrent, UserTag_makeCurrent, 788201614) \ | 295 V(_UserTag, makeCurrent, UserTag_makeCurrent, 788201614) \ |
| 298 V(::, _getDefaultTag, UserTag_defaultTag, 1080704381) \ | 296 V(::, _getDefaultTag, UserTag_defaultTag, 1080704381) \ |
| 299 V(::, _getCurrentTag, Profiler_getCurrentTag, 2048029229) \ | 297 V(::, _getCurrentTag, Profiler_getCurrentTag, 2048029229) \ |
| 300 | 298 |
| 301 #define ALL_INTRINSICS_NO_INTEGER_LIB_LIST(V) \ | 299 #define ALL_INTRINSICS_NO_INTEGER_LIB_LIST(V) \ |
| 302 CORE_LIB_INTRINSIC_LIST(V) \ | 300 CORE_LIB_INTRINSIC_LIST(V) \ |
| 303 DEVELOPER_LIB_INTRINSIC_LIST(V) \ | 301 DEVELOPER_LIB_INTRINSIC_LIST(V) \ |
| 304 MATH_LIB_INTRINSIC_LIST(V) \ | 302 MATH_LIB_INTRINSIC_LIST(V) \ |
| 305 TYPED_DATA_LIB_INTRINSIC_LIST(V) \ | 303 TYPED_DATA_LIB_INTRINSIC_LIST(V) \ |
| 306 | 304 |
| 307 | 305 |
| 308 #define ALL_INTRINSICS_LIST(V) \ | 306 #define ALL_INTRINSICS_LIST(V) \ |
| 309 ALL_INTRINSICS_NO_INTEGER_LIB_LIST(V) \ | 307 ALL_INTRINSICS_NO_INTEGER_LIB_LIST(V) \ |
| 310 CORE_INTEGER_LIB_INTRINSIC_LIST(V) | 308 CORE_INTEGER_LIB_INTRINSIC_LIST(V) |
| 311 | 309 |
| 312 #define RECOGNIZED_LIST(V) \ | 310 #define RECOGNIZED_LIST(V) \ |
| 313 OTHER_RECOGNIZED_LIST(V) \ | 311 OTHER_RECOGNIZED_LIST(V) \ |
| 314 ALL_INTRINSICS_LIST(V) \ | 312 ALL_INTRINSICS_LIST(V) \ |
| 315 GRAPH_INTRINSICS_LIST(V) | 313 GRAPH_INTRINSICS_LIST(V) |
| 316 | 314 |
| 317 // A list of core function that should always be inlined. | 315 // A list of core function that should always be inlined. |
| 318 #define INLINE_WHITE_LIST(V) \ | 316 #define INLINE_WHITE_LIST(V) \ |
| 319 V(Object, ==, ObjectEquals, 1955975370) \ | 317 V(Object, ==, ObjectEquals, 409406570) \ |
| 320 V(_List, get:length, ObjectArrayLength, 1181382520) \ | 318 V(_List, get:length, ObjectArrayLength, 1181471893) \ |
| 321 V(_ImmutableList, get:length, ImmutableArrayLength, 274947518) \ | 319 V(_ImmutableList, get:length, ImmutableArrayLength, 275036891) \ |
| 322 V(_TypedList, get:length, TypedDataLength, 522595148) \ | 320 V(_TypedList, get:length, TypedDataLength, 522684521) \ |
| 323 V(_GrowableList, get:length, GrowableArrayLength, 778534898) \ | 321 V(_GrowableList, get:length, GrowableArrayLength, 778624271) \ |
| 324 V(_GrowableList, add, GrowableListAdd, 422087403) \ | 322 V(_GrowableList, add, GrowableListAdd, 1675959698) \ |
| 325 V(_GrowableList, removeLast, GrowableListRemoveLast, 1285719639) \ | 323 V(_GrowableList, removeLast, GrowableListRemoveLast, 1687341910) \ |
| 326 V(_StringBase, get:length, StringBaseLength, 784429419) \ | 324 V(_StringBase, get:length, StringBaseLength, 784518792) \ |
| 327 V(ListIterator, moveNext, ListIteratorMoveNext, 1001265875) \ | 325 V(ListIterator, moveNext, ListIteratorMoveNext, 1698922708) \ |
| 328 V(_FixedSizeArrayIterator, moveNext, FixedListIteratorMoveNext, 890839431) \ | 326 V(_FixedSizeArrayIterator, moveNext, FixedListIteratorMoveNext, 53548649) \ |
| 329 V(_GrowableList, get:iterator, GrowableArrayIterator, 1663047580) \ | 327 V(_GrowableList, get:iterator, GrowableArrayIterator, 830391682) \ |
| 330 V(_GrowableList, forEach, GrowableArrayForEach, 605873384) \ | 328 V(_GrowableList, forEach, GrowableArrayForEach, 792224678) \ |
| 331 V(_List, ., ObjectArrayAllocate, 335347617) \ | 329 V(_List, ., ObjectArrayAllocate, 850375012) \ |
| 332 V(_List, [], ObjectArrayGetIndexed, 390939163) \ | 330 V(_List, [], ObjectArrayGetIndexed, 1839430267) \ |
| 333 V(_List, []=, ObjectArraySetIndexed, 1768442583) \ | 331 V(_List, []=, ObjectArraySetIndexed, 527521746) \ |
| 334 V(ListMixin, get:isEmpty, ListMixinIsEmpty, 2102252776) \ | 332 V(ListMixin, get:isEmpty, ListMixinIsEmpty, 40656674) \ |
| 335 V(_List, get:iterator, ObjectArrayIterator, 308726049) \ | 333 V(_List, get:iterator, ObjectArrayIterator, 1623553799) \ |
| 336 V(_List, forEach, ObjectArrayForEach, 1720909126) \ | 334 V(_List, forEach, ObjectArrayForEach, 1840334181) \ |
| 337 V(_List, _slice, ObjectArraySlice, 1738717516) \ | 335 V(_List, _slice, ObjectArraySlice, 1370223553) \ |
| 338 V(_ImmutableList, get:iterator, ImmutableArrayIterator, 212198431) \ | 336 V(_ImmutableList, get:iterator, ImmutableArrayIterator, 1527026181) \ |
| 339 V(_ImmutableList, forEach, ImmutableArrayForEach, 1192041734) \ | 337 V(_ImmutableList, forEach, ImmutableArrayForEach, 1311466789) \ |
| 340 V(_ImmutableList, [], ImmutableArrayGetIndexed, 1585504028) \ | 338 V(_ImmutableList, [], ImmutableArrayGetIndexed, 886511484) \ |
| 341 V(_GrowableList, [], GrowableArrayGetIndexed, 514434920) \ | 339 V(_GrowableList, [], GrowableArrayGetIndexed, 1962926024) \ |
| 342 V(_GrowableList, []=, GrowableArraySetIndexed, 1698264861) \ | 340 V(_GrowableList, []=, GrowableArraySetIndexed, 457344024) \ |
| 343 V(_Float32Array, [], Float32ArrayGetIndexed, 1535169225) \ | 341 V(_Float32Array, [], Float32ArrayGetIndexed, 275040752) \ |
| 344 V(_Float32Array, []=, Float32ArraySetIndexed, 626578817) \ | 342 V(_Float32Array, []=, Float32ArraySetIndexed, 157872912) \ |
| 345 V(_Float64Array, [], Float64ArrayGetIndexed, 1330768796) \ | 343 V(_Float64Array, [], Float64ArrayGetIndexed, 70640323) \ |
| 346 V(_Float64Array, []=, Float64ArraySetIndexed, 1400622753) \ | 344 V(_Float64Array, []=, Float64ArraySetIndexed, 931916848) \ |
| 347 V(_Int8Array, [], Int8ArrayGetIndexed, 138473967) \ | 345 V(_Int8Array, [], Int8ArrayGetIndexed, 1025829142) \ |
| 348 V(_Int8Array, []=, Int8ArraySetIndexed, 1974948008) \ | 346 V(_Int8Array, []=, Int8ArraySetIndexed, 1696011449) \ |
| 349 V(_Uint8Array, [], Uint8ArrayGetIndexed, 934520139) \ | 347 V(_Uint8Array, [], Uint8ArrayGetIndexed, 1821875314) \ |
| 350 V(_Uint8Array, []=, Uint8ArraySetIndexed, 1193298978) \ | 348 V(_Uint8Array, []=, Uint8ArraySetIndexed, 914362419) \ |
| 351 V(_Uint8ClampedArray, [], Uint8ClampedArrayGetIndexed, 900572864) \ | 349 V(_Uint8ClampedArray, [], Uint8ClampedArrayGetIndexed, 1787928039) \ |
| 352 V(_Uint8ClampedArray, []=, Uint8ClampedArraySetIndexed, 1618616151) \ | 350 V(_Uint8ClampedArray, []=, Uint8ClampedArraySetIndexed, 1339679592) \ |
| 353 V(_Uint16Array, [], Uint16ArrayGetIndexed, 1089984866) \ | 351 V(_Uint16Array, [], Uint16ArrayGetIndexed, 1977340041) \ |
| 354 V(_Uint16Array, []=, Uint16ArraySetIndexed, 1478733345) \ | 352 V(_Uint16Array, []=, Uint16ArraySetIndexed, 1199796786) \ |
| 355 V(_Int16Array, [], Int16ArrayGetIndexed, 2007660358) \ | 353 V(_Int16Array, [], Int16ArrayGetIndexed, 747531885) \ |
| 356 V(_Int16Array, []=, Int16ArraySetIndexed, 1816201356) \ | 354 V(_Int16Array, []=, Int16ArraySetIndexed, 1537264797) \ |
| 357 V(_Int32Array, [], Int32ArrayGetIndexed, 1705827339) \ | 355 V(_Int32Array, [], Int32ArrayGetIndexed, 445698866) \ |
| 358 V(_Int32Array, []=, Int32ArraySetIndexed, 42548988) \ | 356 V(_Int32Array, []=, Int32ArraySetIndexed, 1911096077) \ |
| 359 V(_Int64Array, [], Int64ArrayGetIndexed, 123397249) \ | 357 V(_Int64Array, [], Int64ArrayGetIndexed, 1010752424) \ |
| 360 V(_Int64Array, []=, Int64ArraySetIndexed, 1286315154) \ | 358 V(_Int64Array, []=, Int64ArraySetIndexed, 1007378595) \ |
| 361 V(_Uint8ArrayView, [], Uint8ArrayViewGetIndexed, 2146871134) \ | 359 V(_Uint8ArrayView, [], Uint8ArrayViewGetIndexed, 1590194821) \ |
| 362 V(_Uint8ArrayView, []=, Uint8ArrayViewSetIndexed, 1262816136) \ | 360 V(_Uint8ArrayView, []=, Uint8ArrayViewSetIndexed, 1468172313) \ |
| 363 V(_Int8ArrayView, [], Int8ArrayViewGetIndexed, 231994143) \ | 361 V(_Int8ArrayView, [], Int8ArrayViewGetIndexed, 1822801478) \ |
| 364 V(_Int8ArrayView, []=, Int8ArrayViewSetIndexed, 919877023) \ | 362 V(_Int8ArrayView, []=, Int8ArrayViewSetIndexed, 1125233200) \ |
| 365 V(_ByteDataView, setInt8, ByteDataViewSetInt8, 809949404) \ | 363 V(_ByteDataView, setInt8, ByteDataViewSetInt8, 1157522735) \ |
| 366 V(_ByteDataView, setUint8, ByteDataViewSetUint8, 206282345) \ | 364 V(_ByteDataView, setUint8, ByteDataViewSetUint8, 553855676) \ |
| 367 V(_ByteDataView, setInt16, ByteDataViewSetInt16, 989487799) \ | 365 V(_ByteDataView, setInt16, ByteDataViewSetInt16, 2093298369) \ |
| 368 V(_ByteDataView, setUint16, ByteDataViewSetUint16, 1118155962) \ | 366 V(_ByteDataView, setUint16, ByteDataViewSetUint16, 74482884) \ |
| 369 V(_ByteDataView, setInt32, ByteDataViewSetInt32, 1955213160) \ | 367 V(_ByteDataView, setInt32, ByteDataViewSetInt32, 911540082) \ |
| 370 V(_ByteDataView, setUint32, ByteDataViewSetUint32, 284405389) \ | 368 V(_ByteDataView, setUint32, ByteDataViewSetUint32, 1388215959) \ |
| 371 V(_ByteDataView, setInt64, ByteDataViewSetInt64, 486916661) \ | 369 V(_ByteDataView, setInt64, ByteDataViewSetInt64, 1590727231) \ |
| 372 V(_ByteDataView, setUint64, ByteDataViewSetUint64, 1432663320) \ | 370 V(_ByteDataView, setUint64, ByteDataViewSetUint64, 388990242) \ |
| 373 V(_ByteDataView, setFloat32, ByteDataViewSetFloat32, 344976311) \ | 371 V(_ByteDataView, setFloat32, ByteDataViewSetFloat32, 1599158058) \ |
| 374 V(_ByteDataView, setFloat64, ByteDataViewSetFloat64, 1480166018) \ | 372 V(_ByteDataView, setFloat64, ByteDataViewSetFloat64, 586864117) \ |
| 375 V(_ByteDataView, getInt8, ByteDataViewGetInt8, 1383732403) \ | 373 V(_ByteDataView, getInt8, ByteDataViewGetInt8, 1627121016) \ |
| 376 V(_ByteDataView, getUint8, ByteDataViewGetUint8, 806641537) \ | 374 V(_ByteDataView, getUint8, ByteDataViewGetUint8, 1050030150) \ |
| 377 V(_ByteDataView, getInt16, ByteDataViewGetInt16, 76281079) \ | 375 V(_ByteDataView, getInt16, ByteDataViewGetInt16, 891399987) \ |
| 378 V(_ByteDataView, getUint16, ByteDataViewGetUint16, 1136415701) \ | 376 V(_ByteDataView, getUint16, ByteDataViewGetUint16, 206709785) \ |
| 379 V(_ByteDataView, getInt32, ByteDataViewGetInt32, 865549439) \ | 377 V(_ByteDataView, getInt32, ByteDataViewGetInt32, 1680668347) \ |
| 380 V(_ByteDataView, getUint32, ByteDataViewGetUint32, 760435927) \ | 378 V(_ByteDataView, getUint32, ByteDataViewGetUint32, 1978213659) \ |
| 381 V(_ByteDataView, getInt64, ByteDataViewGetInt64, 364361487) \ | 379 V(_ByteDataView, getInt64, ByteDataViewGetInt64, 1179480395) \ |
| 382 V(_ByteDataView, getUint64, ByteDataViewGetUint64, 565678407) \ | 380 V(_ByteDataView, getUint64, ByteDataViewGetUint64, 1783456139) \ |
| 383 V(_ByteDataView, getFloat32, ByteDataViewGetFloat32, 1979131043) \ | 381 V(_ByteDataView, getFloat32, ByteDataViewGetFloat32, 354362094) \ |
| 384 V(_ByteDataView, getFloat64, ByteDataViewGetFloat64, 164756117) \ | 382 V(_ByteDataView, getFloat64, ByteDataViewGetFloat64, 687470816) \ |
| 385 V(::, asin, MathASin, 1651042633) \ | 383 V(::, asin, MathASin, 1651042633) \ |
| 386 V(::, acos, MathACos, 1139647090) \ | 384 V(::, acos, MathACos, 1139647090) \ |
| 387 V(::, atan, MathATan, 1668754384) \ | 385 V(::, atan, MathATan, 1668754384) \ |
| 388 V(::, atan2, MathATan2, 1845649456) \ | 386 V(::, atan2, MathATan2, 1931713076) \ |
| 389 V(::, cos, MathCos, 1951197905) \ | 387 V(::, cos, MathCos, 1951197905) \ |
| 390 V(::, exp, MathExp, 1809210829) \ | 388 V(::, exp, MathExp, 1809210829) \ |
| 391 V(::, log, MathLog, 1620336448) \ | 389 V(::, log, MathLog, 1620336448) \ |
| 392 V(::, max, MathMax, 989552054) \ | 390 V(::, max, MathMax, 212291192) \ |
| 393 V(::, min, MathMin, 214919172) \ | 391 V(::, min, MathMin, 478627534) \ |
| 394 V(::, pow, MathPow, 1381728863) \ | 392 V(::, pow, MathPow, 582475257) \ |
| 395 V(::, sin, MathSin, 1741396147) \ | 393 V(::, sin, MathSin, 1741396147) \ |
| 396 V(::, sqrt, MathSqrt, 101545548) \ | 394 V(::, sqrt, MathSqrt, 101545548) \ |
| 397 V(::, tan, MathTan, 982072809) \ | 395 V(::, tan, MathTan, 982072809) \ |
| 398 V(Lists, copy, ListsCopy, 605584668) \ | 396 V(Lists, copy, ListsCopy, 618211805) \ |
| 399 V(_Bigint, get:_neg, Bigint_getNeg, 1151543890) \ | 397 V(_Bigint, get:_neg, Bigint_getNeg, 1151633263) \ |
| 400 V(_Bigint, get:_used, Bigint_getUsed, 1308559334) \ | 398 V(_Bigint, get:_used, Bigint_getUsed, 1308648707) \ |
| 401 V(_Bigint, get:_digits, Bigint_getDigits, 1408092463) \ | 399 V(_Bigint, get:_digits, Bigint_getDigits, 1408181836) \ |
| 402 | 400 |
| 403 // A list of core function that should never be inlined. | 401 // A list of core function that should never be inlined. |
| 404 #define INLINE_BLACK_LIST(V) \ | 402 #define INLINE_BLACK_LIST(V) \ |
| 405 V(_Bigint, _lsh, Bigint_lsh, 1318834243) \ | 403 V(_Bigint, _lsh, Bigint_lsh, 1457834861) \ |
| 406 V(_Bigint, _rsh, Bigint_rsh, 1239668932) \ | 404 V(_Bigint, _rsh, Bigint_rsh, 1619318930) \ |
| 407 V(_Bigint, _absAdd, Bigint_absAdd, 222437051) \ | 405 V(_Bigint, _absAdd, Bigint_absAdd, 1029882563) \ |
| 408 V(_Bigint, _absSub, Bigint_absSub, 599465997) \ | 406 V(_Bigint, _absSub, Bigint_absSub, 1407667556) \ |
| 409 V(_Bigint, _mulAdd, Bigint_mulAdd, 1696801459) \ | 407 V(_Bigint, _mulAdd, Bigint_mulAdd, 1408994809) \ |
| 410 V(_Bigint, _sqrAdd, Bigint_sqrAdd, 1937424317) \ | 408 V(_Bigint, _sqrAdd, Bigint_sqrAdd, 2025116181) \ |
| 411 V(_Bigint, _estQuotientDigit, Bigint_estQuotientDigit, 1873913198) \ | 409 V(_Bigint, _estQuotientDigit, Bigint_estQuotientDigit, 919247767) \ |
| 412 V(_Montgomery, _mulMod, Montgomery_mulMod, 2040316431) \ | 410 V(_Montgomery, _mulMod, Montgomery_mulMod, 401580778) \ |
| 413 | 411 |
| 414 // A list of core functions that internally dispatch based on received id. | 412 // A list of core functions that internally dispatch based on received id. |
| 415 #define POLYMORPHIC_TARGET_LIST(V) \ | 413 #define POLYMORPHIC_TARGET_LIST(V) \ |
| 416 V(_StringBase, [], StringBaseCharAt, 1107537364) \ | 414 V(_StringBase, [], StringBaseCharAt, 408544820) \ |
| 417 V(_StringBase, codeUnitAt, StringBaseCodeUnitAt, 397735324) \ | 415 V(_StringBase, codeUnitAt, StringBaseCodeUnitAt, 397735324) \ |
| 418 V(_TypedList, _getInt8, ByteArrayBaseGetInt8, 1541411498) \ | 416 V(_TypedList, _getInt8, ByteArrayBaseGetInt8, 1541411498) \ |
| 419 V(_TypedList, _getUint8, ByteArrayBaseGetUint8, 1032404349) \ | 417 V(_TypedList, _getUint8, ByteArrayBaseGetUint8, 1032404349) \ |
| 420 V(_TypedList, _getInt16, ByteArrayBaseGetInt16, 381073990) \ | 418 V(_TypedList, _getInt16, ByteArrayBaseGetInt16, 381073990) \ |
| 421 V(_TypedList, _getUint16, ByteArrayBaseGetUint16, 1142676276) \ | 419 V(_TypedList, _getUint16, ByteArrayBaseGetUint16, 1142676276) \ |
| 422 V(_TypedList, _getInt32, ByteArrayBaseGetInt32, 330269934) \ | 420 V(_TypedList, _getInt32, ByteArrayBaseGetInt32, 330269934) \ |
| 423 V(_TypedList, _getUint32, ByteArrayBaseGetUint32, 59490554) \ | 421 V(_TypedList, _getUint32, ByteArrayBaseGetUint32, 59490554) \ |
| 424 V(_TypedList, _getFloat32, ByteArrayBaseGetFloat32, 393003933) \ | 422 V(_TypedList, _getFloat32, ByteArrayBaseGetFloat32, 393003933) \ |
| 425 V(_TypedList, _getFloat64, ByteArrayBaseGetFloat64, 1792407200) \ | 423 V(_TypedList, _getFloat64, ByteArrayBaseGetFloat64, 1792407200) \ |
| 426 V(_TypedList, _getFloat32x4, ByteArrayBaseGetFloat32x4, 1338379857) \ | 424 V(_TypedList, _getFloat32x4, ByteArrayBaseGetFloat32x4, 1338379857) \ |
| 427 V(_TypedList, _getInt32x4, ByteArrayBaseGetInt32x4, 1469917805) \ | 425 V(_TypedList, _getInt32x4, ByteArrayBaseGetInt32x4, 1469917805) \ |
| 428 V(_TypedList, _setInt8, ByteArrayBaseSetInt8, 783880753) \ | 426 V(_TypedList, _setInt8, ByteArrayBaseSetInt8, 1892735922) \ |
| 429 V(_TypedList, _setUint8, ByteArrayBaseSetInt8, 499938872) \ | 427 V(_TypedList, _setUint8, ByteArrayBaseSetInt8, 1608794041) \ |
| 430 V(_TypedList, _setInt16, ByteArrayBaseSetInt16, 1156009451) \ | 428 V(_TypedList, _setInt16, ByteArrayBaseSetInt16, 117380972) \ |
| 431 V(_TypedList, _setUint16, ByteArrayBaseSetInt16, 1239113233) \ | 429 V(_TypedList, _setUint16, ByteArrayBaseSetInt16, 200484754) \ |
| 432 V(_TypedList, _setInt32, ByteArrayBaseSetInt32, 2058780470) \ | 430 V(_TypedList, _setInt32, ByteArrayBaseSetInt32, 1020151991) \ |
| 433 V(_TypedList, _setUint32, ByteArrayBaseSetUint32, 66201433) \ | 431 V(_TypedList, _setUint32, ByteArrayBaseSetUint32, 1175056602) \ |
| 434 V(_TypedList, _setFloat32, ByteArrayBaseSetFloat32, 1499236144) \ | 432 V(_TypedList, _setFloat32, ByteArrayBaseSetFloat32, 460607665) \ |
| 435 V(_TypedList, _setFloat64, ByteArrayBaseSetFloat64, 1323416269) \ | 433 V(_TypedList, _setFloat64, ByteArrayBaseSetFloat64, 284787790) \ |
| 436 V(_TypedList, _setFloat32x4, ByteArrayBaseSetFloat32x4, 1301054599) \ | 434 V(_TypedList, _setFloat32x4, ByteArrayBaseSetFloat32x4, 262426120) \ |
| 437 V(_TypedList, _setInt32x4, ByteArrayBaseSetInt32x4, 1651670367) \ | 435 V(_TypedList, _setInt32x4, ByteArrayBaseSetInt32x4, 613041888) \ |
| 438 | 436 |
| 439 // Forward declarations. | 437 // Forward declarations. |
| 440 class Function; | 438 class Function; |
| 441 | 439 |
| 442 // Class that recognizes the name and owner of a function and returns the | 440 // Class that recognizes the name and owner of a function and returns the |
| 443 // corresponding enum. See RECOGNIZED_LIST above for list of recognizable | 441 // corresponding enum. See RECOGNIZED_LIST above for list of recognizable |
| 444 // functions. | 442 // functions. |
| 445 class MethodRecognizer : public AllStatic { | 443 class MethodRecognizer : public AllStatic { |
| 446 public: | 444 public: |
| 447 enum Kind { | 445 enum Kind { |
| (...skipping 19 matching lines...) Expand all Loading... |
| 467 ASSERT(f.CheckSourceFingerprint(#p0 ", " #p1, fp)) | 465 ASSERT(f.CheckSourceFingerprint(#p0 ", " #p1, fp)) |
| 468 | 466 |
| 469 #define CHECK_FINGERPRINT3(f, p0, p1, p2, fp) \ | 467 #define CHECK_FINGERPRINT3(f, p0, p1, p2, fp) \ |
| 470 ASSERT(f.CheckSourceFingerprint(#p0 ", " #p1 ", " #p2, fp)) | 468 ASSERT(f.CheckSourceFingerprint(#p0 ", " #p1 ", " #p2, fp)) |
| 471 #endif // defined(DART_NO_SNAPSHOT). | 469 #endif // defined(DART_NO_SNAPSHOT). |
| 472 | 470 |
| 473 | 471 |
| 474 } // namespace dart | 472 } // namespace dart |
| 475 | 473 |
| 476 #endif // VM_METHOD_RECOGNIZER_H_ | 474 #endif // VM_METHOD_RECOGNIZER_H_ |
| OLD | NEW |