Changed GeneratePow ensure xmm1 is loaded with y before making the test for NaN

Review URL: http://codereview.chromium.org/660172

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3966 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
ricow@chromium.org 2010-02-26 11:09:06 +00:00
parent 496868722f
commit def4980625

View File

@ -5368,13 +5368,12 @@ void CodeGenerator::GeneratePow(ZoneList<Expression*>* args) {
__ cmp(FieldOperand(y.reg(), HeapObject::kMapOffset),
Factory::heap_number_map());
__ j(not_equal, &go_runtime);
// Y must be a double.
__ movdbl(xmm1, FieldOperand(y.reg(), HeapNumber::kValueOffset));
// Test if y is nan.
__ ucomisd(xmm1, xmm1);
__ j(parity_even, &go_runtime);
// Y must be a double.
__ movdbl(xmm1, FieldOperand(y.reg(), HeapNumber::kValueOffset));
Label x_not_smi;
Label handle_special_cases;
__ test(x.reg(), Immediate(kSmiTagMask));