v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
builtins-async-gen.h
Go to the documentation of this file.
1// Copyright 2016 the V8 project authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef V8_BUILTINS_BUILTINS_ASYNC_GEN_H_
6#define V8_BUILTINS_BUILTINS_ASYNC_GEN_H_
7
10
11namespace v8 {
12namespace internal {
13
15 public:
18
19 protected:
20 // Perform steps to resume generator after `value` is resolved.
21 // `on_reject` is the SharedFunctioninfo instance used to create the reject
22 // closure. `on_resolve` is the SharedFunctioninfo instance used to create the
23 // resolve closure. Returns the Promise-wrapped `value`.
25 std::function<std::pair<TNode<JSFunction>, TNode<JSFunction>>(
29 TNode<JSPromise> outer_promise,
33 TNode<JSPromise> outer_promise, RootIndex on_resolve_sfi,
34 RootIndex on_reject_sfi);
35
36 // Return a new built-in function object as defined in
37 // Async Iterator Value Unwrap Functions
39 TNode<Boolean> done);
40
41 private:
44};
45
46} // namespace internal
47} // namespace v8
48
49#endif // V8_BUILTINS_BUILTINS_ASYNC_GEN_H_
std::function< std::pair< TNode< JSFunction >, TNode< JSFunction > >( TNode< Context >, TNode< NativeContext >)> CreateClosures
TNode< JSFunction > CreateUnwrapClosure(TNode< NativeContext > native_context, TNode< Boolean > done)
TNode< Object > Await(TNode< Context > context, TNode< JSGeneratorObject > generator, TNode< JSAny > value, TNode< JSPromise > outer_promise, const CreateClosures &CreateClosures)
AsyncBuiltinsAssembler(compiler::CodeAssemblerState *state)
TNode< Context > AllocateAsyncIteratorValueUnwrapContext(TNode< NativeContext > native_context, TNode< Boolean > done)
!IsContextMap !IsContextMap native_context
Definition map-inl.h:877