Index: src/assembler.cc |
diff --git a/src/assembler.cc b/src/assembler.cc |
index e1cf13ff71a6a53604c0137d50784859f12e1c30..941f45c21132a5a9d09d929e12ed8d9d46c75333 100644 |
--- a/src/assembler.cc |
+++ b/src/assembler.cc |
@@ -1115,19 +1115,7 @@ double power_double_int(double x, int y) { |
double power_double_double(double x, double y) { |
// The checks for special cases can be dropped in ia32 because it has already |
// been done in generated code before bailing out here. |
-#if !defined(V8_TARGET_ARCH_IA32) |
- int y_int = static_cast<int>(y); |
- if (y == y_int) { |
- return power_double_int(x, y_int); // Returns 1.0 for exponent 0. |
- } |
- if (!isinf(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); |
- } |
-#endif |
- if (isnan(y) || ((x == 1 || x == -1) && isinf(y))) { |
- return OS::nan_value(); |
- } |
+ if (isnan(y) || ((x == 1 || x == -1) && isinf(y))) return OS::nan_value(); |
return pow(x, y); |
} |