| Index: src/x64/lithium-x64.cc
 | 
| diff --git a/src/x64/lithium-x64.cc b/src/x64/lithium-x64.cc
 | 
| index a4771ed0fd04c75a778a3d663f3221e437b9fd6e..e102803c094d04d6c27af7f70df3aac591e9d9e1 100644
 | 
| --- a/src/x64/lithium-x64.cc
 | 
| +++ b/src/x64/lithium-x64.cc
 | 
| @@ -299,6 +299,11 @@ void LUnaryMathOperation::PrintDataTo(StringStream* stream) {
 | 
|  }
 | 
|  
 | 
|  
 | 
| +void LMathExp::PrintDataTo(StringStream* stream) {
 | 
| +  value()->PrintTo(stream);
 | 
| +}
 | 
| +
 | 
| +
 | 
|  void LLoadContextSlot::PrintDataTo(StringStream* stream) {
 | 
|    context()->PrintTo(stream);
 | 
|    stream->Add("[%d]", slot_index());
 | 
| @@ -1046,6 +1051,14 @@ LInstruction* LChunkBuilder::DoUnaryMathOperation(HUnaryMathOperation* instr) {
 | 
|      LOperand* input = UseFixedDouble(instr->value(), xmm1);
 | 
|      LUnaryMathOperation* result = new(zone()) LUnaryMathOperation(input);
 | 
|      return MarkAsCall(DefineFixedDouble(result, xmm1), instr);
 | 
| +  } else if (op == kMathExp) {
 | 
| +    ASSERT(instr->representation().IsDouble());
 | 
| +    ASSERT(instr->value()->representation().IsDouble());
 | 
| +    LOperand* value = UseTempRegister(instr->value());
 | 
| +    LOperand* temp1 = TempRegister();
 | 
| +    LOperand* temp2 = TempRegister();
 | 
| +    LMathExp* result = new(zone()) LMathExp(value, temp1, temp2);
 | 
| +    return DefineAsRegister(result);
 | 
|    } else {
 | 
|      LOperand* input = UseRegisterAtStart(instr->value());
 | 
|      LUnaryMathOperation* result = new(zone()) LUnaryMathOperation(input);
 | 
| 
 |