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 643 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
654 break; | 654 break; |
655 case kIeee754Float64Atan2: | 655 case kIeee754Float64Atan2: |
656 ASSEMBLE_IEEE754_BINOP(atan2); | 656 ASSEMBLE_IEEE754_BINOP(atan2); |
657 break; | 657 break; |
658 case kIeee754Float64Cbrt: | 658 case kIeee754Float64Cbrt: |
659 ASSEMBLE_IEEE754_UNOP(cbrt); | 659 ASSEMBLE_IEEE754_UNOP(cbrt); |
660 break; | 660 break; |
661 case kIeee754Float64Cos: | 661 case kIeee754Float64Cos: |
662 ASSEMBLE_IEEE754_UNOP(cos); | 662 ASSEMBLE_IEEE754_UNOP(cos); |
663 break; | 663 break; |
| 664 case kIeee754Float64Cosh: |
| 665 ASSEMBLE_IEEE754_UNOP(cosh); |
| 666 break; |
664 case kIeee754Float64Expm1: | 667 case kIeee754Float64Expm1: |
665 ASSEMBLE_IEEE754_UNOP(expm1); | 668 ASSEMBLE_IEEE754_UNOP(expm1); |
666 break; | 669 break; |
667 case kIeee754Float64Exp: | 670 case kIeee754Float64Exp: |
668 ASSEMBLE_IEEE754_UNOP(exp); | 671 ASSEMBLE_IEEE754_UNOP(exp); |
669 break; | 672 break; |
670 case kIeee754Float64Atanh: | 673 case kIeee754Float64Atanh: |
671 ASSEMBLE_IEEE754_UNOP(atanh); | 674 ASSEMBLE_IEEE754_UNOP(atanh); |
672 break; | 675 break; |
673 case kIeee754Float64Log: | 676 case kIeee754Float64Log: |
(...skipping 19 matching lines...) Expand all Loading... |
693 __ movaps(xmm2, xmm0); | 696 __ movaps(xmm2, xmm0); |
694 } | 697 } |
695 MathPowStub stub(isolate(), MathPowStub::DOUBLE); | 698 MathPowStub stub(isolate(), MathPowStub::DOUBLE); |
696 __ CallStub(&stub); | 699 __ CallStub(&stub); |
697 __ movaps(i.OutputDoubleRegister(), xmm3); | 700 __ movaps(i.OutputDoubleRegister(), xmm3); |
698 break; | 701 break; |
699 } | 702 } |
700 case kIeee754Float64Sin: | 703 case kIeee754Float64Sin: |
701 ASSEMBLE_IEEE754_UNOP(sin); | 704 ASSEMBLE_IEEE754_UNOP(sin); |
702 break; | 705 break; |
| 706 case kIeee754Float64Sinh: |
| 707 ASSEMBLE_IEEE754_UNOP(sinh); |
| 708 break; |
703 case kIeee754Float64Tan: | 709 case kIeee754Float64Tan: |
704 ASSEMBLE_IEEE754_UNOP(tan); | 710 ASSEMBLE_IEEE754_UNOP(tan); |
705 break; | 711 break; |
| 712 case kIeee754Float64Tanh: |
| 713 ASSEMBLE_IEEE754_UNOP(tanh); |
| 714 break; |
706 case kIA32Add: | 715 case kIA32Add: |
707 if (HasImmediateInput(instr, 1)) { | 716 if (HasImmediateInput(instr, 1)) { |
708 __ add(i.InputOperand(0), i.InputImmediate(1)); | 717 __ add(i.InputOperand(0), i.InputImmediate(1)); |
709 } else { | 718 } else { |
710 __ add(i.InputRegister(0), i.InputOperand(1)); | 719 __ add(i.InputRegister(0), i.InputOperand(1)); |
711 } | 720 } |
712 break; | 721 break; |
713 case kIA32And: | 722 case kIA32And: |
714 if (HasImmediateInput(instr, 1)) { | 723 if (HasImmediateInput(instr, 1)) { |
715 __ and_(i.InputOperand(0), i.InputImmediate(1)); | 724 __ and_(i.InputOperand(0), i.InputImmediate(1)); |
(...skipping 1336 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2052 int padding_size = last_lazy_deopt_pc_ + space_needed - current_pc; | 2061 int padding_size = last_lazy_deopt_pc_ + space_needed - current_pc; |
2053 __ Nop(padding_size); | 2062 __ Nop(padding_size); |
2054 } | 2063 } |
2055 } | 2064 } |
2056 | 2065 |
2057 #undef __ | 2066 #undef __ |
2058 | 2067 |
2059 } // namespace compiler | 2068 } // namespace compiler |
2060 } // namespace internal | 2069 } // namespace internal |
2061 } // namespace v8 | 2070 } // namespace v8 |
OLD | NEW |