| Index: src/x64/lithium-x64.cc
|
| diff --git a/src/x64/lithium-x64.cc b/src/x64/lithium-x64.cc
|
| index 005fbdba1cc87940e90b11dc4e25a496b7514708..af57996bbea638e10da47be5b0d077e68d5df8c9 100644
|
| --- a/src/x64/lithium-x64.cc
|
| +++ b/src/x64/lithium-x64.cc
|
| @@ -1131,14 +1131,24 @@ LInstruction* LChunkBuilder::DoInvokeFunction(HInvokeFunction* instr) {
|
|
|
| LInstruction* LChunkBuilder::DoUnaryMathOperation(HUnaryMathOperation* instr) {
|
| switch (instr->op()) {
|
| - case kMathFloor: return DoMathFloor(instr);
|
| - case kMathRound: return DoMathRound(instr);
|
| - case kMathAbs: return DoMathAbs(instr);
|
| - case kMathLog: return DoMathLog(instr);
|
| - case kMathExp: return DoMathExp(instr);
|
| - case kMathSqrt: return DoMathSqrt(instr);
|
| - case kMathPowHalf: return DoMathPowHalf(instr);
|
| - case kMathClz32: return DoMathClz32(instr);
|
| + case kMathFloor:
|
| + return DoMathFloor(instr);
|
| + case kMathRound:
|
| + return DoMathRound(instr);
|
| + case kMathFround:
|
| + return DoMathFround(instr);
|
| + case kMathAbs:
|
| + return DoMathAbs(instr);
|
| + case kMathLog:
|
| + return DoMathLog(instr);
|
| + case kMathExp:
|
| + return DoMathExp(instr);
|
| + case kMathSqrt:
|
| + return DoMathSqrt(instr);
|
| + case kMathPowHalf:
|
| + return DoMathPowHalf(instr);
|
| + case kMathClz32:
|
| + return DoMathClz32(instr);
|
| default:
|
| UNREACHABLE();
|
| return NULL;
|
| @@ -1161,6 +1171,13 @@ LInstruction* LChunkBuilder::DoMathRound(HUnaryMathOperation* instr) {
|
| }
|
|
|
|
|
| +LInstruction* LChunkBuilder::DoMathFround(HUnaryMathOperation* instr) {
|
| + LOperand* input = UseRegister(instr->value());
|
| + LMathFround* result = new (zone()) LMathFround(input);
|
| + return DefineAsRegister(result);
|
| +}
|
| +
|
| +
|
| LInstruction* LChunkBuilder::DoMathAbs(HUnaryMathOperation* instr) {
|
| LOperand* context = UseAny(instr->context());
|
| LOperand* input = UseRegisterAtStart(instr->value());
|
|
|