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