Comment #2 on issue 1023 by alexandre.rames: NaN is interpreted as true in conditionals on ARM with crankshaft
http://code.google.com/p/v8/issues/detail?id=1023

I think this comes from LCodeGen::DoBranch .
Revision 6176 does not actually cause the bug, but rather makes it visible.
We are only comparing the floating-point value to 0, but we should also check that the value is valid. I'll create a patch for this. It should be ready soon.

1115       __ sub(ip, reg, Operand(kHeapObjectTag));
1116       __ vldr(dbl_scratch, ip, HeapNumber::kValueOffset);
1117       __ vcmp(dbl_scratch, 0.0);
1118       __ vmrs(pc);  // Move vector status bits to normal status bits.
1119       __ b(eq, false_label);
1120       __ b(true_label);

Alexandre


--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to