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:
parent
6d94e94585
commit
b6c3701aea
@ -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));
|
||||
|
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user