diff --git a/common.gypi b/common.gypi index 623a804cffed1e..d95f163b64683d 100644 --- a/common.gypi +++ b/common.gypi @@ -39,7 +39,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.2', + 'v8_embedder_string': '-node.7', ##### V8 defaults for Node.js ##### diff --git a/deps/v8/include/v8.h b/deps/v8/include/v8.h index 1e9fa3815dfea7..64a9b051766ffa 100644 --- a/deps/v8/include/v8.h +++ b/deps/v8/include/v8.h @@ -1760,9 +1760,11 @@ class V8_EXPORT ScriptCompiler { public: enum Encoding { ONE_BYTE, TWO_BYTE, UTF8 }; +#if defined(_MSC_VER) && _MSC_VER >= 1910 /* Disable on VS2015 */ V8_DEPRECATE_SOON( "This class takes ownership of source_stream, so use the constructor " "taking a unique_ptr to make these semantics clearer") +#endif StreamedSource(ExternalSourceStream* source_stream, Encoding encoding); StreamedSource(std::unique_ptr source_stream, Encoding encoding); diff --git a/deps/v8/src/codegen/arm64/register-arm64.h b/deps/v8/src/codegen/arm64/register-arm64.h index 6f2c74264591dd..75d36ec5f218ad 100644 --- a/deps/v8/src/codegen/arm64/register-arm64.h +++ b/deps/v8/src/codegen/arm64/register-arm64.h @@ -558,6 +558,8 @@ using Simd128Register = VRegister; // Lists of registers. class V8_EXPORT_PRIVATE CPURegList { public: + CPURegList() = default; + template explicit CPURegList(CPURegister reg0, CPURegisters... regs) : list_(CPURegister::ListOf(reg0, regs...)), diff --git a/deps/v8/src/compiler/js-heap-broker.cc b/deps/v8/src/compiler/js-heap-broker.cc index 27dc8789f0035d..4f2e89d49cd9c4 100644 --- a/deps/v8/src/compiler/js-heap-broker.cc +++ b/deps/v8/src/compiler/js-heap-broker.cc @@ -4275,6 +4275,7 @@ GlobalAccessFeedback::GlobalAccessFeedback(PropertyCellRef cell, GlobalAccessFeedback::GlobalAccessFeedback(FeedbackSlotKind slot_kind) : ProcessedFeedback(kGlobalAccess, slot_kind), + cell_or_context_(base::nullopt), index_and_immutable_(0 /* doesn't matter */) { DCHECK(IsGlobalICKind(slot_kind)); } diff --git a/deps/v8/src/diagnostics/unwinding-info-win64.cc b/deps/v8/src/diagnostics/unwinding-info-win64.cc index 19b03af5227c76..cd1b976c1881c3 100644 --- a/deps/v8/src/diagnostics/unwinding-info-win64.cc +++ b/deps/v8/src/diagnostics/unwinding-info-win64.cc @@ -16,6 +16,37 @@ #error "Unsupported OS" #endif // V8_OS_WIN_X64 +// Forward declaration to keep this independent of Win8 +NTSYSAPI +DWORD +NTAPI +RtlAddGrowableFunctionTable( + _Out_ PVOID* DynamicTable, + _In_reads_(MaximumEntryCount) PRUNTIME_FUNCTION FunctionTable, + _In_ DWORD EntryCount, + _In_ DWORD MaximumEntryCount, + _In_ ULONG_PTR RangeBase, + _In_ ULONG_PTR RangeEnd + ); + + +NTSYSAPI +void +NTAPI +RtlGrowFunctionTable( + _Inout_ PVOID DynamicTable, + _In_ DWORD NewEntryCount + ); + + +NTSYSAPI +void +NTAPI +RtlDeleteGrowableFunctionTable( + _In_ PVOID DynamicTable + ); + + namespace v8 { namespace internal { namespace win64_unwindinfo { diff --git a/deps/v8/src/interpreter/interpreter.cc b/deps/v8/src/interpreter/interpreter.cc index 6a014085811f1b..38024b7c2636f7 100644 --- a/deps/v8/src/interpreter/interpreter.cc +++ b/deps/v8/src/interpreter/interpreter.cc @@ -262,7 +262,7 @@ Interpreter::NewSourcePositionCollectionJob( auto job = std::make_unique(parse_info, literal, allocator, nullptr); job->compilation_info()->SetBytecodeArray(existing_bytecode); - return job; + return std::unique_ptr { static_cast(job.release()) }; } void Interpreter::ForEachBytecode( diff --git a/deps/v8/tools/gen-postmortem-metadata.py b/deps/v8/tools/gen-postmortem-metadata.py index 14e65c5bc67026..87bbd2d2c9672c 100644 --- a/deps/v8/tools/gen-postmortem-metadata.py +++ b/deps/v8/tools/gen-postmortem-metadata.py @@ -263,6 +263,7 @@ 'ExternalString, resource, Object, kResourceOffset', 'SeqOneByteString, chars, char, kHeaderSize', 'SeqTwoByteString, chars, char, kHeaderSize', + 'UncompiledData, inferred_name, String, kInferredNameOffset', 'UncompiledData, start_position, int32_t, kStartPositionOffset', 'UncompiledData, end_position, int32_t, kEndPositionOffset', 'SharedFunctionInfo, raw_function_token_offset, int16_t, kFunctionTokenOffsetOffset',