OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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/compiler/code-generator.h" | 5 #include "src/compiler/code-generator.h" |
6 | 6 |
7 #include "src/ast/scopes.h" | 7 #include "src/ast/scopes.h" |
8 #include "src/compiler/code-generator-impl.h" | 8 #include "src/compiler/code-generator-impl.h" |
9 #include "src/compiler/gap-resolver.h" | 9 #include "src/compiler/gap-resolver.h" |
10 #include "src/compiler/node-matchers.h" | 10 #include "src/compiler/node-matchers.h" |
(...skipping 730 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
741 frame_access_state()->GetFrameOffset(i.InputInt32(0)); | 741 frame_access_state()->GetFrameOffset(i.InputInt32(0)); |
742 Register base; | 742 Register base; |
743 if (offset.from_stack_pointer()) { | 743 if (offset.from_stack_pointer()) { |
744 base = esp; | 744 base = esp; |
745 } else { | 745 } else { |
746 base = ebp; | 746 base = ebp; |
747 } | 747 } |
748 __ lea(i.OutputRegister(), Operand(base, offset.offset())); | 748 __ lea(i.OutputRegister(), Operand(base, offset.offset())); |
749 break; | 749 break; |
750 } | 750 } |
| 751 case kIeee754Float64Acos: |
| 752 ASSEMBLE_IEEE754_UNOP(acos); |
| 753 break; |
| 754 case kIeee754Float64Acosh: |
| 755 ASSEMBLE_IEEE754_UNOP(acosh); |
| 756 break; |
| 757 case kIeee754Float64Asin: |
| 758 ASSEMBLE_IEEE754_UNOP(asin); |
| 759 break; |
| 760 case kIeee754Float64Asinh: |
| 761 ASSEMBLE_IEEE754_UNOP(asinh); |
| 762 break; |
751 case kIeee754Float64Atan: | 763 case kIeee754Float64Atan: |
752 ASSEMBLE_IEEE754_UNOP(atan); | 764 ASSEMBLE_IEEE754_UNOP(atan); |
753 break; | 765 break; |
| 766 case kIeee754Float64Atanh: |
| 767 ASSEMBLE_IEEE754_UNOP(atanh); |
| 768 break; |
754 case kIeee754Float64Atan2: | 769 case kIeee754Float64Atan2: |
755 ASSEMBLE_IEEE754_BINOP(atan2); | 770 ASSEMBLE_IEEE754_BINOP(atan2); |
756 break; | 771 break; |
757 case kIeee754Float64Cbrt: | 772 case kIeee754Float64Cbrt: |
758 ASSEMBLE_IEEE754_UNOP(cbrt); | 773 ASSEMBLE_IEEE754_UNOP(cbrt); |
759 break; | 774 break; |
760 case kIeee754Float64Cos: | 775 case kIeee754Float64Cos: |
761 __ X87SetFPUCW(0x027F); | 776 __ X87SetFPUCW(0x027F); |
762 ASSEMBLE_IEEE754_UNOP(cos); | 777 ASSEMBLE_IEEE754_UNOP(cos); |
763 __ X87SetFPUCW(0x037F); | 778 __ X87SetFPUCW(0x037F); |
764 break; | 779 break; |
765 case kIeee754Float64Cosh: | 780 case kIeee754Float64Cosh: |
766 ASSEMBLE_IEEE754_UNOP(cosh); | 781 ASSEMBLE_IEEE754_UNOP(cosh); |
767 break; | 782 break; |
768 case kIeee754Float64Expm1: | 783 case kIeee754Float64Expm1: |
769 __ X87SetFPUCW(0x027F); | 784 __ X87SetFPUCW(0x027F); |
770 ASSEMBLE_IEEE754_UNOP(expm1); | 785 ASSEMBLE_IEEE754_UNOP(expm1); |
771 __ X87SetFPUCW(0x037F); | 786 __ X87SetFPUCW(0x037F); |
772 break; | 787 break; |
773 case kIeee754Float64Exp: | 788 case kIeee754Float64Exp: |
774 ASSEMBLE_IEEE754_UNOP(exp); | 789 ASSEMBLE_IEEE754_UNOP(exp); |
775 break; | 790 break; |
776 case kIeee754Float64Atanh: | |
777 ASSEMBLE_IEEE754_UNOP(atanh); | |
778 break; | |
779 case kIeee754Float64Log: | 791 case kIeee754Float64Log: |
780 ASSEMBLE_IEEE754_UNOP(log); | 792 ASSEMBLE_IEEE754_UNOP(log); |
781 break; | 793 break; |
782 case kIeee754Float64Log1p: | 794 case kIeee754Float64Log1p: |
783 ASSEMBLE_IEEE754_UNOP(log1p); | 795 ASSEMBLE_IEEE754_UNOP(log1p); |
784 break; | 796 break; |
785 case kIeee754Float64Log2: | 797 case kIeee754Float64Log2: |
786 ASSEMBLE_IEEE754_UNOP(log2); | 798 ASSEMBLE_IEEE754_UNOP(log2); |
787 break; | 799 break; |
788 case kIeee754Float64Log10: | 800 case kIeee754Float64Log10: |
(...skipping 1850 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2639 int padding_size = last_lazy_deopt_pc_ + space_needed - current_pc; | 2651 int padding_size = last_lazy_deopt_pc_ + space_needed - current_pc; |
2640 __ Nop(padding_size); | 2652 __ Nop(padding_size); |
2641 } | 2653 } |
2642 } | 2654 } |
2643 | 2655 |
2644 #undef __ | 2656 #undef __ |
2645 | 2657 |
2646 } // namespace compiler | 2658 } // namespace compiler |
2647 } // namespace internal | 2659 } // namespace internal |
2648 } // namespace v8 | 2660 } // namespace v8 |
OLD | NEW |