Chromium Code Reviews| Index: src/bootstrapper.cc |
| diff --git a/src/bootstrapper.cc b/src/bootstrapper.cc |
| index a6ec9d923e8f8be15ba6761f7855ba0f8e97ca15..a98ba927bbabc01af8c9a7e0e0a22e09359647c3 100644 |
| --- a/src/bootstrapper.cc |
| +++ b/src/bootstrapper.cc |
| @@ -1669,32 +1669,28 @@ void Genesis::InitializeGlobal(Handle<JSGlobalObject> global_object, |
| Handle<JSObject> math = factory->NewJSObject(cons, TENURED); |
| DCHECK(math->IsJSObject()); |
| JSObject::AddProperty(global, name, math, DONT_ENUM); |
| - Handle<JSFunction> math_abs = |
| - SimpleInstallFunction(math, "abs", Builtins::kMathAbs, 1, true); |
| - native_context()->set_math_abs(*math_abs); |
| + SimpleInstallFunction(math, "abs", Builtins::kMathAbs, 1, true); |
| SimpleInstallFunction(math, "acos", Builtins::kMathAcos, 1, true); |
| + SimpleInstallFunction(math, "acosh", Builtins::kMathAcosh, 1, true); |
| SimpleInstallFunction(math, "asin", Builtins::kMathAsin, 1, true); |
| + SimpleInstallFunction(math, "asinh", Builtins::kMathAsinh, 1, true); |
| SimpleInstallFunction(math, "atan", Builtins::kMathAtan, 1, true); |
| - SimpleInstallFunction(math, "atan2", Builtins::kMathAtan2, 2, true); |
| SimpleInstallFunction(math, "atanh", Builtins::kMathAtanh, 1, true); |
| + SimpleInstallFunction(math, "atan2", Builtins::kMathAtan2, 2, true); |
| SimpleInstallFunction(math, "ceil", Builtins::kMathCeil, 1, true); |
| SimpleInstallFunction(math, "cbrt", Builtins::kMathCbrt, 1, true); |
| SimpleInstallFunction(math, "expm1", Builtins::kMathExpm1, 1, true); |
| SimpleInstallFunction(math, "clz32", Builtins::kMathClz32, 1, true); |
| SimpleInstallFunction(math, "cos", Builtins::kMathCos, 1, true); |
| SimpleInstallFunction(math, "cosh", Builtins::kMathCosh, 1, true); |
| - Handle<JSFunction> math_exp = |
| - SimpleInstallFunction(math, "exp", Builtins::kMathExp, 1, true); |
| - native_context()->set_math_exp(*math_exp); |
| + SimpleInstallFunction(math, "exp", Builtins::kMathExp, 1, true); |
| Handle<JSFunction> math_floor = |
| SimpleInstallFunction(math, "floor", Builtins::kMathFloor, 1, true); |
| native_context()->set_math_floor(*math_floor); |
| SimpleInstallFunction(math, "fround", Builtins::kMathFround, 1, true); |
| SimpleInstallFunction(math, "hypot", Builtins::kMathHypot, 2, false); |
| SimpleInstallFunction(math, "imul", Builtins::kMathImul, 2, true); |
| - Handle<JSFunction> math_log = |
| - SimpleInstallFunction(math, "log", Builtins::kMathLog, 1, true); |
| - native_context()->set_math_log(*math_log); |
| + SimpleInstallFunction(math, "log", Builtins::kMathLog, 1, true); |
| SimpleInstallFunction(math, "log1p", Builtins::kMathLog1p, 1, true); |
| SimpleInstallFunction(math, "log2", Builtins::kMathLog2, 1, true); |
| SimpleInstallFunction(math, "log10", Builtins::kMathLog10, 1, true); |
| @@ -1704,17 +1700,17 @@ void Genesis::InitializeGlobal(Handle<JSGlobalObject> global_object, |
| SimpleInstallFunction(math, "pow", Builtins::kMathPow, 2, true); |
|
Franzi
2016/07/01 09:09:48
Where are we using %math_pow? I didn't find it.
Benedikt Meurer
2016/07/01 10:48:33
It's used to implement ** in the parser.
|
| native_context()->set_math_pow(*math_pow); |
| SimpleInstallFunction(math, "round", Builtins::kMathRound, 1, true); |
| + SimpleInstallFunction(math, "sign", Builtins::kMathSign, 1, true); |
| SimpleInstallFunction(math, "sin", Builtins::kMathSin, 1, true); |
| SimpleInstallFunction(math, "sinh", Builtins::kMathSinh, 1, true); |
| - Handle<JSFunction> math_sqrt = |
| - SimpleInstallFunction(math, "sqrt", Builtins::kMathSqrt, 1, true); |
| - native_context()->set_math_sqrt(*math_sqrt); |
| + SimpleInstallFunction(math, "sqrt", Builtins::kMathSqrt, 1, true); |
| SimpleInstallFunction(math, "tan", Builtins::kMathTan, 1, true); |
| SimpleInstallFunction(math, "tanh", Builtins::kMathTanh, 1, true); |
| SimpleInstallFunction(math, "trunc", Builtins::kMathTrunc, 1, true); |
| // Install math constants. |
| double const kE = base::ieee754::exp(1.0); |
| + double const kPI = 3.1415926535897932; |
| JSObject::AddProperty( |
| math, factory->NewStringFromAsciiChecked("E"), factory->NewNumber(kE), |
| static_cast<PropertyAttributes>(DONT_DELETE | DONT_ENUM | READ_ONLY)); |
| @@ -1734,6 +1730,17 @@ void Genesis::InitializeGlobal(Handle<JSGlobalObject> global_object, |
| math, factory->NewStringFromAsciiChecked("LOG2E"), |
| factory->NewNumber(base::ieee754::log2(kE)), |
| static_cast<PropertyAttributes>(DONT_DELETE | DONT_ENUM | READ_ONLY)); |
| + JSObject::AddProperty( |
| + math, factory->NewStringFromAsciiChecked("PI"), factory->NewNumber(kPI), |
| + static_cast<PropertyAttributes>(DONT_DELETE | DONT_ENUM | READ_ONLY)); |
| + JSObject::AddProperty( |
| + math, factory->NewStringFromAsciiChecked("SQRT1_2"), |
| + factory->NewNumber(std::sqrt(0.5)), |
| + static_cast<PropertyAttributes>(DONT_DELETE | DONT_ENUM | READ_ONLY)); |
| + JSObject::AddProperty( |
| + math, factory->NewStringFromAsciiChecked("SQRT2"), |
| + factory->NewNumber(std::sqrt(2.0)), |
| + static_cast<PropertyAttributes>(DONT_DELETE | DONT_ENUM | READ_ONLY)); |
| } |
| { // -- A r r a y B u f f e r |