| 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, 496869842) \ |
| 17 V(ClassID, getID, ClassIDgetID, 1322490980) \ | 17 V(ClassID, getID, ClassIDgetID, 1322490980) \ |
| 18 V(Object, Object., ObjectConstructor, 1066669787) \ | 18 V(Object, Object., ObjectConstructor, 1066669787) \ |
| 19 V(_List, _List., ObjectArrayConstructor, 1595327584) \ | |
| 20 V(_TypedList, _getInt8, ByteArrayBaseGetInt8, 1541411498) \ | 19 V(_TypedList, _getInt8, ByteArrayBaseGetInt8, 1541411498) \ |
| 21 V(_TypedList, _getUint8, ByteArrayBaseGetUint8, 1032404349) \ | 20 V(_TypedList, _getUint8, ByteArrayBaseGetUint8, 1032404349) \ |
| 22 V(_TypedList, _getInt16, ByteArrayBaseGetInt16, 381073990) \ | 21 V(_TypedList, _getInt16, ByteArrayBaseGetInt16, 381073990) \ |
| 23 V(_TypedList, _getUint16, ByteArrayBaseGetUint16, 1142676276) \ | 22 V(_TypedList, _getUint16, ByteArrayBaseGetUint16, 1142676276) \ |
| 24 V(_TypedList, _getInt32, ByteArrayBaseGetInt32, 330269934) \ | 23 V(_TypedList, _getInt32, ByteArrayBaseGetInt32, 330269934) \ |
| 25 V(_TypedList, _getUint32, ByteArrayBaseGetUint32, 59490554) \ | 24 V(_TypedList, _getUint32, ByteArrayBaseGetUint32, 59490554) \ |
| 26 V(_TypedList, _getFloat32, ByteArrayBaseGetFloat32, 393003933) \ | 25 V(_TypedList, _getFloat32, ByteArrayBaseGetFloat32, 393003933) \ |
| 27 V(_TypedList, _getFloat64, ByteArrayBaseGetFloat64, 1792407200) \ | 26 V(_TypedList, _getFloat64, ByteArrayBaseGetFloat64, 1792407200) \ |
| 28 V(_TypedList, _getFloat32x4, ByteArrayBaseGetFloat32x4, 1338379857) \ | 27 V(_TypedList, _getFloat32x4, ByteArrayBaseGetFloat32x4, 1338379857) \ |
| 29 V(_TypedList, _getInt32x4, ByteArrayBaseGetInt32x4, 1469917805) \ | 28 V(_TypedList, _getInt32x4, ByteArrayBaseGetInt32x4, 1469917805) \ |
| 30 V(_TypedList, _setInt8, ByteArrayBaseSetInt8, 433348464) \ | 29 V(_TypedList, _setInt8, ByteArrayBaseSetInt8, 433348464) \ |
| 31 V(_TypedList, _setUint8, ByteArrayBaseSetUint8, 149406583) \ | 30 V(_TypedList, _setUint8, ByteArrayBaseSetUint8, 149406583) \ |
| 32 V(_TypedList, _setInt16, ByteArrayBaseSetInt16, 805477162) \ | 31 V(_TypedList, _setInt16, ByteArrayBaseSetInt16, 805477162) \ |
| 33 V(_TypedList, _setUint16, ByteArrayBaseSetUint16, 888580944) \ | 32 V(_TypedList, _setUint16, ByteArrayBaseSetUint16, 888580944) \ |
| 34 V(_TypedList, _setInt32, ByteArrayBaseSetInt32, 1708248181) \ | 33 V(_TypedList, _setInt32, ByteArrayBaseSetInt32, 1708248181) \ |
| 35 V(_TypedList, _setUint32, ByteArrayBaseSetUint32, 1863152792) \ | 34 V(_TypedList, _setUint32, ByteArrayBaseSetUint32, 1863152792) \ |
| 36 V(_TypedList, _setFloat32, ByteArrayBaseSetFloat32, 1148703855) \ | 35 V(_TypedList, _setFloat32, ByteArrayBaseSetFloat32, 1148703855) \ |
| 37 V(_TypedList, _setFloat64, ByteArrayBaseSetFloat64, 972883980) \ | 36 V(_TypedList, _setFloat64, ByteArrayBaseSetFloat64, 972883980) \ |
| 38 V(_TypedList, _setFloat32x4, ByteArrayBaseSetFloat32x4, 950522310) \ | 37 V(_TypedList, _setFloat32x4, ByteArrayBaseSetFloat32x4, 950522310) \ |
| 39 V(_TypedList, _setInt32x4, ByteArrayBaseSetInt32x4, 1301138078) \ | 38 V(_TypedList, _setInt32x4, ByteArrayBaseSetInt32x4, 1301138078) \ |
| 40 V(_StringBase, [], StringBaseCharAt, 1512210677) \ | |
| 41 V(_StringBase, _interpolate, StringBaseInterpolate, 1758627989) \ | 39 V(_StringBase, _interpolate, StringBaseInterpolate, 1758627989) \ |
| 42 V(_IntegerImplementation, toDouble, IntegerToDouble, 1084977108) \ | 40 V(_IntegerImplementation, toDouble, IntegerToDouble, 1084977108) \ |
| 43 V(_IntegerImplementation, _leftShiftWithMask32, IntegerLeftShiftWithMask32, \ | 41 V(_IntegerImplementation, _leftShiftWithMask32, IntegerLeftShiftWithMask32, \ |
| 44 597111055) \ | 42 597111055) \ |
| 45 V(_Double, .fromInteger, DoubleFromInteger, 999771940) \ | |
| 46 V(_Double, truncateToDouble, DoubleTruncate, 2117801967) \ | 43 V(_Double, truncateToDouble, DoubleTruncate, 2117801967) \ |
| 47 V(_Double, roundToDouble, DoubleRound, 2124216110) \ | 44 V(_Double, roundToDouble, DoubleRound, 2124216110) \ |
| 48 V(_Double, floorToDouble, DoubleFloor, 968600699) \ | 45 V(_Double, floorToDouble, DoubleFloor, 968600699) \ |
| 49 V(_Double, ceilToDouble, DoubleCeil, 1779929274) \ | 46 V(_Double, ceilToDouble, DoubleCeil, 1779929274) \ |
| 50 V(_Double, _modulo, DoubleMod, 1473971007) \ | 47 V(_Double, _modulo, DoubleMod, 1473971007) \ |
| 51 V(_Double, _add, DoubleAdd, 1570715125) \ | 48 V(_Double, _add, DoubleAdd, 1570715125) \ |
| 52 V(_Double, _sub, DoubleSub, 1466395310) \ | 49 V(_Double, _sub, DoubleSub, 1466395310) \ |
| 53 V(_Double, _mul, DoubleMul, 546441193) \ | 50 V(_Double, _mul, DoubleMul, 546441193) \ |
| 54 V(_Double, _div, DoubleDiv, 1201505037) \ | 51 V(_Double, _div, DoubleDiv, 1201505037) \ |
| 55 V(::, sin, MathSin, 1741396147) \ | 52 V(::, sin, MathSin, 1741396147) \ |
| (...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 157 V(_Double, <, Double_lessThan, 2080387973) \ | 154 V(_Double, <, Double_lessThan, 2080387973) \ |
| 158 V(_Double, <=, Double_lessEqualThan, 106225572) \ | 155 V(_Double, <=, Double_lessEqualThan, 106225572) \ |
| 159 V(_Double, ==, Double_equal, 2093918133) \ | 156 V(_Double, ==, Double_equal, 2093918133) \ |
| 160 V(_Double, +, Double_add, 1646350451) \ | 157 V(_Double, +, Double_add, 1646350451) \ |
| 161 V(_Double, -, Double_sub, 1477459276) \ | 158 V(_Double, -, Double_sub, 1477459276) \ |
| 162 V(_Double, *, Double_mul, 1334580777) \ | 159 V(_Double, *, Double_mul, 1334580777) \ |
| 163 V(_Double, /, Double_div, 1938037155) \ | 160 V(_Double, /, Double_div, 1938037155) \ |
| 164 V(_Double, get:isNaN, Double_getIsNaN, 843050033) \ | 161 V(_Double, get:isNaN, Double_getIsNaN, 843050033) \ |
| 165 V(_Double, get:isNegative, Double_getIsNegative, 1637875580) \ | 162 V(_Double, get:isNegative, Double_getIsNegative, 1637875580) \ |
| 166 V(_Double, _mulFromInteger, Double_mulFromInteger, 1594796483) \ | 163 V(_Double, _mulFromInteger, Double_mulFromInteger, 1594796483) \ |
| 167 V(_Double, .fromInteger, Double_fromInteger, 999771940) \ | 164 V(_Double, .fromInteger, DoubleFromInteger, 999771940) \ |
| 168 V(_List, ., ObjectArrayAllocate, 1595327584) \ | 165 V(_List, ., ObjectArrayAllocate, 1595327584) \ |
| 169 V(_List, get:length, ObjectArrayLength, 1181352729) \ | 166 V(_List, get:length, ObjectArrayLength, 1181352729) \ |
| 170 V(_List, [], ObjectArrayGetIndexed, 795612476) \ | 167 V(_List, [], ObjectArrayGetIndexed, 795612476) \ |
| 171 V(_List, []=, ObjectArraySetIndexed, 1288827575) \ | 168 V(_List, []=, ObjectArraySetIndexed, 1288827575) \ |
| 172 V(_GrowableList, .withData, GrowableArray_Allocate, 732923072) \ | 169 V(_GrowableList, .withData, GrowableArray_Allocate, 732923072) \ |
| 173 V(_GrowableList, get:length, GrowableArrayLength, 778505107) \ | 170 V(_GrowableList, get:length, GrowableArrayLength, 778505107) \ |
| 174 V(_GrowableList, get:_capacity, GrowableArrayCapacity, 555140075) \ | 171 V(_GrowableList, get:_capacity, GrowableArrayCapacity, 555140075) \ |
| 175 V(_GrowableList, [], GrowableArrayGetIndexed, 919108233) \ | 172 V(_GrowableList, [], GrowableArrayGetIndexed, 919108233) \ |
| 176 V(_GrowableList, []=, GrowableArraySetIndexed, 1218649853) \ | 173 V(_GrowableList, []=, GrowableArraySetIndexed, 1218649853) \ |
| 177 V(_GrowableList, _setLength, GrowableArraySetLength, 89389299) \ | 174 V(_GrowableList, _setLength, GrowableArraySetLength, 89389299) \ |
| 178 V(_GrowableList, _setData, GrowableArraySetData, 2126927509) \ | 175 V(_GrowableList, _setData, GrowableArraySetData, 2126927509) \ |
| 179 V(_GrowableList, add, GrowableArray_add, 1899133961) \ | 176 V(_GrowableList, add, GrowableArray_add, 1899133961) \ |
| 180 V(_ImmutableList, [], ImmutableArrayGetIndexed, 1990177341) \ | 177 V(_ImmutableList, [], ImmutableArrayGetIndexed, 1990177341) \ |
| 181 V(_ImmutableList, get:length, ImmutableArrayLength, 274917727) \ | 178 V(_ImmutableList, get:length, ImmutableArrayLength, 274917727) \ |
| 182 V(Object, ==, ObjectEquals, 1068471689) \ | 179 V(Object, ==, ObjectEquals, 1068471689) \ |
| 183 V(_StringBase, get:hashCode, String_getHashCode, 2102906241) \ | 180 V(_StringBase, get:hashCode, String_getHashCode, 2102906241) \ |
| 184 V(_StringBase, get:isEmpty, StringBaseIsEmpty, 49873871) \ | 181 V(_StringBase, get:isEmpty, StringBaseIsEmpty, 49873871) \ |
| 185 V(_StringBase, get:length, StringBaseLength, 784399628) \ | 182 V(_StringBase, get:length, StringBaseLength, 784399628) \ |
| 186 V(_StringBase, codeUnitAt, StringBaseCodeUnitAt, 397735324) \ | 183 V(_StringBase, codeUnitAt, StringBaseCodeUnitAt, 397735324) \ |
| 187 V(_StringBase, [], StringBase_charAt, 1512210677) \ | 184 V(_StringBase, [], StringBaseCharAt, 1512210677) \ |
| 188 V(_OneByteString, get:hashCode, OneByteString_getHashCode, 1111837929) \ | 185 V(_OneByteString, get:hashCode, OneByteString_getHashCode, 1111837929) \ |
| 189 V(_OneByteString, _substringUncheckedNative, \ | 186 V(_OneByteString, _substringUncheckedNative, \ |
| 190 OneByteString_substringUnchecked, 1527498975) \ | 187 OneByteString_substringUnchecked, 1527498975) \ |
| 191 V(_OneByteString, _setAt, OneByteStringSetAt, 468605749) \ | 188 V(_OneByteString, _setAt, OneByteStringSetAt, 468605749) \ |
| 192 V(_OneByteString, _allocate, OneByteString_allocate, 2035417022) \ | 189 V(_OneByteString, _allocate, OneByteString_allocate, 2035417022) \ |
| 193 V(_OneByteString, ==, OneByteString_equality, 1727047023) \ | 190 V(_OneByteString, ==, OneByteString_equality, 1727047023) \ |
| 194 V(_TwoByteString, ==, TwoByteString_equality, 951149689) \ | 191 V(_TwoByteString, ==, TwoByteString_equality, 951149689) \ |
| 195 | 192 |
| 196 | 193 |
| 197 #define CORE_INTEGER_LIB_INTRINSIC_LIST(V) \ | 194 #define CORE_INTEGER_LIB_INTRINSIC_LIST(V) \ |
| (...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 385 static Kind RecognizeKind(const Function& function); | 382 static Kind RecognizeKind(const Function& function); |
| 386 static bool AlwaysInline(const Function& function); | 383 static bool AlwaysInline(const Function& function); |
| 387 static bool PolymorphicTarget(const Function& function); | 384 static bool PolymorphicTarget(const Function& function); |
| 388 static const char* KindToCString(Kind kind); | 385 static const char* KindToCString(Kind kind); |
| 389 static void InitializeState(); | 386 static void InitializeState(); |
| 390 }; | 387 }; |
| 391 | 388 |
| 392 } // namespace dart | 389 } // namespace dart |
| 393 | 390 |
| 394 #endif // VM_METHOD_RECOGNIZER_H_ | 391 #endif // VM_METHOD_RECOGNIZER_H_ |
| OLD | NEW |