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_MIPS64_LITHIUM_MIPS_H_ | 5 #ifndef V8_CRANKSHAFT_MIPS64_LITHIUM_MIPS_H_ |
6 #define V8_CRANKSHAFT_MIPS64_LITHIUM_MIPS_H_ | 6 #define V8_CRANKSHAFT_MIPS64_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 882 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
893 public: | 893 public: |
894 explicit LMathClz32(LOperand* value) { | 894 explicit LMathClz32(LOperand* value) { |
895 inputs_[0] = value; | 895 inputs_[0] = value; |
896 } | 896 } |
897 | 897 |
898 LOperand* value() { return inputs_[0]; } | 898 LOperand* value() { return inputs_[0]; } |
899 | 899 |
900 DECLARE_CONCRETE_INSTRUCTION(MathClz32, "math-clz32") | 900 DECLARE_CONCRETE_INSTRUCTION(MathClz32, "math-clz32") |
901 }; | 901 }; |
902 | 902 |
903 class LMathExp final : public LTemplateInstruction<1, 1, 0> { | 903 |
| 904 class LMathExp final : public LTemplateInstruction<1, 1, 3> { |
904 public: | 905 public: |
905 explicit LMathExp(LOperand* value) { inputs_[0] = value; } | 906 LMathExp(LOperand* value, |
| 907 LOperand* double_temp, |
| 908 LOperand* temp1, |
| 909 LOperand* temp2) { |
| 910 inputs_[0] = value; |
| 911 temps_[0] = temp1; |
| 912 temps_[1] = temp2; |
| 913 temps_[2] = double_temp; |
| 914 ExternalReference::InitializeMathExpData(); |
| 915 } |
906 | 916 |
907 LOperand* value() { return inputs_[0]; } | 917 LOperand* value() { return inputs_[0]; } |
| 918 LOperand* temp1() { return temps_[0]; } |
| 919 LOperand* temp2() { return temps_[1]; } |
| 920 LOperand* double_temp() { return temps_[2]; } |
908 | 921 |
909 DECLARE_CONCRETE_INSTRUCTION(MathExp, "math-exp") | 922 DECLARE_CONCRETE_INSTRUCTION(MathExp, "math-exp") |
910 }; | 923 }; |
911 | 924 |
912 | 925 |
913 class LMathSqrt final : public LTemplateInstruction<1, 1, 0> { | 926 class LMathSqrt final : public LTemplateInstruction<1, 1, 0> { |
914 public: | 927 public: |
915 explicit LMathSqrt(LOperand* value) { | 928 explicit LMathSqrt(LOperand* value) { |
916 inputs_[0] = value; | 929 inputs_[0] = value; |
917 } | 930 } |
(...skipping 1726 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2644 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2657 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
2645 }; | 2658 }; |
2646 | 2659 |
2647 #undef DECLARE_HYDROGEN_ACCESSOR | 2660 #undef DECLARE_HYDROGEN_ACCESSOR |
2648 #undef DECLARE_CONCRETE_INSTRUCTION | 2661 #undef DECLARE_CONCRETE_INSTRUCTION |
2649 | 2662 |
2650 } // namespace internal | 2663 } // namespace internal |
2651 } // namespace v8 | 2664 } // namespace v8 |
2652 | 2665 |
2653 #endif // V8_CRANKSHAFT_MIPS64_LITHIUM_MIPS_H_ | 2666 #endif // V8_CRANKSHAFT_MIPS64_LITHIUM_MIPS_H_ |
OLD | NEW |