| OLD | NEW |
| 1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "src/bootstrapper.h" | 5 #include "src/bootstrapper.h" |
| 6 | 6 |
| 7 #include "src/accessors.h" | 7 #include "src/accessors.h" |
| 8 #include "src/api-natives.h" | 8 #include "src/api-natives.h" |
| 9 #include "src/code-stubs.h" | 9 #include "src/code-stubs.h" |
| 10 #include "src/extensions/externalize-string-extension.h" | 10 #include "src/extensions/externalize-string-extension.h" |
| (...skipping 1656 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1667 JSFunction::SetInstancePrototype( | 1667 JSFunction::SetInstancePrototype( |
| 1668 cons, | 1668 cons, |
| 1669 Handle<Object>(native_context()->initial_object_prototype(), isolate)); | 1669 Handle<Object>(native_context()->initial_object_prototype(), isolate)); |
| 1670 Handle<JSObject> math = factory->NewJSObject(cons, TENURED); | 1670 Handle<JSObject> math = factory->NewJSObject(cons, TENURED); |
| 1671 DCHECK(math->IsJSObject()); | 1671 DCHECK(math->IsJSObject()); |
| 1672 JSObject::AddProperty(global, name, math, DONT_ENUM); | 1672 JSObject::AddProperty(global, name, math, DONT_ENUM); |
| 1673 SimpleInstallFunction(math, "acos", Builtins::kMathAcos, 1, true); | 1673 SimpleInstallFunction(math, "acos", Builtins::kMathAcos, 1, true); |
| 1674 SimpleInstallFunction(math, "asin", Builtins::kMathAsin, 1, true); | 1674 SimpleInstallFunction(math, "asin", Builtins::kMathAsin, 1, true); |
| 1675 SimpleInstallFunction(math, "atan", Builtins::kMathAtan, 1, true); | 1675 SimpleInstallFunction(math, "atan", Builtins::kMathAtan, 1, true); |
| 1676 SimpleInstallFunction(math, "atan2", Builtins::kMathAtan2, 2, true); | 1676 SimpleInstallFunction(math, "atan2", Builtins::kMathAtan2, 2, true); |
| 1677 SimpleInstallFunction(math, "atanh", Builtins::kMathAtanh, 1, true); |
| 1677 SimpleInstallFunction(math, "ceil", Builtins::kMathCeil, 1, true); | 1678 SimpleInstallFunction(math, "ceil", Builtins::kMathCeil, 1, true); |
| 1679 SimpleInstallFunction(math, "cbrt", Builtins::kMathCbrt, 1, true); |
| 1680 SimpleInstallFunction(math, "expm1", Builtins::kMathExpm1, 1, true); |
| 1678 SimpleInstallFunction(math, "clz32", Builtins::kMathClz32, 1, true); | 1681 SimpleInstallFunction(math, "clz32", Builtins::kMathClz32, 1, true); |
| 1679 Handle<JSFunction> math_exp = | 1682 Handle<JSFunction> math_exp = |
| 1680 SimpleInstallFunction(math, "exp", Builtins::kMathExp, 1, true); | 1683 SimpleInstallFunction(math, "exp", Builtins::kMathExp, 1, true); |
| 1681 native_context()->set_math_exp(*math_exp); | 1684 native_context()->set_math_exp(*math_exp); |
| 1682 Handle<JSFunction> math_floor = | 1685 Handle<JSFunction> math_floor = |
| 1683 SimpleInstallFunction(math, "floor", Builtins::kMathFloor, 1, true); | 1686 SimpleInstallFunction(math, "floor", Builtins::kMathFloor, 1, true); |
| 1684 native_context()->set_math_floor(*math_floor); | 1687 native_context()->set_math_floor(*math_floor); |
| 1685 SimpleInstallFunction(math, "fround", Builtins::kMathFround, 1, true); | 1688 SimpleInstallFunction(math, "fround", Builtins::kMathFround, 1, true); |
| 1686 SimpleInstallFunction(math, "imul", Builtins::kMathImul, 2, true); | 1689 SimpleInstallFunction(math, "imul", Builtins::kMathImul, 2, true); |
| 1687 Handle<JSFunction> math_log = | 1690 Handle<JSFunction> math_log = |
| (...skipping 890 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2578 Handle<AccessorInfo> script_is_embedder_debug_script = | 2581 Handle<AccessorInfo> script_is_embedder_debug_script = |
| 2579 Accessors::ScriptIsEmbedderDebugScriptInfo(isolate, attribs); | 2582 Accessors::ScriptIsEmbedderDebugScriptInfo(isolate, attribs); |
| 2580 { | 2583 { |
| 2581 AccessorConstantDescriptor d( | 2584 AccessorConstantDescriptor d( |
| 2582 Handle<Name>(Name::cast(script_is_embedder_debug_script->name())), | 2585 Handle<Name>(Name::cast(script_is_embedder_debug_script->name())), |
| 2583 script_is_embedder_debug_script, attribs); | 2586 script_is_embedder_debug_script, attribs); |
| 2584 script_map->AppendDescriptor(&d); | 2587 script_map->AppendDescriptor(&d); |
| 2585 } | 2588 } |
| 2586 | 2589 |
| 2587 { | 2590 { |
| 2591 // TODO(mvstanton): Remove this when MathSinh, MathCosh and MathTanh are |
| 2592 // no longer implemented in fdlibm.js. |
| 2593 SimpleInstallFunction(container, "MathExpm1", Builtins::kMathExpm1, 1, |
| 2594 true); |
| 2595 } |
| 2596 |
| 2597 { |
| 2588 PrototypeIterator iter(native_context->sloppy_async_function_map()); | 2598 PrototypeIterator iter(native_context->sloppy_async_function_map()); |
| 2589 Handle<JSObject> async_function_prototype(iter.GetCurrent<JSObject>()); | 2599 Handle<JSObject> async_function_prototype(iter.GetCurrent<JSObject>()); |
| 2590 | 2600 |
| 2591 static const bool kUseStrictFunctionMap = true; | 2601 static const bool kUseStrictFunctionMap = true; |
| 2592 Handle<JSFunction> async_function_constructor = InstallFunction( | 2602 Handle<JSFunction> async_function_constructor = InstallFunction( |
| 2593 container, "AsyncFunction", JS_FUNCTION_TYPE, JSFunction::kSize, | 2603 container, "AsyncFunction", JS_FUNCTION_TYPE, JSFunction::kSize, |
| 2594 async_function_prototype, Builtins::kAsyncFunctionConstructor, | 2604 async_function_prototype, Builtins::kAsyncFunctionConstructor, |
| 2595 kUseStrictFunctionMap); | 2605 kUseStrictFunctionMap); |
| 2596 async_function_constructor->set_prototype_or_initial_map( | 2606 async_function_constructor->set_prototype_or_initial_map( |
| 2597 native_context->sloppy_async_function_map()); | 2607 native_context->sloppy_async_function_map()); |
| (...skipping 1345 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3943 } | 3953 } |
| 3944 | 3954 |
| 3945 | 3955 |
| 3946 // Called when the top-level V8 mutex is destroyed. | 3956 // Called when the top-level V8 mutex is destroyed. |
| 3947 void Bootstrapper::FreeThreadResources() { | 3957 void Bootstrapper::FreeThreadResources() { |
| 3948 DCHECK(!IsActive()); | 3958 DCHECK(!IsActive()); |
| 3949 } | 3959 } |
| 3950 | 3960 |
| 3951 } // namespace internal | 3961 } // namespace internal |
| 3952 } // namespace v8 | 3962 } // namespace v8 |
| OLD | NEW |