| Index: src/runtime.cc
|
| diff --git a/src/runtime.cc b/src/runtime.cc
|
| index 24dc60f0bc5b76cbe3963a20e5bff4f958739afc..46021ad9bb6f5c46529846c501ff718b33771589 100644
|
| --- a/src/runtime.cc
|
| +++ b/src/runtime.cc
|
| @@ -7708,36 +7708,6 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_ConstructDouble) {
|
| }
|
|
|
|
|
| -// Cube root approximation, refer to: http://metamerist.com/cbrt/cbrt.htm
|
| -// Using initial approximation adapted from Kahan's cbrt and 4 iterations
|
| -// of Newton's method.
|
| -inline double CubeRootNewtonIteration(double approx, double x) {
|
| - return (1.0 / 3.0) * (x / (approx * approx) + 2 * approx);
|
| -}
|
| -
|
| -
|
| -inline double CubeRoot(double x) {
|
| - static const uint64_t magic = V8_2PART_UINT64_C(0x2A9F7893, 00000000);
|
| - uint64_t xhigh = double_to_uint64(x);
|
| - double approx = uint64_to_double(xhigh / 3 + magic);
|
| -
|
| - approx = CubeRootNewtonIteration(approx, x);
|
| - approx = CubeRootNewtonIteration(approx, x);
|
| - approx = CubeRootNewtonIteration(approx, x);
|
| - return CubeRootNewtonIteration(approx, x);
|
| -}
|
| -
|
| -
|
| -RUNTIME_FUNCTION(MaybeObject*, Runtime_Math_cbrt) {
|
| - SealHandleScope shs(isolate);
|
| - ASSERT(args.length() == 1);
|
| - CONVERT_DOUBLE_ARG_CHECKED(x, 0);
|
| - if (x == 0 || std::isinf(x)) return args[0];
|
| - double result = (x > 0) ? CubeRoot(x) : -CubeRoot(-x);
|
| - return isolate->heap()->AllocateHeapNumber(result);
|
| -}
|
| -
|
| -
|
| RUNTIME_FUNCTION(MaybeObject*, Runtime_Math_log1p) {
|
| SealHandleScope shs(isolate);
|
| ASSERT(args.length() == 1);
|
|
|