FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

deps: update V8 to 11.5 by targos · Pull Request #48456 · nodejs/node · GitHub

/ node Public

deps: update V8 to 11.5 - #48456

Closed
targos wants to merge 14 commits into
nodejs:mainfrom
targos:v8-115
Closed

deps: update V8 to 11.5#48456
targos wants to merge 14 commits into
nodejs:mainfrom
targos:v8-115

Conversation

targos commented Jun 14, 2023

Copy link
Copy Markdown
Member

Based on #48029 with two additional commits.

  • deps: update V8 to 11.5.150.8
  • build: reset embedder string to "-node.0"
  • src: update NODE_MODULE_VERSION to 118
  • deps: always define V8_EXPORT_PRIVATE as no-op
  • deps: silence irrelevant V8 warning
  • deps: patch V8 to support compilation on win-arm64
  • deps: disable V8 concurrent sparkplug compilation
  • tools: update V8 gypfiles for 11.4
  • tools: add new V8 headers to distribution
  • lib: update usage of always on Atomics API
  • test: adapt debugger tests to V8 11.4
  • test: update flag to disable SharedArrayBuffer
  • tools: update V8 gypfiles for 11.5
  • test: adapt test-fs-write to V8 internal changes

Copy link
Copy Markdown
Collaborator

Review requested:

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

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 Jun 14, 2023
targos mentioned this pull request Jun 14, 2023

nodejs-github-bot commented Jun 14, 2023
edited by targos
Loading

Copy link
Copy Markdown
Collaborator

targos commented Jun 14, 2023

Copy link
Copy Markdown
Member Author

@StefanStojanovic I've kept 63589e5. Can you point me to the V8 CL that would make it obsolete?

nodejs deleted a comment from nodejs-github-bot Jun 14, 2023
nodejs deleted a comment from nodejs-github-bot Jun 14, 2023
nodejs deleted a comment from nodejs-github-bot Jun 14, 2023

Copy link
Copy Markdown
Contributor

@StefanStojanovic I've kept 63589e5. Can you point me to the V8 CL that would make it obsolete?

My third CL landed 5 days ago. That should be the last one needed. In case you need the other CLs, this is the second one that landed a month ago, and the first one that landed 2 months ago

targos commented Jun 14, 2023

Copy link
Copy Markdown
Member Author

Thanks, I updated the PR to cherry-pick that last commit instead of the floating patch.

targos commented Jun 14, 2023
edited
Loading

Copy link
Copy Markdown
Member Author

Failure in shared lib build:

12:29:30 /home/iojs/build/workspace/node-test-commit-linux-containered/out/Release/obj.target/v8_zlib/deps/v8/third_party/zlib/cpu_features.o:(.bss.x86_cpu_enable_avx512+0x0): multiple definition of `x86_cpu_enable_avx512'
12:29:30 /home/iojs/build/workspace/node-test-commit-linux-containered/out/Release/obj.target/zlib/deps/zlib/cpu_features.o:(.bss+0x0): first defined here
12:29:30 collect2: error: ld returned 1 exit status
12:29:30 libnode.target.mk:546: recipe for target '/home/iojs/build/workspace/node-test-commit-linux-containered/out/Release/obj.target/libnode.so.118' failed
12:29:30 make[2]: *** [/home/iojs/build/workspace/node-test-commit-linux-containered/out/Release/obj.target/libnode.so.118] Error 1

Same on SmartOS:

12:27:09 ld: fatal: symbol 'x86_cpu_enable_avx512' is multiply-defined:
12:27:09 	(file /home/iojs/build/workspace/node-test-commit-smartos/nodes/smartos20-64/out/Release/obj.target/deps/zlib/libzlib.a(cpu_features.o) type=OBJT; file /home/iojs/build/workspace/node-test-commit-smartos/nodes/smartos20-64/out/Release/obj.target/tools/v8_gypfiles/libv8_zlib.a(cpu_features.o) type=OBJT);
12:27:09 ld: fatal: file processing errors. No output written to /home/iojs/build/workspace/node-test-commit-smartos/nodes/smartos20-64/out/Release/cctest

targos and others added 13 commits June 21, 2023 12:14
Major V8 updates are usually API/ABI incompatible with previous
versions. This commit adapts NODE_MODULE_VERSION for V8 11.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 <yagiz@nizipli.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
PR-URL: nodejs#45579
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
PR-URL: nodejs#47251
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
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 <rlau@redhat.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Original commit message:

    [win][msvc] fix cross-compilation for arm64

    Cross-compiling x64 to ARM64 on Windows fails with MSVC. The reason is
    the ProbeMemory function which uses asm() code prohibited in this case.
    This change adds conditionalizing on V8_TRAP_HANDLER_SUPPORTED thus
    removing the problematic parts of the code in MSVC cross-compilation.

    This extends https://chromium-review.googlesource.com/c/v8/v8/+/3964232
    in a way, as it wraps ProbeMemory usage inside of the "#ifdef
    V8_TRAP_HANDLER_VIA_SIMULATOR" blocks.

    This follows https://chromium-review.googlesource.com/c/v8/v8/+/4403215
    and https://chromium-review.googlesource.com/c/v8/v8/+/4489305 as a part
    of an effort to completely fix cross-compilation with MSVC.

    Change-Id: I59d9a995fbc8ee1cee2807429fd44d8043c178fb
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4574697
    Reviewed-by: Andreas Haas <ahaas@chromium.org>
    Reviewed-by: Mark Seaborn <mseaborn@chromium.org>
    Commit-Queue: Mark Seaborn <mseaborn@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#88147}

Refs: v8/v8@15e31d6
Accept a new `step` break message.
`--no-harmony-sharedarraybuffer` was removed from V8 but it's still
possible to disable the feature with `--enable-sharedarraybuffer-per-context`.

targos commented Jun 21, 2023

Copy link
Copy Markdown
Member Author

I don't see what's special about x86_cpu_enable_avx512. It's defined the same way as, for example, x86_cpu_enable_simd, which isn't causing any issues.

/cc @nodejs/cpp-reviewers

Copy link
Copy Markdown

5258be6 can be dropped due to upstream bug has been fixed.

targos commented Jun 26, 2023

Copy link
Copy Markdown
Member Author

5258be6 can be dropped due to upstream bug has been fixed.

Upstream bug was closed, but a fix needs to happen on the Node.js side.

See #47297 and #47452

targos commented Jul 9, 2023

Copy link
Copy Markdown
Member Author

#48710

targos closed this Jul 9, 2023
targos deleted the v8-115 branch September 13, 2023 14:03
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
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. v8 engine Issues and PRs related to the V8 dependency.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants


Back | FazBrowse Home | New Git URL