| 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/base/ieee754.h" | 9 #include "src/base/ieee754.h" |
| 10 #include "src/code-stubs.h" | 10 #include "src/code-stubs.h" |
| (...skipping 2619 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2630 | 2630 |
| 2631 { | 2631 { |
| 2632 PrototypeIterator iter(native_context->sloppy_async_function_map()); | 2632 PrototypeIterator iter(native_context->sloppy_async_function_map()); |
| 2633 Handle<JSObject> async_function_prototype(iter.GetCurrent<JSObject>()); | 2633 Handle<JSObject> async_function_prototype(iter.GetCurrent<JSObject>()); |
| 2634 | 2634 |
| 2635 static const bool kUseStrictFunctionMap = true; | 2635 static const bool kUseStrictFunctionMap = true; |
| 2636 Handle<JSFunction> async_function_constructor = InstallFunction( | 2636 Handle<JSFunction> async_function_constructor = InstallFunction( |
| 2637 container, "AsyncFunction", JS_FUNCTION_TYPE, JSFunction::kSize, | 2637 container, "AsyncFunction", JS_FUNCTION_TYPE, JSFunction::kSize, |
| 2638 async_function_prototype, Builtins::kAsyncFunctionConstructor, | 2638 async_function_prototype, Builtins::kAsyncFunctionConstructor, |
| 2639 kUseStrictFunctionMap); | 2639 kUseStrictFunctionMap); |
| 2640 async_function_constructor->set_prototype_or_initial_map( | |
| 2641 native_context->sloppy_async_function_map()); | |
| 2642 async_function_constructor->shared()->DontAdaptArguments(); | 2640 async_function_constructor->shared()->DontAdaptArguments(); |
| 2643 async_function_constructor->shared()->set_construct_stub( | 2641 async_function_constructor->shared()->set_construct_stub( |
| 2644 *isolate->builtins()->AsyncFunctionConstructor()); | 2642 *isolate->builtins()->AsyncFunctionConstructor()); |
| 2645 async_function_constructor->shared()->set_length(1); | 2643 async_function_constructor->shared()->set_length(1); |
| 2646 InstallWithIntrinsicDefaultProto(isolate, async_function_constructor, | 2644 InstallWithIntrinsicDefaultProto(isolate, async_function_constructor, |
| 2647 Context::ASYNC_FUNCTION_FUNCTION_INDEX); | 2645 Context::ASYNC_FUNCTION_FUNCTION_INDEX); |
| 2646 SetObjectPrototype(async_function_constructor, |
| 2647 isolate->function_function()); |
| 2648 | 2648 |
| 2649 JSObject::AddProperty( | 2649 JSObject::AddProperty( |
| 2650 async_function_prototype, factory->constructor_string(), | 2650 async_function_prototype, factory->constructor_string(), |
| 2651 async_function_constructor, | 2651 async_function_constructor, |
| 2652 static_cast<PropertyAttributes>(DONT_ENUM | READ_ONLY)); | 2652 static_cast<PropertyAttributes>(DONT_ENUM | READ_ONLY)); |
| 2653 | 2653 |
| 2654 JSFunction::SetPrototype(async_function_constructor, | 2654 JSFunction::SetPrototype(async_function_constructor, |
| 2655 async_function_prototype); | 2655 async_function_prototype); |
| 2656 | 2656 |
| 2657 Handle<JSFunction> async_function_next = | 2657 Handle<JSFunction> async_function_next = |
| (...skipping 1297 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3955 } | 3955 } |
| 3956 | 3956 |
| 3957 | 3957 |
| 3958 // Called when the top-level V8 mutex is destroyed. | 3958 // Called when the top-level V8 mutex is destroyed. |
| 3959 void Bootstrapper::FreeThreadResources() { | 3959 void Bootstrapper::FreeThreadResources() { |
| 3960 DCHECK(!IsActive()); | 3960 DCHECK(!IsActive()); |
| 3961 } | 3961 } |
| 3962 | 3962 |
| 3963 } // namespace internal | 3963 } // namespace internal |
| 3964 } // namespace v8 | 3964 } // namespace v8 |
| OLD | NEW |