39cc400dea
This cl adds support for top level await to d8, but still does not allow top level await through parsing. Unfortunately, due to that restriction this cl has no automated tests, but I added a 'top-level-await' variant and manually confirmed it passes locally. Bug: v8:9344 Change-Id: I3528442768107f5ad1ed1e9e947cfceae91c0cc6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1808483 Commit-Queue: Joshua Litt <joshualitt@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#63909}
63 lines
2.3 KiB
Python
63 lines
2.3 KiB
Python
# 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.
|
|
|
|
# Use this to run several variants of the tests.
|
|
ALL_VARIANT_FLAGS = {
|
|
"assert_types": [["--assert-types"]],
|
|
"code_serializer": [["--cache=code"]],
|
|
"default": [[]],
|
|
"future": [["--future"]],
|
|
"gc_stats": [["--gc-stats=1"]],
|
|
# Alias of exhaustive variants, but triggering new test framework features.
|
|
"infra_staging": [[]],
|
|
"interpreted_regexp": [["--regexp-interpret-all"]],
|
|
"jitless": [["--jitless"]],
|
|
"minor_mc": [["--minor-mc"]],
|
|
# No optimization means disable all optimizations. OptimizeFunctionOnNextCall
|
|
# would not force optimization too. It turns into a Nop. Please see
|
|
# https://chromium-review.googlesource.com/c/452620/ for more discussion.
|
|
# For WebAssembly, we test "Liftoff-only" in the nooptimization variant and
|
|
# "TurboFan-only" in the stress variant. The WebAssembly configuration is
|
|
# independent of JS optimizations, so we can combine those configs.
|
|
"nooptimization": [["--no-opt", "--liftoff", "--no-wasm-tier-up"]],
|
|
"slow_path": [["--force-slow-path"]],
|
|
"stress": [["--stress-opt", "--always-opt", "--no-liftoff",
|
|
"--no-wasm-tier-up", '--stress-lazy-source-positions']],
|
|
"stress_js_bg_compile_wasm_code_gc": [["--stress-background-compile",
|
|
"--wasm-code-gc",
|
|
"--stress-wasm-code-gc"]],
|
|
"stress_incremental_marking": [["--stress-incremental-marking"]],
|
|
# Trigger stress sampling allocation profiler with sample interval = 2^14
|
|
"stress_sampling": [["--stress-sampling-allocation-profiler=16384"]],
|
|
"trusted": [["--no-untrusted-code-mitigations"]],
|
|
"no_wasm_traps": [["--no-wasm-trap-handler"]],
|
|
"turboprop": [["--turboprop"]],
|
|
"top_level_await": [["--harmony-top-level-await"]],
|
|
}
|
|
|
|
SLOW_VARIANTS = set([
|
|
'stress',
|
|
'nooptimization',
|
|
])
|
|
|
|
FAST_VARIANTS = set([
|
|
'default'
|
|
])
|
|
|
|
|
|
def _variant_order_key(v):
|
|
if v in SLOW_VARIANTS:
|
|
return 0
|
|
if v in FAST_VARIANTS:
|
|
return 100
|
|
return 50
|
|
|
|
ALL_VARIANTS = sorted(ALL_VARIANT_FLAGS.keys(),
|
|
key=_variant_order_key)
|
|
|
|
# Check {SLOW,FAST}_VARIANTS entries
|
|
for variants in [SLOW_VARIANTS, FAST_VARIANTS]:
|
|
for v in variants:
|
|
assert v in ALL_VARIANT_FLAGS
|