| Index: src/arm/lithium-arm.cc
|
| diff --git a/src/arm/lithium-arm.cc b/src/arm/lithium-arm.cc
|
| index 6ed8add0b0cc2a373b579418b29586e34ccd73f9..f4fef13ccecd1a9786a4c9ee2716d0f4a72b9fe6 100644
|
| --- a/src/arm/lithium-arm.cc
|
| +++ b/src/arm/lithium-arm.cc
|
| @@ -1110,14 +1110,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;
|
| @@ -1140,6 +1150,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) {
|
| Representation r = instr->value()->representation();
|
| LOperand* context = (r.IsDouble() || r.IsSmiOrInteger32())
|
|
|