| Index: src/arm/lithium-arm.h
 | 
| diff --git a/src/arm/lithium-arm.h b/src/arm/lithium-arm.h
 | 
| index a5cf85fda5497a064f2c449b4359f27cc07fbb72..b45a3e0246fd49dd543ce7fdf0025fe472131598 100644
 | 
| --- a/src/arm/lithium-arm.h
 | 
| +++ b/src/arm/lithium-arm.h
 | 
| @@ -131,6 +131,7 @@ class LCodeGen;
 | 
|    V(LoadNamedFieldPolymorphic)                  \
 | 
|    V(LoadNamedGeneric)                           \
 | 
|    V(MapEnumLength)                              \
 | 
| +  V(MathExp)                                    \
 | 
|    V(MathFloorOfDiv)                             \
 | 
|    V(MathMinMax)                                 \
 | 
|    V(ModI)                                       \
 | 
| @@ -681,6 +682,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) {
 | 
| 
 |