| Index: src/runtime.cc | 
| diff --git a/src/runtime.cc b/src/runtime.cc | 
| index c379ec9101a463ac36f25a334995395dcca2e7a6..ae47984d940936b0c28361509061d1e765ed1f74 100644 | 
| --- a/src/runtime.cc | 
| +++ b/src/runtime.cc | 
| @@ -7259,19 +7259,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_Math_pow) { | 
| } | 
|  | 
| CONVERT_DOUBLE_ARG_CHECKED(y, 1); | 
| -  int y_int = static_cast<int>(y); | 
| -  double result; | 
| -  if (y == y_int) { | 
| -    result = power_double_int(x, y_int);  // Returns 1 if exponent is 0. | 
| -  } else  if (y == 0.5) { | 
| -    result = (isinf(x)) ? V8_INFINITY | 
| -                        : fast_sqrt(x + 0.0);  // Convert -0 to +0. | 
| -  } else if (y == -0.5) { | 
| -    result = (isinf(x)) ? 0 | 
| -                        : 1.0 / fast_sqrt(x + 0.0);  // Convert -0 to +0. | 
| -  } else { | 
| -    result = power_double_double(x, y); | 
| -  } | 
| +  double result = power_helper(x, y); | 
| if (isnan(result)) return isolate->heap()->nan_value(); | 
| return isolate->heap()->AllocateHeapNumber(result); | 
| } | 
|  |