| 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 |