OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 113 matching lines...) Loading... |
124 V(LoadFieldByIndex) \ | 124 V(LoadFieldByIndex) \ |
125 V(LoadFunctionPrototype) \ | 125 V(LoadFunctionPrototype) \ |
126 V(LoadGlobalCell) \ | 126 V(LoadGlobalCell) \ |
127 V(LoadGlobalGeneric) \ | 127 V(LoadGlobalGeneric) \ |
128 V(LoadKeyed) \ | 128 V(LoadKeyed) \ |
129 V(LoadKeyedGeneric) \ | 129 V(LoadKeyedGeneric) \ |
130 V(LoadNamedField) \ | 130 V(LoadNamedField) \ |
131 V(LoadNamedGeneric) \ | 131 V(LoadNamedGeneric) \ |
132 V(MapEnumLength) \ | 132 V(MapEnumLength) \ |
133 V(MathAbs) \ | 133 V(MathAbs) \ |
134 V(MathCos) \ | |
135 V(MathExp) \ | 134 V(MathExp) \ |
136 V(MathFloor) \ | 135 V(MathFloor) \ |
137 V(MathFloorOfDiv) \ | 136 V(MathFloorOfDiv) \ |
138 V(MathLog) \ | 137 V(MathLog) \ |
139 V(MathMinMax) \ | 138 V(MathMinMax) \ |
140 V(MathPowHalf) \ | 139 V(MathPowHalf) \ |
141 V(MathRound) \ | 140 V(MathRound) \ |
142 V(MathSin) \ | |
143 V(MathSqrt) \ | 141 V(MathSqrt) \ |
144 V(MathTan) \ | |
145 V(ModI) \ | 142 V(ModI) \ |
146 V(MulI) \ | 143 V(MulI) \ |
147 V(NumberTagD) \ | 144 V(NumberTagD) \ |
148 V(NumberTagI) \ | 145 V(NumberTagI) \ |
149 V(NumberTagU) \ | 146 V(NumberTagU) \ |
150 V(NumberUntagD) \ | 147 V(NumberUntagD) \ |
151 V(OsrEntry) \ | 148 V(OsrEntry) \ |
152 V(OuterContext) \ | 149 V(OuterContext) \ |
153 V(Parameter) \ | 150 V(Parameter) \ |
154 V(Power) \ | 151 V(Power) \ |
(...skipping 608 matching lines...) Loading... |
763 explicit LMathLog(LOperand* value) { | 760 explicit LMathLog(LOperand* value) { |
764 inputs_[0] = value; | 761 inputs_[0] = value; |
765 } | 762 } |
766 | 763 |
767 LOperand* value() { return inputs_[0]; } | 764 LOperand* value() { return inputs_[0]; } |
768 | 765 |
769 DECLARE_CONCRETE_INSTRUCTION(MathLog, "math-log") | 766 DECLARE_CONCRETE_INSTRUCTION(MathLog, "math-log") |
770 }; | 767 }; |
771 | 768 |
772 | 769 |
773 class LMathSin V8_FINAL : public LTemplateInstruction<1, 1, 0> { | |
774 public: | |
775 explicit LMathSin(LOperand* value) { | |
776 inputs_[0] = value; | |
777 } | |
778 | |
779 LOperand* value() { return inputs_[0]; } | |
780 | |
781 DECLARE_CONCRETE_INSTRUCTION(MathSin, "math-sin") | |
782 }; | |
783 | |
784 | |
785 class LMathCos V8_FINAL : public LTemplateInstruction<1, 1, 0> { | |
786 public: | |
787 explicit LMathCos(LOperand* value) { | |
788 inputs_[0] = value; | |
789 } | |
790 | |
791 LOperand* value() { return inputs_[0]; } | |
792 | |
793 DECLARE_CONCRETE_INSTRUCTION(MathCos, "math-cos") | |
794 }; | |
795 | |
796 | |
797 class LMathTan V8_FINAL : public LTemplateInstruction<1, 1, 0> { | |
798 public: | |
799 explicit LMathTan(LOperand* value) { | |
800 inputs_[0] = value; | |
801 } | |
802 | |
803 LOperand* value() { return inputs_[0]; } | |
804 | |
805 DECLARE_CONCRETE_INSTRUCTION(MathTan, "math-tan") | |
806 }; | |
807 | |
808 | |
809 class LMathExp V8_FINAL : public LTemplateInstruction<1, 1, 2> { | 770 class LMathExp V8_FINAL : public LTemplateInstruction<1, 1, 2> { |
810 public: | 771 public: |
811 LMathExp(LOperand* value, LOperand* temp1, LOperand* temp2) { | 772 LMathExp(LOperand* value, LOperand* temp1, LOperand* temp2) { |
812 inputs_[0] = value; | 773 inputs_[0] = value; |
813 temps_[0] = temp1; | 774 temps_[0] = temp1; |
814 temps_[1] = temp2; | 775 temps_[1] = temp2; |
815 ExternalReference::InitializeMathExpData(); | 776 ExternalReference::InitializeMathExpData(); |
816 } | 777 } |
817 | 778 |
818 LOperand* value() { return inputs_[0]; } | 779 LOperand* value() { return inputs_[0]; } |
(...skipping 1879 matching lines...) Loading... |
2698 #define DECLARE_DO(type) LInstruction* Do##type(H##type* node); | 2659 #define DECLARE_DO(type) LInstruction* Do##type(H##type* node); |
2699 HYDROGEN_CONCRETE_INSTRUCTION_LIST(DECLARE_DO) | 2660 HYDROGEN_CONCRETE_INSTRUCTION_LIST(DECLARE_DO) |
2700 #undef DECLARE_DO | 2661 #undef DECLARE_DO |
2701 | 2662 |
2702 static HValue* SimplifiedDivisorForMathFloorOfDiv(HValue* val); | 2663 static HValue* SimplifiedDivisorForMathFloorOfDiv(HValue* val); |
2703 | 2664 |
2704 LInstruction* DoMathFloor(HUnaryMathOperation* instr); | 2665 LInstruction* DoMathFloor(HUnaryMathOperation* instr); |
2705 LInstruction* DoMathRound(HUnaryMathOperation* instr); | 2666 LInstruction* DoMathRound(HUnaryMathOperation* instr); |
2706 LInstruction* DoMathAbs(HUnaryMathOperation* instr); | 2667 LInstruction* DoMathAbs(HUnaryMathOperation* instr); |
2707 LInstruction* DoMathLog(HUnaryMathOperation* instr); | 2668 LInstruction* DoMathLog(HUnaryMathOperation* instr); |
2708 LInstruction* DoMathSin(HUnaryMathOperation* instr); | |
2709 LInstruction* DoMathCos(HUnaryMathOperation* instr); | |
2710 LInstruction* DoMathTan(HUnaryMathOperation* instr); | |
2711 LInstruction* DoMathExp(HUnaryMathOperation* instr); | 2669 LInstruction* DoMathExp(HUnaryMathOperation* instr); |
2712 LInstruction* DoMathSqrt(HUnaryMathOperation* instr); | 2670 LInstruction* DoMathSqrt(HUnaryMathOperation* instr); |
2713 LInstruction* DoMathPowHalf(HUnaryMathOperation* instr); | 2671 LInstruction* DoMathPowHalf(HUnaryMathOperation* instr); |
2714 | 2672 |
2715 private: | 2673 private: |
2716 enum Status { | 2674 enum Status { |
2717 UNUSED, | 2675 UNUSED, |
2718 BUILDING, | 2676 BUILDING, |
2719 DONE, | 2677 DONE, |
2720 ABORTED | 2678 ABORTED |
(...skipping 122 matching lines...) Loading... |
2843 | 2801 |
2844 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2802 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
2845 }; | 2803 }; |
2846 | 2804 |
2847 #undef DECLARE_HYDROGEN_ACCESSOR | 2805 #undef DECLARE_HYDROGEN_ACCESSOR |
2848 #undef DECLARE_CONCRETE_INSTRUCTION | 2806 #undef DECLARE_CONCRETE_INSTRUCTION |
2849 | 2807 |
2850 } } // namespace v8::int | 2808 } } // namespace v8::int |
2851 | 2809 |
2852 #endif // V8_X64_LITHIUM_X64_H_ | 2810 #endif // V8_X64_LITHIUM_X64_H_ |
OLD | NEW |