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: fix V8 compilation on Apple clang 13 & 14 #288

Open
wants to merge 20 commits into
base: canary
Choose a base branch
from

Conversation

joyeecheung
Copy link
Member

No description provided.

nodejs-github-bot and others added 20 commits August 7, 2024 06:03
Major V8 updates are usually API/ABI incompatible with previous
versions. This commit adapts NODE_MODULE_VERSION for V8 12.9.

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

PR-URL: nodejs/node#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/node#47297
Refs: https://bugs.chromium.org/p/v8/issues/detail?id=13902
PR-URL: nodejs/node#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>
Refs: https://bugs.chromium.org/p/v8/issues/detail?id=14221
PR-URL: nodejs/node#49639
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
After enabling -std:c++20 on Windows, patch is now much smaller.

PR-URL: nodejs/node#52465
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
As V8 has moved away from wrapper-descriptor-based CppHeap, this
patch:

1. Create the CppHeap without using wrapper descirptors.
2. Deprecates node::SetCppgcReference() in favor of
   v8::Object::Wrap() since the wrapper descriptor is no longer
   relevant. It is still kept as a compatibility layer for addons
   that need to also work on Node.js versions without
   v8::Object::Wrap().
Add/remove abseil files introduced by V8 12.7 update found by:

```
git diff-tree --no-commit-id --name-status 0ec8f7eea3 -r | grep '^[AD].*abseil.*'
```
Two fields on the `v8::FastApiCallbackOptions` struct were deprecated
recently: `fallback` and `wasm_memory`. This PR removes uses of these
two fields in node.js.
@joyeecheung
Copy link
Member Author

The third commit fixes the osx11 failure in nodejs/node#54077 . Second commit is only present in canary for now. Not sure about the first one, looks recent.

@joyeecheung
Copy link
Member Author

cc @targos

@targos
Copy link
Member

targos commented Aug 7, 2024

Nice! I suggest you upstream 40548f8. It makes sense to include vector if vector is used in the file.

@lemire
Copy link
Member

lemire commented Aug 7, 2024

Current LLVM on Apple platforms is version 15, released in 2023. Version 16 is in its 5th beta and should enter soon RC1.

@joyeecheung
Copy link
Member Author

joyeecheung commented Aug 7, 2024

Uploaded the third commit to https://chromium-review.googlesource.com/c/v8/v8/+/5771451 and the first to https://chromium-review.googlesource.com/c/v8/v8/+/5771471 (not 100% sure about the second commit yet, it fixes the bug but maybe I should simplify it..)

@targos
Copy link
Member

targos commented Aug 8, 2024

Found another issue in Xcode 13: nodejs/node#54077 (comment)

@targos
Copy link
Member

targos commented Aug 8, 2024

It turns out we also need c21cbdf for Xcode 13: https://ci.nodejs.org/job/node-test-commit-osx/60282/nodes=osx11-x64/console

@nodejs-github-bot nodejs-github-bot force-pushed the canary branch 3 times, most recently from 2a6f55f to c4c3e7c Compare August 10, 2024 07:39
@nodejs-github-bot nodejs-github-bot force-pushed the canary branch 8 times, most recently from 94dd182 to 62cb155 Compare December 28, 2024 07:58
@nodejs-github-bot nodejs-github-bot force-pushed the canary branch 7 times, most recently from 6428a27 to 0ec56a4 Compare January 4, 2025 07:55
@nodejs-github-bot nodejs-github-bot force-pushed the canary branch 7 times, most recently from d3bd189 to 6da2fe9 Compare January 11, 2025 07:57
@nodejs-github-bot nodejs-github-bot force-pushed the canary branch 6 times, most recently from 16bb2f9 to ca0026d Compare January 17, 2025 07:59
@nodejs-github-bot nodejs-github-bot force-pushed the canary branch 2 times, most recently from 726adce to 11be423 Compare January 22, 2025 07:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants