Forgot your password?

typodupeerror

Comment: Re:how does the patch work? (Score 3, Informative) 213

by jspenguin1 (#34782820) Attached to: PHP Floating Point Bug Crashes Servers

The x87 registers are all 80 bits long, while standard doubles are only 64 bits. You can get into a situation where two floating point registers contain different values that round to the same double value, yet they don't compare equal. Adding the volatile keyword forces the compiler to copy the registers to the stack and read them back every time they are accessed, truncating them to 64 bits. The patch is only needed on x86 because x86_64 uses SSE3 for floating point, which works with 64-bit floats natively.

Intuition, however illogical, is recognized as a command prerogative. -- Kirk, "Obsession", stardate 3620.7

Working...