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, _lsh, Bigint_lsh, 399808874) \ |
| 159 V(_Bigint, _rsh, Bigint_rsh, 1239668932) \ |
158 V(_Bigint, _absAdd, Bigint_absAdd, 222437051) \ | 160 V(_Bigint, _absAdd, Bigint_absAdd, 222437051) \ |
159 V(_Bigint, _absSub, Bigint_absSub, 599465997) \ | 161 V(_Bigint, _absSub, Bigint_absSub, 599465997) \ |
160 V(_Bigint, _mulAdd, Bigint_mulAdd, 1696801459) \ | 162 V(_Bigint, _mulAdd, Bigint_mulAdd, 1696801459) \ |
161 V(_Bigint, _sqrAdd, Bigint_sqrAdd, 1937424317) \ | 163 V(_Bigint, _sqrAdd, Bigint_sqrAdd, 1937424317) \ |
162 V(_Bigint, _estQuotientDigit, Bigint_estQuotientDigit, 1873913198) \ | 164 V(_Bigint, _estQuotientDigit, Bigint_estQuotientDigit, 1873913198) \ |
163 V(_Montgomery, _mulMod, Montgomery_mulMod, 2040316431) \ | 165 V(_Montgomery, _mulMod, Montgomery_mulMod, 2040316431) \ |
164 V(_Double, >, Double_greaterThan, 1538121903) \ | 166 V(_Double, >, Double_greaterThan, 1538121903) \ |
165 V(_Double, >=, Double_greaterEqualThan, 1058495718) \ | 167 V(_Double, >=, Double_greaterEqualThan, 1058495718) \ |
166 V(_Double, <, Double_lessThan, 62910596) \ | 168 V(_Double, <, Double_lessThan, 62910596) \ |
167 V(_Double, <=, Double_lessEqualThan, 1902937798) \ | 169 V(_Double, <=, Double_lessEqualThan, 1902937798) \ |
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
392 V(::, sin, MathSin, 1741396147) \ | 394 V(::, sin, MathSin, 1741396147) \ |
393 V(::, sqrt, MathSqrt, 101545548) \ | 395 V(::, sqrt, MathSqrt, 101545548) \ |
394 V(::, tan, MathTan, 982072809) \ | 396 V(::, tan, MathTan, 982072809) \ |
395 V(Lists, copy, ListsCopy, 605584668) \ | 397 V(Lists, copy, ListsCopy, 605584668) \ |
396 V(_Bigint, get:_neg, Bigint_getNeg, 1151543890) \ | 398 V(_Bigint, get:_neg, Bigint_getNeg, 1151543890) \ |
397 V(_Bigint, get:_used, Bigint_getUsed, 1308559334) \ | 399 V(_Bigint, get:_used, Bigint_getUsed, 1308559334) \ |
398 V(_Bigint, get:_digits, Bigint_getDigits, 1408092463) \ | 400 V(_Bigint, get:_digits, Bigint_getDigits, 1408092463) \ |
399 | 401 |
400 // A list of core function that should never be inlined. | 402 // A list of core function that should never be inlined. |
401 #define INLINE_BLACK_LIST(V) \ | 403 #define INLINE_BLACK_LIST(V) \ |
| 404 V(_Bigint, _lsh, Bigint_lsh, 399808874) \ |
| 405 V(_Bigint, _rsh, Bigint_rsh, 1239668932) \ |
402 V(_Bigint, _absAdd, Bigint_absAdd, 222437051) \ | 406 V(_Bigint, _absAdd, Bigint_absAdd, 222437051) \ |
403 V(_Bigint, _absSub, Bigint_absSub, 599465997) \ | 407 V(_Bigint, _absSub, Bigint_absSub, 599465997) \ |
404 V(_Bigint, _mulAdd, Bigint_mulAdd, 1696801459) \ | 408 V(_Bigint, _mulAdd, Bigint_mulAdd, 1696801459) \ |
405 V(_Bigint, _sqrAdd, Bigint_sqrAdd, 1937424317) \ | 409 V(_Bigint, _sqrAdd, Bigint_sqrAdd, 1937424317) \ |
406 V(_Bigint, _estQuotientDigit, Bigint_estQuotientDigit, 1873913198) \ | 410 V(_Bigint, _estQuotientDigit, Bigint_estQuotientDigit, 1873913198) \ |
407 V(_Montgomery, _mulMod, Montgomery_mulMod, 2040316431) \ | 411 V(_Montgomery, _mulMod, Montgomery_mulMod, 2040316431) \ |
408 | 412 |
409 // A list of core functions that internally dispatch based on received id. | 413 // A list of core functions that internally dispatch based on received id. |
410 #define POLYMORPHIC_TARGET_LIST(V) \ | 414 #define POLYMORPHIC_TARGET_LIST(V) \ |
411 V(_StringBase, [], StringBaseCharAt, 1107537364) \ | 415 V(_StringBase, [], StringBaseCharAt, 1107537364) \ |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
458 #define CHECK_FINGERPRINT2(f, p0, p1, fp) \ | 462 #define CHECK_FINGERPRINT2(f, p0, p1, fp) \ |
459 ASSERT(f.CheckSourceFingerprint(#p0 ", " #p1, fp)) | 463 ASSERT(f.CheckSourceFingerprint(#p0 ", " #p1, fp)) |
460 | 464 |
461 #define CHECK_FINGERPRINT3(f, p0, p1, p2, fp) \ | 465 #define CHECK_FINGERPRINT3(f, p0, p1, p2, fp) \ |
462 ASSERT(f.CheckSourceFingerprint(#p0 ", " #p1 ", " #p2, fp)) | 466 ASSERT(f.CheckSourceFingerprint(#p0 ", " #p1 ", " #p2, fp)) |
463 | 467 |
464 | 468 |
465 } // namespace dart | 469 } // namespace dart |
466 | 470 |
467 #endif // VM_METHOD_RECOGNIZER_H_ | 471 #endif // VM_METHOD_RECOGNIZER_H_ |
OLD | NEW |