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 13.4 #57114

Open
wants to merge 29 commits into
base: main
Choose a base branch
from
Open

deps: update V8 to 13.4 #57114

wants to merge 29 commits into from

Conversation

targos
Copy link
Member

@targos targos commented Feb 18, 2025

Notable changes:

@nodejs/v8-update @nodejs/tsc

Supersedes #56959

@targos targos added the semver-major PRs that contain breaking changes and should be released in the next major version. label Feb 18, 2025
@nodejs-github-bot
Copy link
Collaborator

Review requested:

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

@nodejs-github-bot nodejs-github-bot added build Issues and PRs related to build files or the CI. dependencies Pull requests that update a dependency file. meta Issues and PRs related to the general management of the project. needs-ci PRs that need a full CI run. v8 engine Issues and PRs related to the V8 dependency. labels Feb 18, 2025
@targos targos added the request-ci Add this label to start a Jenkins CI on a PR. label Feb 18, 2025
@github-actions github-actions bot removed the request-ci Add this label to start a Jenkins CI on a PR. label Feb 18, 2025
@nodejs-github-bot

This comment was marked as outdated.

@nodejs-github-bot

This comment was marked as outdated.

@nodejs-github-bot

This comment was marked as outdated.

@nodejs-github-bot

This comment was marked as outdated.

@targos

This comment was marked as resolved.

@targos targos added the help wanted Issues that need assistance from volunteers or PRs that need help to proceed. label Feb 18, 2025

This comment was marked as resolved.

@targos

This comment was marked as resolved.

@anonrig
Copy link
Member

anonrig commented Feb 18, 2025

PS: @targos we need https://chromium-review.googlesource.com/c/v8/v8/+/6276706 to land to get rid of deprecated string WriteUtf8 function.

@targos
Copy link
Member Author

targos commented Feb 20, 2025

@anonrig Since you told me that you wanted to exercise contributing to V8, I pushed a PoC of getting the V8 hash seed using an API instead of the guessing script that doesn't work anymore: f545e47
Do you think you can try to contribute something similar upstream?

@jasnell
Copy link
Member

jasnell commented Feb 20, 2025

It is worth noting that while there are still a few outstanding bugs to deal with, the v8::IsolateGroup stuff should be available in 13.4. There is a memory leak that is being investigated now so it will likely need another patch or two or three before it is ready for use but my hope is that those are ready to go by the time this lands and we can start experimenting with v8::IsolateGroup and with enabling pointer compression by default.

@anonrig
Copy link
Member

anonrig commented Feb 20, 2025

@anonrig Since you told me that you wanted to exercise contributing to V8, I pushed a PoC of getting the V8 hash seed using an API instead of the guessing script that doesn't work anymore: f545e47 Do you think you can try to contribute something similar upstream?

Thanks for the heads up, I've sent a changeset to v8: https://chromium-review.googlesource.com/c/v8/v8/+/6286748

@richardlau
Copy link
Member

CI: https://ci.nodejs.org/job/node-test-pull-request/65285/

FWIW the mksnapshot crash on AIX is known and there's some discussion in https://chromium-review.googlesource.com/c/v8/v8/+/6261390 (that change was originally to try to get the builds building again on AIX while the cause of the crash is investigated).

Major V8 updates are usually API/ABI incompatible with previous
versions. This commit adapts NODE_MODULE_VERSION for V8 13.4.

Refs: https://github.com/nodejs/CTC/blob/master/meetings/2016-09-28.md
richardlau and others added 15 commits February 21, 2025 07:31
Build Node.js with simdutf version from V8.

Refs: v8/v8@d629051
Refs: v8/v8@616c875
Refs: v8/v8@e3204d5
Refs: v8/v8@e8293d2
Refs: v8/v8@aeb2220
Refs: v8/v8@5621164
The API was removed from V8.
New V8 version includes more information about regular expressions.
We depend on V8's version of simdutf now.
The location of some third-party code has changed.
`Isolate::AdjustAmountOfExternalAllocatedMemory` is deprecated.

Refs: v8/v8@7dc4c18
@targos targos added the request-ci Add this label to start a Jenkins CI on a PR. label Feb 21, 2025
@github-actions github-actions bot removed the request-ci Add this label to start a Jenkins CI on a PR. label Feb 21, 2025
@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 Feb 21, 2025

There are also many V8 test failures on s390x and ppc64le: https://ci.nodejs.org/job/node-test-commit-v8-linux/6419/

@targos
Copy link
Member Author

targos commented Feb 21, 2025

@nodejs/platform-smartos The SmartOS builds fail: https://ci.nodejs.org/job/node-test-commit-smartos/59354/

@targos
Copy link
Member Author

targos commented Feb 21, 2025

There are also issues with the shared library builds:

03:39:33.945 /usr/bin/ld: /home/iojs/build/workspace/node-test-commit-linux-containered/out/Release/obj.target/v8_base_without_compiler/deps/v8/src/api/api.o: relocation R_X86_64_TPOFF32 against symbol `_ZN2v88internal18g_current_isolate_E' can not be used when making a shared object; recompile with -fPIC
03:39:33.945 /usr/bin/ld: failed to set dynamic section sizes: bad value

@targos
Copy link
Member Author

targos commented Feb 21, 2025

@targos
Copy link
Member Author

targos commented Feb 24, 2025

@nodejs/platform-windows @nodejs/platform-windows-arm There are still a bunch of compiler errors specific to MSVC (not all the same in the arm64 case)

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. dependencies Pull requests that update a dependency file. help wanted Issues that need assistance from volunteers or PRs that need help to proceed. meta Issues and PRs related to the general management of the project. 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.

7 participants