| Index: src/assembler.cc
|
| ===================================================================
|
| --- src/assembler.cc (revision 6572)
|
| +++ src/assembler.cc (working copy)
|
| @@ -838,8 +838,8 @@
|
| return power_double_int(x, y_int); // Returns 1.0 for exponent 0.
|
| }
|
| if (!isinf(x)) {
|
| - if (y == 0.5) return sqrt(x);
|
| - if (y == -0.5) return 1.0 / sqrt(x);
|
| + if (y == 0.5) return sqrt(x + 0.0); // -0 must be converted to +0.
|
| + if (y == -0.5) return 1.0 / sqrt(x + 0.0);
|
| }
|
| if (isnan(y) || ((x == 1 || x == -1) && isinf(y))) {
|
| return OS::nan_value();
|
|
|