OLD | NEW |
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 #include "src/x64/codegen-x64.h" | 5 #include "src/x64/codegen-x64.h" |
6 | 6 |
7 #if V8_TARGET_ARCH_X64 | 7 #if V8_TARGET_ARCH_X64 |
8 | 8 |
9 #include "src/codegen.h" | 9 #include "src/codegen.h" |
10 #include "src/macro-assembler.h" | 10 #include "src/macro-assembler.h" |
(...skipping 626 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
637 __ Subsd(result, double_scratch); | 637 __ Subsd(result, double_scratch); |
638 __ Addsd(result, Operand(kScratchRegister, 8 * kDoubleSize)); | 638 __ Addsd(result, Operand(kScratchRegister, 8 * kDoubleSize)); |
639 __ Mulsd(result, input); | 639 __ Mulsd(result, input); |
640 | 640 |
641 __ bind(&done); | 641 __ bind(&done); |
642 } | 642 } |
643 | 643 |
644 #undef __ | 644 #undef __ |
645 | 645 |
646 | 646 |
647 CodeAgingHelper::CodeAgingHelper() { | 647 CodeAgingHelper::CodeAgingHelper(Isolate* isolate) { |
| 648 USE(isolate); |
648 DCHECK(young_sequence_.length() == kNoCodeAgeSequenceLength); | 649 DCHECK(young_sequence_.length() == kNoCodeAgeSequenceLength); |
649 // The sequence of instructions that is patched out for aging code is the | 650 // The sequence of instructions that is patched out for aging code is the |
650 // following boilerplate stack-building prologue that is found both in | 651 // following boilerplate stack-building prologue that is found both in |
651 // FUNCTION and OPTIMIZED_FUNCTION code: | 652 // FUNCTION and OPTIMIZED_FUNCTION code: |
652 CodePatcher patcher(young_sequence_.start(), young_sequence_.length()); | 653 CodePatcher patcher(young_sequence_.start(), young_sequence_.length()); |
653 patcher.masm()->pushq(rbp); | 654 patcher.masm()->pushq(rbp); |
654 patcher.masm()->movp(rbp, rsp); | 655 patcher.masm()->movp(rbp, rsp); |
655 patcher.masm()->Push(rsi); | 656 patcher.masm()->Push(rsi); |
656 patcher.masm()->Push(rdi); | 657 patcher.masm()->Push(rdi); |
657 } | 658 } |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
722 return Operand(base_reg_, argument_count_reg_, times_pointer_size, | 723 return Operand(base_reg_, argument_count_reg_, times_pointer_size, |
723 displacement_to_last_argument + (receiver - 1 - index) * kPointerSize); | 724 displacement_to_last_argument + (receiver - 1 - index) * kPointerSize); |
724 } | 725 } |
725 } | 726 } |
726 | 727 |
727 | 728 |
728 } // namespace internal | 729 } // namespace internal |
729 } // namespace v8 | 730 } // namespace v8 |
730 | 731 |
731 #endif // V8_TARGET_ARCH_X64 | 732 #endif // V8_TARGET_ARCH_X64 |
OLD | NEW |