Index: src/crankshaft/arm64/lithium-arm64.h |
diff --git a/src/crankshaft/arm64/lithium-arm64.h b/src/crankshaft/arm64/lithium-arm64.h |
index 98902434a9260f1ae68029e2bddaf882bf43aff1..383e5c33c1c53dae81dd5969e954167a2c4ed5dc 100644 |
--- a/src/crankshaft/arm64/lithium-arm64.h |
+++ b/src/crankshaft/arm64/lithium-arm64.h |
@@ -1763,9 +1763,26 @@ |
DECLARE_HYDROGEN_ACCESSOR(UnaryMathOperation) |
}; |
-class LMathExp final : public LUnaryMathOperation<0> { |
- public: |
- explicit LMathExp(LOperand* value) : LUnaryMathOperation<0>(value) {} |
+ |
+class LMathExp final : public LUnaryMathOperation<4> { |
+ public: |
+ LMathExp(LOperand* value, |
+ LOperand* double_temp1, |
+ LOperand* temp1, |
+ LOperand* temp2, |
+ LOperand* temp3) |
+ : LUnaryMathOperation<4>(value) { |
+ temps_[0] = double_temp1; |
+ temps_[1] = temp1; |
+ temps_[2] = temp2; |
+ temps_[3] = temp3; |
+ ExternalReference::InitializeMathExpData(); |
+ } |
+ |
+ LOperand* double_temp1() { return temps_[0]; } |
+ LOperand* temp1() { return temps_[1]; } |
+ LOperand* temp2() { return temps_[2]; } |
+ LOperand* temp3() { return temps_[3]; } |
DECLARE_CONCRETE_INSTRUCTION(MathExp, "math-exp") |
}; |