Handle Math.log(NaN) correctly in Crankshaft on Intel platforms.

This never worked...

TBR=yangguo@chromium.org

Review URL: https://codereview.chromium.org/118233002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18350 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
svenpanne@chromium.org 2013-12-18 13:31:16 +00:00
parent 6d94e94585
commit b6c3701aea
2 changed files with 2 additions and 2 deletions

View File

@ -4156,7 +4156,7 @@ void LCodeGen::DoMathLog(LMathLog* instr) {
__ xorps(xmm_scratch, xmm_scratch);
__ ucomisd(input_reg, xmm_scratch);
__ j(above, &positive, Label::kNear);
__ j(equal, &zero, Label::kNear);
__ j(not_carry, &zero, Label::kNear);
ExternalReference nan =
ExternalReference::address_of_canonical_non_hole_nan();
__ movsd(input_reg, Operand::StaticVariable(nan));

View File

@ -3726,7 +3726,7 @@ void LCodeGen::DoMathLog(LMathLog* instr) {
__ xorps(xmm_scratch, xmm_scratch);
__ ucomisd(input_reg, xmm_scratch);
__ j(above, &positive, Label::kNear);
__ j(equal, &zero, Label::kNear);
__ j(not_carry, &zero, Label::kNear);
ExternalReference nan =
ExternalReference::address_of_canonical_non_hole_nan();
Operand nan_operand = masm()->ExternalOperand(nan);