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_ARM_LITHIUM_ARM_H_ | 5 #ifndef V8_CRANKSHAFT_ARM_LITHIUM_ARM_H_ |
6 #define V8_CRANKSHAFT_ARM_LITHIUM_ARM_H_ | 6 #define V8_CRANKSHAFT_ARM_LITHIUM_ARM_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 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
91 V(LoadRoot) \ | 91 V(LoadRoot) \ |
92 V(LoadFieldByIndex) \ | 92 V(LoadFieldByIndex) \ |
93 V(LoadFunctionPrototype) \ | 93 V(LoadFunctionPrototype) \ |
94 V(LoadGlobalGeneric) \ | 94 V(LoadGlobalGeneric) \ |
95 V(LoadKeyed) \ | 95 V(LoadKeyed) \ |
96 V(LoadKeyedGeneric) \ | 96 V(LoadKeyedGeneric) \ |
97 V(LoadNamedField) \ | 97 V(LoadNamedField) \ |
98 V(LoadNamedGeneric) \ | 98 V(LoadNamedGeneric) \ |
99 V(MathAbs) \ | 99 V(MathAbs) \ |
100 V(MathClz32) \ | 100 V(MathClz32) \ |
| 101 V(MathCos) \ |
| 102 V(MathSin) \ |
101 V(MathExp) \ | 103 V(MathExp) \ |
102 V(MathFloor) \ | 104 V(MathFloor) \ |
103 V(MathFround) \ | 105 V(MathFround) \ |
104 V(MathLog) \ | 106 V(MathLog) \ |
105 V(MathMinMax) \ | 107 V(MathMinMax) \ |
106 V(MathPowHalf) \ | 108 V(MathPowHalf) \ |
107 V(MathRound) \ | 109 V(MathRound) \ |
108 V(MathSqrt) \ | 110 V(MathSqrt) \ |
109 V(MaybeGrowElements) \ | 111 V(MaybeGrowElements) \ |
110 V(ModByConstI) \ | 112 V(ModByConstI) \ |
(...skipping 787 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
898 public: | 900 public: |
899 explicit LMathClz32(LOperand* value) { | 901 explicit LMathClz32(LOperand* value) { |
900 inputs_[0] = value; | 902 inputs_[0] = value; |
901 } | 903 } |
902 | 904 |
903 LOperand* value() { return inputs_[0]; } | 905 LOperand* value() { return inputs_[0]; } |
904 | 906 |
905 DECLARE_CONCRETE_INSTRUCTION(MathClz32, "math-clz32") | 907 DECLARE_CONCRETE_INSTRUCTION(MathClz32, "math-clz32") |
906 }; | 908 }; |
907 | 909 |
| 910 class LMathCos final : public LTemplateInstruction<1, 1, 0> { |
| 911 public: |
| 912 explicit LMathCos(LOperand* value) { inputs_[0] = value; } |
| 913 |
| 914 LOperand* value() { return inputs_[0]; } |
| 915 |
| 916 DECLARE_CONCRETE_INSTRUCTION(MathCos, "math-cos") |
| 917 }; |
| 918 |
| 919 class LMathSin final : public LTemplateInstruction<1, 1, 0> { |
| 920 public: |
| 921 explicit LMathSin(LOperand* value) { inputs_[0] = value; } |
| 922 |
| 923 LOperand* value() { return inputs_[0]; } |
| 924 |
| 925 DECLARE_CONCRETE_INSTRUCTION(MathSin, "math-sin") |
| 926 }; |
| 927 |
908 class LMathExp final : public LTemplateInstruction<1, 1, 0> { | 928 class LMathExp final : public LTemplateInstruction<1, 1, 0> { |
909 public: | 929 public: |
910 explicit LMathExp(LOperand* value) { inputs_[0] = value; } | 930 explicit LMathExp(LOperand* value) { inputs_[0] = value; } |
911 | 931 |
912 LOperand* value() { return inputs_[0]; } | 932 LOperand* value() { return inputs_[0]; } |
913 | 933 |
914 DECLARE_CONCRETE_INSTRUCTION(MathExp, "math-exp") | 934 DECLARE_CONCRETE_INSTRUCTION(MathExp, "math-exp") |
915 }; | 935 }; |
916 | 936 |
917 | 937 |
(...skipping 1607 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2525 LInstruction* DoMultiplySub(HValue* minuend, HMul* mul); | 2545 LInstruction* DoMultiplySub(HValue* minuend, HMul* mul); |
2526 LInstruction* DoRSub(HSub* instr); | 2546 LInstruction* DoRSub(HSub* instr); |
2527 | 2547 |
2528 static bool HasMagicNumberForDivisor(int32_t divisor); | 2548 static bool HasMagicNumberForDivisor(int32_t divisor); |
2529 | 2549 |
2530 LInstruction* DoMathFloor(HUnaryMathOperation* instr); | 2550 LInstruction* DoMathFloor(HUnaryMathOperation* instr); |
2531 LInstruction* DoMathRound(HUnaryMathOperation* instr); | 2551 LInstruction* DoMathRound(HUnaryMathOperation* instr); |
2532 LInstruction* DoMathFround(HUnaryMathOperation* instr); | 2552 LInstruction* DoMathFround(HUnaryMathOperation* instr); |
2533 LInstruction* DoMathAbs(HUnaryMathOperation* instr); | 2553 LInstruction* DoMathAbs(HUnaryMathOperation* instr); |
2534 LInstruction* DoMathLog(HUnaryMathOperation* instr); | 2554 LInstruction* DoMathLog(HUnaryMathOperation* instr); |
| 2555 LInstruction* DoMathCos(HUnaryMathOperation* instr); |
| 2556 LInstruction* DoMathSin(HUnaryMathOperation* instr); |
2535 LInstruction* DoMathExp(HUnaryMathOperation* instr); | 2557 LInstruction* DoMathExp(HUnaryMathOperation* instr); |
2536 LInstruction* DoMathSqrt(HUnaryMathOperation* instr); | 2558 LInstruction* DoMathSqrt(HUnaryMathOperation* instr); |
2537 LInstruction* DoMathPowHalf(HUnaryMathOperation* instr); | 2559 LInstruction* DoMathPowHalf(HUnaryMathOperation* instr); |
2538 LInstruction* DoMathClz32(HUnaryMathOperation* instr); | 2560 LInstruction* DoMathClz32(HUnaryMathOperation* instr); |
2539 LInstruction* DoDivByPowerOf2I(HDiv* instr); | 2561 LInstruction* DoDivByPowerOf2I(HDiv* instr); |
2540 LInstruction* DoDivByConstI(HDiv* instr); | 2562 LInstruction* DoDivByConstI(HDiv* instr); |
2541 LInstruction* DoDivI(HDiv* instr); | 2563 LInstruction* DoDivI(HDiv* instr); |
2542 LInstruction* DoModByPowerOf2I(HMod* instr); | 2564 LInstruction* DoModByPowerOf2I(HMod* instr); |
2543 LInstruction* DoModByConstI(HMod* instr); | 2565 LInstruction* DoModByConstI(HMod* instr); |
2544 LInstruction* DoModI(HMod* instr); | 2566 LInstruction* DoModI(HMod* instr); |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2639 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2661 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
2640 }; | 2662 }; |
2641 | 2663 |
2642 #undef DECLARE_HYDROGEN_ACCESSOR | 2664 #undef DECLARE_HYDROGEN_ACCESSOR |
2643 #undef DECLARE_CONCRETE_INSTRUCTION | 2665 #undef DECLARE_CONCRETE_INSTRUCTION |
2644 | 2666 |
2645 } // namespace internal | 2667 } // namespace internal |
2646 } // namespace v8 | 2668 } // namespace v8 |
2647 | 2669 |
2648 #endif // V8_CRANKSHAFT_ARM_LITHIUM_ARM_H_ | 2670 #endif // V8_CRANKSHAFT_ARM_LITHIUM_ARM_H_ |
OLD | NEW |