| Index: src/arm/codegen-arm.cc
 | 
| ===================================================================
 | 
| --- src/arm/codegen-arm.cc	(revision 6572)
 | 
| +++ src/arm/codegen-arm.cc	(working copy)
 | 
| @@ -4698,12 +4698,15 @@
 | 
|                                   runtime.entry_label(),
 | 
|                                   AVOID_NANS_AND_INFINITIES);
 | 
|  
 | 
| +    // Convert -0 into +0 by adding +0.
 | 
| +    __ vmov(d2, 0.0);
 | 
| +    __ vadd(d0, d2, d0);
 | 
|      // Load 1.0 into d2.
 | 
|      __ vmov(d2, 1.0);
 | 
|  
 | 
| -    // Calculate the reciprocal of the square root. 1/sqrt(x) = sqrt(1/x).
 | 
| +    // Calculate the reciprocal of the square root.
 | 
| +    __ vsqrt(d0, d0);
 | 
|      __ vdiv(d0, d2, d0);
 | 
| -    __ vsqrt(d0, d0);
 | 
|  
 | 
|      __ b(&allocate_return);
 | 
|  
 | 
| @@ -4717,6 +4720,9 @@
 | 
|                                   scratch1, scratch2, heap_number_map, s0,
 | 
|                                   runtime.entry_label(),
 | 
|                                   AVOID_NANS_AND_INFINITIES);
 | 
| +    // Convert -0 into +0 by adding +0.
 | 
| +    __ vmov(d2, 0.0);
 | 
| +    __ vadd(d0, d2, d0);
 | 
|      __ vsqrt(d0, d0);
 | 
|  
 | 
|      __ bind(&allocate_return);
 | 
| 
 |