Index: src/builtins/builtins-async.h |
diff --git a/src/builtins/builtins-async.h b/src/builtins/builtins-async.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..7c5082033a6992ded0c9ec9e188e2e684f583390 |
--- /dev/null |
+++ b/src/builtins/builtins-async.h |
@@ -0,0 +1,35 @@ |
+// Copyright 2016 the V8 project authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef V8_BUILTINS_BUILTINS_ASYNC_H_ |
+#define V8_BUILTINS_BUILTINS_ASYNC_H_ |
+ |
+#include "src/builtins/builtins-promise.h" |
+ |
+namespace v8 { |
+namespace internal { |
+ |
+class AsyncBuiltinsAssembler : public PromiseBuiltinsAssembler { |
+ public: |
+ explicit AsyncBuiltinsAssembler(CodeAssemblerState* state) |
+ : PromiseBuiltinsAssembler(state) {} |
+ |
+ protected: |
+ typedef std::function<Node*(Node*)> NodeGenerator1; |
+ |
+ // Perform steps to resume generator after `value` is resolved. |
+ // `on_reject_context_index` is an index into the Native Context, which should |
+ // point to a SharedFunctioninfo instance used to create the closure. The |
+ // value following the reject index should be a similar value for the resolve |
+ // closure. Returns the Promise-wrapped `value`. |
+ Node* Await(Node* context, Node* generator, Node* value, Node* outer_promise, |
+ const NodeGenerator1& create_closure_context, |
+ int on_resolve_context_index, int on_reject_context_index, |
+ bool is_catchable); |
+}; |
+ |
+} // namespace internal |
+} // namespace v8 |
+ |
+#endif // V8_BUILTINS_BUILTINS_ASYNC_H_ |