| Index: src/assembler.cc
|
| ===================================================================
|
| --- src/assembler.cc (revision 7006)
|
| +++ src/assembler.cc (working copy)
|
| @@ -553,8 +553,9 @@
|
| : address_(Redirect(Builtins::c_function_address(id))) {}
|
|
|
|
|
| -ExternalReference::ExternalReference(ApiFunction* fun)
|
| - : address_(Redirect(fun->address())) {}
|
| +ExternalReference::ExternalReference(
|
| + ApiFunction* fun, Type type = ExternalReference::BUILTIN_CALL)
|
| + : address_(Redirect(fun->address(), type)) {}
|
|
|
|
|
| ExternalReference::ExternalReference(Builtins::Name name)
|
| @@ -853,8 +854,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();
|
| @@ -903,13 +904,13 @@
|
| UNREACHABLE();
|
| }
|
| // Passing true as 2nd parameter indicates that they return an fp value.
|
| - return ExternalReference(Redirect(FUNCTION_ADDR(function), true));
|
| + return ExternalReference(Redirect(FUNCTION_ADDR(function), FP_RETURN_CALL));
|
| }
|
|
|
|
|
| ExternalReference ExternalReference::compare_doubles() {
|
| return ExternalReference(Redirect(FUNCTION_ADDR(native_compare_doubles),
|
| - false));
|
| + BUILTIN_CALL));
|
| }
|
|
|
|
|
|
|