Index: src/crankshaft/mips64/lithium-mips64.h |
diff --git a/src/crankshaft/mips64/lithium-mips64.h b/src/crankshaft/mips64/lithium-mips64.h |
index cc44ae6f436d1ef6f632737380889c72eb903f58..5d282ec7aa9f72886e83ce2eb79adeddfa5e04ad 100644 |
--- a/src/crankshaft/mips64/lithium-mips64.h |
+++ b/src/crankshaft/mips64/lithium-mips64.h |
@@ -900,11 +900,24 @@ |
DECLARE_CONCRETE_INSTRUCTION(MathClz32, "math-clz32") |
}; |
-class LMathExp final : public LTemplateInstruction<1, 1, 0> { |
- public: |
- explicit LMathExp(LOperand* value) { inputs_[0] = value; } |
- |
- LOperand* value() { return inputs_[0]; } |
+ |
+class LMathExp final : public LTemplateInstruction<1, 1, 3> { |
+ public: |
+ LMathExp(LOperand* value, |
+ LOperand* double_temp, |
+ LOperand* temp1, |
+ LOperand* temp2) { |
+ inputs_[0] = value; |
+ temps_[0] = temp1; |
+ temps_[1] = temp2; |
+ temps_[2] = double_temp; |
+ ExternalReference::InitializeMathExpData(); |
+ } |
+ |
+ LOperand* value() { return inputs_[0]; } |
+ LOperand* temp1() { return temps_[0]; } |
+ LOperand* temp2() { return temps_[1]; } |
+ LOperand* double_temp() { return temps_[2]; } |
DECLARE_CONCRETE_INSTRUCTION(MathExp, "math-exp") |
}; |