[top-level-await] Sync implementation with spec text

The module evaluation machinery has undergone non-trivial refactoring
since implementation. Sync up the comments and code for maintenance.

Notably,

- Actually use the kEvaluatingAsync status (previously conflated under
  kEvaluated)
- [[IsAsyncEvaluating]] -> [[IsAsyncEvaluation]]
- GatherAsyncParentCompletions -> GatherAvailableAncestors
- async -> has_toplevel_await
- kAsyncModule -> kModuleWithTopLevelAwait

Bug: 347060515
Change-Id: Ia2c35d5b42ee9f58db841cdfcaef9d17b018c9c6
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5636701
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Shu-yu Guo <syg@chromium.org>
Cr-Commit-Position: refs/heads/main@{#94591}
This commit is contained in:
Shu-yu Guo 2024-06-21 14:19:15 -07:00 committed by test262-merge-bot
parent 43a64eabe3
commit 29c6f7028a
4 changed files with 25 additions and 0 deletions

View File

@ -0,0 +1,4 @@
// Copyright (C) 2024 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
import "parent-tla_FIXTURE.js";

View File

@ -0,0 +1,4 @@
// Copyright (C) 2024 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
import "tla_FIXTURE.js"

View File

@ -0,0 +1,13 @@
// Copyright (C) 2024 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
description: module graphs with TLA shouldn't hang
flags: [module, async]
features: [top-level-await]
---*/
import "parent-tla_FIXTURE.js";
await import("grandparent-tla_FIXTURE.js");
$DONE();

View File

@ -0,0 +1,4 @@
// Copyright (C) 2024 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
await 0;