Index: src/ia32/lithium-ia32.cc |
=================================================================== |
--- src/ia32/lithium-ia32.cc (revision 7492) |
+++ src/ia32/lithium-ia32.cc (working copy) |
@@ -1224,7 +1224,13 @@ |
LInstruction* LChunkBuilder::DoUnaryMathOperation(HUnaryMathOperation* instr) { |
BuiltinFunctionId op = instr->op(); |
- if (op == kMathLog || op == kMathSin || op == kMathCos) { |
+ if (op == kMathLog) { |
+ ASSERT(instr->representation().IsDouble()); |
+ ASSERT(instr->value()->representation().IsDouble()); |
+ LOperand* input = UseRegisterAtStart(instr->value()); |
+ LUnaryMathOperation* result = new LUnaryMathOperation(input); |
+ return DefineSameAsFirst(result); |
+ } else if (op == kMathSin || op == kMathCos) { |
LOperand* input = UseFixedDouble(instr->value(), xmm1); |
LUnaryMathOperation* result = new LUnaryMathOperation(input); |
return MarkAsCall(DefineFixedDouble(result, xmm1), instr); |