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 { |
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
148 V(_Float64x2Array, []=, Float64x2ArraySetIndexed, 1277140175) \ | 148 V(_Float64x2Array, []=, Float64x2ArraySetIndexed, 1277140175) \ |
149 V(_Bigint, get:_neg, Bigint_getNeg, 1151543890) \ | 149 V(_Bigint, get:_neg, Bigint_getNeg, 1151543890) \ |
150 V(_Bigint, get:_used, Bigint_getUsed, 1308559334) \ | 150 V(_Bigint, get:_used, Bigint_getUsed, 1308559334) \ |
151 V(_Bigint, get:_digits, Bigint_getDigits, 1408092463) \ | 151 V(_Bigint, get:_digits, Bigint_getDigits, 1408092463) \ |
152 | 152 |
153 // List of intrinsics: | 153 // List of intrinsics: |
154 // (class-name, function-name, intrinsification method, fingerprint). | 154 // (class-name, function-name, intrinsification method, fingerprint). |
155 #define CORE_LIB_INTRINSIC_LIST(V) \ | 155 #define CORE_LIB_INTRINSIC_LIST(V) \ |
156 V(_Smi, ~, Smi_bitNegate, 134149043) \ | 156 V(_Smi, ~, Smi_bitNegate, 134149043) \ |
157 V(_Smi, get:bitLength, Smi_bitLength, 869986288) \ | 157 V(_Smi, get:bitLength, Smi_bitLength, 869986288) \ |
158 V(_Bigint, set:_neg, Bigint_setNeg, 1924982939) \ | 158 V(_Bigint, _absAdd, Bigint_absAdd, 222437051) \ |
159 V(_Bigint, set:_used, Bigint_setUsed, 1574448752) \ | 159 V(_Bigint, _absSub, Bigint_absSub, 599465997) \ |
160 V(_Bigint, set:_digits, Bigint_setDigits, 1109140916) \ | 160 V(_Bigint, _mulAdd, Bigint_mulAdd, 1696801459) \ |
161 V(_Bigint, _absAdd, Bigint_absAdd, 97148049) \ | 161 V(_Bigint, _sqrAdd, Bigint_sqrAdd, 1937424317) \ |
162 V(_Bigint, _absSub, Bigint_absSub, 159012285) \ | 162 V(_Bigint, _estQuotientDigit, Bigint_estQuotientDigit, 1873913198) \ |
163 V(_Bigint, _mulAdd, Bigint_mulAdd, 1625285265) \ | 163 V(_Montgomery, _mulMod, Montgomery_mulMod, 2040316431) \ |
164 V(_Bigint, _sqrAdd, Bigint_sqrAdd, 56442243) \ | |
165 V(_Bigint, _estQuotientDigit, Bigint_estQuotientDigit, 1844507489) \ | |
166 V(_Montgomery, _mulMod, Montgomery_mulMod, 1004817085) \ | |
167 V(_Double, >, Double_greaterThan, 1538121903) \ | 164 V(_Double, >, Double_greaterThan, 1538121903) \ |
168 V(_Double, >=, Double_greaterEqualThan, 1058495718) \ | 165 V(_Double, >=, Double_greaterEqualThan, 1058495718) \ |
169 V(_Double, <, Double_lessThan, 62910596) \ | 166 V(_Double, <, Double_lessThan, 62910596) \ |
170 V(_Double, <=, Double_lessEqualThan, 1902937798) \ | 167 V(_Double, <=, Double_lessEqualThan, 1902937798) \ |
171 V(_Double, ==, Double_equal, 793601203) \ | 168 V(_Double, ==, Double_equal, 793601203) \ |
172 V(_Double, +, Double_add, 655662995) \ | 169 V(_Double, +, Double_add, 655662995) \ |
173 V(_Double, -, Double_sub, 486771820) \ | 170 V(_Double, -, Double_sub, 486771820) \ |
174 V(_Double, *, Double_mul, 343893321) \ | 171 V(_Double, *, Double_mul, 343893321) \ |
175 V(_Double, /, Double_div, 947349699) \ | 172 V(_Double, /, Double_div, 947349699) \ |
176 V(_Double, get:isNaN, Double_getIsNaN, 843079824) \ | 173 V(_Double, get:isNaN, Double_getIsNaN, 843079824) \ |
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
390 V(::, exp, MathExp, 1809210829) \ | 387 V(::, exp, MathExp, 1809210829) \ |
391 V(::, log, MathLog, 1620336448) \ | 388 V(::, log, MathLog, 1620336448) \ |
392 V(::, max, MathMax, 989552054) \ | 389 V(::, max, MathMax, 989552054) \ |
393 V(::, min, MathMin, 214919172) \ | 390 V(::, min, MathMin, 214919172) \ |
394 V(::, pow, MathPow, 1381728863) \ | 391 V(::, pow, MathPow, 1381728863) \ |
395 V(::, sin, MathSin, 1741396147) \ | 392 V(::, sin, MathSin, 1741396147) \ |
396 V(::, sqrt, MathSqrt, 101545548) \ | 393 V(::, sqrt, MathSqrt, 101545548) \ |
397 V(::, tan, MathTan, 982072809) \ | 394 V(::, tan, MathTan, 982072809) \ |
398 V(Lists, copy, ListsCopy, 605584668) \ | 395 V(Lists, copy, ListsCopy, 605584668) \ |
399 V(_Bigint, get:_neg, Bigint_getNeg, 1151543890) \ | 396 V(_Bigint, get:_neg, Bigint_getNeg, 1151543890) \ |
400 V(_Bigint, set:_neg, Bigint_setNeg, 1924982939) \ | |
401 V(_Bigint, get:_used, Bigint_getUsed, 1308559334) \ | 397 V(_Bigint, get:_used, Bigint_getUsed, 1308559334) \ |
402 V(_Bigint, set:_used, Bigint_setUsed, 1574448752) \ | |
403 V(_Bigint, get:_digits, Bigint_getDigits, 1408092463) \ | 398 V(_Bigint, get:_digits, Bigint_getDigits, 1408092463) \ |
404 V(_Bigint, set:_digits, Bigint_setDigits, 1109140916) \ | |
405 | 399 |
406 // A list of core function that should never be inlined. | 400 // A list of core function that should never be inlined. |
407 #define INLINE_BLACK_LIST(V) \ | 401 #define INLINE_BLACK_LIST(V) \ |
408 V(_Bigint, _absAdd, Bigint_absAdd, 97148049) \ | 402 V(_Bigint, _absAdd, Bigint_absAdd, 222437051) \ |
409 V(_Bigint, _absSub, Bigint_absSub, 159012285) \ | 403 V(_Bigint, _absSub, Bigint_absSub, 599465997) \ |
410 V(_Bigint, _mulAdd, Bigint_mulAdd, 1625285265) \ | 404 V(_Bigint, _mulAdd, Bigint_mulAdd, 1696801459) \ |
411 V(_Bigint, _sqrAdd, Bigint_sqrAdd, 56442243) \ | 405 V(_Bigint, _sqrAdd, Bigint_sqrAdd, 1937424317) \ |
412 V(_Bigint, _estQuotientDigit, Bigint_estQuotientDigit, 1844507489) \ | 406 V(_Bigint, _estQuotientDigit, Bigint_estQuotientDigit, 1873913198) \ |
413 V(_Montgomery, _mulMod, Montgomery_mulMod, 1004817085) \ | 407 V(_Montgomery, _mulMod, Montgomery_mulMod, 2040316431) \ |
414 | 408 |
415 // A list of core functions that internally dispatch based on received id. | 409 // A list of core functions that internally dispatch based on received id. |
416 #define POLYMORPHIC_TARGET_LIST(V) \ | 410 #define POLYMORPHIC_TARGET_LIST(V) \ |
417 V(_StringBase, [], StringBaseCharAt, 1107537364) \ | 411 V(_StringBase, [], StringBaseCharAt, 1107537364) \ |
418 V(_StringBase, codeUnitAt, StringBaseCodeUnitAt, 397735324) \ | 412 V(_StringBase, codeUnitAt, StringBaseCodeUnitAt, 397735324) \ |
419 V(_TypedList, _getInt8, ByteArrayBaseGetInt8, 1541411498) \ | 413 V(_TypedList, _getInt8, ByteArrayBaseGetInt8, 1541411498) \ |
420 V(_TypedList, _getUint8, ByteArrayBaseGetUint8, 1032404349) \ | 414 V(_TypedList, _getUint8, ByteArrayBaseGetUint8, 1032404349) \ |
421 V(_TypedList, _getInt16, ByteArrayBaseGetInt16, 381073990) \ | 415 V(_TypedList, _getInt16, ByteArrayBaseGetInt16, 381073990) \ |
422 V(_TypedList, _getUint16, ByteArrayBaseGetUint16, 1142676276) \ | 416 V(_TypedList, _getUint16, ByteArrayBaseGetUint16, 1142676276) \ |
423 V(_TypedList, _getInt32, ByteArrayBaseGetInt32, 330269934) \ | 417 V(_TypedList, _getInt32, ByteArrayBaseGetInt32, 330269934) \ |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
464 #define CHECK_FINGERPRINT2(f, p0, p1, fp) \ | 458 #define CHECK_FINGERPRINT2(f, p0, p1, fp) \ |
465 ASSERT(f.CheckSourceFingerprint(#p0 ", " #p1, fp)) | 459 ASSERT(f.CheckSourceFingerprint(#p0 ", " #p1, fp)) |
466 | 460 |
467 #define CHECK_FINGERPRINT3(f, p0, p1, p2, fp) \ | 461 #define CHECK_FINGERPRINT3(f, p0, p1, p2, fp) \ |
468 ASSERT(f.CheckSourceFingerprint(#p0 ", " #p1 ", " #p2, fp)) | 462 ASSERT(f.CheckSourceFingerprint(#p0 ", " #p1 ", " #p2, fp)) |
469 | 463 |
470 | 464 |
471 } // namespace dart | 465 } // namespace dart |
472 | 466 |
473 #endif // VM_METHOD_RECOGNIZER_H_ | 467 #endif // VM_METHOD_RECOGNIZER_H_ |
OLD | NEW |