| 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 RUNTIME_VM_METHOD_RECOGNIZER_H_ | 5 #ifndef RUNTIME_VM_METHOD_RECOGNIZER_H_ |
| 6 #define RUNTIME_VM_METHOD_RECOGNIZER_H_ | 6 #define RUNTIME_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 // clang-format off | 12 // clang-format off |
| 13 // (class-name, function-name, recognized enum, result type, fingerprint). | 13 // (class-name, function-name, recognized enum, result type, fingerprint). |
| 14 // When adding a new function add a 0 as fingerprint, build and run to get the | 14 // When adding a new function add a 0 as fingerprint, build and run to get the |
| 15 // correct fingerprint from the mismatch error. | 15 // correct fingerprint from the mismatch error. |
| 16 #define OTHER_RECOGNIZED_LIST(V) \ | 16 #define OTHER_RECOGNIZED_LIST(V) \ |
| 17 V(::, identical, ObjectIdentical, Bool, 0x49c6e96a) \ | 17 V(::, identical, ObjectIdentical, Bool, 0x49c6e96a) \ |
| 18 V(ClassID, getID, ClassIDgetID, Smi, 0x528fd455) \ | 18 V(ClassID, getID, ClassIDgetID, Smi, 0x66d44356) \ |
| 19 V(Object, Object., ObjectConstructor, Dynamic, 0x681617fe) \ | 19 V(Object, Object., ObjectConstructor, Dynamic, 0x681617fe) \ |
| 20 V(_List, ., ObjectArrayAllocate, Array, 0x375519ad) \ | 20 V(_List, ., ObjectArrayAllocate, Array, 0x6c3b54ee) \ |
| 21 V(_TypedList, _getInt8, ByteArrayBaseGetInt8, Smi, 0x7041895a) \ | 21 V(_TypedList, _getInt8, ByteArrayBaseGetInt8, Smi, 0x7041895a) \ |
| 22 V(_TypedList, _getUint8, ByteArrayBaseGetUint8, Smi, 0x336fa3ea) \ | 22 V(_TypedList, _getUint8, ByteArrayBaseGetUint8, Smi, 0x336fa3ea) \ |
| 23 V(_TypedList, _getInt16, ByteArrayBaseGetInt16, Smi, 0x231bbe2e) \ | 23 V(_TypedList, _getInt16, ByteArrayBaseGetInt16, Smi, 0x231bbe2e) \ |
| 24 V(_TypedList, _getUint16, ByteArrayBaseGetUint16, Smi, 0x0371785f) \ | 24 V(_TypedList, _getUint16, ByteArrayBaseGetUint16, Smi, 0x0371785f) \ |
| 25 V(_TypedList, _getInt32, ByteArrayBaseGetInt32, Dynamic, 0x65ab3a20) \ | 25 V(_TypedList, _getInt32, ByteArrayBaseGetInt32, Dynamic, 0x65ab3a20) \ |
| 26 V(_TypedList, _getUint32, ByteArrayBaseGetUint32, Dynamic, 0x0cb0fcf6) \ | 26 V(_TypedList, _getUint32, ByteArrayBaseGetUint32, Dynamic, 0x0cb0fcf6) \ |
| 27 V(_TypedList, _getInt64, ByteArrayBaseGetInt64, Dynamic, 0x7db75d78) \ | 27 V(_TypedList, _getInt64, ByteArrayBaseGetInt64, Dynamic, 0x7db75d78) \ |
| 28 V(_TypedList, _getFloat32, ByteArrayBaseGetFloat32, Double, 0x6674ea6f) \ | 28 V(_TypedList, _getFloat32, ByteArrayBaseGetFloat32, Double, 0x6674ea6f) \ |
| 29 V(_TypedList, _getFloat64, ByteArrayBaseGetFloat64, Double, 0x236c6e7a) \ | 29 V(_TypedList, _getFloat64, ByteArrayBaseGetFloat64, Double, 0x236c6e7a) \ |
| 30 V(_TypedList, _getFloat32x4, ByteArrayBaseGetFloat32x4, Float32x4, \ | 30 V(_TypedList, _getFloat32x4, ByteArrayBaseGetFloat32x4, Float32x4, \ |
| 31 0x5c367ffb) \ | 31 0x5c367ffb) \ |
| 32 V(_TypedList, _getInt32x4, ByteArrayBaseGetInt32x4, Int32x4, 0x772d1c0f) \ | 32 V(_TypedList, _getInt32x4, ByteArrayBaseGetInt32x4, Int32x4, 0x772d1c0f) \ |
| 33 V(_TypedList, _setInt8, ByteArrayBaseSetInt8, Dynamic, 0x68f17de8) \ | 33 V(_TypedList, _setInt8, ByteArrayBaseSetInt8, Dynamic, 0x7dd630a9) \ |
| 34 V(_TypedList, _setUint8, ByteArrayBaseSetUint8, Dynamic, 0x6bb8b747) \ | 34 V(_TypedList, _setUint8, ByteArrayBaseSetUint8, Dynamic, 0x009d6a08) \ |
| 35 V(_TypedList, _setInt16, ByteArrayBaseSetInt16, Dynamic, 0x75b8d278) \ | 35 V(_TypedList, _setInt16, ByteArrayBaseSetInt16, Dynamic, 0x0a9d8539) \ |
| 36 V(_TypedList, _setUint16, ByteArrayBaseSetUint16, Dynamic, 0x6e54f794) \ | 36 V(_TypedList, _setUint16, ByteArrayBaseSetUint16, Dynamic, 0x0339aa55) \ |
| 37 V(_TypedList, _setInt32, ByteArrayBaseSetInt32, Dynamic, 0x54123a05) \ | 37 V(_TypedList, _setInt32, ByteArrayBaseSetInt32, Dynamic, 0x68f6ecc6) \ |
| 38 V(_TypedList, _setUint32, ByteArrayBaseSetUint32, Dynamic, 0x4a3fea0b) \ | 38 V(_TypedList, _setUint32, ByteArrayBaseSetUint32, Dynamic, 0x5f249ccc) \ |
| 39 V(_TypedList, _setInt64, ByteArrayBaseSetInt64, Dynamic, 0x1d77d3ec) \ | 39 V(_TypedList, _setInt64, ByteArrayBaseSetInt64, Dynamic, 0x325c86ad) \ |
| 40 V(_TypedList, _setFloat32, ByteArrayBaseSetFloat32, Dynamic, 0x5a11a2f9) \ | 40 V(_TypedList, _setFloat32, ByteArrayBaseSetFloat32, Dynamic, 0x6ef655ba) \ |
| 41 V(_TypedList, _setFloat64, ByteArrayBaseSetFloat64, Dynamic, 0x0edea58b) \ | 41 V(_TypedList, _setFloat64, ByteArrayBaseSetFloat64, Dynamic, 0x23c3584c) \ |
| 42 V(_TypedList, _setFloat32x4, ByteArrayBaseSetFloat32x4, Dynamic, 0x163bc6cc) \ | 42 V(_TypedList, _setFloat32x4, ByteArrayBaseSetFloat32x4, Dynamic, 0x2b20798d) \ |
| 43 V(_TypedList, _setInt32x4, ByteArrayBaseSetInt32x4, Dynamic, 0x5def39d2) \ | 43 V(_TypedList, _setInt32x4, ByteArrayBaseSetInt32x4, Dynamic, 0x72d3ec93) \ |
| 44 V(_StringBase, _interpolate, StringBaseInterpolate, Dynamic, 0x084d9f1a) \ | 44 V(_StringBase, _interpolate, StringBaseInterpolate, Dynamic, 0x051d283a) \ |
| 45 V(_IntegerImplementation, toDouble, IntegerToDouble, Double, 0x0d8f57ab) \ | 45 V(_IntegerImplementation, toDouble, IntegerToDouble, Double, 0x09b4f74c) \ |
| 46 V(_Double, _add, DoubleAdd, Double, 0x2a38277b) \ | 46 V(_Double, _add, DoubleAdd, Double, 0x2a38277b) \ |
| 47 V(_Double, _sub, DoubleSub, Double, 0x4f466391) \ | 47 V(_Double, _sub, DoubleSub, Double, 0x4f466391) \ |
| 48 V(_Double, _mul, DoubleMul, Double, 0x175e4f66) \ | 48 V(_Double, _mul, DoubleMul, Double, 0x175e4f66) \ |
| 49 V(_Double, _div, DoubleDiv, Double, 0x0854181b) \ | 49 V(_Double, _div, DoubleDiv, Double, 0x0854181b) \ |
| 50 V(::, min, MathMin, Dynamic, 0x0bee5d52) \ | 50 V(::, min, MathMin, Dynamic, 0x154735b3) \ |
| 51 V(::, max, MathMax, Dynamic, 0x4f51acb6) \ | 51 V(::, max, MathMax, Dynamic, 0x217af195) \ |
| 52 V(::, _doublePow, MathDoublePow, Double, 0x01d7b09e) \ | 52 V(::, _doublePow, MathDoublePow, Double, 0x61369cfd) \ |
| 53 V(Float32x4, Float32x4., Float32x4Constructor, Float32x4, 0x05968999) \ | 53 V(Float32x4, Float32x4., Float32x4Constructor, Float32x4, 0x5640679a) \ |
| 54 V(Float32x4, Float32x4.zero, Float32x4Zero, Float32x4, 0x472a4c46) \ | 54 V(Float32x4, Float32x4.zero, Float32x4Zero, Float32x4, 0x2f0b7925) \ |
| 55 V(Float32x4, Float32x4.splat, Float32x4Splat, Float32x4, 0x00bba1a5) \ | 55 V(Float32x4, Float32x4.splat, Float32x4Splat, Float32x4, 0x750512c4) \ |
| 56 V(Float32x4, Float32x4.fromInt32x4Bits, Float32x4FromInt32x4Bits, Float32x4, \ | 56 V(Float32x4, Float32x4.fromInt32x4Bits, Float32x4FromInt32x4Bits, Float32x4, \ |
| 57 0x46d00995) \ | 57 0x3b197ab4) \ |
| 58 V(Float32x4, Float32x4.fromFloat64x2, Float32x4FromFloat64x2, Float32x4, \ | 58 V(Float32x4, Float32x4.fromFloat64x2, Float32x4FromFloat64x2, Float32x4, \ |
| 59 0x685a86d2) \ | 59 0x5ca3f7f1) \ |
| 60 V(_Float32x4, shuffle, Float32x4Shuffle, Float32x4, 0x7829101f) \ | 60 V(_Float32x4, shuffle, Float32x4Shuffle, Float32x4, 0x7829101f) \ |
| 61 V(_Float32x4, shuffleMix, Float32x4ShuffleMix, Float32x4, 0x4182c06b) \ | 61 V(_Float32x4, shuffleMix, Float32x4ShuffleMix, Float32x4, 0x4182c06b) \ |
| 62 V(_Float32x4, get:signMask, Float32x4GetSignMask, Dynamic, 0x1d07ca93) \ | 62 V(_Float32x4, get:signMask, Float32x4GetSignMask, Dynamic, 0x1d083ef2) \ |
| 63 V(_Float32x4, equal, Float32x4Equal, Int32x4, 0x11adb239) \ | 63 V(_Float32x4, equal, Float32x4Equal, Int32x4, 0x11adb239) \ |
| 64 V(_Float32x4, greaterThan, Float32x4GreaterThan, Int32x4, 0x48adaf58) \ | 64 V(_Float32x4, greaterThan, Float32x4GreaterThan, Int32x4, 0x48adaf58) \ |
| 65 V(_Float32x4, greaterThanOrEqual, Float32x4GreaterThanOrEqual, Int32x4, \ | 65 V(_Float32x4, greaterThanOrEqual, Float32x4GreaterThanOrEqual, Int32x4, \ |
| 66 0x32db94ca) \ | 66 0x32db94ca) \ |
| 67 V(_Float32x4, lessThan, Float32x4LessThan, Int32x4, 0x425b000c) \ | 67 V(_Float32x4, lessThan, Float32x4LessThan, Int32x4, 0x425b000c) \ |
| 68 V(_Float32x4, lessThanOrEqual, Float32x4LessThanOrEqual, Int32x4, \ | 68 V(_Float32x4, lessThanOrEqual, Float32x4LessThanOrEqual, Int32x4, \ |
| 69 0x0278c2f8) \ | 69 0x0278c2f8) \ |
| 70 V(_Float32x4, notEqual, Float32x4NotEqual, Int32x4, 0x2987cd26) \ | 70 V(_Float32x4, notEqual, Float32x4NotEqual, Int32x4, 0x2987cd26) \ |
| 71 V(_Float32x4, min, Float32x4Min, Float32x4, 0x5ed74b6f) \ | 71 V(_Float32x4, min, Float32x4Min, Float32x4, 0x5ed74b6f) \ |
| 72 V(_Float32x4, max, Float32x4Max, Float32x4, 0x68696442) \ | 72 V(_Float32x4, max, Float32x4Max, Float32x4, 0x68696442) \ |
| 73 V(_Float32x4, scale, Float32x4Scale, Float32x4, 0x704e4122) \ | 73 V(_Float32x4, scale, Float32x4Scale, Float32x4, 0x704e4122) \ |
| 74 V(_Float32x4, sqrt, Float32x4Sqrt, Float32x4, 0x2c967a6f) \ | 74 V(_Float32x4, sqrt, Float32x4Sqrt, Float32x4, 0x2c967a6f) \ |
| 75 V(_Float32x4, reciprocalSqrt, Float32x4ReciprocalSqrt, Float32x4, \ | 75 V(_Float32x4, reciprocalSqrt, Float32x4ReciprocalSqrt, Float32x4, \ |
| 76 0x6264bfe8) \ | 76 0x6264bfe8) \ |
| 77 V(_Float32x4, reciprocal, Float32x4Reciprocal, Float32x4, 0x3cd7e819) \ | 77 V(_Float32x4, reciprocal, Float32x4Reciprocal, Float32x4, 0x3cd7e819) \ |
| 78 V(_Float32x4, unary-, Float32x4Negate, Float32x4, 0x34431a14) \ | 78 V(_Float32x4, unary-, Float32x4Negate, Float32x4, 0x35f7f2b3) \ |
| 79 V(_Float32x4, abs, Float32x4Absolute, Float32x4, 0x471cdd87) \ | 79 V(_Float32x4, abs, Float32x4Absolute, Float32x4, 0x471cdd87) \ |
| 80 V(_Float32x4, clamp, Float32x4Clamp, Float32x4, 0x2cb30492) \ | 80 V(_Float32x4, clamp, Float32x4Clamp, Float32x4, 0x2cb30492) \ |
| 81 V(_Float32x4, withX, Float32x4WithX, Float32x4, 0x4e336aff) \ | 81 V(_Float32x4, withX, Float32x4WithX, Float32x4, 0x4e336aff) \ |
| 82 V(_Float32x4, withY, Float32x4WithY, Float32x4, 0x0a72b910) \ | 82 V(_Float32x4, withY, Float32x4WithY, Float32x4, 0x0a72b910) \ |
| 83 V(_Float32x4, withZ, Float32x4WithZ, Float32x4, 0x31e93658) \ | 83 V(_Float32x4, withZ, Float32x4WithZ, Float32x4, 0x31e93658) \ |
| 84 V(_Float32x4, withW, Float32x4WithW, Float32x4, 0x60ddc105) \ | 84 V(_Float32x4, withW, Float32x4WithW, Float32x4, 0x60ddc105) \ |
| 85 V(Float64x2, Float64x2., Float64x2Constructor, Float64x2, 0x193be61d) \ | 85 V(Float64x2, Float64x2., Float64x2Constructor, Float64x2, 0x2e2098de) \ |
| 86 V(Float64x2, Float64x2.zero, Float64x2Zero, Float64x2, 0x7b2ed5df) \ | 86 V(Float64x2, Float64x2.zero, Float64x2Zero, Float64x2, 0x631002be) \ |
| 87 V(Float64x2, Float64x2.splat, Float64x2Splat, Float64x2, 0x2abbfcb2) \ | 87 V(Float64x2, Float64x2.splat, Float64x2Splat, Float64x2, 0x1f056dd1) \ |
| 88 V(Float64x2, Float64x2.fromFloat32x4, Float64x2FromFloat32x4, Float64x2, \ | 88 V(Float64x2, Float64x2.fromFloat32x4, Float64x2FromFloat32x4, Float64x2, \ |
| 89 0x2f43d3a6) \ | 89 0x238d44c5) \ |
| 90 V(_Float64x2, get:x, Float64x2GetX, Double, 0x58bfb39a) \ | 90 V(_Float64x2, get:x, Float64x2GetX, Double, 0x58c027f9) \ |
| 91 V(_Float64x2, get:y, Float64x2GetY, Double, 0x3cf4fcfa) \ | 91 V(_Float64x2, get:y, Float64x2GetY, Double, 0x3cf57159) \ |
| 92 V(_Float64x2, unary-, Float64x2Negate, Float64x2, 0x3df2eecb) \ | 92 V(_Float64x2, unary-, Float64x2Negate, Float64x2, 0x3fa7c76a) \ |
| 93 V(_Float64x2, abs, Float64x2Abs, Float64x2, 0x031f9e47) \ | 93 V(_Float64x2, abs, Float64x2Abs, Float64x2, 0x031f9e47) \ |
| 94 V(_Float64x2, sqrt, Float64x2Sqrt, Float64x2, 0x77f711dd) \ | 94 V(_Float64x2, sqrt, Float64x2Sqrt, Float64x2, 0x77f711dd) \ |
| 95 V(_Float64x2, get:signMask, Float64x2GetSignMask, Dynamic, 0x27ddf18d) \ | 95 V(_Float64x2, get:signMask, Float64x2GetSignMask, Dynamic, 0x27de65ec) \ |
| 96 V(_Float64x2, scale, Float64x2Scale, Float64x2, 0x26830a61) \ | 96 V(_Float64x2, scale, Float64x2Scale, Float64x2, 0x26830a61) \ |
| 97 V(_Float64x2, withX, Float64x2WithX, Float64x2, 0x1d2bcaf5) \ | 97 V(_Float64x2, withX, Float64x2WithX, Float64x2, 0x1d2bcaf5) \ |
| 98 V(_Float64x2, withY, Float64x2WithY, Float64x2, 0x383ed6ac) \ | 98 V(_Float64x2, withY, Float64x2WithY, Float64x2, 0x383ed6ac) \ |
| 99 V(_Float64x2, min, Float64x2Min, Float64x2, 0x28d7ddf6) \ | 99 V(_Float64x2, min, Float64x2Min, Float64x2, 0x28d7ddf6) \ |
| 100 V(_Float64x2, max, Float64x2Max, Float64x2, 0x0bd74e5b) \ | 100 V(_Float64x2, max, Float64x2Max, Float64x2, 0x0bd74e5b) \ |
| 101 V(Int32x4, Int32x4., Int32x4Constructor, Int32x4, 0x26b199a7) \ | 101 V(Int32x4, Int32x4., Int32x4Constructor, Int32x4, 0x775b77a8) \ |
| 102 V(Int32x4, Int32x4.bool, Int32x4BoolConstructor, Int32x4, 0x1b55a5e1) \ | 102 V(Int32x4, Int32x4.bool, Int32x4BoolConstructor, Int32x4, 0x690007a2) \ |
| 103 V(Int32x4, Int32x4.fromFloat32x4Bits, Int32x4FromFloat32x4Bits, Int32x4, \ | 103 V(Int32x4, Int32x4.fromFloat32x4Bits, Int32x4FromFloat32x4Bits, Int32x4, \ |
| 104 0x7e82564c) \ | 104 0x72cbc76b) \ |
| 105 V(_Int32x4, get:flagX, Int32x4GetFlagX, Bool, 0x563883c4) \ | 105 V(_Int32x4, get:flagX, Int32x4GetFlagX, Bool, 0x5638f823) \ |
| 106 V(_Int32x4, get:flagY, Int32x4GetFlagY, Bool, 0x446f5e7a) \ | 106 V(_Int32x4, get:flagY, Int32x4GetFlagY, Bool, 0x446fd2d9) \ |
| 107 V(_Int32x4, get:flagZ, Int32x4GetFlagZ, Bool, 0x20d61679) \ | 107 V(_Int32x4, get:flagZ, Int32x4GetFlagZ, Bool, 0x20d68ad8) \ |
| 108 V(_Int32x4, get:flagW, Int32x4GetFlagW, Bool, 0x504478ac) \ | 108 V(_Int32x4, get:flagW, Int32x4GetFlagW, Bool, 0x5044ed0b) \ |
| 109 V(_Int32x4, get:signMask, Int32x4GetSignMask, Dynamic, 0x2c1ec9e5) \ | 109 V(_Int32x4, get:signMask, Int32x4GetSignMask, Dynamic, 0x2c1f3e44) \ |
| 110 V(_Int32x4, shuffle, Int32x4Shuffle, Int32x4, 0x20bc0b16) \ | 110 V(_Int32x4, shuffle, Int32x4Shuffle, Int32x4, 0x20bc0b16) \ |
| 111 V(_Int32x4, shuffleMix, Int32x4ShuffleMix, Int32x4, 0x5c7056e1) \ | 111 V(_Int32x4, shuffleMix, Int32x4ShuffleMix, Int32x4, 0x5c7056e1) \ |
| 112 V(_Int32x4, select, Int32x4Select, Float32x4, 0x6b49654f) \ | 112 V(_Int32x4, select, Int32x4Select, Float32x4, 0x6b49654f) \ |
| 113 V(_Int32x4, withFlagX, Int32x4WithFlagX, Int32x4, 0x0ef58fcf) \ | 113 V(_Int32x4, withFlagX, Int32x4WithFlagX, Int32x4, 0x0ef58fcf) \ |
| 114 V(_Int32x4, withFlagY, Int32x4WithFlagY, Int32x4, 0x6485a9c4) \ | 114 V(_Int32x4, withFlagY, Int32x4WithFlagY, Int32x4, 0x6485a9c4) \ |
| 115 V(_Int32x4, withFlagZ, Int32x4WithFlagZ, Int32x4, 0x267acdfa) \ | 115 V(_Int32x4, withFlagZ, Int32x4WithFlagZ, Int32x4, 0x267acdfa) \ |
| 116 V(_Int32x4, withFlagW, Int32x4WithFlagW, Int32x4, 0x345ac675) \ | 116 V(_Int32x4, withFlagW, Int32x4WithFlagW, Int32x4, 0x345ac675) \ |
| 117 V(_Int64List, [], Int64ArrayGetIndexed, Dynamic, 0x680ec59b) \ | 117 V(_Int64List, [], Int64ArrayGetIndexed, Dynamic, 0x1cfce099) \ |
| 118 V(_Int64List, []=, Int64ArraySetIndexed, Dynamic, 0x0872fc15) \ | 118 V(_Int64List, []=, Int64ArraySetIndexed, Dynamic, 0x6b2911f5) \ |
| 119 V(_Bigint, get:_neg, Bigint_getNeg, Bool, 0x355fa565) \ | 119 V(_Bigint, get:_neg, Bigint_getNeg, Bool, 0x356019c4) \ |
| 120 V(_Bigint, get:_used, Bigint_getUsed, Smi, 0x33b9dcd2) \ | 120 V(_Bigint, get:_used, Bigint_getUsed, Smi, 0x33ba5131) \ |
| 121 V(_Bigint, get:_digits, Bigint_getDigits, TypedDataUint32Array, 0x68de883a) \ | 121 V(_Bigint, get:_digits, Bigint_getDigits, TypedDataUint32Array, 0x68defc99) \ |
| 122 V(_HashVMBase, get:_index, LinkedHashMap_getIndex, Dynamic, 0x02468899) \ | 122 V(_HashVMBase, get:_index, LinkedHashMap_getIndex, Dynamic, 0x0246fcf8) \ |
| 123 V(_HashVMBase, set:_index, LinkedHashMap_setIndex, Dynamic, 0x577d9e20) \ | 123 V(_HashVMBase, set:_index, LinkedHashMap_setIndex, Dynamic, 0x53a33a00) \ |
| 124 V(_HashVMBase, get:_data, LinkedHashMap_getData, Array, 0x2d7987ee) \ | 124 V(_HashVMBase, get:_data, LinkedHashMap_getData, Array, 0x2d79fc4d) \ |
| 125 V(_HashVMBase, set:_data, LinkedHashMap_setData, Dynamic, 0x1674fb28) \ | 125 V(_HashVMBase, set:_data, LinkedHashMap_setData, Dynamic, 0x129a9708) \ |
| 126 V(_HashVMBase, get:_usedData, LinkedHashMap_getUsedData, Smi, 0x0884b12f) \ | 126 V(_HashVMBase, get:_usedData, LinkedHashMap_getUsedData, Smi, 0x0885258e) \ |
| 127 V(_HashVMBase, set:_usedData, LinkedHashMap_setUsedData, Dynamic, 0x66f792c6)\ | 127 V(_HashVMBase, set:_usedData, LinkedHashMap_setUsedData, Dynamic, 0x631d2ea6)\ |
| 128 V(_HashVMBase, get:_hashMask, LinkedHashMap_getHashMask, Smi, 0x32f2c87d) \ | 128 V(_HashVMBase, get:_hashMask, LinkedHashMap_getHashMask, Smi, 0x32f33cdc) \ |
| 129 V(_HashVMBase, set:_hashMask, LinkedHashMap_setHashMask, Dynamic, 0x79ce8c9b)\ | 129 V(_HashVMBase, set:_hashMask, LinkedHashMap_setHashMask, Dynamic, 0x75f4287b)\ |
| 130 V(_HashVMBase, get:_deletedKeys, LinkedHashMap_getDeletedKeys, Smi, \ | 130 V(_HashVMBase, get:_deletedKeys, LinkedHashMap_getDeletedKeys, Smi, \ |
| 131 0x55839904) \ | 131 0x55840d63) \ |
| 132 V(_HashVMBase, set:_deletedKeys, LinkedHashMap_setDeletedKeys, Dynamic, \ | 132 V(_HashVMBase, set:_deletedKeys, LinkedHashMap_setDeletedKeys, Dynamic, \ |
| 133 0x625e50cd) \ | 133 0x5e83ecad) \ |
| 134 V(::, _classRangeCheck, ClassRangeCheck, Bool, 0x025e8d82) \ | 134 V(::, _classRangeCheck, ClassRangeCheck, Bool, 0x16a2fc83) \ |
| 135 V(::, _classRangeCheckNegative, ClassRangeCheckNegated, Bool, 0x32451d73) \ | 135 V(::, _classRangeCheckNegative, ClassRangeCheckNegated, Bool, 0x46898c74) \ |
| 136 | 136 |
| 137 | 137 |
| 138 // List of intrinsics: | 138 // List of intrinsics: |
| 139 // (class-name, function-name, intrinsification method, fingerprint). | 139 // (class-name, function-name, intrinsification method, fingerprint). |
| 140 #define CORE_LIB_INTRINSIC_LIST(V) \ | 140 #define CORE_LIB_INTRINSIC_LIST(V) \ |
| 141 V(_Smi, ~, Smi_bitNegate, Smi, 0x63bfee11) \ | 141 V(_Smi, ~, Smi_bitNegate, Smi, 0x6574c6b0) \ |
| 142 V(_Smi, get:bitLength, Smi_bitLength, Smi, 0x25b2e24c) \ | 142 V(_Smi, get:bitLength, Smi_bitLength, Smi, 0x25b356ab) \ |
| 143 V(_Smi, _bitAndFromSmi, Smi_bitAndFromSmi, Smi, 0x490a4da1) \ | 143 V(_Smi, _bitAndFromSmi, Smi_bitAndFromSmi, Smi, 0x490a4da1) \ |
| 144 V(_Bigint, _lsh, Bigint_lsh, Dynamic, 0x0619eb8a) \ | 144 V(_Bigint, _lsh, Bigint_lsh, Dynamic, 0x40d9f1cc) \ |
| 145 V(_Bigint, _rsh, Bigint_rsh, Dynamic, 0x0e1b80df) \ | 145 V(_Bigint, _rsh, Bigint_rsh, Dynamic, 0x703f1a40) \ |
| 146 V(_Bigint, _absAdd, Bigint_absAdd, Dynamic, 0x1a2b6326) \ | 146 V(_Bigint, _absAdd, Bigint_absAdd, Dynamic, 0x50fb1e47) \ |
| 147 V(_Bigint, _absSub, Bigint_absSub, Dynamic, 0x3bebab4e) \ | 147 V(_Bigint, _absSub, Bigint_absSub, Dynamic, 0x2beeb34d) \ |
| 148 V(_Bigint, _mulAdd, Bigint_mulAdd, Dynamic, 0x7d48a0b3) \ | 148 V(_Bigint, _mulAdd, Bigint_mulAdd, Dynamic, 0x4feffd35) \ |
| 149 V(_Bigint, _sqrAdd, Bigint_sqrAdd, Dynamic, 0x638b5f5d) \ | 149 V(_Bigint, _sqrAdd, Bigint_sqrAdd, Dynamic, 0x1acf0bbe) \ |
| 150 V(_Bigint, _estQuotientDigit, Bigint_estQuotientDigit, Dynamic, 0x467dee78) \ | 150 V(_Bigint, _estQuotientDigit, Bigint_estQuotientDigit, Dynamic, 0x0a2898bb) \ |
| 151 V(_Montgomery, _mulMod, Montgomery_mulMod, Dynamic, 0x36065c30) \ | 151 V(_Montgomery, _mulMod, Montgomery_mulMod, Dynamic, 0x26d5b8ee) \ |
| 152 V(_Double, >, Double_greaterThan, Bool, 0x452cd763) \ | 152 V(_Double, >, Double_greaterThan, Bool, 0x0a202683) \ |
| 153 V(_Double, >=, Double_greaterEqualThan, Bool, 0x6c317340) \ | 153 V(_Double, >=, Double_greaterEqualThan, Bool, 0x57491a62) \ |
| 154 V(_Double, <, Double_lessThan, Bool, 0x26dda4bc) \ | 154 V(_Double, <, Double_lessThan, Bool, 0x2e9d61bb) \ |
| 155 V(_Double, <=, Double_lessEqualThan, Bool, 0x1e869d20) \ | 155 V(_Double, <=, Double_lessEqualThan, Bool, 0x099e4442) \ |
| 156 V(_Double, ==, Double_equal, Bool, 0x5244dca3) \ | 156 V(_Double, ==, Double_equal, Bool, 0x04c399a1) \ |
| 157 V(_Double, +, Double_add, Double, 0x49b2a530) \ | 157 V(_Double, +, Double_add, Double, 0x0ea5f450) \ |
| 158 V(_Double, -, Double_sub, Double, 0x31833626) \ | 158 V(_Double, -, Double_sub, Double, 0x76768546) \ |
| 159 V(_Double, *, Double_mul, Double, 0x21d31f1d) \ | 159 V(_Double, *, Double_mul, Double, 0x66c66e3d) \ |
| 160 V(_Double, /, Double_div, Double, 0x3e584fe8) \ | 160 V(_Double, /, Double_div, Double, 0x034b9f08) \ |
| 161 V(_Double, get:isNaN, Double_getIsNaN, Bool, 0x0af8ebeb) \ | 161 V(_Double, get:isNaN, Double_getIsNaN, Bool, 0x0af9604a) \ |
| 162 V(_Double, get:isInfinite, Double_getIsInfinite, Bool, 0x0f79e289) \ | 162 V(_Double, get:isInfinite, Double_getIsInfinite, Bool, 0x0f7a56e8) \ |
| 163 V(_Double, get:isNegative, Double_getIsNegative, Bool, 0x3a58ff36) \ | 163 V(_Double, get:isNegative, Double_getIsNegative, Bool, 0x3a597395) \ |
| 164 V(_Double, _mulFromInteger, Double_mulFromInteger, Double, 0x7f565534) \ | 164 V(_Double, _mulFromInteger, Double_mulFromInteger, Double, 0x4fb72915) \ |
| 165 V(_Double, .fromInteger, DoubleFromInteger, Double, 0x04906d0d) \ | 165 V(_Double, .fromInteger, DoubleFromInteger, Double, 0x78d9de2c) \ |
| 166 V(_List, []=, ObjectArraySetIndexed, Dynamic, 0x34d2c72c) \ | 166 V(_List, []=, ObjectArraySetIndexed, Dynamic, 0x51691f4c) \ |
| 167 V(_GrowableList, .withData, GrowableArray_Allocate, GrowableObjectArray, \ | 167 V(_GrowableList, .withData, GrowableArray_Allocate, GrowableObjectArray, \ |
| 168 0x401f3150) \ | 168 0x3468a26f) \ |
| 169 V(_GrowableList, add, GrowableArray_add, Dynamic, 0x71f49ac8) \ | 169 V(_GrowableList, add, GrowableArray_add, Dynamic, 0x19eaa9aa) \ |
| 170 V(_RegExp, _ExecuteMatch, RegExp_ExecuteMatch, Dynamic, 0x380184b1) \ | 170 V(_RegExp, _ExecuteMatch, RegExp_ExecuteMatch, Dynamic, 0x380184b1) \ |
| 171 V(_RegExp, _ExecuteMatchSticky, RegExp_ExecuteMatchSticky, Dynamic, \ | 171 V(_RegExp, _ExecuteMatchSticky, RegExp_ExecuteMatchSticky, Dynamic, \ |
| 172 0x79b8f955) \ | 172 0x79b8f955) \ |
| 173 V(Object, ==, ObjectEquals, Bool, 0x11662ed8) \ | 173 V(Object, ==, ObjectEquals, Bool, 0x464c6a19) \ |
| 174 V(Object, get:runtimeType, ObjectRuntimeType, Type, 0x00e7c26b) \ | 174 V(Object, get:runtimeType, ObjectRuntimeType, Type, 0x00e836ca) \ |
| 175 V(Object, _haveSameRuntimeType, ObjectHaveSameRuntimeType, Bool, 0x6532255b) \ | 175 V(Object, _haveSameRuntimeType, ObjectHaveSameRuntimeType, Bool, 0x597b967a) \ |
| 176 V(_StringBase, get:hashCode, String_getHashCode, Smi, 0x78c2eb88) \ | 176 V(_StringBase, get:hashCode, String_getHashCode, Smi, 0x78c35fe7) \ |
| 177 V(_StringBase, get:isEmpty, StringBaseIsEmpty, Bool, 0x74c21fca) \ | 177 V(_StringBase, get:isEmpty, StringBaseIsEmpty, Bool, 0x1fa6a4c9) \ |
| 178 V(_StringBase, _substringMatches, StringBaseSubstringMatches, Bool, \ | 178 V(_StringBase, _substringMatches, StringBaseSubstringMatches, Bool, \ |
| 179 0x025b2ece) \ | 179 0x649cbeef) \ |
| 180 V(_StringBase, [], StringBaseCharAt, Dynamic, 0x2cf92c45) \ | 180 V(_StringBase, [], StringBaseCharAt, Dynamic, 0x14da5924) \ |
| 181 V(_OneByteString, get:hashCode, OneByteString_getHashCode, Smi, 0x78c2eb88) \ | 181 V(_OneByteString, get:hashCode, OneByteString_getHashCode, Smi, 0x78c35fe7) \ |
| 182 V(_OneByteString, _substringUncheckedNative, \ | 182 V(_OneByteString, _substringUncheckedNative, \ |
| 183 OneByteString_substringUnchecked, OneByteString, 0x3538ad86) \ | 183 OneByteString_substringUnchecked, OneByteString, 0x3538ad86) \ |
| 184 V(_OneByteString, _setAt, OneByteStringSetAt, Dynamic, 0x6836784f) \ | 184 V(_OneByteString, _setAt, OneByteStringSetAt, Dynamic, 0x7d1b2b10) \ |
| 185 V(_OneByteString, _allocate, OneByteString_allocate, OneByteString, \ | 185 V(_OneByteString, _allocate, OneByteString_allocate, OneByteString, \ |
| 186 0x4c0a5574) \ | 186 0x604ec475) \ |
| 187 V(_OneByteString, ==, OneByteString_equality, Bool, 0x3f59b700) \ | 187 V(_OneByteString, ==, OneByteString_equality, Bool, 0x4719e83f) \ |
| 188 V(_TwoByteString, ==, TwoByteString_equality, Bool, 0x3f59b700) \ | 188 V(_TwoByteString, ==, TwoByteString_equality, Bool, 0x4719e83f) \ |
| 189 | 189 |
| 190 | 190 |
| 191 #define CORE_INTEGER_LIB_INTRINSIC_LIST(V) \ | 191 #define CORE_INTEGER_LIB_INTRINSIC_LIST(V) \ |
| 192 V(_IntegerImplementation, _addFromInteger, Integer_addFromInteger, \ | 192 V(_IntegerImplementation, _addFromInteger, Integer_addFromInteger, \ |
| 193 Dynamic, 0x6a10c54a) \ | 193 Dynamic, 0x6a10c54a) \ |
| 194 V(_IntegerImplementation, +, Integer_add, Dynamic, 0x20192008) \ | 194 V(_IntegerImplementation, +, Integer_add, Dynamic, 0x5125faaa) \ |
| 195 V(_IntegerImplementation, _subFromInteger, Integer_subFromInteger, Dynamic, \ | 195 V(_IntegerImplementation, _subFromInteger, Integer_subFromInteger, Dynamic, \ |
| 196 0x3fa4b1ed) \ | 196 0x3fa4b1ed) \ |
| 197 V(_IntegerImplementation, -, Integer_sub, Dynamic, 0x5b877969) \ | 197 V(_IntegerImplementation, -, Integer_sub, Dynamic, 0x0c94540b) \ |
| 198 V(_IntegerImplementation, _mulFromInteger, Integer_mulFromInteger, \ | 198 V(_IntegerImplementation, _mulFromInteger, Integer_mulFromInteger, \ |
| 199 Dynamic, 0x3216e299) \ | 199 Dynamic, 0x3216e299) \ |
| 200 V(_IntegerImplementation, *, Integer_mul, Dynamic, 0x142887aa) \ | 200 V(_IntegerImplementation, *, Integer_mul, Dynamic, 0x4535624c) \ |
| 201 V(_IntegerImplementation, _moduloFromInteger, Integer_moduloFromInteger, \ | 201 V(_IntegerImplementation, _moduloFromInteger, Integer_moduloFromInteger, \ |
| 202 Dynamic, 0x6348b974) \ | 202 Dynamic, 0x6348b974) \ |
| 203 V(_IntegerImplementation, ~/, Integer_truncDivide, Dynamic, 0x5b740346) \ | 203 V(_IntegerImplementation, ~/, Integer_truncDivide, Dynamic, 0x1f48f4c9) \ |
| 204 V(_IntegerImplementation, unary-, Integer_negate, Dynamic, 0x59dce57c) \ | 204 V(_IntegerImplementation, unary-, Integer_negate, Dynamic, 0x4e346e3b) \ |
| 205 V(_IntegerImplementation, _bitAndFromInteger, Integer_bitAndFromInteger, \ | 205 V(_IntegerImplementation, _bitAndFromInteger, Integer_bitAndFromInteger, \ |
| 206 Dynamic, 0x395b1678) \ | 206 Dynamic, 0x395b1678) \ |
| 207 V(_IntegerImplementation, &, Integer_bitAnd, Dynamic, 0x50aab6e4) \ | 207 V(_IntegerImplementation, &, Integer_bitAnd, Dynamic, 0x01b79186) \ |
| 208 V(_IntegerImplementation, _bitOrFromInteger, Integer_bitOrFromInteger, \ | 208 V(_IntegerImplementation, _bitOrFromInteger, Integer_bitOrFromInteger, \ |
| 209 Dynamic, 0x6a36b395) \ | 209 Dynamic, 0x6a36b395) \ |
| 210 V(_IntegerImplementation, |, Integer_bitOr, Dynamic, 0x40b9d4c2) \ | 210 V(_IntegerImplementation, |, Integer_bitOr, Dynamic, 0x71c6af64) \ |
| 211 V(_IntegerImplementation, _bitXorFromInteger, Integer_bitXorFromInteger, \ | 211 V(_IntegerImplementation, _bitXorFromInteger, Integer_bitXorFromInteger, \ |
| 212 Dynamic, 0x72da93f0) \ | 212 Dynamic, 0x72da93f0) \ |
| 213 V(_IntegerImplementation, ^, Integer_bitXor, Dynamic, 0x16edce03) \ | 213 V(_IntegerImplementation, ^, Integer_bitXor, Dynamic, 0x47faa8a5) \ |
| 214 V(_IntegerImplementation, _greaterThanFromInteger, \ | 214 V(_IntegerImplementation, _greaterThanFromInteger, \ |
| 215 Integer_greaterThanFromInt, Bool, 0x4a50ed58) \ | 215 Integer_greaterThanFromInt, Bool, 0x4a50ed58) \ |
| 216 V(_IntegerImplementation, >, Integer_greaterThan, Bool, 0x6220711f) \ | 216 V(_IntegerImplementation, >, Integer_greaterThan, Bool, 0x23dd0c00) \ |
| 217 V(_IntegerImplementation, ==, Integer_equal, Bool, 0x0d4d7f2c) \ | 217 V(_IntegerImplementation, ==, Integer_equal, Bool, 0x7d51f04d) \ |
| 218 V(_IntegerImplementation, _equalToInteger, Integer_equalToInteger, Bool, \ | 218 V(_IntegerImplementation, _equalToInteger, Integer_equalToInteger, Bool, \ |
| 219 0x063be842) \ | 219 0x063be842) \ |
| 220 V(_IntegerImplementation, <, Integer_lessThan, Bool, 0x26dda4bc) \ | 220 V(_IntegerImplementation, <, Integer_lessThan, Bool, 0x2e9d61bb) \ |
| 221 V(_IntegerImplementation, <=, Integer_lessEqualThan, Bool, 0x1e869d20) \ | 221 V(_IntegerImplementation, <=, Integer_lessEqualThan, Bool, 0x099e4442) \ |
| 222 V(_IntegerImplementation, >=, Integer_greaterEqualThan, Bool, 0x6c317340) \ | 222 V(_IntegerImplementation, >=, Integer_greaterEqualThan, Bool, 0x57491a62) \ |
| 223 V(_IntegerImplementation, <<, Integer_shl, Dynamic, 0x5f43ef06) \ | 223 V(_IntegerImplementation, <<, Integer_shl, Dynamic, 0x1050c9a8) \ |
| 224 V(_IntegerImplementation, >>, Integer_sar, Dynamic, 0x08a241c7) \ | 224 V(_IntegerImplementation, >>, Integer_sar, Dynamic, 0x39af1c69) \ |
| 225 V(_Double, toInt, DoubleToInteger, Dynamic, 0x26ef344b) | 225 V(_Double, toInt, DoubleToInteger, Dynamic, 0x26ef344b) |
| 226 | 226 |
| 227 | 227 |
| 228 #define MATH_LIB_INTRINSIC_LIST(V) \ | 228 #define MATH_LIB_INTRINSIC_LIST(V) \ |
| 229 V(::, sqrt, MathSqrt, Double, 0x70482cf3) \ | 229 V(::, sqrt, MathSqrt, Double, 0x70482cf3) \ |
| 230 V(_Random, _nextState, Random_nextState, Dynamic, 0x24d91397) \ | 230 V(_Random, _nextState, Random_nextState, Dynamic, 0x268dec36) \ |
| 231 | 231 |
| 232 #define GRAPH_MATH_LIB_INTRINSIC_LIST(V) \ | 232 #define GRAPH_MATH_LIB_INTRINSIC_LIST(V) \ |
| 233 V(::, sin, MathSin, Double, 0x3f3a010c) \ | 233 V(::, sin, MathSin, Double, 0x3f3a010c) \ |
| 234 V(::, cos, MathCos, Double, 0x195a1d7e) \ | 234 V(::, cos, MathCos, Double, 0x195a1d7e) \ |
| 235 V(::, tan, MathTan, Double, 0x0f8b9eaa) \ | 235 V(::, tan, MathTan, Double, 0x0f8b9eaa) \ |
| 236 V(::, asin, MathAsin, Double, 0x2ecc2fcd) \ | 236 V(::, asin, MathAsin, Double, 0x2ecc2fcd) \ |
| 237 V(::, acos, MathAcos, Double, 0x08cf2212) \ | 237 V(::, acos, MathAcos, Double, 0x08cf2212) \ |
| 238 V(::, atan, MathAtan, Double, 0x1e2731d5) \ | 238 V(::, atan, MathAtan, Double, 0x1e2731d5) \ |
| 239 V(::, atan2, MathAtan2, Double, 0x39f1fa41) \ | 239 V(::, atan2, MathAtan2, Double, 0x39f1fa41) \ |
| 240 | 240 |
| 241 #define TYPED_DATA_LIB_INTRINSIC_LIST(V) \ | 241 #define TYPED_DATA_LIB_INTRINSIC_LIST(V) \ |
| 242 V(Int8List, ., TypedData_Int8Array_factory, TypedDataInt8Array, 0x2e7749e3) \ | 242 V(Int8List, ., TypedData_Int8Array_factory, TypedDataInt8Array, 0x165876c2) \ |
| 243 V(Uint8List, ., TypedData_Uint8Array_factory, TypedDataUint8Array, \ | 243 V(Uint8List, ., TypedData_Uint8Array_factory, TypedDataUint8Array, \ |
| 244 0x6ab75439) \ | 244 0x52988118) \ |
| 245 V(Uint8ClampedList, ., TypedData_Uint8ClampedArray_factory, \ | 245 V(Uint8ClampedList, ., TypedData_Uint8ClampedArray_factory, \ |
| 246 TypedDataUint8ClampedArray, 0x183129d7) \ | 246 TypedDataUint8ClampedArray, 0x001256b6) \ |
| 247 V(Int16List, ., TypedData_Int16Array_factory, TypedDataInt16Array, \ | 247 V(Int16List, ., TypedData_Int16Array_factory, TypedDataInt16Array, \ |
| 248 0x14b563ea) \ | 248 0x7c9690c9) \ |
| 249 V(Uint16List, ., TypedData_Uint16Array_factory, TypedDataUint16Array, \ | 249 V(Uint16List, ., TypedData_Uint16Array_factory, TypedDataUint16Array, \ |
| 250 0x07456be4) \ | 250 0x6f2698c3) \ |
| 251 V(Int32List, ., TypedData_Int32Array_factory, TypedDataInt32Array, \ | 251 V(Int32List, ., TypedData_Int32Array_factory, TypedDataInt32Array, \ |
| 252 0x5bd49250) \ | 252 0x43b5bf2f) \ |
| 253 V(Uint32List, ., TypedData_Uint32Array_factory, \ | 253 V(Uint32List, ., TypedData_Uint32Array_factory, \ |
| 254 TypedDataUint32Array, 0x3c59b3a4) \ | 254 TypedDataUint32Array, 0x243ae083) \ |
| 255 V(Int64List, ., TypedData_Int64Array_factory, \ | 255 V(Int64List, ., TypedData_Int64Array_factory, \ |
| 256 TypedDataInt64Array, 0x57d85ac7) \ | 256 TypedDataInt64Array, 0x3fb987a6) \ |
| 257 V(Uint64List, ., TypedData_Uint64Array_factory, \ | 257 V(Uint64List, ., TypedData_Uint64Array_factory, \ |
| 258 TypedDataUint64Array, 0x2c093004) \ | 258 TypedDataUint64Array, 0x13ea5ce3) \ |
| 259 V(Float32List, ., TypedData_Float32Array_factory, \ | 259 V(Float32List, ., TypedData_Float32Array_factory, \ |
| 260 TypedDataFloat32Array, 0x738e124b) \ | 260 TypedDataFloat32Array, 0x5b6f3f2a) \ |
| 261 V(Float64List, ., TypedData_Float64Array_factory, \ | 261 V(Float64List, ., TypedData_Float64Array_factory, \ |
| 262 TypedDataFloat64Array, 0x501be4f1) \ | 262 TypedDataFloat64Array, 0x37fd11d0) \ |
| 263 V(Float32x4List, ., TypedData_Float32x4Array_factory, \ | 263 V(Float32x4List, ., TypedData_Float32x4Array_factory, \ |
| 264 TypedDataFloat32x4Array, 0x7a7dd718) \ | 264 TypedDataFloat32x4Array, 0x625f03f7) \ |
| 265 V(Int32x4List, ., TypedData_Int32x4Array_factory, \ | 265 V(Int32x4List, ., TypedData_Int32x4Array_factory, \ |
| 266 TypedDataInt32x4Array, 0x1e0dca48) \ | 266 TypedDataInt32x4Array, 0x05eef727) \ |
| 267 V(Float64x2List, ., TypedData_Float64x2Array_factory, \ | 267 V(Float64x2List, ., TypedData_Float64x2Array_factory, \ |
| 268 TypedDataFloat64x2Array, 0x18cbf4d9) \ | 268 TypedDataFloat64x2Array, 0x00ad21b8) \ |
| 269 | 269 |
| 270 #define GRAPH_TYPED_DATA_INTRINSICS_LIST(V) \ | 270 #define GRAPH_TYPED_DATA_INTRINSICS_LIST(V) \ |
| 271 V(_Int8List, [], Int8ArrayGetIndexed, Smi, 0x5f9a4430) \ | 271 V(_Int8List, [], Int8ArrayGetIndexed, Smi, 0x14885f2e) \ |
| 272 V(_Int8List, []=, Int8ArraySetIndexed, Dynamic, 0x5f880110) \ | 272 V(_Int8List, []=, Int8ArraySetIndexed, Dynamic, 0x423e16f0) \ |
| 273 V(_Uint8List, [], Uint8ArrayGetIndexed, Smi, 0x1eb150d8) \ | 273 V(_Uint8List, [], Uint8ArrayGetIndexed, Smi, 0x539f6bd6) \ |
| 274 V(_Uint8List, []=, Uint8ArraySetIndexed, Dynamic, 0x4cf76981) \ | 274 V(_Uint8List, []=, Uint8ArraySetIndexed, Dynamic, 0x2fad7f61) \ |
| 275 V(_ExternalUint8Array, [], ExternalUint8ArrayGetIndexed, Smi, 0x1eb150d8) \ | 275 V(_ExternalUint8Array, [], ExternalUint8ArrayGetIndexed, Smi, 0x539f6bd6) \ |
| 276 V(_ExternalUint8Array, []=, ExternalUint8ArraySetIndexed, Dynamic, \ | 276 V(_ExternalUint8Array, []=, ExternalUint8ArraySetIndexed, Dynamic, \ |
| 277 0x4cf76981) \ | 277 0x2fad7f61) \ |
| 278 V(_Uint8ClampedList, [], Uint8ClampedArrayGetIndexed, Smi, 0x1eb150d8) \ | 278 V(_Uint8ClampedList, [], Uint8ClampedArrayGetIndexed, Smi, 0x539f6bd6) \ |
| 279 V(_Uint8ClampedList, []=, Uint8ClampedArraySetIndexed, Dynamic, 0x2224afe1) \ | 279 V(_Uint8ClampedList, []=, Uint8ClampedArraySetIndexed, Dynamic, 0x04dac5c1) \ |
| 280 V(_ExternalUint8ClampedArray, [], ExternalUint8ClampedArrayGetIndexed, \ | 280 V(_ExternalUint8ClampedArray, [], ExternalUint8ClampedArrayGetIndexed, \ |
| 281 Smi, 0x1eb150d8) \ | 281 Smi, 0x539f6bd6) \ |
| 282 V(_ExternalUint8ClampedArray, []=, ExternalUint8ClampedArraySetIndexed, \ | 282 V(_ExternalUint8ClampedArray, []=, ExternalUint8ClampedArraySetIndexed, \ |
| 283 Dynamic, 0x2224afe1) \ | 283 Dynamic, 0x04dac5c1) \ |
| 284 V(_Int16List, [], Int16ArrayGetIndexed, Smi, 0x74ea134c) \ | 284 V(_Int16List, [], Int16ArrayGetIndexed, Smi, 0x29d82e4a) \ |
| 285 V(_Int16List, []=, Int16ArraySetIndexed, Dynamic, 0x48e25661) \ | 285 V(_Int16List, []=, Int16ArraySetIndexed, Dynamic, 0x2b986c41) \ |
| 286 V(_Uint16List, [], Uint16ArrayGetIndexed, Smi, 0x756d9a97) \ | 286 V(_Uint16List, [], Uint16ArrayGetIndexed, Smi, 0x2a5bb595) \ |
| 287 V(_Uint16List, []=, Uint16ArraySetIndexed, Dynamic, 0x698f9d4f) \ | 287 V(_Uint16List, []=, Uint16ArraySetIndexed, Dynamic, 0x4c45b32f) \ |
| 288 V(_Int32List, [], Int32ArrayGetIndexed, Dynamic, 0x61e49de1) \ | 288 V(_Int32List, [], Int32ArrayGetIndexed, Dynamic, 0x16d2b8df) \ |
| 289 V(_Int32List, []=, Int32ArraySetIndexed, Dynamic, 0x55736c63) \ | 289 V(_Int32List, []=, Int32ArraySetIndexed, Dynamic, 0x38298243) \ |
| 290 V(_Uint32List, [], Uint32ArrayGetIndexed, Dynamic, 0x2eaa22d2) \ | 290 V(_Uint32List, [], Uint32ArrayGetIndexed, Dynamic, 0x63983dd0) \ |
| 291 V(_Uint32List, []=, Uint32ArraySetIndexed, Dynamic, 0x3c88eeb9) \ | 291 V(_Uint32List, []=, Uint32ArraySetIndexed, Dynamic, 0x1f3f0499) \ |
| 292 V(_Float64List, [], Float64ArrayGetIndexed, Double, 0x20950e8a) \ | 292 V(_Float64List, [], Float64ArrayGetIndexed, Double, 0x55832988) \ |
| 293 V(_Float64List, []=, Float64ArraySetIndexed, Dynamic, 0x556a0727) \ | 293 V(_Float64List, []=, Float64ArraySetIndexed, Dynamic, 0x2cfebd47) \ |
| 294 V(_Float32List, [], Float32ArrayGetIndexed, Double, 0x7101fa23) \ | 294 V(_Float32List, [], Float32ArrayGetIndexed, Double, 0x25f01521) \ |
| 295 V(_Float32List, []=, Float32ArraySetIndexed, Dynamic, 0x5e32c1eb) \ | 295 V(_Float32List, []=, Float32ArraySetIndexed, Dynamic, 0x35c7780b) \ |
| 296 V(_Float32x4List, [], Float32x4ArrayGetIndexed, Float32x4, 0x28b0a7ef) \ | 296 V(_Float32x4List, [], Float32x4ArrayGetIndexed, Float32x4, 0x5d9ec2ed) \ |
| 297 V(_Float32x4List, []=, Float32x4ArraySetIndexed, Dynamic, 0x4babf032) \ | 297 V(_Float32x4List, []=, Float32x4ArraySetIndexed, Dynamic, 0x2340a652) \ |
| 298 V(_Int32x4List, [], Int32x4ArrayGetIndexed, Int32x4, 0x619c79a0) \ | 298 V(_Int32x4List, [], Int32x4ArrayGetIndexed, Int32x4, 0x168a949e) \ |
| 299 V(_Int32x4List, []=, Int32x4ArraySetIndexed, Dynamic, 0x021bd16b) \ | 299 V(_Int32x4List, []=, Int32x4ArraySetIndexed, Dynamic, 0x59b0878b) \ |
| 300 V(_Float64x2List, [], Float64x2ArrayGetIndexed, Float64x2, 0x7a6dd5e5) \ | 300 V(_Float64x2List, [], Float64x2ArrayGetIndexed, Float64x2, 0x2f5bf0e3) \ |
| 301 V(_Float64x2List, []=, Float64x2ArraySetIndexed, Dynamic, 0x3c59fecb) \ | 301 V(_Float64x2List, []=, Float64x2ArraySetIndexed, Dynamic, 0x13eeb4eb) \ |
| 302 V(_TypedList, get:length, TypedDataLength, Smi, 0x2090dc1a) \ | 302 V(_TypedList, get:length, TypedDataLength, Smi, 0x20915079) \ |
| 303 V(_Float32x4, get:x, Float32x4ShuffleX, Double, 0x63d0c13f) \ | 303 V(_Float32x4, get:x, Float32x4ShuffleX, Double, 0x63d1359e) \ |
| 304 V(_Float32x4, get:y, Float32x4ShuffleY, Double, 0x20343b1b) \ | 304 V(_Float32x4, get:y, Float32x4ShuffleY, Double, 0x2034af7a) \ |
| 305 V(_Float32x4, get:z, Float32x4ShuffleZ, Double, 0x13181dba) \ | 305 V(_Float32x4, get:z, Float32x4ShuffleZ, Double, 0x13189219) \ |
| 306 V(_Float32x4, get:w, Float32x4ShuffleW, Double, 0x69895020) \ | 306 V(_Float32x4, get:w, Float32x4ShuffleW, Double, 0x6989c47f) \ |
| 307 V(_Float32x4, *, Float32x4Mul, Float32x4, 0x0e2a0ef4) \ | 307 V(_Float32x4, *, Float32x4Mul, Float32x4, 0x760b3bd3) \ |
| 308 V(_Float32x4, -, Float32x4Sub, Float32x4, 0x6edeeaa3) \ | 308 V(_Float32x4, -, Float32x4Sub, Float32x4, 0x56c01782) \ |
| 309 V(_Float32x4, +, Float32x4Add, Float32x4, 0x303a9943) \ | 309 V(_Float32x4, +, Float32x4Add, Float32x4, 0x181bc622) \ |
| 310 | 310 |
| 311 #define GRAPH_CORE_INTRINSICS_LIST(V) \ | 311 #define GRAPH_CORE_INTRINSICS_LIST(V) \ |
| 312 V(_List, get:length, ObjectArrayLength, Smi, 0x25943ad2) \ | 312 V(_List, get:length, ObjectArrayLength, Smi, 0x2594af31) \ |
| 313 V(_List, [], ObjectArrayGetIndexed, Dynamic, 0x157b4670) \ | 313 V(_List, [], ObjectArrayGetIndexed, Dynamic, 0x7d5c734f) \ |
| 314 V(_ImmutableList, get:length, ImmutableArrayLength, Smi, 0x25943ad2) \ | 314 V(_ImmutableList, get:length, ImmutableArrayLength, Smi, 0x2594af31) \ |
| 315 V(_ImmutableList, [], ImmutableArrayGetIndexed, Dynamic, 0x157b4670) \ | 315 V(_ImmutableList, [], ImmutableArrayGetIndexed, Dynamic, 0x7d5c734f) \ |
| 316 V(_GrowableList, get:length, GrowableArrayLength, Smi, 0x18dc9df6) \ | 316 V(_GrowableList, get:length, GrowableArrayLength, Smi, 0x18dd1255) \ |
| 317 V(_GrowableList, get:_capacity, GrowableArrayCapacity, Smi, 0x2e03d5a2) \ | 317 V(_GrowableList, get:_capacity, GrowableArrayCapacity, Smi, 0x2e044a01) \ |
| 318 V(_GrowableList, _setData, GrowableArraySetData, Dynamic, 0x6dfc498a) \ | 318 V(_GrowableList, _setData, GrowableArraySetData, Dynamic, 0x55dd7669) \ |
| 319 V(_GrowableList, _setLength, GrowableArraySetLength, Dynamic, 0x257bfc1c) \ | 319 V(_GrowableList, _setLength, GrowableArraySetLength, Dynamic, 0x0d5d28fb) \ |
| 320 V(_GrowableList, [], GrowableArrayGetIndexed, Dynamic, 0x74ad8832) \ | 320 V(_GrowableList, [], GrowableArrayGetIndexed, Dynamic, 0x5c8eb511) \ |
| 321 V(_GrowableList, []=, GrowableArraySetIndexed, Dynamic, 0x0d6cfe96) \ | 321 V(_GrowableList, []=, GrowableArraySetIndexed, Dynamic, 0x2a0356b6) \ |
| 322 V(_StringBase, get:length, StringBaseLength, Smi, 0x2a2c1b13) \ | 322 V(_StringBase, get:length, StringBaseLength, Smi, 0x2a2c8f72) \ |
| 323 V(_OneByteString, codeUnitAt, OneByteStringCodeUnitAt, Smi, 0x55a0a1f3) \ | 323 V(_OneByteString, codeUnitAt, OneByteStringCodeUnitAt, Smi, 0x55a0a1f3) \ |
| 324 V(_TwoByteString, codeUnitAt, TwoByteStringCodeUnitAt, Smi, 0x55a0a1f3) \ | 324 V(_TwoByteString, codeUnitAt, TwoByteStringCodeUnitAt, Smi, 0x55a0a1f3) \ |
| 325 V(_ExternalOneByteString, codeUnitAt, ExternalOneByteStringCodeUnitAt, \ | 325 V(_ExternalOneByteString, codeUnitAt, ExternalOneByteStringCodeUnitAt, \ |
| 326 Smi, 0x55a0a1f3) \ | 326 Smi, 0x55a0a1f3) \ |
| 327 V(_ExternalTwoByteString, codeUnitAt, ExternalTwoByteStringCodeUnitAt, \ | 327 V(_ExternalTwoByteString, codeUnitAt, ExternalTwoByteStringCodeUnitAt, \ |
| 328 Smi, 0x55a0a1f3) \ | 328 Smi, 0x55a0a1f3) \ |
| 329 V(_Double, unary-, DoubleFlipSignBit, Double, 0x6a4ab611) \ | 329 V(_Double, unary-, DoubleFlipSignBit, Double, 0x6bff8eb0) \ |
| 330 V(_Double, truncateToDouble, DoubleTruncate, Double, 0x2f27e5d3) \ | 330 V(_Double, truncateToDouble, DoubleTruncate, Double, 0x2f27e5d3) \ |
| 331 V(_Double, roundToDouble, DoubleRound, Double, 0x2f89c512) \ | 331 V(_Double, roundToDouble, DoubleRound, Double, 0x2f89c512) \ |
| 332 V(_Double, floorToDouble, DoubleFloor, Double, 0x6aa87a5f) \ | 332 V(_Double, floorToDouble, DoubleFloor, Double, 0x6aa87a5f) \ |
| 333 V(_Double, ceilToDouble, DoubleCeil, Double, 0x1b045e9e) \ | 333 V(_Double, ceilToDouble, DoubleCeil, Double, 0x1b045e9e) \ |
| 334 V(_Double, _modulo, DoubleMod, Double, 0x5b8ceed7) | 334 V(_Double, _modulo, DoubleMod, Double, 0x5b8ceed7) |
| 335 | 335 |
| 336 | 336 |
| 337 #define GRAPH_INTRINSICS_LIST(V) \ | 337 #define GRAPH_INTRINSICS_LIST(V) \ |
| 338 GRAPH_CORE_INTRINSICS_LIST(V) \ | 338 GRAPH_CORE_INTRINSICS_LIST(V) \ |
| 339 GRAPH_TYPED_DATA_INTRINSICS_LIST(V) \ | 339 GRAPH_TYPED_DATA_INTRINSICS_LIST(V) \ |
| (...skipping 16 matching lines...) Expand all Loading... |
| 356 ALL_INTRINSICS_NO_INTEGER_LIB_LIST(V) \ | 356 ALL_INTRINSICS_NO_INTEGER_LIB_LIST(V) \ |
| 357 CORE_INTEGER_LIB_INTRINSIC_LIST(V) | 357 CORE_INTEGER_LIB_INTRINSIC_LIST(V) |
| 358 | 358 |
| 359 #define RECOGNIZED_LIST(V) \ | 359 #define RECOGNIZED_LIST(V) \ |
| 360 OTHER_RECOGNIZED_LIST(V) \ | 360 OTHER_RECOGNIZED_LIST(V) \ |
| 361 ALL_INTRINSICS_LIST(V) \ | 361 ALL_INTRINSICS_LIST(V) \ |
| 362 GRAPH_INTRINSICS_LIST(V) | 362 GRAPH_INTRINSICS_LIST(V) |
| 363 | 363 |
| 364 // A list of core function that should always be inlined. | 364 // A list of core function that should always be inlined. |
| 365 #define INLINE_WHITE_LIST(V) \ | 365 #define INLINE_WHITE_LIST(V) \ |
| 366 V(Object, ==, ObjectEquals, 0x11662ed8) \ | 366 V(Object, ==, ObjectEquals, 0x464c6a19) \ |
| 367 V(_List, get:length, ObjectArrayLength, 0x25943ad2) \ | 367 V(_List, get:length, ObjectArrayLength, 0x2594af31) \ |
| 368 V(_ImmutableList, get:length, ImmutableArrayLength, 0x25943ad2) \ | 368 V(_ImmutableList, get:length, ImmutableArrayLength, 0x2594af31) \ |
| 369 V(_TypedList, get:length, TypedDataLength, 0x2090dc1a) \ | 369 V(_TypedList, get:length, TypedDataLength, 0x20915079) \ |
| 370 V(_GrowableList, get:length, GrowableArrayLength, 0x18dc9df6) \ | 370 V(_GrowableList, get:length, GrowableArrayLength, 0x18dd1255) \ |
| 371 V(_GrowableList, get:_capacity, GrowableArrayCapacity, 0x2e03d5a2) \ | 371 V(_GrowableList, get:_capacity, GrowableArrayCapacity, 0x2e044a01) \ |
| 372 V(_GrowableList, add, GrowableListAdd, 0x71f49ac8) \ | 372 V(_GrowableList, add, GrowableListAdd, 0x19eaa9aa) \ |
| 373 V(_GrowableList, removeLast, GrowableListRemoveLast, 0x7add0363) \ | 373 V(_GrowableList, removeLast, GrowableListRemoveLast, 0x3daaaca4) \ |
| 374 V(_StringBase, get:length, StringBaseLength, 0x2a2c1b13) \ | 374 V(_StringBase, get:length, StringBaseLength, 0x2a2c8f72) \ |
| 375 V(ListIterator, moveNext, ListIteratorMoveNext, 0x4f8ff9cc) \ | 375 V(ListIterator, moveNext, ListIteratorMoveNext, 0x7ead154d) \ |
| 376 V(_FixedSizeArrayIterator, moveNext, FixedListIteratorMoveNext, 0x50e0604b) \ | 376 V(_FixedSizeArrayIterator, moveNext, FixedListIteratorMoveNext, 0x4197892b) \ |
| 377 V(_GrowableList, get:iterator, GrowableArrayIterator, 0x6db11a73) \ | 377 V(_GrowableList, get:iterator, GrowableArrayIterator, 0x64c204d5) \ |
| 378 V(_GrowableList, forEach, GrowableArrayForEach, 0x250036fe) \ | 378 V(_GrowableList, forEach, GrowableArrayForEach, 0x4cc8215b) \ |
| 379 V(_List, ., ObjectArrayAllocate, 0x375519ad) \ | 379 V(_List, ., ObjectArrayAllocate, 0x6c3b54ee) \ |
| 380 V(ListMixin, get:isEmpty, ListMixinIsEmpty, 0x787d9bc6) \ | 380 V(ListMixin, get:isEmpty, ListMixinIsEmpty, 0x7a327465) \ |
| 381 V(_List, get:iterator, ObjectArrayIterator, 0x7e634791) \ | 381 V(_List, get:iterator, ObjectArrayIterator, 0x757431f3) \ |
| 382 V(_List, forEach, ObjectArrayForEach, 0x0abce191) \ | 382 V(_List, forEach, ObjectArrayForEach, 0x4dfea652) \ |
| 383 V(_List, _slice, ObjectArraySlice, 0x01b71c13) \ | 383 V(_List, _slice, ObjectArraySlice, 0x671ebc98) \ |
| 384 V(_ImmutableList, get:iterator, ImmutableArrayIterator, 0x7e634791) \ | 384 V(_ImmutableList, get:iterator, ImmutableArrayIterator, 0x757431f3) \ |
| 385 V(_ImmutableList, forEach, ImmutableArrayForEach, 0x0abce191) \ | 385 V(_ImmutableList, forEach, ImmutableArrayForEach, 0x4dfea652) \ |
| 386 V(_Uint8ArrayView, [], Uint8ArrayViewGetIndexed, 0x760ba8c2) \ | 386 V(_Uint8ArrayView, [], Uint8ArrayViewGetIndexed, 0x4e8a9e40) \ |
| 387 V(_Uint8ArrayView, []=, Uint8ArrayViewSetIndexed, 0x44fc1997) \ | 387 V(_Uint8ArrayView, []=, Uint8ArrayViewSetIndexed, 0x46f85777) \ |
| 388 V(_Int8ArrayView, [], Int8ArrayViewGetIndexed, 0x7735aad3) \ | 388 V(_Int8ArrayView, [], Int8ArrayViewGetIndexed, 0x4fb4a051) \ |
| 389 V(_Int8ArrayView, []=, Int8ArrayViewSetIndexed, 0x4237db0d) \ | 389 V(_Int8ArrayView, []=, Int8ArrayViewSetIndexed, 0x443418ed) \ |
| 390 V(_ByteDataView, setInt8, ByteDataViewSetInt8, 0x66702980) \ | 390 V(_ByteDataView, setInt8, ByteDataViewSetInt8, 0x6502a95f) \ |
| 391 V(_ByteDataView, setUint8, ByteDataViewSetUint8, 0x7c729d61) \ | 391 V(_ByteDataView, setUint8, ByteDataViewSetUint8, 0x7b051d40) \ |
| 392 V(_ByteDataView, setInt16, ByteDataViewSetInt16, 0x203478e8) \ | 392 V(_ByteDataView, setInt16, ByteDataViewSetInt16, 0x41bf9a68) \ |
| 393 V(_ByteDataView, setUint16, ByteDataViewSetUint16, 0x16c35617) \ | 393 V(_ByteDataView, setUint16, ByteDataViewSetUint16, 0x384e7797) \ |
| 394 V(_ByteDataView, setInt32, ByteDataViewSetInt32, 0x200c1aae) \ | 394 V(_ByteDataView, setInt32, ByteDataViewSetInt32, 0x41973c2e) \ |
| 395 V(_ByteDataView, setUint32, ByteDataViewSetUint32, 0x281c378e) \ | 395 V(_ByteDataView, setUint32, ByteDataViewSetUint32, 0x49a7590e) \ |
| 396 V(_ByteDataView, setInt64, ByteDataViewSetInt64, 0x10595a04) \ | 396 V(_ByteDataView, setInt64, ByteDataViewSetInt64, 0x31e47b84) \ |
| 397 V(_ByteDataView, setUint64, ByteDataViewSetUint64, 0x364fcc46) \ | 397 V(_ByteDataView, setUint64, ByteDataViewSetUint64, 0x57daedc6) \ |
| 398 V(_ByteDataView, setFloat32, ByteDataViewSetFloat32, 0x30628609) \ | 398 V(_ByteDataView, setFloat32, ByteDataViewSetFloat32, 0x6c92cb69) \ |
| 399 V(_ByteDataView, setFloat64, ByteDataViewSetFloat64, 0x331b1f4b) \ | 399 V(_ByteDataView, setFloat64, ByteDataViewSetFloat64, 0x6f4b64ab) \ |
| 400 V(_ByteDataView, getInt8, ByteDataViewGetInt8, 0x62761d8f) \ | 400 V(_ByteDataView, getInt8, ByteDataViewGetInt8, 0x655d546e) \ |
| 401 V(_ByteDataView, getUint8, ByteDataViewGetUint8, 0x579a5e34) \ | 401 V(_ByteDataView, getUint8, ByteDataViewGetUint8, 0x5a819513) \ |
| 402 V(_ByteDataView, getInt16, ByteDataViewGetInt16, 0x73e0175b) \ | 402 V(_ByteDataView, getInt16, ByteDataViewGetInt16, 0x449cf8de) \ |
| 403 V(_ByteDataView, getUint16, ByteDataViewGetUint16, 0x3691576a) \ | 403 V(_ByteDataView, getUint16, ByteDataViewGetUint16, 0x2f585007) \ |
| 404 V(_ByteDataView, getInt32, ByteDataViewGetInt32, 0x44d407a8) \ | 404 V(_ByteDataView, getInt32, ByteDataViewGetInt32, 0x1590e92b) \ |
| 405 V(_ByteDataView, getUint32, ByteDataViewGetUint32, 0x160c7450) \ | 405 V(_ByteDataView, getUint32, ByteDataViewGetUint32, 0x0ed36ced) \ |
| 406 V(_ByteDataView, getInt64, ByteDataViewGetInt64, 0x02a2ffca) \ | 406 V(_ByteDataView, getInt64, ByteDataViewGetInt64, 0x535fe14d) \ |
| 407 V(_ByteDataView, getUint64, ByteDataViewGetUint64, 0x4dd4eedd) \ | 407 V(_ByteDataView, getUint64, ByteDataViewGetUint64, 0x469be77a) \ |
| 408 V(_ByteDataView, getFloat32, ByteDataViewGetFloat32, 0x474b4719) \ | 408 V(_ByteDataView, getFloat32, ByteDataViewGetFloat32, 0x32567817) \ |
| 409 V(_ByteDataView, getFloat64, ByteDataViewGetFloat64, 0x47207cf7) \ | 409 V(_ByteDataView, getFloat64, ByteDataViewGetFloat64, 0x322badf5) \ |
| 410 V(::, exp, MathExp, 0x32ab9efa) \ | 410 V(::, exp, MathExp, 0x32ab9efa) \ |
| 411 V(::, log, MathLog, 0x1ee8f9fc) \ | 411 V(::, log, MathLog, 0x1ee8f9fc) \ |
| 412 V(::, max, MathMax, 0x4f51acb6) \ | 412 V(::, max, MathMax, 0x217af195) \ |
| 413 V(::, min, MathMin, 0x0bee5d52) \ | 413 V(::, min, MathMin, 0x154735b3) \ |
| 414 V(::, pow, MathPow, 0x443379a8) \ | 414 V(::, pow, MathPow, 0x5f119fa5) \ |
| 415 V(::, _classRangeCheck, ClassRangeCheck, 0x025e8d82) \ | 415 V(::, _classRangeCheck, ClassRangeCheck, 0x16a2fc83) \ |
| 416 V(::, _classRangeCheckNegative, ClassRangeCheckNegated, 0x32451d73) \ | 416 V(::, _classRangeCheckNegative, ClassRangeCheckNegated, 0x46898c74) \ |
| 417 V(Lists, copy, ListsCopy, 0x21a194fa) \ | 417 V(Lists, copy, ListsCopy, 0x714584f8) \ |
| 418 V(_Bigint, get:_neg, Bigint_getNeg, 0x355fa565) \ | 418 V(_Bigint, get:_neg, Bigint_getNeg, 0x356019c4) \ |
| 419 V(_Bigint, get:_used, Bigint_getUsed, 0x33b9dcd2) \ | 419 V(_Bigint, get:_used, Bigint_getUsed, 0x33ba5131) \ |
| 420 V(_Bigint, get:_digits, Bigint_getDigits, 0x68de883a) \ | 420 V(_Bigint, get:_digits, Bigint_getDigits, 0x68defc99) \ |
| 421 V(_HashVMBase, get:_index, LinkedHashMap_getIndex, 0x02468899) \ | 421 V(_HashVMBase, get:_index, LinkedHashMap_getIndex, 0x0246fcf8) \ |
| 422 V(_HashVMBase, set:_index, LinkedHashMap_setIndex, 0x577d9e20) \ | 422 V(_HashVMBase, set:_index, LinkedHashMap_setIndex, 0x53a33a00) \ |
| 423 V(_HashVMBase, get:_data, LinkedHashMap_getData, 0x2d7987ee) \ | 423 V(_HashVMBase, get:_data, LinkedHashMap_getData, 0x2d79fc4d) \ |
| 424 V(_HashVMBase, set:_data, LinkedHashMap_setData, 0x1674fb28) \ | 424 V(_HashVMBase, set:_data, LinkedHashMap_setData, 0x129a9708) \ |
| 425 V(_HashVMBase, get:_usedData, LinkedHashMap_getUsedData, 0x0884b12f) \ | 425 V(_HashVMBase, get:_usedData, LinkedHashMap_getUsedData, 0x0885258e) \ |
| 426 V(_HashVMBase, set:_usedData, LinkedHashMap_setUsedData, 0x66f792c6) \ | 426 V(_HashVMBase, set:_usedData, LinkedHashMap_setUsedData, 0x631d2ea6) \ |
| 427 V(_HashVMBase, get:_hashMask, LinkedHashMap_getHashMask, 0x32f2c87d) \ | 427 V(_HashVMBase, get:_hashMask, LinkedHashMap_getHashMask, 0x32f33cdc) \ |
| 428 V(_HashVMBase, set:_hashMask, LinkedHashMap_setHashMask, 0x79ce8c9b) \ | 428 V(_HashVMBase, set:_hashMask, LinkedHashMap_setHashMask, 0x75f4287b) \ |
| 429 V(_HashVMBase, get:_deletedKeys, LinkedHashMap_getDeletedKeys, 0x55839904) \ | 429 V(_HashVMBase, get:_deletedKeys, LinkedHashMap_getDeletedKeys, 0x55840d63) \ |
| 430 V(_HashVMBase, set:_deletedKeys, LinkedHashMap_setDeletedKeys, 0x625e50cd) \ | 430 V(_HashVMBase, set:_deletedKeys, LinkedHashMap_setDeletedKeys, 0x5e83ecad) \ |
| 431 | 431 |
| 432 // A list of core function that should never be inlined. | 432 // A list of core function that should never be inlined. |
| 433 #define INLINE_BLACK_LIST(V) \ | 433 #define INLINE_BLACK_LIST(V) \ |
| 434 V(::, asin, MathAsin, 0x2ecc2fcd) \ | 434 V(::, asin, MathAsin, 0x2ecc2fcd) \ |
| 435 V(::, acos, MathAcos, 0x08cf2212) \ | 435 V(::, acos, MathAcos, 0x08cf2212) \ |
| 436 V(::, atan, MathAtan, 0x1e2731d5) \ | 436 V(::, atan, MathAtan, 0x1e2731d5) \ |
| 437 V(::, atan2, MathAtan2, 0x39f1fa41) \ | 437 V(::, atan2, MathAtan2, 0x39f1fa41) \ |
| 438 V(::, cos, MathCos, 0x195a1d7e) \ | 438 V(::, cos, MathCos, 0x195a1d7e) \ |
| 439 V(::, sin, MathSin, 0x3f3a010c) \ | 439 V(::, sin, MathSin, 0x3f3a010c) \ |
| 440 V(::, sqrt, MathSqrt, 0x70482cf3) \ | 440 V(::, sqrt, MathSqrt, 0x70482cf3) \ |
| 441 V(::, tan, MathTan, 0x0f8b9eaa) \ | 441 V(::, tan, MathTan, 0x0f8b9eaa) \ |
| 442 V(_Bigint, _lsh, Bigint_lsh, 0x0619eb8a) \ | 442 V(_Bigint, _lsh, Bigint_lsh, 0x40d9f1cc) \ |
| 443 V(_Bigint, _rsh, Bigint_rsh, 0x0e1b80df) \ | 443 V(_Bigint, _rsh, Bigint_rsh, 0x703f1a40) \ |
| 444 V(_Bigint, _absAdd, Bigint_absAdd, 0x1a2b6326) \ | 444 V(_Bigint, _absAdd, Bigint_absAdd, 0x50fb1e47) \ |
| 445 V(_Bigint, _absSub, Bigint_absSub, 0x3bebab4e) \ | 445 V(_Bigint, _absSub, Bigint_absSub, 0x2beeb34d) \ |
| 446 V(_Bigint, _mulAdd, Bigint_mulAdd, 0x7d48a0b3) \ | 446 V(_Bigint, _mulAdd, Bigint_mulAdd, 0x4feffd35) \ |
| 447 V(_Bigint, _sqrAdd, Bigint_sqrAdd, 0x638b5f5d) \ | 447 V(_Bigint, _sqrAdd, Bigint_sqrAdd, 0x1acf0bbe) \ |
| 448 V(_Bigint, _estQuotientDigit, Bigint_estQuotientDigit, 0x467dee78) \ | 448 V(_Bigint, _estQuotientDigit, Bigint_estQuotientDigit, 0x0a2898bb) \ |
| 449 V(_Montgomery, _mulMod, Montgomery_mulMod, 0x36065c30) \ | 449 V(_Montgomery, _mulMod, Montgomery_mulMod, 0x26d5b8ee) \ |
| 450 V(_Double, >, Double_greaterThan, 0x452cd763) \ | 450 V(_Double, >, Double_greaterThan, 0x0a202683) \ |
| 451 V(_Double, >=, Double_greaterEqualThan, 0x6c317340) \ | 451 V(_Double, >=, Double_greaterEqualThan, 0x57491a62) \ |
| 452 V(_Double, <, Double_lessThan, 0x26dda4bc) \ | 452 V(_Double, <, Double_lessThan, 0x2e9d61bb) \ |
| 453 V(_Double, <=, Double_lessEqualThan, 0x1e869d20) \ | 453 V(_Double, <=, Double_lessEqualThan, 0x099e4442) \ |
| 454 V(_Double, ==, Double_equal, 0x5244dca3) \ | 454 V(_Double, ==, Double_equal, 0x04c399a1) \ |
| 455 V(_Double, +, Double_add, 0x49b2a530) \ | 455 V(_Double, +, Double_add, 0x0ea5f450) \ |
| 456 V(_Double, -, Double_sub, 0x31833626) \ | 456 V(_Double, -, Double_sub, 0x76768546) \ |
| 457 V(_Double, *, Double_mul, 0x21d31f1d) \ | 457 V(_Double, *, Double_mul, 0x66c66e3d) \ |
| 458 V(_Double, /, Double_div, 0x3e584fe8) \ | 458 V(_Double, /, Double_div, 0x034b9f08) \ |
| 459 V(_IntegerImplementation, +, Integer_add, 0x20192008) \ | 459 V(_IntegerImplementation, +, Integer_add, 0x5125faaa) \ |
| 460 V(_IntegerImplementation, -, Integer_sub, 0x5b877969) \ | 460 V(_IntegerImplementation, -, Integer_sub, 0x0c94540b) \ |
| 461 V(_IntegerImplementation, *, Integer_mul, 0x142887aa) \ | 461 V(_IntegerImplementation, *, Integer_mul, 0x4535624c) \ |
| 462 V(_IntegerImplementation, ~/, Integer_truncDivide, 0x5b740346) \ | 462 V(_IntegerImplementation, ~/, Integer_truncDivide, 0x1f48f4c9) \ |
| 463 V(_IntegerImplementation, unary-, Integer_negate, 0x59dce57c) \ | 463 V(_IntegerImplementation, unary-, Integer_negate, 0x4e346e3b) \ |
| 464 V(_IntegerImplementation, &, Integer_bitAnd, 0x50aab6e4) \ | 464 V(_IntegerImplementation, &, Integer_bitAnd, 0x01b79186) \ |
| 465 V(_IntegerImplementation, |, Integer_bitOr, 0x40b9d4c2) \ | 465 V(_IntegerImplementation, |, Integer_bitOr, 0x71c6af64) \ |
| 466 V(_IntegerImplementation, ^, Integer_bitXor, 0x16edce03) \ | 466 V(_IntegerImplementation, ^, Integer_bitXor, 0x47faa8a5) \ |
| 467 V(_IntegerImplementation, >, Integer_greaterThan, 0x6220711f) \ | 467 V(_IntegerImplementation, >, Integer_greaterThan, 0x23dd0c00) \ |
| 468 V(_IntegerImplementation, ==, Integer_equal, 0x0d4d7f2c) \ | 468 V(_IntegerImplementation, ==, Integer_equal, 0x7d51f04d) \ |
| 469 V(_IntegerImplementation, <, Integer_lessThan, 0x26dda4bc) \ | 469 V(_IntegerImplementation, <, Integer_lessThan, 0x2e9d61bb) \ |
| 470 V(_IntegerImplementation, <=, Integer_lessEqualThan, 0x1e869d20) \ | 470 V(_IntegerImplementation, <=, Integer_lessEqualThan, 0x099e4442) \ |
| 471 V(_IntegerImplementation, >=, Integer_greaterEqualThan, 0x6c317340) \ | 471 V(_IntegerImplementation, >=, Integer_greaterEqualThan, 0x57491a62) \ |
| 472 V(_IntegerImplementation, <<, Integer_shl, 0x5f43ef06) \ | 472 V(_IntegerImplementation, <<, Integer_shl, 0x1050c9a8) \ |
| 473 V(_IntegerImplementation, >>, Integer_sar, 0x08a241c7) \ | 473 V(_IntegerImplementation, >>, Integer_sar, 0x39af1c69) \ |
| 474 | 474 |
| 475 // A list of core functions that internally dispatch based on received id. | 475 // A list of core functions that internally dispatch based on received id. |
| 476 #define POLYMORPHIC_TARGET_LIST(V) \ | 476 #define POLYMORPHIC_TARGET_LIST(V) \ |
| 477 V(_StringBase, [], StringBaseCharAt, 0x2cf92c45) \ | 477 V(_StringBase, [], StringBaseCharAt, 0x14da5924) \ |
| 478 V(_TypedList, _getInt8, ByteArrayBaseGetInt8, 0x7041895a) \ | 478 V(_TypedList, _getInt8, ByteArrayBaseGetInt8, 0x7041895a) \ |
| 479 V(_TypedList, _getUint8, ByteArrayBaseGetUint8, 0x336fa3ea) \ | 479 V(_TypedList, _getUint8, ByteArrayBaseGetUint8, 0x336fa3ea) \ |
| 480 V(_TypedList, _getInt16, ByteArrayBaseGetInt16, 0x231bbe2e) \ | 480 V(_TypedList, _getInt16, ByteArrayBaseGetInt16, 0x231bbe2e) \ |
| 481 V(_TypedList, _getUint16, ByteArrayBaseGetUint16, 0x0371785f) \ | 481 V(_TypedList, _getUint16, ByteArrayBaseGetUint16, 0x0371785f) \ |
| 482 V(_TypedList, _getInt32, ByteArrayBaseGetInt32, 0x65ab3a20) \ | 482 V(_TypedList, _getInt32, ByteArrayBaseGetInt32, 0x65ab3a20) \ |
| 483 V(_TypedList, _getUint32, ByteArrayBaseGetUint32, 0x0cb0fcf6) \ | 483 V(_TypedList, _getUint32, ByteArrayBaseGetUint32, 0x0cb0fcf6) \ |
| 484 V(_TypedList, _getFloat32, ByteArrayBaseGetFloat32, 0x6674ea6f) \ | 484 V(_TypedList, _getFloat32, ByteArrayBaseGetFloat32, 0x6674ea6f) \ |
| 485 V(_TypedList, _getFloat64, ByteArrayBaseGetFloat64, 0x236c6e7a) \ | 485 V(_TypedList, _getFloat64, ByteArrayBaseGetFloat64, 0x236c6e7a) \ |
| 486 V(_TypedList, _getFloat32x4, ByteArrayBaseGetFloat32x4, 0x5c367ffb) \ | 486 V(_TypedList, _getFloat32x4, ByteArrayBaseGetFloat32x4, 0x5c367ffb) \ |
| 487 V(_TypedList, _getInt32x4, ByteArrayBaseGetInt32x4, 0x772d1c0f) \ | 487 V(_TypedList, _getInt32x4, ByteArrayBaseGetInt32x4, 0x772d1c0f) \ |
| 488 V(_TypedList, _setInt8, ByteArrayBaseSetInt8, 0x68f17de8) \ | 488 V(_TypedList, _setInt8, ByteArrayBaseSetInt8, 0x7dd630a9) \ |
| 489 V(_TypedList, _setUint8, ByteArrayBaseSetInt8, 0x6bb8b747) \ | 489 V(_TypedList, _setUint8, ByteArrayBaseSetInt8, 0x009d6a08) \ |
| 490 V(_TypedList, _setInt16, ByteArrayBaseSetInt16, 0x75b8d278) \ | 490 V(_TypedList, _setInt16, ByteArrayBaseSetInt16, 0x0a9d8539) \ |
| 491 V(_TypedList, _setUint16, ByteArrayBaseSetInt16, 0x6e54f794) \ | 491 V(_TypedList, _setUint16, ByteArrayBaseSetInt16, 0x0339aa55) \ |
| 492 V(_TypedList, _setInt32, ByteArrayBaseSetInt32, 0x54123a05) \ | 492 V(_TypedList, _setInt32, ByteArrayBaseSetInt32, 0x68f6ecc6) \ |
| 493 V(_TypedList, _setUint32, ByteArrayBaseSetUint32, 0x4a3fea0b) \ | 493 V(_TypedList, _setUint32, ByteArrayBaseSetUint32, 0x5f249ccc) \ |
| 494 V(_TypedList, _setFloat32, ByteArrayBaseSetFloat32, 0x5a11a2f9) \ | 494 V(_TypedList, _setFloat32, ByteArrayBaseSetFloat32, 0x6ef655ba) \ |
| 495 V(_TypedList, _setFloat64, ByteArrayBaseSetFloat64, 0x0edea58b) \ | 495 V(_TypedList, _setFloat64, ByteArrayBaseSetFloat64, 0x23c3584c) \ |
| 496 V(_TypedList, _setFloat32x4, ByteArrayBaseSetFloat32x4, 0x163bc6cc) \ | 496 V(_TypedList, _setFloat32x4, ByteArrayBaseSetFloat32x4, 0x2b20798d) \ |
| 497 V(_TypedList, _setInt32x4, ByteArrayBaseSetInt32x4, 0x5def39d2) \ | 497 V(_TypedList, _setInt32x4, ByteArrayBaseSetInt32x4, 0x72d3ec93) \ |
| 498 V(Object, get:runtimeType, ObjectRuntimeType, 0x00e7c26b) | 498 V(Object, get:runtimeType, ObjectRuntimeType, 0x00e836ca) |
| 499 | 499 |
| 500 // clang-format on | 500 // clang-format on |
| 501 | 501 |
| 502 // Forward declarations. | 502 // Forward declarations. |
| 503 class Function; | 503 class Function; |
| 504 | 504 |
| 505 // Class that recognizes the name and owner of a function and returns the | 505 // Class that recognizes the name and owner of a function and returns the |
| 506 // corresponding enum. See RECOGNIZED_LIST above for list of recognizable | 506 // corresponding enum. See RECOGNIZED_LIST above for list of recognizable |
| 507 // functions. | 507 // functions. |
| 508 class MethodRecognizer : public AllStatic { | 508 class MethodRecognizer : public AllStatic { |
| (...skipping 27 matching lines...) Expand all Loading... |
| 536 #define CHECK_FINGERPRINT3(f, p0, p1, p2, fp) \ | 536 #define CHECK_FINGERPRINT3(f, p0, p1, p2, fp) \ |
| 537 ASSERT(f.CheckSourceFingerprint(#p0 ", " #p1 ", " #p2, fp)) | 537 ASSERT(f.CheckSourceFingerprint(#p0 ", " #p1 ", " #p2, fp)) |
| 538 #endif // !defined(DART_PRECOMPILED_RUNTIME) | 538 #endif // !defined(DART_PRECOMPILED_RUNTIME) |
| 539 | 539 |
| 540 | 540 |
| 541 // clang-format off | 541 // clang-format off |
| 542 // List of recognized list factories: | 542 // List of recognized list factories: |
| 543 // (factory-name-symbol, class-name-string, constructor-name-string, | 543 // (factory-name-symbol, class-name-string, constructor-name-string, |
| 544 // result-cid, fingerprint). | 544 // result-cid, fingerprint). |
| 545 #define RECOGNIZED_LIST_FACTORY_LIST(V) \ | 545 #define RECOGNIZED_LIST_FACTORY_LIST(V) \ |
| 546 V(_ListFactory, _List, ., kArrayCid, 0x375519ad) \ | 546 V(_ListFactory, _List, ., kArrayCid, 0x6c3b54ee) \ |
| 547 V(_GrowableListWithData, _GrowableList, .withData, kGrowableObjectArrayCid, \ | 547 V(_GrowableListWithData, _GrowableList, .withData, kGrowableObjectArrayCid, \ |
| 548 0x401f3150) \ | 548 0x3468a26f) \ |
| 549 V(_GrowableListFactory, _GrowableList, ., kGrowableObjectArrayCid, \ | 549 V(_GrowableListFactory, _GrowableList, ., kGrowableObjectArrayCid, \ |
| 550 0x0b8d9feb) \ | 550 0x3bd724aa) \ |
| 551 V(_Int8ArrayFactory, Int8List, ., kTypedDataInt8ArrayCid, 0x2e7749e3) \ | 551 V(_Int8ArrayFactory, Int8List, ., kTypedDataInt8ArrayCid, 0x165876c2) \ |
| 552 V(_Uint8ArrayFactory, Uint8List, ., kTypedDataUint8ArrayCid, 0x6ab75439) \ | 552 V(_Uint8ArrayFactory, Uint8List, ., kTypedDataUint8ArrayCid, 0x52988118) \ |
| 553 V(_Uint8ClampedArrayFactory, Uint8ClampedList, ., \ | 553 V(_Uint8ClampedArrayFactory, Uint8ClampedList, ., \ |
| 554 kTypedDataUint8ClampedArrayCid, 0x183129d7) \ | 554 kTypedDataUint8ClampedArrayCid, 0x001256b6) \ |
| 555 V(_Int16ArrayFactory, Int16List, ., kTypedDataInt16ArrayCid, 0x14b563ea) \ | 555 V(_Int16ArrayFactory, Int16List, ., kTypedDataInt16ArrayCid, 0x7c9690c9) \ |
| 556 V(_Uint16ArrayFactory, Uint16List, ., kTypedDataUint16ArrayCid, 0x07456be4) \ | 556 V(_Uint16ArrayFactory, Uint16List, ., kTypedDataUint16ArrayCid, 0x6f2698c3) \ |
| 557 V(_Int32ArrayFactory, Int32List, ., kTypedDataInt32ArrayCid, 0x5bd49250) \ | 557 V(_Int32ArrayFactory, Int32List, ., kTypedDataInt32ArrayCid, 0x43b5bf2f) \ |
| 558 V(_Uint32ArrayFactory, Uint32List, ., kTypedDataUint32ArrayCid, 0x3c59b3a4) \ | 558 V(_Uint32ArrayFactory, Uint32List, ., kTypedDataUint32ArrayCid, 0x243ae083) \ |
| 559 V(_Int64ArrayFactory, Int64List, ., kTypedDataInt64ArrayCid, 0x57d85ac7) \ | 559 V(_Int64ArrayFactory, Int64List, ., kTypedDataInt64ArrayCid, 0x3fb987a6) \ |
| 560 V(_Uint64ArrayFactory, Uint64List, ., kTypedDataUint64ArrayCid, 0x2c093004) \ | 560 V(_Uint64ArrayFactory, Uint64List, ., kTypedDataUint64ArrayCid, 0x13ea5ce3) \ |
| 561 V(_Float64ArrayFactory, Float64List, ., kTypedDataFloat64ArrayCid, \ | 561 V(_Float64ArrayFactory, Float64List, ., kTypedDataFloat64ArrayCid, \ |
| 562 0x501be4f1) \ | 562 0x37fd11d0) \ |
| 563 V(_Float32ArrayFactory, Float32List, ., kTypedDataFloat32ArrayCid, \ | 563 V(_Float32ArrayFactory, Float32List, ., kTypedDataFloat32ArrayCid, \ |
| 564 0x738e124b) \ | 564 0x5b6f3f2a) \ |
| 565 V(_Float32x4ArrayFactory, Float32x4List, ., kTypedDataFloat32x4ArrayCid, \ | 565 V(_Float32x4ArrayFactory, Float32x4List, ., kTypedDataFloat32x4ArrayCid, \ |
| 566 0x7a7dd718) | 566 0x625f03f7) |
| 567 | 567 |
| 568 // clang-format on | 568 // clang-format on |
| 569 | 569 |
| 570 // Class that recognizes factories and returns corresponding result cid. | 570 // Class that recognizes factories and returns corresponding result cid. |
| 571 class FactoryRecognizer : public AllStatic { | 571 class FactoryRecognizer : public AllStatic { |
| 572 public: | 572 public: |
| 573 // Return kDynamicCid if factory is not recognized. | 573 // Return kDynamicCid if factory is not recognized. |
| 574 static intptr_t ResultCid(const Function& factory); | 574 static intptr_t ResultCid(const Function& factory); |
| 575 }; | 575 }; |
| 576 | 576 |
| 577 } // namespace dart | 577 } // namespace dart |
| 578 | 578 |
| 579 #endif // RUNTIME_VM_METHOD_RECOGNIZER_H_ | 579 #endif // RUNTIME_VM_METHOD_RECOGNIZER_H_ |
| OLD | NEW |