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, 1105348911) \ | 148 V(_Float64x2Array, []=, Float64x2ArraySetIndexed, 1105348911) \ |
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, 855560832) \ | 158 V(_Bigint, set:_neg, Bigint_setNeg, 1924982939) \ |
159 V(_Bigint, set:_used, Bigint_setUsed, 1792932615) \ | 159 V(_Bigint, set:_used, Bigint_setUsed, 1574448752) \ |
160 V(_Bigint, _set_digits, Bigint_setDigits, 178162491) \ | 160 V(_Bigint, _set_digits, Bigint_setDigits, 1865626071) \ |
161 V(_Bigint, _absAdd, Bigint_absAdd, 97148049) \ | 161 V(_Bigint, _absAdd, Bigint_absAdd, 97148049) \ |
162 V(_Bigint, _absSub, Bigint_absSub, 159012285) \ | 162 V(_Bigint, _absSub, Bigint_absSub, 159012285) \ |
163 V(_Bigint, _mulAdd, Bigint_mulAdd, 101252203) \ | 163 V(_Bigint, _mulAdd, Bigint_mulAdd, 101252203) \ |
164 V(_Bigint, _sqrAdd, Bigint_sqrAdd, 1684445648) \ | 164 V(_Bigint, _sqrAdd, Bigint_sqrAdd, 1684445648) \ |
165 V(_Bigint, _estQuotientDigit, Bigint_estQuotientDigit, 649845040) \ | 165 V(_Bigint, _estQuotientDigit, Bigint_estQuotientDigit, 649845040) \ |
166 V(_Montgomery, _mulMod, Montgomery_mulMod, 1551846228) \ | 166 V(_Montgomery, _mulMod, Montgomery_mulMod, 1551846228) \ |
167 V(_Double, >, Double_greaterThan, 1538121903) \ | 167 V(_Double, >, Double_greaterThan, 1538121903) \ |
168 V(_Double, >=, Double_greaterEqualThan, 1058495718) \ | 168 V(_Double, >=, Double_greaterEqualThan, 1058495718) \ |
169 V(_Double, <, Double_lessThan, 62910596) \ | 169 V(_Double, <, Double_lessThan, 62910596) \ |
170 V(_Double, <=, Double_lessEqualThan, 1902937798) \ | 170 V(_Double, <=, Double_lessEqualThan, 1902937798) \ |
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
367 V(::, exp, MathExp, 1809210829) \ | 367 V(::, exp, MathExp, 1809210829) \ |
368 V(::, log, MathLog, 1620336448) \ | 368 V(::, log, MathLog, 1620336448) \ |
369 V(::, max, MathMax, 989552054) \ | 369 V(::, max, MathMax, 989552054) \ |
370 V(::, min, MathMin, 214919172) \ | 370 V(::, min, MathMin, 214919172) \ |
371 V(::, pow, MathPow, 1381728863) \ | 371 V(::, pow, MathPow, 1381728863) \ |
372 V(::, sin, MathSin, 1741396147) \ | 372 V(::, sin, MathSin, 1741396147) \ |
373 V(::, sqrt, MathSqrt, 101545548) \ | 373 V(::, sqrt, MathSqrt, 101545548) \ |
374 V(::, tan, MathTan, 982072809) \ | 374 V(::, tan, MathTan, 982072809) \ |
375 V(Lists, copy, ListsCopy, 605584668) \ | 375 V(Lists, copy, ListsCopy, 605584668) \ |
376 V(_Bigint, get:_neg, Bigint_getNeg, 1151543890) \ | 376 V(_Bigint, get:_neg, Bigint_getNeg, 1151543890) \ |
| 377 V(_Bigint, set:_neg, Bigint_setNeg, 1924982939) \ |
377 V(_Bigint, get:_used, Bigint_getUsed, 1308559334) \ | 378 V(_Bigint, get:_used, Bigint_getUsed, 1308559334) \ |
| 379 V(_Bigint, set:_used, Bigint_setUsed, 1574448752) \ |
378 V(_Bigint, get:_digits, Bigint_getDigits, 1408092463) \ | 380 V(_Bigint, get:_digits, Bigint_getDigits, 1408092463) \ |
379 V(_Bigint, set:_digits, Bigint_setDigits, 1625268649) \ | 381 V(_Bigint, set:_digits, Bigint_setDigits, 1625268649) \ |
| 382 V(_Bigint, _set_digits, Bigint_setDigits, 1865626071) \ |
380 | 383 |
381 // A list of core function that should never be inlined. | 384 // A list of core function that should never be inlined. |
382 #define INLINE_BLACK_LIST(V) \ | 385 #define INLINE_BLACK_LIST(V) \ |
383 V(_Bigint, _absAdd, Bigint_absAdd, 97148049) \ | 386 V(_Bigint, _absAdd, Bigint_absAdd, 97148049) \ |
384 V(_Bigint, _absSub, Bigint_absSub, 159012285) \ | 387 V(_Bigint, _absSub, Bigint_absSub, 159012285) \ |
385 V(_Bigint, _mulAdd, Bigint_mulAdd, 101252203) \ | 388 V(_Bigint, _mulAdd, Bigint_mulAdd, 101252203) \ |
386 V(_Bigint, _sqrAdd, Bigint_sqrAdd, 1684445648) \ | 389 V(_Bigint, _sqrAdd, Bigint_sqrAdd, 1684445648) \ |
387 V(_Bigint, _estQuotientDigit, Bigint_estQuotientDigit, 649845040) \ | 390 V(_Bigint, _estQuotientDigit, Bigint_estQuotientDigit, 649845040) \ |
388 V(_Montgomery, _mulMod, Montgomery_mulMod, 1551846228) \ | 391 V(_Montgomery, _mulMod, Montgomery_mulMod, 1551846228) \ |
389 | 392 |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
431 static Kind RecognizeKind(const Function& function); | 434 static Kind RecognizeKind(const Function& function); |
432 static bool AlwaysInline(const Function& function); | 435 static bool AlwaysInline(const Function& function); |
433 static bool PolymorphicTarget(const Function& function); | 436 static bool PolymorphicTarget(const Function& function); |
434 static const char* KindToCString(Kind kind); | 437 static const char* KindToCString(Kind kind); |
435 static void InitializeState(); | 438 static void InitializeState(); |
436 }; | 439 }; |
437 | 440 |
438 } // namespace dart | 441 } // namespace dart |
439 | 442 |
440 #endif // VM_METHOD_RECOGNIZER_H_ | 443 #endif // VM_METHOD_RECOGNIZER_H_ |
OLD | NEW |