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 #ifndef V8_CRANKSHAFT_IA32_LITHIUM_IA32_H_ | 5 #ifndef V8_CRANKSHAFT_IA32_LITHIUM_IA32_H_ |
6 #define V8_CRANKSHAFT_IA32_LITHIUM_IA32_H_ | 6 #define V8_CRANKSHAFT_IA32_LITHIUM_IA32_H_ |
7 | 7 |
8 #include "src/crankshaft/hydrogen.h" | 8 #include "src/crankshaft/hydrogen.h" |
9 #include "src/crankshaft/lithium.h" | 9 #include "src/crankshaft/lithium.h" |
10 #include "src/crankshaft/lithium-allocator.h" | 10 #include "src/crankshaft/lithium-allocator.h" |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
95 V(LoadFieldByIndex) \ | 95 V(LoadFieldByIndex) \ |
96 V(LoadFunctionPrototype) \ | 96 V(LoadFunctionPrototype) \ |
97 V(LoadGlobalGeneric) \ | 97 V(LoadGlobalGeneric) \ |
98 V(LoadKeyed) \ | 98 V(LoadKeyed) \ |
99 V(LoadKeyedGeneric) \ | 99 V(LoadKeyedGeneric) \ |
100 V(LoadNamedField) \ | 100 V(LoadNamedField) \ |
101 V(LoadNamedGeneric) \ | 101 V(LoadNamedGeneric) \ |
102 V(LoadRoot) \ | 102 V(LoadRoot) \ |
103 V(MathAbs) \ | 103 V(MathAbs) \ |
104 V(MathClz32) \ | 104 V(MathClz32) \ |
| 105 V(MathCos) \ |
105 V(MathExp) \ | 106 V(MathExp) \ |
106 V(MathFloorD) \ | 107 V(MathFloorD) \ |
107 V(MathFloorI) \ | 108 V(MathFloorI) \ |
108 V(MathFround) \ | 109 V(MathFround) \ |
109 V(MathLog) \ | 110 V(MathLog) \ |
110 V(MathMinMax) \ | 111 V(MathMinMax) \ |
111 V(MathPowHalf) \ | 112 V(MathPowHalf) \ |
112 V(MathRoundD) \ | 113 V(MathRoundD) \ |
113 V(MathRoundI) \ | 114 V(MathRoundI) \ |
| 115 V(MathSin) \ |
114 V(MathSqrt) \ | 116 V(MathSqrt) \ |
115 V(MaybeGrowElements) \ | 117 V(MaybeGrowElements) \ |
116 V(ModByConstI) \ | 118 V(ModByConstI) \ |
117 V(ModByPowerOf2I) \ | 119 V(ModByPowerOf2I) \ |
118 V(ModI) \ | 120 V(ModI) \ |
119 V(MulI) \ | 121 V(MulI) \ |
120 V(NumberTagD) \ | 122 V(NumberTagD) \ |
121 V(NumberTagI) \ | 123 V(NumberTagI) \ |
122 V(NumberTagU) \ | 124 V(NumberTagU) \ |
123 V(NumberUntagD) \ | 125 V(NumberUntagD) \ |
(...skipping 781 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
905 public: | 907 public: |
906 explicit LMathClz32(LOperand* value) { | 908 explicit LMathClz32(LOperand* value) { |
907 inputs_[0] = value; | 909 inputs_[0] = value; |
908 } | 910 } |
909 | 911 |
910 LOperand* value() { return inputs_[0]; } | 912 LOperand* value() { return inputs_[0]; } |
911 | 913 |
912 DECLARE_CONCRETE_INSTRUCTION(MathClz32, "math-clz32") | 914 DECLARE_CONCRETE_INSTRUCTION(MathClz32, "math-clz32") |
913 }; | 915 }; |
914 | 916 |
| 917 class LMathCos final : public LTemplateInstruction<1, 1, 0> { |
| 918 public: |
| 919 explicit LMathCos(LOperand* value) { inputs_[0] = value; } |
| 920 |
| 921 LOperand* value() { return inputs_[0]; } |
| 922 |
| 923 DECLARE_CONCRETE_INSTRUCTION(MathCos, "math-cos") |
| 924 }; |
| 925 |
| 926 class LMathSin final : public LTemplateInstruction<1, 1, 0> { |
| 927 public: |
| 928 explicit LMathSin(LOperand* value) { inputs_[0] = value; } |
| 929 |
| 930 LOperand* value() { return inputs_[0]; } |
| 931 |
| 932 DECLARE_CONCRETE_INSTRUCTION(MathSin, "math-sin") |
| 933 }; |
| 934 |
915 class LMathExp final : public LTemplateInstruction<1, 1, 0> { | 935 class LMathExp final : public LTemplateInstruction<1, 1, 0> { |
916 public: | 936 public: |
917 explicit LMathExp(LOperand* value) { inputs_[0] = value; } | 937 explicit LMathExp(LOperand* value) { inputs_[0] = value; } |
918 | 938 |
919 LOperand* value() { return inputs_[0]; } | 939 LOperand* value() { return inputs_[0]; } |
920 | 940 |
921 DECLARE_CONCRETE_INSTRUCTION(MathExp, "math-exp") | 941 DECLARE_CONCRETE_INSTRUCTION(MathExp, "math-exp") |
922 }; | 942 }; |
923 | 943 |
924 | 944 |
(...skipping 1610 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2535 // Declare methods that deal with the individual node types. | 2555 // Declare methods that deal with the individual node types. |
2536 #define DECLARE_DO(type) LInstruction* Do##type(H##type* node); | 2556 #define DECLARE_DO(type) LInstruction* Do##type(H##type* node); |
2537 HYDROGEN_CONCRETE_INSTRUCTION_LIST(DECLARE_DO) | 2557 HYDROGEN_CONCRETE_INSTRUCTION_LIST(DECLARE_DO) |
2538 #undef DECLARE_DO | 2558 #undef DECLARE_DO |
2539 | 2559 |
2540 LInstruction* DoMathFloor(HUnaryMathOperation* instr); | 2560 LInstruction* DoMathFloor(HUnaryMathOperation* instr); |
2541 LInstruction* DoMathRound(HUnaryMathOperation* instr); | 2561 LInstruction* DoMathRound(HUnaryMathOperation* instr); |
2542 LInstruction* DoMathFround(HUnaryMathOperation* instr); | 2562 LInstruction* DoMathFround(HUnaryMathOperation* instr); |
2543 LInstruction* DoMathAbs(HUnaryMathOperation* instr); | 2563 LInstruction* DoMathAbs(HUnaryMathOperation* instr); |
2544 LInstruction* DoMathLog(HUnaryMathOperation* instr); | 2564 LInstruction* DoMathLog(HUnaryMathOperation* instr); |
| 2565 LInstruction* DoMathCos(HUnaryMathOperation* instr); |
| 2566 LInstruction* DoMathSin(HUnaryMathOperation* instr); |
2545 LInstruction* DoMathExp(HUnaryMathOperation* instr); | 2567 LInstruction* DoMathExp(HUnaryMathOperation* instr); |
2546 LInstruction* DoMathSqrt(HUnaryMathOperation* instr); | 2568 LInstruction* DoMathSqrt(HUnaryMathOperation* instr); |
2547 LInstruction* DoMathPowHalf(HUnaryMathOperation* instr); | 2569 LInstruction* DoMathPowHalf(HUnaryMathOperation* instr); |
2548 LInstruction* DoMathClz32(HUnaryMathOperation* instr); | 2570 LInstruction* DoMathClz32(HUnaryMathOperation* instr); |
2549 LInstruction* DoDivByPowerOf2I(HDiv* instr); | 2571 LInstruction* DoDivByPowerOf2I(HDiv* instr); |
2550 LInstruction* DoDivByConstI(HDiv* instr); | 2572 LInstruction* DoDivByConstI(HDiv* instr); |
2551 LInstruction* DoDivI(HDiv* instr); | 2573 LInstruction* DoDivI(HDiv* instr); |
2552 LInstruction* DoModByPowerOf2I(HMod* instr); | 2574 LInstruction* DoModByPowerOf2I(HMod* instr); |
2553 LInstruction* DoModByConstI(HMod* instr); | 2575 LInstruction* DoModByConstI(HMod* instr); |
2554 LInstruction* DoModI(HMod* instr); | 2576 LInstruction* DoModI(HMod* instr); |
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2660 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2682 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
2661 }; | 2683 }; |
2662 | 2684 |
2663 #undef DECLARE_HYDROGEN_ACCESSOR | 2685 #undef DECLARE_HYDROGEN_ACCESSOR |
2664 #undef DECLARE_CONCRETE_INSTRUCTION | 2686 #undef DECLARE_CONCRETE_INSTRUCTION |
2665 | 2687 |
2666 } // namespace internal | 2688 } // namespace internal |
2667 } // namespace v8 | 2689 } // namespace v8 |
2668 | 2690 |
2669 #endif // V8_CRANKSHAFT_IA32_LITHIUM_IA32_H_ | 2691 #endif // V8_CRANKSHAFT_IA32_LITHIUM_IA32_H_ |
OLD | NEW |