Changeset 167405 in webkit for trunk/Source/JavaScriptCore/runtime/JSCJSValueInlines.h
- Timestamp:
- Apr 16, 2014, 5:40:36 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/runtime/JSCJSValueInlines.h
r167394 r167405 507 507 if (number != number) 508 508 return false; 509 #if OS(WINDOWS) 510 // Need to check for infinity on Windows to avoid floating point error on following cast, see bug 131182. 509 #if OS(WINDOWS) && CPU(X86) 510 // The VS Compiler for 32-bit builds generates a floating point error when attempting to cast 511 // from an infinity to a 64-bit integer. We leave this routine with the floating point error 512 // left in a register, causing undefined behavior in later floating point operations. 513 // 514 // To avoid this issue, we check for infinity here, and return false in that case. 511 515 if (std::isinf(number)) 512 516 return false;
Note:
See TracChangeset
for help on using the changeset viewer.