diff --git a/common.gypi b/common.gypi index f8440fef992252..33b1325eb513ea 100644 --- a/common.gypi +++ b/common.gypi @@ -36,7 +36,7 @@ # Reset this number to 0 on major V8 upgrades. # Increment by one for each non-official patch applied to deps/v8. - 'v8_embedder_string': '-node.15', + 'v8_embedder_string': '-node.16', ##### V8 defaults for Node.js ##### diff --git a/deps/v8/src/common/message-template.h b/deps/v8/src/common/message-template.h index 675c9cbe107532..c4edee49212489 100644 --- a/deps/v8/src/common/message-template.h +++ b/deps/v8/src/common/message-template.h @@ -33,6 +33,9 @@ namespace internal { "Derived ArrayBuffer constructor created a buffer which was too small") \ T(ArrayBufferSpeciesThis, \ "ArrayBuffer subclass returned this from species constructor") \ + T(AwaitNotInAsyncContext, \ + "await is only valid in async functions and the top level bodies of " \ + "modules") \ T(AwaitNotInAsyncFunction, "await is only valid in async function") \ T(AtomicsWaitNotAllowed, "Atomics.wait cannot be called in this context") \ T(BadSortComparisonFunction, \ diff --git a/deps/v8/src/parsing/parser-base.h b/deps/v8/src/parsing/parser-base.h index 754f9d72a0ad7c..50902f67d6e6b9 100644 --- a/deps/v8/src/parsing/parser-base.h +++ b/deps/v8/src/parsing/parser-base.h @@ -909,7 +909,9 @@ class ParserBase { if (scanner()->current_token() == Token::AWAIT && !is_async_function()) { ReportMessageAt(scanner()->location(), - MessageTemplate::kAwaitNotInAsyncFunction); + flags().allow_harmony_top_level_await() + ? MessageTemplate::kAwaitNotInAsyncContext + : MessageTemplate::kAwaitNotInAsyncFunction); return; } diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/PrivateAccessorAccess.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/PrivateAccessorAccess.golden index da6b0a2b26365d..78b08a41f89aec 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/PrivateAccessorAccess.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/PrivateAccessorAccess.golden @@ -84,7 +84,7 @@ bytecodes: [ B(Mov), R(this), R(0), B(Mov), R(context), R(2), /* 48 E> */ B(CallRuntime), U16(Runtime::kAddPrivateBrand), R(0), U8(3), - /* 53 S> */ B(Wide), B(LdaSmi), I16(266), + /* 53 S> */ B(Wide), B(LdaSmi), I16(267), B(Star), R(3), B(LdaConstant), U8(0), B(Star), R(4), @@ -115,7 +115,7 @@ bytecodes: [ B(Mov), R(this), R(0), B(Mov), R(context), R(2), /* 41 E> */ B(CallRuntime), U16(Runtime::kAddPrivateBrand), R(0), U8(3), - /* 46 S> */ B(Wide), B(LdaSmi), I16(265), + /* 46 S> */ B(Wide), B(LdaSmi), I16(266), B(Star), R(3), B(LdaConstant), U8(0), B(Star), R(4), @@ -146,7 +146,7 @@ bytecodes: [ B(Mov), R(this), R(0), B(Mov), R(context), R(2), /* 48 E> */ B(CallRuntime), U16(Runtime::kAddPrivateBrand), R(0), U8(3), - /* 53 S> */ B(Wide), B(LdaSmi), I16(266), + /* 53 S> */ B(Wide), B(LdaSmi), I16(267), B(Star), R(3), B(LdaConstant), U8(0), B(Star), R(4), @@ -177,7 +177,7 @@ bytecodes: [ B(Mov), R(this), R(0), B(Mov), R(context), R(2), /* 41 E> */ B(CallRuntime), U16(Runtime::kAddPrivateBrand), R(0), U8(3), - /* 46 S> */ B(Wide), B(LdaSmi), I16(265), + /* 46 S> */ B(Wide), B(LdaSmi), I16(266), B(Star), R(4), B(LdaConstant), U8(0), B(Star), R(5), diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/PrivateMethodAccess.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/PrivateMethodAccess.golden index 9c278a2f54168f..8413da93a87269 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/PrivateMethodAccess.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/PrivateMethodAccess.golden @@ -57,7 +57,7 @@ bytecodes: [ B(Mov), R(this), R(0), B(Mov), R(context), R(2), /* 44 E> */ B(CallRuntime), U16(Runtime::kAddPrivateBrand), R(0), U8(3), - /* 49 S> */ B(Wide), B(LdaSmi), I16(264), + /* 49 S> */ B(Wide), B(LdaSmi), I16(265), B(Star), R(3), B(LdaConstant), U8(0), B(Star), R(4), @@ -89,7 +89,7 @@ bytecodes: [ B(Mov), R(this), R(0), B(Mov), R(context), R(2), /* 44 E> */ B(CallRuntime), U16(Runtime::kAddPrivateBrand), R(0), U8(3), - /* 49 S> */ B(Wide), B(LdaSmi), I16(264), + /* 49 S> */ B(Wide), B(LdaSmi), I16(265), B(Star), R(3), B(LdaConstant), U8(0), B(Star), R(4), diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/StaticPrivateMethodAccess.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/StaticPrivateMethodAccess.golden index 5ce6e397b7168a..6d5bb4a58f89ff 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/StaticPrivateMethodAccess.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/StaticPrivateMethodAccess.golden @@ -25,7 +25,7 @@ bytecodes: [ B(TestReferenceEqual), R(this), B(Mov), R(this), R(1), B(JumpIfTrue), U8(18), - B(Wide), B(LdaSmi), I16(262), + B(Wide), B(LdaSmi), I16(263), B(Star), R(2), B(LdaConstant), U8(0), B(Star), R(3), @@ -56,7 +56,7 @@ frame size: 2 parameter count: 1 bytecode array length: 16 bytecodes: [ - /* 56 S> */ B(Wide), B(LdaSmi), I16(264), + /* 56 S> */ B(Wide), B(LdaSmi), I16(265), B(Star), R(0), B(LdaConstant), U8(0), B(Star), R(1), @@ -83,7 +83,7 @@ frame size: 2 parameter count: 1 bytecode array length: 16 bytecodes: [ - /* 56 S> */ B(Wide), B(LdaSmi), I16(264), + /* 56 S> */ B(Wide), B(LdaSmi), I16(265), B(Star), R(0), B(LdaConstant), U8(0), B(Star), R(1), @@ -122,7 +122,7 @@ bytecodes: [ /* 94 E> */ B(TestReferenceEqual), R(this), B(Mov), R(this), R(0), B(JumpIfTrue), U8(18), - B(Wide), B(LdaSmi), I16(262), + B(Wide), B(LdaSmi), I16(263), B(Star), R(2), B(LdaConstant), U8(0), B(Star), R(3), @@ -144,7 +144,7 @@ bytecodes: [ /* 109 E> */ B(TestReferenceEqual), R(this), B(Mov), R(this), R(1), B(JumpIfTrue), U8(18), - B(Wide), B(LdaSmi), I16(263), + B(Wide), B(LdaSmi), I16(264), B(Star), R(3), B(LdaConstant), U8(0), B(Star), R(4), @@ -159,7 +159,7 @@ bytecodes: [ /* 133 E> */ B(TestReferenceEqual), R(this), B(Mov), R(this), R(0), B(JumpIfTrue), U8(18), - B(Wide), B(LdaSmi), I16(262), + B(Wide), B(LdaSmi), I16(263), B(Star), R(2), B(LdaConstant), U8(0), B(Star), R(3), @@ -189,7 +189,7 @@ frame size: 2 parameter count: 1 bytecode array length: 16 bytecodes: [ - /* 60 S> */ B(Wide), B(LdaSmi), I16(266), + /* 60 S> */ B(Wide), B(LdaSmi), I16(267), B(Star), R(0), B(LdaConstant), U8(0), B(Star), R(1), @@ -215,7 +215,7 @@ frame size: 2 parameter count: 1 bytecode array length: 16 bytecodes: [ - /* 53 S> */ B(Wide), B(LdaSmi), I16(265), + /* 53 S> */ B(Wide), B(LdaSmi), I16(266), B(Star), R(0), B(LdaConstant), U8(0), B(Star), R(1), @@ -241,7 +241,7 @@ frame size: 2 parameter count: 1 bytecode array length: 16 bytecodes: [ - /* 60 S> */ B(Wide), B(LdaSmi), I16(266), + /* 60 S> */ B(Wide), B(LdaSmi), I16(267), B(Star), R(0), B(LdaConstant), U8(0), B(Star), R(1), @@ -267,7 +267,7 @@ frame size: 3 parameter count: 1 bytecode array length: 16 bytecodes: [ - /* 46 S> */ B(Wide), B(LdaSmi), I16(265), + /* 46 S> */ B(Wide), B(LdaSmi), I16(266), B(Star), R(1), B(LdaConstant), U8(0), B(Star), R(2),