| Index: src/ia32/lithium-ia32.cc
|
| diff --git a/src/ia32/lithium-ia32.cc b/src/ia32/lithium-ia32.cc
|
| index 5aa08d9a60143487f53d1e63d12f15d83b4a61e0..3be96ed7289a436d79ff4bbbbe7af111f0e305e5 100644
|
| --- a/src/ia32/lithium-ia32.cc
|
| +++ b/src/ia32/lithium-ia32.cc
|
| @@ -1151,14 +1151,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;
|
| @@ -1181,6 +1191,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()); // Deferred use.
|
| LOperand* input = UseRegisterAtStart(instr->value());
|
|
|