Index: src/crankshaft/arm/lithium-arm.h |
diff --git a/src/crankshaft/arm/lithium-arm.h b/src/crankshaft/arm/lithium-arm.h |
index 1f18392d69b1a4bdcbfc46ed3882b01cc460980c..f2da39ffd9cbb6fb76167ef7e3cb738193baeb1f 100644 |
--- a/src/crankshaft/arm/lithium-arm.h |
+++ b/src/crankshaft/arm/lithium-arm.h |
@@ -98,6 +98,8 @@ class LCodeGen; |
V(LoadNamedGeneric) \ |
V(MathAbs) \ |
V(MathClz32) \ |
+ V(MathCos) \ |
+ V(MathSin) \ |
V(MathExp) \ |
V(MathFloor) \ |
V(MathFround) \ |
@@ -905,6 +907,24 @@ class LMathClz32 final : public LTemplateInstruction<1, 1, 0> { |
DECLARE_CONCRETE_INSTRUCTION(MathClz32, "math-clz32") |
}; |
+class LMathCos final : public LTemplateInstruction<1, 1, 0> { |
+ public: |
+ explicit LMathCos(LOperand* value) { inputs_[0] = value; } |
+ |
+ LOperand* value() { return inputs_[0]; } |
+ |
+ DECLARE_CONCRETE_INSTRUCTION(MathCos, "math-cos") |
+}; |
+ |
+class LMathSin final : public LTemplateInstruction<1, 1, 0> { |
+ public: |
+ explicit LMathSin(LOperand* value) { inputs_[0] = value; } |
+ |
+ LOperand* value() { return inputs_[0]; } |
+ |
+ DECLARE_CONCRETE_INSTRUCTION(MathSin, "math-sin") |
+}; |
+ |
class LMathExp final : public LTemplateInstruction<1, 1, 0> { |
public: |
explicit LMathExp(LOperand* value) { inputs_[0] = value; } |
@@ -2532,6 +2552,8 @@ class LChunkBuilder final : public LChunkBuilderBase { |
LInstruction* DoMathFround(HUnaryMathOperation* instr); |
LInstruction* DoMathAbs(HUnaryMathOperation* instr); |
LInstruction* DoMathLog(HUnaryMathOperation* instr); |
+ LInstruction* DoMathCos(HUnaryMathOperation* instr); |
+ LInstruction* DoMathSin(HUnaryMathOperation* instr); |
LInstruction* DoMathExp(HUnaryMathOperation* instr); |
LInstruction* DoMathSqrt(HUnaryMathOperation* instr); |
LInstruction* DoMathPowHalf(HUnaryMathOperation* instr); |