summaryrefslogtreecommitdiff
path: root/deps/v8/src/assembler.cc
diff options
context:
space:
mode:
authorRyan Dahl <ry@tinyclouds.org>2011-12-14 15:02:32 -0800
committerRyan Dahl <ry@tinyclouds.org>2011-12-14 15:02:32 -0800
commitb3a7de15b7f06e11bd326b60b0e5ffd762ae71c5 (patch)
tree5bd6feac02a7c9eed1fbc03fc678e952ab3a852f /deps/v8/src/assembler.cc
parentbe23c51f6979ef5fd519069a62648d81f25b2ec0 (diff)
downloadnode-new-b3a7de15b7f06e11bd326b60b0e5ffd762ae71c5.tar.gz
Upgrade V8 to 3.8.0
Diffstat (limited to 'deps/v8/src/assembler.cc')
-rw-r--r--deps/v8/src/assembler.cc14
1 files changed, 3 insertions, 11 deletions
diff --git a/deps/v8/src/assembler.cc b/deps/v8/src/assembler.cc
index bc05c01800..941f45c211 100644
--- a/deps/v8/src/assembler.cc
+++ b/deps/v8/src/assembler.cc
@@ -1113,17 +1113,9 @@ double power_double_int(double x, int y) {
double power_double_double(double x, double y) {
- 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);
- }
- if (isnan(y) || ((x == 1 || x == -1) && isinf(y))) {
- return OS::nan_value();
- }
+ // The checks for special cases can be dropped in ia32 because it has already
+ // been done in generated code before bailing out here.
+ if (isnan(y) || ((x == 1 || x == -1) && isinf(y))) return OS::nan_value();
return pow(x, y);
}