| 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_X64_LITHIUM_X64_H_ | 5 #ifndef V8_CRANKSHAFT_X64_LITHIUM_X64_H_ |
| 6 #define V8_CRANKSHAFT_X64_LITHIUM_X64_H_ | 6 #define V8_CRANKSHAFT_X64_LITHIUM_X64_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) \ |
| 101 V(MathExp) \ | 102 V(MathExp) \ |
| 102 V(MathFloorD) \ | 103 V(MathFloorD) \ |
| 103 V(MathFloorI) \ | 104 V(MathFloorI) \ |
| 104 V(MathFround) \ | 105 V(MathFround) \ |
| 105 V(MathLog) \ | 106 V(MathLog) \ |
| 106 V(MathMinMax) \ | 107 V(MathMinMax) \ |
| 107 V(MathPowHalf) \ | 108 V(MathPowHalf) \ |
| 108 V(MathRoundD) \ | 109 V(MathRoundD) \ |
| 109 V(MathRoundI) \ | 110 V(MathRoundI) \ |
| 111 V(MathSin) \ |
| 110 V(MathSqrt) \ | 112 V(MathSqrt) \ |
| 111 V(MaybeGrowElements) \ | 113 V(MaybeGrowElements) \ |
| 112 V(ModByConstI) \ | 114 V(ModByConstI) \ |
| 113 V(ModByPowerOf2I) \ | 115 V(ModByPowerOf2I) \ |
| 114 V(ModI) \ | 116 V(ModI) \ |
| 115 V(MulI) \ | 117 V(MulI) \ |
| 116 V(NumberTagD) \ | 118 V(NumberTagD) \ |
| 117 V(NumberTagI) \ | 119 V(NumberTagI) \ |
| 118 V(NumberTagU) \ | 120 V(NumberTagU) \ |
| 119 V(NumberUntagD) \ | 121 V(NumberUntagD) \ |
| (...skipping 782 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 902 public: | 904 public: |
| 903 explicit LMathClz32(LOperand* value) { | 905 explicit LMathClz32(LOperand* value) { |
| 904 inputs_[0] = value; | 906 inputs_[0] = value; |
| 905 } | 907 } |
| 906 | 908 |
| 907 LOperand* value() { return inputs_[0]; } | 909 LOperand* value() { return inputs_[0]; } |
| 908 | 910 |
| 909 DECLARE_CONCRETE_INSTRUCTION(MathClz32, "math-clz32") | 911 DECLARE_CONCRETE_INSTRUCTION(MathClz32, "math-clz32") |
| 910 }; | 912 }; |
| 911 | 913 |
| 914 class LMathCos final : public LTemplateInstruction<1, 1, 0> { |
| 915 public: |
| 916 explicit LMathCos(LOperand* value) { inputs_[0] = value; } |
| 917 |
| 918 LOperand* value() { return inputs_[0]; } |
| 919 |
| 920 DECLARE_CONCRETE_INSTRUCTION(MathCos, "math-cos") |
| 921 }; |
| 922 |
| 912 class LMathExp final : public LTemplateInstruction<1, 1, 0> { | 923 class LMathExp final : public LTemplateInstruction<1, 1, 0> { |
| 913 public: | 924 public: |
| 914 explicit LMathExp(LOperand* value) { inputs_[0] = value; } | 925 explicit LMathExp(LOperand* value) { inputs_[0] = value; } |
| 915 | 926 |
| 916 LOperand* value() { return inputs_[0]; } | 927 LOperand* value() { return inputs_[0]; } |
| 917 | 928 |
| 918 DECLARE_CONCRETE_INSTRUCTION(MathExp, "math-exp") | 929 DECLARE_CONCRETE_INSTRUCTION(MathExp, "math-exp") |
| 919 }; | 930 }; |
| 920 | 931 |
| 932 class LMathSin final : public LTemplateInstruction<1, 1, 0> { |
| 933 public: |
| 934 explicit LMathSin(LOperand* value) { inputs_[0] = value; } |
| 935 |
| 936 LOperand* value() { return inputs_[0]; } |
| 937 |
| 938 DECLARE_CONCRETE_INSTRUCTION(MathSin, "math-sin") |
| 939 }; |
| 921 | 940 |
| 922 class LMathSqrt final : public LTemplateInstruction<1, 1, 0> { | 941 class LMathSqrt final : public LTemplateInstruction<1, 1, 0> { |
| 923 public: | 942 public: |
| 924 explicit LMathSqrt(LOperand* value) { | 943 explicit LMathSqrt(LOperand* value) { |
| 925 inputs_[0] = value; | 944 inputs_[0] = value; |
| 926 } | 945 } |
| 927 | 946 |
| 928 LOperand* value() { return inputs_[0]; } | 947 LOperand* value() { return inputs_[0]; } |
| 929 | 948 |
| 930 DECLARE_CONCRETE_INSTRUCTION(MathSqrt, "math-sqrt") | 949 DECLARE_CONCRETE_INSTRUCTION(MathSqrt, "math-sqrt") |
| (...skipping 1593 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2524 | 2543 |
| 2525 // Declare methods that deal with the individual node types. | 2544 // Declare methods that deal with the individual node types. |
| 2526 #define DECLARE_DO(type) LInstruction* Do##type(H##type* node); | 2545 #define DECLARE_DO(type) LInstruction* Do##type(H##type* node); |
| 2527 HYDROGEN_CONCRETE_INSTRUCTION_LIST(DECLARE_DO) | 2546 HYDROGEN_CONCRETE_INSTRUCTION_LIST(DECLARE_DO) |
| 2528 #undef DECLARE_DO | 2547 #undef DECLARE_DO |
| 2529 | 2548 |
| 2530 LInstruction* DoMathFloor(HUnaryMathOperation* instr); | 2549 LInstruction* DoMathFloor(HUnaryMathOperation* instr); |
| 2531 LInstruction* DoMathRound(HUnaryMathOperation* instr); | 2550 LInstruction* DoMathRound(HUnaryMathOperation* instr); |
| 2532 LInstruction* DoMathFround(HUnaryMathOperation* instr); | 2551 LInstruction* DoMathFround(HUnaryMathOperation* instr); |
| 2533 LInstruction* DoMathAbs(HUnaryMathOperation* instr); | 2552 LInstruction* DoMathAbs(HUnaryMathOperation* instr); |
| 2553 LInstruction* DoMathCos(HUnaryMathOperation* instr); |
| 2534 LInstruction* DoMathLog(HUnaryMathOperation* instr); | 2554 LInstruction* DoMathLog(HUnaryMathOperation* instr); |
| 2535 LInstruction* DoMathExp(HUnaryMathOperation* instr); | 2555 LInstruction* DoMathExp(HUnaryMathOperation* instr); |
| 2556 LInstruction* DoMathSin(HUnaryMathOperation* instr); |
| 2536 LInstruction* DoMathSqrt(HUnaryMathOperation* instr); | 2557 LInstruction* DoMathSqrt(HUnaryMathOperation* instr); |
| 2537 LInstruction* DoMathPowHalf(HUnaryMathOperation* instr); | 2558 LInstruction* DoMathPowHalf(HUnaryMathOperation* instr); |
| 2538 LInstruction* DoMathClz32(HUnaryMathOperation* instr); | 2559 LInstruction* DoMathClz32(HUnaryMathOperation* instr); |
| 2539 LInstruction* DoDivByPowerOf2I(HDiv* instr); | 2560 LInstruction* DoDivByPowerOf2I(HDiv* instr); |
| 2540 LInstruction* DoDivByConstI(HDiv* instr); | 2561 LInstruction* DoDivByConstI(HDiv* instr); |
| 2541 LInstruction* DoDivI(HDiv* instr); | 2562 LInstruction* DoDivI(HDiv* instr); |
| 2542 LInstruction* DoModByPowerOf2I(HMod* instr); | 2563 LInstruction* DoModByPowerOf2I(HMod* instr); |
| 2543 LInstruction* DoModByConstI(HMod* instr); | 2564 LInstruction* DoModByConstI(HMod* instr); |
| 2544 LInstruction* DoModI(HMod* instr); | 2565 LInstruction* DoModI(HMod* instr); |
| 2545 LInstruction* DoFlooringDivByPowerOf2I(HMathFloorOfDiv* instr); | 2566 LInstruction* DoFlooringDivByPowerOf2I(HMathFloorOfDiv* instr); |
| (...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2646 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2667 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
| 2647 }; | 2668 }; |
| 2648 | 2669 |
| 2649 #undef DECLARE_HYDROGEN_ACCESSOR | 2670 #undef DECLARE_HYDROGEN_ACCESSOR |
| 2650 #undef DECLARE_CONCRETE_INSTRUCTION | 2671 #undef DECLARE_CONCRETE_INSTRUCTION |
| 2651 | 2672 |
| 2652 } // namespace internal | 2673 } // namespace internal |
| 2653 } // namespace v8 | 2674 } // namespace v8 |
| 2654 | 2675 |
| 2655 #endif // V8_CRANKSHAFT_X64_LITHIUM_X64_H_ | 2676 #endif // V8_CRANKSHAFT_X64_LITHIUM_X64_H_ |
| OLD | NEW |