Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(124)

Side by Side Diff: runtime/vm/method_recognizer.h

Issue 1049933002: Implement bigint shift intrinsics on x64. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « runtime/vm/intrinsifier_x64.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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_
OLDNEW
« no previous file with comments | « runtime/vm/intrinsifier_x64.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698