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 637 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
648 } | 648 } |
649 __ lea(i.OutputRegister(), Operand(base, offset.offset())); | 649 __ lea(i.OutputRegister(), Operand(base, offset.offset())); |
650 break; | 650 break; |
651 } | 651 } |
652 case kIeee754Float64Atan: | 652 case kIeee754Float64Atan: |
653 ASSEMBLE_IEEE754_UNOP(atan); | 653 ASSEMBLE_IEEE754_UNOP(atan); |
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: |
| 659 ASSEMBLE_IEEE754_UNOP(cbrt); |
| 660 break; |
| 661 case kIeee754Float64Cos: |
| 662 ASSEMBLE_IEEE754_UNOP(cos); |
| 663 break; |
| 664 case kIeee754Float64Expm1: |
| 665 ASSEMBLE_IEEE754_UNOP(expm1); |
| 666 break; |
658 case kIeee754Float64Exp: | 667 case kIeee754Float64Exp: |
659 ASSEMBLE_IEEE754_UNOP(exp); | 668 ASSEMBLE_IEEE754_UNOP(exp); |
660 break; | 669 break; |
661 case kIeee754Float64Atanh: | 670 case kIeee754Float64Atanh: |
662 ASSEMBLE_IEEE754_UNOP(atanh); | 671 ASSEMBLE_IEEE754_UNOP(atanh); |
663 break; | 672 break; |
664 case kIeee754Float64Log: | 673 case kIeee754Float64Log: |
665 ASSEMBLE_IEEE754_UNOP(log); | 674 ASSEMBLE_IEEE754_UNOP(log); |
666 break; | 675 break; |
667 case kIeee754Float64Log1p: | 676 case kIeee754Float64Log1p: |
668 ASSEMBLE_IEEE754_UNOP(log1p); | 677 ASSEMBLE_IEEE754_UNOP(log1p); |
669 break; | 678 break; |
670 case kIeee754Float64Log2: | 679 case kIeee754Float64Log2: |
671 ASSEMBLE_IEEE754_UNOP(log2); | 680 ASSEMBLE_IEEE754_UNOP(log2); |
672 break; | 681 break; |
673 case kIeee754Float64Log10: | 682 case kIeee754Float64Log10: |
674 ASSEMBLE_IEEE754_UNOP(log10); | 683 ASSEMBLE_IEEE754_UNOP(log10); |
675 break; | 684 break; |
676 case kIeee754Float64Cbrt: | 685 case kIeee754Float64Sin: |
677 ASSEMBLE_IEEE754_UNOP(cbrt); | 686 ASSEMBLE_IEEE754_UNOP(sin); |
678 break; | |
679 case kIeee754Float64Expm1: | |
680 ASSEMBLE_IEEE754_UNOP(expm1); | |
681 break; | 687 break; |
682 case kIA32Add: | 688 case kIA32Add: |
683 if (HasImmediateInput(instr, 1)) { | 689 if (HasImmediateInput(instr, 1)) { |
684 __ add(i.InputOperand(0), i.InputImmediate(1)); | 690 __ add(i.InputOperand(0), i.InputImmediate(1)); |
685 } else { | 691 } else { |
686 __ add(i.InputRegister(0), i.InputOperand(1)); | 692 __ add(i.InputRegister(0), i.InputOperand(1)); |
687 } | 693 } |
688 break; | 694 break; |
689 case kIA32And: | 695 case kIA32And: |
690 if (HasImmediateInput(instr, 1)) { | 696 if (HasImmediateInput(instr, 1)) { |
(...skipping 1337 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2028 int padding_size = last_lazy_deopt_pc_ + space_needed - current_pc; | 2034 int padding_size = last_lazy_deopt_pc_ + space_needed - current_pc; |
2029 __ Nop(padding_size); | 2035 __ Nop(padding_size); |
2030 } | 2036 } |
2031 } | 2037 } |
2032 | 2038 |
2033 #undef __ | 2039 #undef __ |
2034 | 2040 |
2035 } // namespace compiler | 2041 } // namespace compiler |
2036 } // namespace internal | 2042 } // namespace internal |
2037 } // namespace v8 | 2043 } // namespace v8 |
OLD | NEW |