| Index: src/js/async-await.js
 | 
| diff --git a/src/js/async-await.js b/src/js/async-await.js
 | 
| deleted file mode 100644
 | 
| index e1c75c008dc0dc0273a28faa0d62b3e3ae0ea66b..0000000000000000000000000000000000000000
 | 
| --- a/src/js/async-await.js
 | 
| +++ /dev/null
 | 
| @@ -1,114 +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.
 | 
| -
 | 
| -(function(global, utils, extrasUtils) {
 | 
| -
 | 
| -"use strict";
 | 
| -
 | 
| -%CheckIsBootstrapping();
 | 
| -
 | 
| -// -------------------------------------------------------------------
 | 
| -// Imports
 | 
| -
 | 
| -var AsyncFunctionNext;
 | 
| -var AsyncFunctionThrow;
 | 
| -
 | 
| -utils.Import(function(from) {
 | 
| -  AsyncFunctionNext = from.AsyncFunctionNext;
 | 
| -  AsyncFunctionThrow = from.AsyncFunctionThrow;
 | 
| -});
 | 
| -
 | 
| -var promiseHandledBySymbol =
 | 
| -    utils.ImportNow("promise_handled_by_symbol");
 | 
| -var promiseForwardingHandlerSymbol =
 | 
| -    utils.ImportNow("promise_forwarding_handler_symbol");
 | 
| -
 | 
| -// -------------------------------------------------------------------
 | 
| -
 | 
| -function PromiseCastResolved(value) {
 | 
| -  // TODO(caitp): This is non spec compliant. See v8:5694.
 | 
| -  if (%is_promise(value)) {
 | 
| -    return value;
 | 
| -  } else {
 | 
| -    var promise = %promise_internal_constructor(UNDEFINED);
 | 
| -    %promise_resolve(promise, value);
 | 
| -    return promise;
 | 
| -  }
 | 
| -}
 | 
| -
 | 
| -// ES#abstract-ops-async-function-await
 | 
| -// AsyncFunctionAwait ( value )
 | 
| -// Shared logic for the core of await. The parser desugars
 | 
| -//   await awaited
 | 
| -// into
 | 
| -//   yield AsyncFunctionAwait{Caught,Uncaught}(.generator, awaited, .promise)
 | 
| -// The 'awaited' parameter is the value; the generator stands in
 | 
| -// for the asyncContext, and .promise is the larger promise under
 | 
| -// construction by the enclosing async function.
 | 
| -function AsyncFunctionAwait(generator, awaited, outerPromise) {
 | 
| -  // Promise.resolve(awaited).then(
 | 
| -  //     value => AsyncFunctionNext(value),
 | 
| -  //     error => AsyncFunctionThrow(error)
 | 
| -  // );
 | 
| -  var promise = PromiseCastResolved(awaited);
 | 
| -
 | 
| -  var onFulfilled = sentValue => {
 | 
| -    %_Call(AsyncFunctionNext, generator, sentValue);
 | 
| -    // The resulting Promise is a throwaway, so it doesn't matter what it
 | 
| -    // resolves to. What is important is that we don't end up keeping the
 | 
| -    // whole chain of intermediate Promises alive by returning the value
 | 
| -    // of AsyncFunctionNext, as that would create a memory leak.
 | 
| -    return;
 | 
| -  };
 | 
| -  var onRejected = sentError => {
 | 
| -    %_Call(AsyncFunctionThrow, generator, sentError);
 | 
| -    // Similarly, returning the huge Promise here would cause a long
 | 
| -    // resolution chain to find what the exception to throw is, and
 | 
| -    // create a similar memory leak, and it does not matter what
 | 
| -    // sort of rejection this intermediate Promise becomes.
 | 
| -    return;
 | 
| -  }
 | 
| -
 | 
| -  var throwawayPromise = %promise_internal_constructor(promise);
 | 
| -
 | 
| -  // The Promise will be thrown away and not handled, but it shouldn't trigger
 | 
| -  // unhandled reject events as its work is done
 | 
| -  %PromiseMarkAsHandled(throwawayPromise);
 | 
| -
 | 
| -  if (DEBUG_IS_ACTIVE) {
 | 
| -    if (%is_promise(awaited)) {
 | 
| -      // Mark the reject handler callback to be a forwarding edge, rather
 | 
| -      // than a meaningful catch handler
 | 
| -      SET_PRIVATE(onRejected, promiseForwardingHandlerSymbol, true);
 | 
| -    }
 | 
| -
 | 
| -    // Mark the dependency to outerPromise in case the throwaway Promise is
 | 
| -    // found on the Promise stack
 | 
| -    SET_PRIVATE(throwawayPromise, promiseHandledBySymbol, outerPromise);
 | 
| -  }
 | 
| -
 | 
| -  %perform_promise_then(promise, onFulfilled, onRejected, throwawayPromise);
 | 
| -}
 | 
| -
 | 
| -// Called by the parser from the desugaring of 'await' when catch
 | 
| -// prediction indicates no locally surrounding catch block
 | 
| -function AsyncFunctionAwaitUncaught(generator, awaited, outerPromise) {
 | 
| -  AsyncFunctionAwait(generator, awaited, outerPromise);
 | 
| -}
 | 
| -
 | 
| -// Called by the parser from the desugaring of 'await' when catch
 | 
| -// prediction indicates that there is a locally surrounding catch block
 | 
| -function AsyncFunctionAwaitCaught(generator, awaited, outerPromise) {
 | 
| -  if (DEBUG_IS_ACTIVE && %is_promise(awaited)) {
 | 
| -    %PromiseMarkHandledHint(awaited);
 | 
| -  }
 | 
| -  AsyncFunctionAwait(generator, awaited, outerPromise);
 | 
| -}
 | 
| -
 | 
| -%InstallToContext([
 | 
| -  "async_function_await_caught", AsyncFunctionAwaitCaught,
 | 
| -  "async_function_await_uncaught", AsyncFunctionAwaitUncaught,
 | 
| -]);
 | 
| -
 | 
| -})
 | 
| 
 |