summaryrefslogtreecommitdiff
path: root/deps/v8/src/promise-utils.cc
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/promise-utils.cc')
-rw-r--r--deps/v8/src/promise-utils.cc75
1 files changed, 0 insertions, 75 deletions
diff --git a/deps/v8/src/promise-utils.cc b/deps/v8/src/promise-utils.cc
deleted file mode 100644
index 607dbe8caa..0000000000
--- a/deps/v8/src/promise-utils.cc
+++ /dev/null
@@ -1,75 +0,0 @@
-// 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.
-
-#include "src/promise-utils.h"
-
-#include "src/factory.h"
-#include "src/isolate.h"
-#include "src/objects-inl.h"
-
-namespace v8 {
-namespace internal {
-
-enum PromiseResolvingFunctionContextSlot {
- kAlreadyVisitedSlot = Context::MIN_CONTEXT_SLOTS,
- kPromiseSlot,
- kDebugEventSlot,
- kPromiseContextLength,
-};
-
-JSObject* PromiseUtils::GetPromise(Handle<Context> context) {
- return JSObject::cast(context->get(kPromiseSlot));
-}
-
-Object* PromiseUtils::GetDebugEvent(Handle<Context> context) {
- return context->get(kDebugEventSlot);
-}
-
-bool PromiseUtils::HasAlreadyVisited(Handle<Context> context) {
- return Smi::cast(context->get(kAlreadyVisitedSlot))->value() != 0;
-}
-
-void PromiseUtils::SetAlreadyVisited(Handle<Context> context) {
- context->set(kAlreadyVisitedSlot, Smi::FromInt(1));
-}
-
-void PromiseUtils::CreateResolvingFunctions(Isolate* isolate,
- Handle<JSObject> promise,
- Handle<Object> debug_event,
- Handle<JSFunction>* resolve,
- Handle<JSFunction>* reject) {
- DCHECK(debug_event->IsTrue(isolate) || debug_event->IsFalse(isolate));
- Handle<Context> context =
- isolate->factory()->NewPromiseResolvingFunctionContext(
- kPromiseContextLength);
- context->set_native_context(*isolate->native_context());
- // We set the closure to be an empty function, same as native context.
- context->set_closure(isolate->native_context()->closure());
- context->set(kAlreadyVisitedSlot, Smi::kZero);
- context->set(kPromiseSlot, *promise);
- context->set(kDebugEventSlot, *debug_event);
-
- Handle<SharedFunctionInfo> resolve_shared_fun(
- isolate->native_context()->promise_resolve_shared_fun(), isolate);
- Handle<JSFunction> resolve_fun =
- isolate->factory()->NewFunctionFromSharedFunctionInfo(
- isolate->sloppy_function_without_prototype_map(), resolve_shared_fun,
- isolate->native_context(), TENURED);
-
- Handle<SharedFunctionInfo> reject_shared_fun(
- isolate->native_context()->promise_reject_shared_fun(), isolate);
- Handle<JSFunction> reject_fun =
- isolate->factory()->NewFunctionFromSharedFunctionInfo(
- isolate->sloppy_function_without_prototype_map(), reject_shared_fun,
- isolate->native_context(), TENURED);
-
- resolve_fun->set_context(*context);
- reject_fun->set_context(*context);
-
- *resolve = resolve_fun;
- *reject = reject_fun;
-}
-
-} // namespace internal
-} // namespace v8