Skip to content

chore: update V8 to 13.8.258.26 #442

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

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

Conversation

leonm1
Copy link
Contributor

@leonm1 leonm1 commented Jul 17, 2025

  • Update v8.patch
  • Remove v8_include.patch which is no longer needed
  • Remove dependency on chromium_base_trace_event_common
  • Use vendored LLVM-19
  • Update runners

This PR is stacked on top of #441.

@leonm1 leonm1 changed the base branch from mpwarres-use-cpp-20-2 to main July 17, 2025 02:47
@leonm1 leonm1 force-pushed the chore/update-v8 branch from ebfe552 to d2b91ac Compare July 17, 2025 03:05
mpwarres and others added 9 commits July 17, 2025 09:35
Signed-off-by: Michael Warres <[email protected]>
Signed-off-by: Michael Warres <[email protected]>
Zig CC had linking errors with -latomic (a seemingly recurrent issue with zig), which is required by the new V8 version. Instead, llvm can be used.

Signed-off-by: Matt Leon <[email protected]>
This test fails with the new V8 version

Signed-off-by: Matt Leon <[email protected]>
@leonm1 leonm1 force-pushed the chore/update-v8 branch from b69ca9b to 5f35a6d Compare July 17, 2025 21:13
leonm1 added 2 commits July 17, 2025 22:28
* add download links for darwin
* rename from zig-cc to hermetic-llvm

Signed-off-by: Matt Leon <[email protected]>
Signed-off-by: Matt Leon <[email protected]>
@leonm1 leonm1 force-pushed the chore/update-v8 branch from 8b1095a to c0f4bca Compare July 18, 2025 02:28
leonm1 added 2 commits July 17, 2025 22:53
BSD sed requires an extension to create a backup file when used with in-place editing.

Signed-off-by: Matt Leon <[email protected]>
@leonm1 leonm1 force-pushed the chore/update-v8 branch from 3e9f030 to 1caa20f Compare July 18, 2025 13:43
leonm1 added 2 commits July 18, 2025 09:57
Simdutf has this check for enabling atomic operations:

```
  #if __cpp_lib_atomic_ref >= 201806L
    #define SIMDUTF_ATOMIC_REF 1
  #endif // __cpp_lib_atomic_ref
```

Which evidently fails on the runner's macos version, which spits out the following error:

```
external/v8/src/builtins/builtins-typed-array.cc:524:28: error: no member named 'atomic_base64_to_binary_safe' in namespace 'simdutf'; did you mean 'base64_to_binary_safe'?
  524 |     simd_result = simdutf::atomic_base64_to_binary_safe(
      |                   ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                            base64_to_binary_safe
external/simdutf/simdutf.h:4369:1: note: 'base64_to_binary_safe' declared here
 4369 | base64_to_binary_safe(const char *input, size_t length, char *output,
      | ^
external/v8/src/builtins/builtins-typed-array.cc:837:35: error: no member named 'atomic_binary_to_base64' in namespace 'simdutf'; did you mean 'binary_to_base64'?
  837 |       simd_result_size = simdutf::atomic_binary_to_base64(
      |                          ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
      |                                   binary_to_base64
external/simdutf/simdutf.h:4110:8: note: 'binary_to_base64' declared here
 4110 | size_t binary_to_base64(const char *input, size_t length, char *output,
      |        ^
external/v8/src/builtins/builtins-typed-array.cc:525:9: error: cannot initialize a parameter of type 'const char *' with an rvalue of type 'const char16_t *'

```

Signed-off-by: Matt Leon <[email protected]>
@leonm1 leonm1 force-pushed the chore/update-v8 branch 2 times, most recently from aabaa9e to 0304328 Compare July 18, 2025 14:21
@leonm1 leonm1 force-pushed the chore/update-v8 branch 2 times, most recently from 9e92ecb to 7ab78e9 Compare July 18, 2025 15:00
@leonm1 leonm1 force-pushed the chore/update-v8 branch 4 times, most recently from f8feda4 to b213f3d Compare July 18, 2025 18:43
leonm1 added 2 commits July 18, 2025 14:45
macos-15 uses too new a version of python which lacks support for `pipes`, which is used by our old foreign_cc version.

```
rules_foreign_cc: Printing build logs:
  /bin/bash -c bazel-out/darwin_arm64-opt-exec-2B5CBBC6-ST-1710242dce5b/bin/external/rules_foreign_cc/toolchains/ninja_tool_foreign_cc/wrapper_build_script.sh)
_____ BEGIN BUILD LOGS _____
+ ./configure.py --bootstrap
Traceback (most recent call last):

  File "/private/var/tmp/_bazel_runner/f7b5b126cb65bf12475e292acf07553d/sandbox/darwin-sandbox/120/execroot/proxy_wasm_cpp_host/bazel-out/darwin_arm64-opt-exec-2B5CBBC6-ST-1710242dce5b/bin/external/rules_foreign_cc/toolchains/ninja.build_tmpdir/./configure.py", line 26, in <module>
    import pipes
ModuleNotFoundError: No module named 'pipes'
```

Signed-off-by: Matt Leon <[email protected]>
@leonm1 leonm1 force-pushed the chore/update-v8 branch from b213f3d to c9c9eb2 Compare July 18, 2025 18:45
Copy link
Contributor

@mpwarres mpwarres left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM mod fixing the macos build errors. I am wondering if it might be possible to defer that branch of yak-shaving by not updating the macos runner in this PR, unless it is required for some reason.

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.

4 participants