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

Side by Side Diff: src/x64/macro-assembler-x64.h

Issue 1641083003: [builtins] Make Math.max and Math.min fast by default. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: SKIP unrelated ignition failures. Created 4 years, 10 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
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef V8_X64_MACRO_ASSEMBLER_X64_H_ 5 #ifndef V8_X64_MACRO_ASSEMBLER_X64_H_
6 #define V8_X64_MACRO_ASSEMBLER_X64_H_ 6 #define V8_X64_MACRO_ASSEMBLER_X64_H_
7 7
8 #include "src/assembler.h" 8 #include "src/assembler.h"
9 #include "src/bailout-reason.h" 9 #include "src/bailout-reason.h"
10 #include "src/base/flags.h" 10 #include "src/base/flags.h"
(...skipping 409 matching lines...) Expand 10 before | Expand all | Expand 10 after
420 420
421 // Convert smi to 32-bit integer. I.e., not sign extended into 421 // Convert smi to 32-bit integer. I.e., not sign extended into
422 // high 32 bits of destination. 422 // high 32 bits of destination.
423 void SmiToInteger32(Register dst, Register src); 423 void SmiToInteger32(Register dst, Register src);
424 void SmiToInteger32(Register dst, const Operand& src); 424 void SmiToInteger32(Register dst, const Operand& src);
425 425
426 // Convert smi to 64-bit integer (sign extended if necessary). 426 // Convert smi to 64-bit integer (sign extended if necessary).
427 void SmiToInteger64(Register dst, Register src); 427 void SmiToInteger64(Register dst, Register src);
428 void SmiToInteger64(Register dst, const Operand& src); 428 void SmiToInteger64(Register dst, const Operand& src);
429 429
430 // Convert smi to double.
431 void SmiToDouble(XMMRegister dst, Register src) {
432 SmiToInteger32(kScratchRegister, src);
433 Cvtlsi2sd(dst, kScratchRegister);
434 }
435
430 // Multiply a positive smi's integer value by a power of two. 436 // Multiply a positive smi's integer value by a power of two.
431 // Provides result as 64-bit integer value. 437 // Provides result as 64-bit integer value.
432 void PositiveSmiTimesPowerOfTwoToInteger64(Register dst, 438 void PositiveSmiTimesPowerOfTwoToInteger64(Register dst,
433 Register src, 439 Register src,
434 int power); 440 int power);
435 441
436 // Divide a positive smi's integer value by a power of two. 442 // Divide a positive smi's integer value by a power of two.
437 // Provides result as 32-bit integer value. 443 // Provides result as 32-bit integer value.
438 void PositiveSmiDivPowerOfTwoToInteger32(Register dst, 444 void PositiveSmiDivPowerOfTwoToInteger32(Register dst,
439 Register src, 445 Register src,
(...skipping 1299 matching lines...) Expand 10 before | Expand all | Expand 10 after
1739 } \ 1745 } \
1740 masm-> 1746 masm->
1741 #else 1747 #else
1742 #define ACCESS_MASM(masm) masm-> 1748 #define ACCESS_MASM(masm) masm->
1743 #endif 1749 #endif
1744 1750
1745 } // namespace internal 1751 } // namespace internal
1746 } // namespace v8 1752 } // namespace v8
1747 1753
1748 #endif // V8_X64_MACRO_ASSEMBLER_X64_H_ 1754 #endif // V8_X64_MACRO_ASSEMBLER_X64_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698