1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-31 11:34:15 -05:00

Upgrade V8 for top-level-await (#3015)

This commit is contained in:
Ryan Dahl 2019-09-24 18:37:04 -04:00 committed by GitHub
parent 726f08694b
commit a497f87b59
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 23 additions and 6 deletions

View file

@ -427,6 +427,7 @@ itest!(error_013_missing_script {
itest!(error_014_catch_dynamic_import_error {
args: "error_014_catch_dynamic_import_error.js --reload --allow-read",
output: "error_014_catch_dynamic_import_error.js.out",
exit_code: 1,
});
itest!(error_015_dynamic_import_permissions {
@ -549,3 +550,8 @@ itest!(wasm_async {
args: "wasm_async.js",
output: "wasm_async.out",
});
itest!(top_level_await {
args: "--allow-read top_level_await.js",
output: "top_level_await.out",
});

View file

@ -0,0 +1,3 @@
const buf = await Deno.readFile("hello.txt");
const n = await Deno.stdout.write(buf);
console.log(`\n\nwrite ${n}`);

View file

@ -0,0 +1,3 @@
Hello world!
write 12

View file

@ -120,8 +120,9 @@ void deno_init() {
// remove this to make it work asynchronously too. But that requires getting
// PumpMessageLoop and RunMicrotasks setup correctly.
// See https://github.com/denoland/deno/issues/2544
const char* argv[2] = {"", "--no-wasm-async-compilation"};
int argc = 2;
const char* argv[3] = {"", "--no-wasm-async-compilation",
"--harmony-top-level-await"};
int argc = 3;
v8::V8::SetFlagsFromCommandLine(&argc, const_cast<char**>(argv), false);
}
}

View file

@ -147,8 +147,12 @@ void deno_mod_evaluate(Deno* d_, void* user_data, deno_mod id) {
if (status == Module::kInstantiated) {
bool ok = !module->Evaluate(context).IsEmpty();
status = module->GetStatus(); // Update status after evaluating.
CHECK_IMPLIES(ok, status == Module::kEvaluated);
CHECK_IMPLIES(!ok, status == Module::kErrored);
if (ok) {
// Note status can still be kErrored even if we get ok.
CHECK(status == Module::kEvaluated || status == Module::kErrored);
} else {
CHECK_EQ(status, Module::kErrored);
}
}
switch (status) {

View file

@ -1,7 +1,7 @@
# Copyright 2018-2019 the Deno authors. All rights reserved. MIT license.
solutions = [
{
'url': 'https://chromium.googlesource.com/v8/v8.git@7.9.8',
'url': 'https://chromium.googlesource.com/v8/v8.git@7.9.110',
'name': 'v8',
'deps_file': 'DEPS',
'custom_deps': {

@ -1 +1 @@
Subproject commit 86f683ab4a58e1c20995d08c3b57c3aba227dbe2
Subproject commit 1cceee1f4e315eaeee1bd4d1fe4cfbe7162fc4fb