Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

deps: update V8 to 12.5 #52651

Closed
wants to merge 13 commits into from
Closed

deps: update V8 to 12.5 #52651

wants to merge 13 commits into from

Conversation

targos
Copy link
Member

@targos targos commented Apr 23, 2024

I know, it never ends 😅

@nodejs-github-bot
Copy link
Collaborator

Review requested:

  • @nodejs/gyp
  • @nodejs/security-wg
  • @nodejs/v8-update

@nodejs-github-bot nodejs-github-bot added build Issues and PRs related to build files or the CI. needs-ci PRs that need a full CI run. v8 engine Issues and PRs related to the V8 dependency. labels Apr 23, 2024
@targos targos added the semver-major PRs that contain breaking changes and should be released in the next major version. label Apr 23, 2024
@targos
Copy link
Member Author

targos commented Apr 23, 2024

@nodejs/platform-windows there's one little error for now:

D:\a\node\node\deps\v8\src\flags\flag-definitions.h(3061,1): error C1070: mismatched #if/#endif pair in file 'D:\a\node\node\deps\v8\src\flags\flag-definitions.h' [D:\a\node\node\tools\v8_gypfiles\torque_base.vcxproj]

@StefanStojanovic
Copy link
Contributor

@targos, with these changes the compilation passes (should probably become part of 0b738c9)

From f52e086c0142311f1c4b8b2ccf160050d8f2bdd5 Mon Sep 17 00:00:00 2001
From: StefanStojanovic <[email protected]>
Date: Wed, 24 Apr 2024 16:30:39 +0200
Subject: [PATCH 1/1] V8 v12.5 Win fix

---
 deps/v8/src/api/api.cc               | 6 ++----
 deps/v8/src/flags/flag-definitions.h | 3 ++-
 2 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/deps/v8/src/api/api.cc b/deps/v8/src/api/api.cc
index e99e7d9d135..bd2254d82a7 100644
--- a/deps/v8/src/api/api.cc
+++ b/deps/v8/src/api/api.cc
@@ -6323,8 +6323,7 @@ void v8::Object::SetAlignedPointerInInternalFields(int argc, int indices[],
 // static
 void* v8::Object::Unwrap(v8::Isolate* isolate, i::Address wrapper_obj,
                          CppHeapPointerTag tag) {
-  return i::JSApiWrapper(i::JSObject::cast(i::Tagged<i::Object>(
-                             reinterpret_cast<i::Address>(wrapper_obj))))
+  return i::JSApiWrapper(i::JSObject::cast(i::Tagged<i::Object>((wrapper_obj))))
       .GetCppHeapWrappable(reinterpret_cast<i::Isolate*>(isolate),
                            static_cast<i::ExternalPointerTag>(tag));
 }
@@ -6332,8 +6331,7 @@ void* v8::Object::Unwrap(v8::Isolate* isolate, i::Address wrapper_obj,
 // static
 void v8::Object::Wrap(v8::Isolate* isolate, i::Address wrapper_obj,
                       CppHeapPointerTag tag, void* wrappable) {
-  return i::JSApiWrapper(i::JSObject::cast(i::Tagged<i::Object>(
-                             reinterpret_cast<i::Address>(wrapper_obj))))
+  return i::JSApiWrapper(i::JSObject::cast(i::Tagged<i::Object>((wrapper_obj))))
       .SetCppHeapWrappable(reinterpret_cast<i::Isolate*>(isolate), wrappable,
                            static_cast<i::ExternalPointerTag>(tag));
 }
diff --git a/deps/v8/src/flags/flag-definitions.h b/deps/v8/src/flags/flag-definitions.h
index 68d98ae63e2..cd469b7537e 100644
--- a/deps/v8/src/flags/flag-definitions.h
+++ b/deps/v8/src/flags/flag-definitions.h
@@ -848,10 +848,11 @@ DEFINE_INT(invocation_count_for_feedback_allocation, 8,
 // Tiering: Maglev.
 #if defined(ANDROID)
 DEFINE_INT(invocation_count_for_maglev, 1000,
+           "invocation count required for optimizing with Maglev")
 #else
 DEFINE_INT(invocation_count_for_maglev, 400,
-#endif  // ANDROID
            "invocation count required for optimizing with Maglev")
+#endif  // ANDROID
 DEFINE_INT(invocation_count_for_maglev_osr, 100,
            "invocation count required for maglev OSR")
 DEFINE_BOOL(osr_from_maglev, false,
-- 
2.44.0.windows.1

However, there is another issue I got when running basic debug build sanity check (fails with Release too) .\Debug\node.exe deps\npm\node_modules\node-gyp\bin\node-gyp rebuild --directory=test\addons\hello-world --nodedir="E:\work\node".

Here is the log
gyp info it worked if it ends with ok
gyp info using [email protected]
gyp info using [email protected] | win32 | x64
gyp info chdir test\addons\hello-world      
gyp info find Python using Python version 3.10.11 found at "C:\Program Files\Python310\python.exe"
gyp info find VS using VS2022 (17.9.34728.123) found at:
gyp info find VS "C:\Program Files\Microsoft Visual Studio\2022\Community"
gyp info find VS run with --verbose for detailed information
gyp WARN read config.gypi ENOENT: no such file or directory, open 'E:\work\node\include\node\config.gypi'
gyp info spawn C:\Program Files\Python310\python.exe
gyp info spawn args [
gyp info spawn args 'E:\\work\\node_main\\deps\\npm\\node_modules\\node-gyp\\gyp\\gyp_main.py',
gyp info spawn args 'binding.gyp',
gyp info spawn args '-f',
gyp info spawn args 'msvs',
gyp info spawn args '-I',
gyp info spawn args 'E:\\work\\node_main\\test\\addons\\hello-world\\build\\config.gypi',      
gyp info spawn args '-I',
gyp info spawn args 'E:\\work\\node_main\\deps\\npm\\node_modules\\node-gyp\\addon.gypi',      
gyp info spawn args '-I',
gyp info spawn args 'E:\\work\\node\\common.gypi',
gyp info spawn args '-Dlibrary=shared_library',
gyp info spawn args '-Dvisibility=default',
gyp info spawn args '-Dnode_root_dir=E:\\work\\node',
gyp info spawn args '-Dnode_gyp_dir=E:\\work\\node_main\\deps\\npm\\node_modules\\node-gyp',   
gyp info spawn args '-Dnode_lib_file=E:\\\\work\\\\node\\\\$(Configuration)\\\\node.lib',      
gyp info spawn args '-Dmodule_root_dir=E:\\work\\node_main\\test\\addons\\hello-world',        
gyp info spawn args '-Dnode_engine=v8',
gyp info spawn args '--depth=.',
gyp info spawn args '--no-parallel',
gyp info spawn args '--generator-output',
gyp info spawn args 'E:\\work\\node_main\\test\\addons\\hello-world\\build',
gyp info spawn args '-Goutput_dir=.'
gyp info spawn args ]
Warning: unrecognized setting VCCLCompilerTool/LanguageStandard while converting to MSBuild.
Warning: unrecognized setting VCCLCompilerTool/LanguageStandard_C while converting to MSBuild.
Warning: unrecognized setting VCCLCompilerTool/LanguageStandard while converting to MSBuild.  
Warning: unrecognized setting VCCLCompilerTool/LanguageStandard_C while converting to MSBuild.
gyp info spawn C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\MSBuild.exe
gyp info spawn args [
gyp info spawn args 'build\\binding.sln',
gyp info spawn args '/clp:Verbosity=minimal',
gyp info spawn args '/nologo',
gyp info spawn args '/p:Configuration=Debug;Platform=x64'
gyp info spawn args ]

binding.cc
E:\work\node\deps\v8\include\v8-handle-base.h(10,28): error C2429: language feature 'nested-namespace-definition' requires compiler flag '/std:c++17' [E:\work\node_main\test\addons\hello-world\build\binding.vcxproj]
(compiling source file '../binding.cc')

E:\work\node\deps\v8\include\v8-template.h(973,47): error C2039: 'string_view': is not a member of 'std' [E:\work\node_main\test\addons\hello-world\build\binding.vcxproj]
(compiling source file '../binding.cc')
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\include\array(19,1):
see declaration of 'std'

E:\work\node\deps\v8\include\v8-template.h(973,58): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [E:\work\node_main\test\addons\hello-world\build\binding.vcxproj]
(compiling source file '../binding.cc')

E:\work\node\deps\v8\include\v8-template.h(973,47): error C2146: syntax error: missing '>' before identifier 'string_view' [E:\work\node_main\test\addons\hello-world\build\binding.vcxproj]
(compiling source file '../binding.cc')

C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\include\string_view(12): warning STL4038: The contents of <string_view> are available only with C++17 or later. [E:\work\node_main\test\addons\hello-world\build\binding.vcxproj]
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\include\optional(11): warning STL4038: The contents of <optional> are available only with C++17 or later. [E:\work\node_main\test\addons\hello-world\build\binding.vcxproj]
E:\work\node\src\node.h(687,8): error C2039: 'optional': is not a member of 'std' [E:\work\node_main\test\addons\hello-world\build\binding.vcxproj]
(compiling source file '../binding.cc')
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\include\ostream(25,1):
see declaration of 'std'

E:\work\node\src\node.h(687,16): error C2143: syntax error: missing ';' before '<' [E:\work\node_main\test\addons\hello-world\build\binding.vcxproj]
(compiling source file '../binding.cc')

E:\work\node\src\node.h(687,16): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [E:\work\node_main\test\addons\hello-world\build\binding.vcxproj]
(compiling source file '../binding.cc')

E:\work\node\src\node.h(687,49): error C2238: unexpected token(s) preceding ';' [E:\work\node_main\test\addons\hello-world\build\binding.vcxproj]
(compiling source file '../binding.cc')

E:\work\node\src\node.h(759,10): error C2039: 'string_view': is not a member of 'std' [E:\work\node_main\test\addons\hello-world\build\binding.vcxproj]
(compiling source file '../binding.cc')
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\include\ostream(25,1):
see declaration of 'std'

E:\work\node\src\node.h(759,10): error C2061: syntax error: identifier 'string_view' [E:\work\node_main\test\addons\hello-world\build\binding.vcxproj]
(compiling source file '../binding.cc')

gyp ERR! build error 
gyp ERR! stack Error: `C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\MSBuild.exe` failed with exit code: 1
gyp ERR! stack at ChildProcess.<anonymous> (E:\work\node_main\deps\npm\node_modules\node-gyp\lib\build.js:209:23)
gyp ERR! stack at ChildProcess.emit (node:events:520:28)
gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:294:12)
gyp ERR! System Windows_NT 10.0.19045
gyp ERR! command "E:\\work\\node_main\\Debug\\node.exe" "E:\\work\\node_main\\deps\\npm\\node_modules\\node-gyp\\bin\\node-gyp" "rebuild" "--directory=test\\addons\\hello-world" "--nodedir=E:\\work\\node"
gyp ERR! cwd E:\work\node_main\test\addons\hello-world
gyp ERR! node -v v22.0.0-pre
gyp ERR! node-gyp -v v10.1.0
gyp ERR! not ok

Based on the errors, looks like not using std:c++17 is an issue, but I'm not sure what changes from V8 v12.5 caused this.

@targos targos added the request-ci Add this label to start a Jenkins CI on a PR. label Apr 25, 2024
@github-actions github-actions bot added request-ci-failed An error occurred while starting CI via request-ci label, and manual interventon is needed. and removed request-ci Add this label to start a Jenkins CI on a PR. labels Apr 25, 2024

This comment was marked as outdated.

@nodejs-github-bot
Copy link
Collaborator

@targos targos removed the request-ci-failed An error occurred while starting CI via request-ci label, and manual interventon is needed. label Apr 25, 2024
@targos
Copy link
Member Author

targos commented Apr 25, 2024

@StefanStojanovic Not sure what's wrong with your local tests but Windows CI is green!

@StefanStojanovic
Copy link
Contributor

@StefanStojanovic Not sure what's wrong with your local tests but Windows CI is green!

This makes me both happy and sad... 😂 Hopefully it was something on my machine, I'll see if I can reproduce it again.

@targos targos added the request-ci Add this label to start a Jenkins CI on a PR. label May 22, 2024
@github-actions github-actions bot removed the request-ci Add this label to start a Jenkins CI on a PR. label May 22, 2024
@nodejs-github-bot
Copy link
Collaborator

@nodejs-github-bot
Copy link
Collaborator

@nodejs-github-bot
Copy link
Collaborator

@targos
Copy link
Member Author

targos commented May 22, 2024

09:04:45 [1745/2474] ccache g++ -MD -MF obj/v8_base_without_compiler/turboshaft-graph-interface.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_OZONE=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_NONE -D_GLIBCXX_ASSERTIONS=1 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64 -DENABLE_GDB_JIT_INTERFACE -DV8_INTL_SUPPORT -DV8_USE_EXTERNAL_STARTUP_DATA -DV8_ATOMIC_OBJECT_FIELD_WRITES -DV8_ENABLE_LAZY_SOURCE_POSITIONS -DV8_SHARED_RO_HEAP -DV8_WIN64_UNWINDING_INFO -DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH -DV8_ENABLE_SPARKPLUG -DV8_ENABLE_TURBOFAN -DV8_ENABLE_WEBASSEMBLY -DV8_ENABLE_CONTINUATION_PRESERVED_EMBEDDER_DATA -DV8_ALLOCATION_FOLDING -DV8_ALLOCATION_SITE_TRACKING -DV8_ADVANCED_BIGINT_ALGORITHMS -DV8_USE_ZLIB -DV8_ENABLE_MAGLEV_GRAPH_PRINTER -DV8_ENABLE_EXTENSIBLE_RO_SNAPSHOT -DV8_DEPRECATION_WARNINGS -DV8_IMMINENT_DEPRECATION_WARNINGS -DV8_HAVE_TARGET_OS -DV8_TARGET_OS_LINUX -DCPPGC_SLIM_WRITE_BARRIER -DV8_TARGET_ARCH_PPC64 -DV8_TARGET_ARCH_PPC_LE -DABSL_ALLOCATOR_NOTHROW=1 -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DUSE_CHROMIUM_ICU=1 -DU_ENABLE_TRACING=1 -DU_ENABLE_RESOURCE_TRACING=0 -DU_STATIC_IMPLEMENTATION -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -I../.. -Igen -I../../include -I../../third_party/abseil-cpp -Igen/include -I../../third_party/icu/source/common -I../../third_party/icu/source/i18n -I../../third_party/fp16/src/include -I../../third_party/zlib -Wall -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-deprecated-declarations -Wno-comments -Wno-packed-not-aligned -Wno-missing-field-initializers -Wno-unused-parameter -Wno-psabi -Werror -fno-ident -fno-strict-aliasing -fstack-protector -funwind-tables -fPIC -pipe -pthread -m64 -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -fno-omit-frame-pointer -g0 -ffp-contract=off -Wno-invalid-offsetof -Wno-strict-overflow -Wno-return-type -Wno-int-in-bool-context -Wno-deprecated -Wno-stringop-overflow -Wno-stringop-overread -Wno-restrict -Wno-array-bounds -Wno-nonnull -Wno-dangling-pointer -O3 -fdata-sections -ffunction-sections -fno-math-errno -fvisibility=default -Wno-narrowing -Wno-class-memaccess -std=gnu++2a -fno-exceptions -fno-rtti -c ../../src/wasm/turboshaft-graph-interface.cc -o obj/v8_base_without_compiler/turboshaft-graph-interface.o
09:04:45 FAILED: obj/v8_base_without_compiler/turboshaft-graph-interface.o 
09:04:45 ccache g++ -MD -MF obj/v8_base_without_compiler/turboshaft-graph-interface.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_OZONE=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_NONE -D_GLIBCXX_ASSERTIONS=1 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64 -DENABLE_GDB_JIT_INTERFACE -DV8_INTL_SUPPORT -DV8_USE_EXTERNAL_STARTUP_DATA -DV8_ATOMIC_OBJECT_FIELD_WRITES -DV8_ENABLE_LAZY_SOURCE_POSITIONS -DV8_SHARED_RO_HEAP -DV8_WIN64_UNWINDING_INFO -DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH -DV8_ENABLE_SPARKPLUG -DV8_ENABLE_TURBOFAN -DV8_ENABLE_WEBASSEMBLY -DV8_ENABLE_CONTINUATION_PRESERVED_EMBEDDER_DATA -DV8_ALLOCATION_FOLDING -DV8_ALLOCATION_SITE_TRACKING -DV8_ADVANCED_BIGINT_ALGORITHMS -DV8_USE_ZLIB -DV8_ENABLE_MAGLEV_GRAPH_PRINTER -DV8_ENABLE_EXTENSIBLE_RO_SNAPSHOT -DV8_DEPRECATION_WARNINGS -DV8_IMMINENT_DEPRECATION_WARNINGS -DV8_HAVE_TARGET_OS -DV8_TARGET_OS_LINUX -DCPPGC_SLIM_WRITE_BARRIER -DV8_TARGET_ARCH_PPC64 -DV8_TARGET_ARCH_PPC_LE -DABSL_ALLOCATOR_NOTHROW=1 -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DUSE_CHROMIUM_ICU=1 -DU_ENABLE_TRACING=1 -DU_ENABLE_RESOURCE_TRACING=0 -DU_STATIC_IMPLEMENTATION -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -I../.. -Igen -I../../include -I../../third_party/abseil-cpp -Igen/include -I../../third_party/icu/source/common -I../../third_party/icu/source/i18n -I../../third_party/fp16/src/include -I../../third_party/zlib -Wall -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-deprecated-declarations -Wno-comments -Wno-packed-not-aligned -Wno-missing-field-initializers -Wno-unused-parameter -Wno-psabi -Werror -fno-ident -fno-strict-aliasing -fstack-protector -funwind-tables -fPIC -pipe -pthread -m64 -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -fno-omit-frame-pointer -g0 -ffp-contract=off -Wno-invalid-offsetof -Wno-strict-overflow -Wno-return-type -Wno-int-in-bool-context -Wno-deprecated -Wno-stringop-overflow -Wno-stringop-overread -Wno-restrict -Wno-array-bounds -Wno-nonnull -Wno-dangling-pointer -O3 -fdata-sections -ffunction-sections -fno-math-errno -fvisibility=default -Wno-narrowing -Wno-class-memaccess -std=gnu++2a -fno-exceptions -fno-rtti -c ../../src/wasm/turboshaft-graph-interface.cc -o obj/v8_base_without_compiler/turboshaft-graph-interface.o
09:04:45 In file included from ../../src/wasm/turboshaft-graph-interface.h:13,
09:04:45                  from ../../src/wasm/turboshaft-graph-interface.cc:5:
09:04:45 ../../src/compiler/turboshaft/assembler.h: In static member function ‘static _Res std::_Function_handler<_Res(_ArgTypes ...), _Functor>::_M_invoke(const std::_Any_data&, _ArgTypes&& ...) [with _Res = v8::internal::compiler::turboshaft::V<v8::internal::compiler::turboshaft::WordWithBits<32> >; _Functor = v8::internal::wasm::TurboshaftGraphBuildingInterface::ArrayFillImpl(v8::internal::wasm::WasmGraphBuilderBase::V<v8::internal::WasmArray>, v8::internal::wasm::WasmGraphBuilderBase::V<v8::internal::compiler::turboshaft::WordWithBits<32> >, v8::internal::wasm::WasmGraphBuilderBase::V<v8::internal::compiler::turboshaft::Any>, v8::internal::wasm::WasmGraphBuilderBase::OpIndex, const v8::internal::wasm::ArrayType*, bool)::<lambda()>; _ArgTypes = {}]’:
09:04:45 ../../src/compiler/turboshaft/assembler.h:684:16: error: ‘<anonymous>’ is used uninitialized in this function [-Werror=uninitialized]
09:04:45   684 |     return Get();
09:04:45       |                ^
09:04:45 At global scope:
09:04:45 cc1plus: note: unrecognized command-line option ‘-Wno-dangling-pointer’ may have been intended to silence earlier diagnostics
09:04:45 cc1plus: note: unrecognized command-line option ‘-Wno-stringop-overread’ may have been intended to silence earlier diagnostics
09:04:45 cc1plus: all warnings being treated as errors

@nodejs/platform-ppc

@miladfarca
Copy link
Contributor

@targos that's likely a bug in gcc10, this should fix it:
https://chromium-review.googlesource.com/c/v8/v8/+/5509746

@targos
Copy link
Member Author

targos commented May 22, 2024

@miladfarca Oh yeah I forgot to look at the floating patches we already have in deps/v8. Thanks!

targos added 4 commits May 22, 2024 14:44
Major V8 updates are usually API/ABI incompatible with previous
versions. This commit adapts NODE_MODULE_VERSION for V8 12.5.

Refs: https://github.com/nodejs/CTC/blob/master/meetings/2016-09-28.md
dllexport introduces issues when compiling with MSVC.

PR-URL: nodejs#47251
Reviewed-By: Yagiz Nizipli <[email protected]>
Reviewed-By: Jiawen Geng <[email protected]>
Reviewed-By: Rafael Gonzaga <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
targos and others added 9 commits May 22, 2024 14:45
It introduces process hangs on some platforms because Node.js doesn't
tear down V8 correctly.
Disable it while we work on a solution.

Refs: nodejs#47297
Refs: https://bugs.chromium.org/p/v8/issues/detail?id=13902
PR-URL: nodejs#47450
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Yagiz Nizipli <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Refs: https://bugs.chromium.org/p/v8/issues/detail?id=14221
PR-URL: nodejs#49639
Reviewed-By: Jiawen Geng <[email protected]>
Reviewed-By: Rafael Gonzaga <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
PR-URL: nodejs#49639
Reviewed-By: Jiawen Geng <[email protected]>
Reviewed-By: Rafael Gonzaga <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
PR-URL: nodejs#52293
Reviewed-By: Moshe Atlow <[email protected]>
Reviewed-By: Rafael Gonzaga <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
After enabling -std:c++20 on Windows, patch is now much smaller.

PR-URL: nodejs#52465
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Rafael Gonzaga <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
On Windows debug builds, it is not allowed to dereference empty
iterators.

Refs: https://chromium-review.googlesource.com/c/v8/v8/+/5331688
PR-URL: nodejs#52465
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Rafael Gonzaga <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Original commit message:

    [turboshaft] initialize constant_value_ to an empty value

    gcc-10 seems to have a bug were not initializing this value
    throws this compilation error:
    ```
    src/compiler/turboshaft/assembler.h:680:16: error: ‘<anonymous>’ is used uninitialized in this function [-Werror=uninitialized]
      680 |     return Get();
    ```
    https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86465

    Bug: v8:12783
    Change-Id: I7a5fee5009b866a801326fba734c156c3cfdb1b0
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5503350
    Reviewed-by: Nico Hartmann <[email protected]>
    Commit-Queue: Milad Farazmand <[email protected]>
    Cr-Commit-Position: refs/heads/main@{#93675}

Refs: v8/v8@f6bef09
PR-URL: nodejs#52802
Fixes: nodejs#52661
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Mohammed Keyvanzadeh <[email protected]>
Reviewed-By: Marco Ippolito <[email protected]>
Reviewed-By: Yagiz Nizipli <[email protected]>
Namely:
  - `v8::ObjectTemplate::SetAccessor(v8::Local<v8::String>, ...);`
  - `v8::ObjectTemplate::SetNativeDataProperty` with `AccessControl`

Refs: v8/v8@46c241e
Refs: v8/v8@6ec8839
Co-authored-by: Michaël Zasso <[email protected]>
@targos targos added the request-ci Add this label to start a Jenkins CI on a PR. label May 22, 2024
@github-actions github-actions bot removed the request-ci Add this label to start a Jenkins CI on a PR. label May 22, 2024
@nodejs-github-bot
Copy link
Collaborator

@nodejs-github-bot
Copy link
Collaborator

@nodejs-github-bot
Copy link
Collaborator

@targos targos closed this Jun 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Issues and PRs related to build files or the CI. needs-ci PRs that need a full CI run. semver-major PRs that contain breaking changes and should be released in the next major version. v8 engine Issues and PRs related to the V8 dependency.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants