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_MIPS_LITHIUM_MIPS_H_ | 5 #ifndef V8_CRANKSHAFT_MIPS_LITHIUM_MIPS_H_ |
6 #define V8_CRANKSHAFT_MIPS_LITHIUM_MIPS_H_ | 6 #define V8_CRANKSHAFT_MIPS_LITHIUM_MIPS_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 864 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
875 public: | 875 public: |
876 explicit LMathClz32(LOperand* value) { | 876 explicit LMathClz32(LOperand* value) { |
877 inputs_[0] = value; | 877 inputs_[0] = value; |
878 } | 878 } |
879 | 879 |
880 LOperand* value() { return inputs_[0]; } | 880 LOperand* value() { return inputs_[0]; } |
881 | 881 |
882 DECLARE_CONCRETE_INSTRUCTION(MathClz32, "math-clz32") | 882 DECLARE_CONCRETE_INSTRUCTION(MathClz32, "math-clz32") |
883 }; | 883 }; |
884 | 884 |
885 class LMathExp final : public LTemplateInstruction<1, 1, 0> { | 885 |
| 886 class LMathExp final : public LTemplateInstruction<1, 1, 3> { |
886 public: | 887 public: |
887 explicit LMathExp(LOperand* value) { inputs_[0] = value; } | 888 LMathExp(LOperand* value, |
| 889 LOperand* double_temp, |
| 890 LOperand* temp1, |
| 891 LOperand* temp2) { |
| 892 inputs_[0] = value; |
| 893 temps_[0] = temp1; |
| 894 temps_[1] = temp2; |
| 895 temps_[2] = double_temp; |
| 896 ExternalReference::InitializeMathExpData(); |
| 897 } |
888 | 898 |
889 LOperand* value() { return inputs_[0]; } | 899 LOperand* value() { return inputs_[0]; } |
| 900 LOperand* temp1() { return temps_[0]; } |
| 901 LOperand* temp2() { return temps_[1]; } |
| 902 LOperand* double_temp() { return temps_[2]; } |
890 | 903 |
891 DECLARE_CONCRETE_INSTRUCTION(MathExp, "math-exp") | 904 DECLARE_CONCRETE_INSTRUCTION(MathExp, "math-exp") |
892 }; | 905 }; |
893 | 906 |
894 | 907 |
895 class LMathSqrt final : public LTemplateInstruction<1, 1, 0> { | 908 class LMathSqrt final : public LTemplateInstruction<1, 1, 0> { |
896 public: | 909 public: |
897 explicit LMathSqrt(LOperand* value) { | 910 explicit LMathSqrt(LOperand* value) { |
898 inputs_[0] = value; | 911 inputs_[0] = value; |
899 } | 912 } |
(...skipping 1698 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2598 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2611 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
2599 }; | 2612 }; |
2600 | 2613 |
2601 #undef DECLARE_HYDROGEN_ACCESSOR | 2614 #undef DECLARE_HYDROGEN_ACCESSOR |
2602 #undef DECLARE_CONCRETE_INSTRUCTION | 2615 #undef DECLARE_CONCRETE_INSTRUCTION |
2603 | 2616 |
2604 } // namespace internal | 2617 } // namespace internal |
2605 } // namespace v8 | 2618 } // namespace v8 |
2606 | 2619 |
2607 #endif // V8_CRANKSHAFT_MIPS_LITHIUM_MIPS_H_ | 2620 #endif // V8_CRANKSHAFT_MIPS_LITHIUM_MIPS_H_ |
OLD | NEW |