| Index: src/mips/lithium-mips.h
|
| diff --git a/src/mips/lithium-mips.h b/src/mips/lithium-mips.h
|
| index 1baf07dd12064d478ccabf5bdc00e4da6b4cb299..17ef24cb1a5d3c0d23f7900dd024118550185563 100644
|
| --- a/src/mips/lithium-mips.h
|
| +++ b/src/mips/lithium-mips.h
|
| @@ -131,6 +131,7 @@ class LCodeGen;
|
| V(LoadNamedFieldPolymorphic) \
|
| V(LoadNamedGeneric) \
|
| V(MapEnumLength) \
|
| + V(MathExp) \
|
| V(MathMinMax) \
|
| V(ModI) \
|
| V(MulI) \
|
| @@ -641,6 +642,30 @@ class LUnaryMathOperation: public LTemplateInstruction<1, 1, 1> {
|
| };
|
|
|
|
|
| +class LMathExp: 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")
|
| +
|
| + virtual void PrintDataTo(StringStream* stream);
|
| +};
|
| +
|
| +
|
| class LCmpObjectEqAndBranch: public LControlInstruction<2, 0> {
|
| public:
|
| LCmpObjectEqAndBranch(LOperand* left, LOperand* right) {
|
|
|