From b89ce9a2bcedcfddf3a48f387b7912d602d6d87c Mon Sep 17 00:00:00 2001 From: Channing Conger Date: Sat, 6 Jun 2026 14:27:23 -0700 Subject: [PATCH] build(v8): update rusty_v8 to 149.2.0 (#26464) --- .bazelrc | 2 + .github/workflows/rusty-v8-release.yml | 156 +++++++++++++++++ .github/workflows/v8-canary.yml | 16 ++ MODULE.bazel | 32 ++-- MODULE.bazel.lock | 2 +- codex-rs/Cargo.lock | 4 +- codex-rs/Cargo.toml | 2 +- patches/v8_bazel_rules.patch | 75 ++++---- patches/v8_module_deps.patch | 149 +++++++++------- patches/v8_source_portability.patch | 78 ++++----- third_party/v8/BUILD.bazel | 230 ++++++++++++------------- third_party/v8/README.md | 40 +++-- third_party/v8/libcxx.BUILD.bazel | 3 +- third_party/v8/libcxxabi.BUILD.bazel | 1 + third_party/v8/rusty_v8_147_4_0.sha256 | 2 - third_party/v8/rusty_v8_149_2_0.sha256 | 2 + 16 files changed, 495 insertions(+), 299 deletions(-) delete mode 100644 third_party/v8/rusty_v8_147_4_0.sha256 create mode 100644 third_party/v8/rusty_v8_149_2_0.sha256 diff --git a/.bazelrc b/.bazelrc index c8b8682c4..c58667b46 100644 --- a/.bazelrc +++ b/.bazelrc @@ -214,6 +214,8 @@ common --@v8//:v8_enable_sandbox=True # artifact migration ships matching Rust feature selection for Cargo consumers. common:v8-release-compat --@v8//:v8_enable_pointer_compression=False common:v8-release-compat --@v8//:v8_enable_sandbox=False +common:v8-target-x64 --@v8//bazel/config:v8_target_cpu=x64 +common:v8-target-arm64 --@v8//bazel/config:v8_target_cpu=arm64 # Match rusty_v8's upstream GN release contract for published artifacts: every # target object uses Chromium's custom libc++ headers and the archive folds in diff --git a/.github/workflows/rusty-v8-release.yml b/.github/workflows/rusty-v8-release.yml index d6fb73e96..38f36856a 100644 --- a/.github/workflows/rusty-v8-release.yml +++ b/.github/workflows/rusty-v8-release.yml @@ -73,72 +73,84 @@ jobs: platform: linux_amd64 sandbox: false target: x86_64-unknown-linux-gnu + v8_cpu: x64 variant: release - runner: ubuntu-24.04 bazel_config: ci-v8 platform: linux_amd64 sandbox: true target: x86_64-unknown-linux-gnu + v8_cpu: x64 variant: ptrcomp-sandbox - runner: ubuntu-24.04-arm bazel_config: ci-v8 platform: linux_arm64 sandbox: false target: aarch64-unknown-linux-gnu + v8_cpu: arm64 variant: release - runner: ubuntu-24.04-arm bazel_config: ci-v8 platform: linux_arm64 sandbox: true target: aarch64-unknown-linux-gnu + v8_cpu: arm64 variant: ptrcomp-sandbox - runner: macos-15-xlarge bazel_config: ci-macos platform: macos_amd64 sandbox: false target: x86_64-apple-darwin + v8_cpu: x64 variant: release - runner: macos-15-xlarge bazel_config: ci-macos platform: macos_amd64 sandbox: true target: x86_64-apple-darwin + v8_cpu: x64 variant: ptrcomp-sandbox - runner: macos-15-xlarge bazel_config: ci-macos platform: macos_arm64 sandbox: false target: aarch64-apple-darwin + v8_cpu: arm64 variant: release - runner: macos-15-xlarge bazel_config: ci-macos platform: macos_arm64 sandbox: true target: aarch64-apple-darwin + v8_cpu: arm64 variant: ptrcomp-sandbox - runner: ubuntu-24.04 bazel_config: ci-v8 platform: linux_amd64_musl sandbox: false target: x86_64-unknown-linux-musl + v8_cpu: x64 variant: release - runner: ubuntu-24.04-arm bazel_config: ci-v8 platform: linux_arm64_musl sandbox: false target: aarch64-unknown-linux-musl + v8_cpu: arm64 variant: release - runner: ubuntu-24.04 bazel_config: ci-v8 platform: linux_amd64_musl sandbox: true target: x86_64-unknown-linux-musl + v8_cpu: x64 variant: ptrcomp-sandbox - runner: ubuntu-24.04-arm bazel_config: ci-v8 platform: linux_arm64_musl sandbox: true target: aarch64-unknown-linux-musl + v8_cpu: arm64 variant: ptrcomp-sandbox steps: @@ -167,6 +179,7 @@ jobs: PLATFORM: ${{ matrix.platform }} SANDBOX: ${{ matrix.sandbox }} TARGET: ${{ matrix.target }} + V8_CPU: ${{ matrix.v8_cpu }} shell: bash run: | set -euo pipefail @@ -184,6 +197,7 @@ jobs: opt "--platforms=@llvm//platforms:${PLATFORM}" --config=rusty-v8-upstream-libcxx + "--config=v8-target-${V8_CPU}" "${pair_target}" --build_metadata=COMMIT_SHA=$(git rev-parse HEAD) ) @@ -203,6 +217,7 @@ jobs: PLATFORM: ${{ matrix.platform }} SANDBOX: ${{ matrix.sandbox }} TARGET: ${{ matrix.target }} + V8_CPU: ${{ matrix.v8_cpu }} shell: bash run: | set -euo pipefail @@ -213,6 +228,7 @@ jobs: --compilation-mode opt --output-dir "dist/${TARGET}" --bazel-config "${BAZEL_CONFIG}" + --bazel-config "v8-target-${V8_CPU}" ) if [[ "${SANDBOX}" == "true" ]]; then stage_args+=(--sandbox) @@ -266,10 +282,150 @@ jobs: name: rusty-v8-${{ needs.metadata.outputs.v8_version }}-${{ matrix.variant }}-${{ matrix.target }} path: dist/${{ matrix.target }}/* + build-windows-source: + name: Build ptrcomp-sandbox ${{ matrix.target }} from source + needs: metadata + runs-on: ${{ matrix.runner }} + permissions: + contents: read + strategy: + fail-fast: false + matrix: + include: + - runner: windows-2022 + target: x86_64-pc-windows-msvc + - runner: windows-2022 + target: aarch64-pc-windows-msvc + + steps: + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + with: + persist-credentials: false + + - name: Configure git for upstream checkout + shell: bash + run: git config --global core.symlinks true + + - name: Check out upstream rusty_v8 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + with: + repository: denoland/rusty_v8 + ref: v${{ needs.metadata.outputs.v8_version }} + path: upstream-rusty-v8 + submodules: recursive + + - name: Set up Python + uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 + with: + python-version: "3.11" + architecture: x64 + + - name: Set up Codex Rust toolchain for Cargo smoke + uses: dtolnay/rust-toolchain@e081816240890017053eacbb1bdf337761dc5582 # 1.95.0 + with: + toolchain: "1.95.0" + targets: ${{ matrix.target }} + + - name: Install rusty_v8 Rust toolchain + env: + TARGET: ${{ matrix.target }} + shell: bash + run: | + set -euo pipefail + rustup toolchain install 1.91.0 --profile minimal --no-self-update + rustup target add --toolchain 1.91.0 "${TARGET}" + + - name: Write upstream submodule status + shell: bash + working-directory: upstream-rusty-v8 + run: git submodule status --recursive > git_submodule_status.txt + + - name: Restore upstream source-build cache + uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4 + with: + path: | + upstream-rusty-v8/target/sccache + upstream-rusty-v8/target/${{ matrix.target }}/release/gn_out + key: rusty-v8-source-${{ matrix.target }}-sandbox-${{ hashFiles('upstream-rusty-v8/Cargo.lock', 'upstream-rusty-v8/build.rs', 'upstream-rusty-v8/git_submodule_status.txt') }} + restore-keys: | + rusty-v8-source-${{ matrix.target }}-sandbox- + + - name: Install and start sccache + shell: pwsh + env: + SCCACHE_CACHE_SIZE: 256M + SCCACHE_DIR: ${{ github.workspace }}/upstream-rusty-v8/target/sccache + SCCACHE_IDLE_TIMEOUT: 0 + run: | + $version = "v0.8.2" + $platform = "x86_64-pc-windows-msvc" + $basename = "sccache-$version-$platform" + $url = "https://github.com/mozilla/sccache/releases/download/$version/$basename.tar.gz" + cd ~ + curl -LO $url + tar -xzvf "$basename.tar.gz" + . $basename/sccache --start-server + echo "$(pwd)/$basename" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append + + - name: Install Chromium clang for ARM64 MSVC cross build + if: matrix.target == 'aarch64-pc-windows-msvc' + shell: bash + working-directory: upstream-rusty-v8 + run: python3 tools/clang/scripts/update.py + + - name: Build upstream rusty_v8 sandbox release pair + env: + SCCACHE_IDLE_TIMEOUT: 0 + TARGET: ${{ matrix.target }} + V8_FROM_SOURCE: "1" + shell: bash + working-directory: upstream-rusty-v8 + run: cargo +1.91.0 build --locked --release --target "${TARGET}" --features v8_enable_sandbox + + - name: Stage upstream sandbox release pair + env: + TARGET: ${{ matrix.target }} + shell: bash + run: | + set -euo pipefail + python3 .github/scripts/rusty_v8_bazel.py stage-upstream-release-pair \ + --source-root upstream-rusty-v8 \ + --target "${TARGET}" \ + --output-dir "dist/${TARGET}" \ + --sandbox + + - name: Smoke link staged artifact with Cargo + env: + TARGET: ${{ matrix.target }} + shell: bash + run: | + set -euo pipefail + + archive="$(find "dist/${TARGET}" -maxdepth 1 -type f -name 'rusty_v8_*.lib.gz' -print -quit)" + binding="$(find "dist/${TARGET}" -maxdepth 1 -type f -name 'src_binding_*.rs' -print -quit)" + if [[ -z "${archive}" || -z "${binding}" ]]; then + echo "Missing staged archive or binding for ${TARGET}." >&2 + exit 1 + fi + + ( + cd codex-rs + RUSTY_V8_ARCHIVE="${GITHUB_WORKSPACE}/${archive}" \ + RUSTY_V8_SRC_BINDING_PATH="${GITHUB_WORKSPACE}/${binding}" \ + cargo +1.95.0 test -p codex-v8-poc --target "${TARGET}" --features sandbox --no-run + ) + + - name: Upload staged artifacts + uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0 + with: + name: rusty-v8-${{ needs.metadata.outputs.v8_version }}-ptrcomp-sandbox-${{ matrix.target }} + path: dist/${{ matrix.target }}/* + publish-release: needs: - metadata - build + - build-windows-source runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/v8-canary.yml b/.github/workflows/v8-canary.yml index 0ad9f850d..c590dec00 100644 --- a/.github/workflows/v8-canary.yml +++ b/.github/workflows/v8-canary.yml @@ -89,72 +89,84 @@ jobs: platform: linux_amd64 sandbox: false target: x86_64-unknown-linux-gnu + v8_cpu: x64 variant: release - runner: ubuntu-24.04 bazel_config: ci-v8 platform: linux_amd64 sandbox: true target: x86_64-unknown-linux-gnu + v8_cpu: x64 variant: ptrcomp-sandbox - runner: ubuntu-24.04-arm bazel_config: ci-v8 platform: linux_arm64 sandbox: false target: aarch64-unknown-linux-gnu + v8_cpu: arm64 variant: release - runner: ubuntu-24.04-arm bazel_config: ci-v8 platform: linux_arm64 sandbox: true target: aarch64-unknown-linux-gnu + v8_cpu: arm64 variant: ptrcomp-sandbox - runner: macos-15-xlarge bazel_config: ci-macos platform: macos_amd64 sandbox: false target: x86_64-apple-darwin + v8_cpu: x64 variant: release - runner: macos-15-xlarge bazel_config: ci-macos platform: macos_amd64 sandbox: true target: x86_64-apple-darwin + v8_cpu: x64 variant: ptrcomp-sandbox - runner: macos-15-xlarge bazel_config: ci-macos platform: macos_arm64 sandbox: false target: aarch64-apple-darwin + v8_cpu: arm64 variant: release - runner: macos-15-xlarge bazel_config: ci-macos platform: macos_arm64 sandbox: true target: aarch64-apple-darwin + v8_cpu: arm64 variant: ptrcomp-sandbox - runner: ubuntu-24.04 bazel_config: ci-v8 platform: linux_amd64_musl sandbox: false target: x86_64-unknown-linux-musl + v8_cpu: x64 variant: release - runner: ubuntu-24.04 bazel_config: ci-v8 platform: linux_amd64_musl sandbox: true target: x86_64-unknown-linux-musl + v8_cpu: x64 variant: ptrcomp-sandbox - runner: ubuntu-24.04-arm bazel_config: ci-v8 platform: linux_arm64_musl sandbox: false target: aarch64-unknown-linux-musl + v8_cpu: arm64 variant: release - runner: ubuntu-24.04-arm bazel_config: ci-v8 platform: linux_arm64_musl sandbox: true target: aarch64-unknown-linux-musl + v8_cpu: arm64 variant: ptrcomp-sandbox steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 @@ -183,6 +195,7 @@ jobs: PLATFORM: ${{ matrix.platform }} SANDBOX: ${{ matrix.sandbox }} TARGET: ${{ matrix.target }} + V8_CPU: ${{ matrix.v8_cpu }} shell: bash run: | set -euo pipefail @@ -198,6 +211,7 @@ jobs: build "--platforms=@llvm//platforms:${PLATFORM}" --config=rusty-v8-upstream-libcxx + "--config=v8-target-${V8_CPU}" "${pair_target}" --build_metadata=COMMIT_SHA=$(git rev-parse HEAD) ) @@ -217,6 +231,7 @@ jobs: PLATFORM: ${{ matrix.platform }} SANDBOX: ${{ matrix.sandbox }} TARGET: ${{ matrix.target }} + V8_CPU: ${{ matrix.v8_cpu }} shell: bash run: | set -euo pipefail @@ -226,6 +241,7 @@ jobs: --target "${TARGET}" --output-dir "dist/${TARGET}" --bazel-config "${BAZEL_CONFIG}" + --bazel-config "v8-target-${V8_CPU}" ) if [[ "${SANDBOX}" == "true" ]]; then stage_args+=(--sandbox) diff --git a/MODULE.bazel b/MODULE.bazel index abca889d6..c4ef9500a 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -415,18 +415,18 @@ crate.annotation( inject_repo(crate, "alsa_lib") -bazel_dep(name = "v8", version = "14.7.173.20") +bazel_dep(name = "v8", version = "14.9.207.2") archive_override( module_name = "v8", - integrity = "sha256-v/x6I4X38a2wckzUIft3Dh0SUdkuOTokwxyF7lzW8Lc=", + integrity = "sha256-tflbZE5srqal6leMxJjK/ZQtwpF96OMGJ6avd5lice4=", patch_strip = 3, patches = [ "//patches:v8_module_deps.patch", "//patches:v8_bazel_rules.patch", "//patches:v8_source_portability.patch", ], - strip_prefix = "v8-14.7.173.20", - urls = ["https://github.com/v8/v8/archive/refs/tags/14.7.173.20.tar.gz"], + strip_prefix = "v8-14.9.207.2", + urls = ["https://github.com/v8/v8/archive/refs/tags/14.9.207.2.tar.gz"], ) http_archive( @@ -439,12 +439,12 @@ http_archive( ) http_archive( - name = "v8_crate_147_4_0", + name = "v8_crate_149_2_0", build_file = "//third_party/v8:v8_crate.BUILD.bazel", - sha256 = "2df8fffd507fb18ed000673a83d937f58e60fb07f3306b2274284125b15137cd", - strip_prefix = "v8-147.4.0", + sha256 = "46dccf61a364b61bbaac70a8ba64a1a1006e87123b7d62eaeec999a3ba31ecdb", + strip_prefix = "v8-149.2.0", type = "tar.gz", - urls = ["https://static.crates.io/crates/v8/v8-147.4.0.crate"], + urls = ["https://static.crates.io/crates/v8/v8-149.2.0.crate"], ) git_repository = use_repo_rule("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository") @@ -452,7 +452,7 @@ git_repository = use_repo_rule("@bazel_tools//tools/build_defs/repo:git.bzl", "g git_repository( name = "rusty_v8_libcxx", build_file = "//third_party/v8:libcxx.BUILD.bazel", - commit = "7ab65651aed6802d2599dcb7a73b1f82d5179d05", + commit = "99457fa555797f8c5ac3c076ca288d8481d3b23a", remote = "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git", ) @@ -466,25 +466,25 @@ git_repository( git_repository( name = "rusty_v8_llvm_libc", build_file = "//third_party/v8:llvm_libc.BUILD.bazel", - commit = "b3aa5bb702ff9e890179fd1e7d3ba346e17ecf8e", + commit = "cb952785ccee13811f293f3c419958d1e3ddafbf", remote = "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git", ) http_file( - name = "rusty_v8_147_4_0_aarch64_pc_windows_msvc_archive", + name = "rusty_v8_149_2_0_aarch64_pc_windows_msvc_archive", downloaded_file_path = "rusty_v8_release_aarch64-pc-windows-msvc.lib.gz", - sha256 = "1fa3f94d9e09cff1f6bcce94c478e5cb072c0755f6a0357abadb9dd3b48d8127", + sha256 = "923f2b6ccdc14526b814e171e34c9aafd7969f12304948857c6696d022f0fb3c", urls = [ - "https://github.com/denoland/rusty_v8/releases/download/v147.4.0/rusty_v8_release_aarch64-pc-windows-msvc.lib.gz", + "https://github.com/denoland/rusty_v8/releases/download/v149.2.0/rusty_v8_release_aarch64-pc-windows-msvc.lib.gz", ], ) http_file( - name = "rusty_v8_147_4_0_x86_64_pc_windows_msvc_archive", + name = "rusty_v8_149_2_0_x86_64_pc_windows_msvc_archive", downloaded_file_path = "rusty_v8_release_x86_64-pc-windows-msvc.lib.gz", - sha256 = "e2827ff98b1a9d4c0343000fc5124ac30dfab3007bc0129c168c9355fc2fcd7c", + sha256 = "12b5a791b54e92f748738ad8d0d12dad8d281a2d836638ad1aa6678e3b855d9a", urls = [ - "https://github.com/denoland/rusty_v8/releases/download/v147.4.0/rusty_v8_release_x86_64-pc-windows-msvc.lib.gz", + "https://github.com/denoland/rusty_v8/releases/download/v149.2.0/rusty_v8_release_x86_64-pc-windows-msvc.lib.gz", ], ) diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index f541a2c7b..c55ceb6e0 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -1704,7 +1704,7 @@ "utf8_iter_1.0.4": "{\"dependencies\":[],\"features\":{}}", "utf8parse_0.2.2": "{\"dependencies\":[],\"features\":{\"default\":[],\"nightly\":[]}}", "uuid_1.20.0": "{\"dependencies\":[{\"name\":\"arbitrary\",\"optional\":true,\"req\":\"^1.1.3\"},{\"default_features\":false,\"name\":\"atomic\",\"optional\":true,\"req\":\"^0.6\"},{\"default_features\":false,\"name\":\"borsh\",\"optional\":true,\"req\":\"^1\"},{\"default_features\":false,\"name\":\"borsh-derive\",\"optional\":true,\"req\":\"^1\"},{\"features\":[\"derive\"],\"name\":\"bytemuck\",\"optional\":true,\"req\":\"^1.20.0\"},{\"name\":\"getrandom\",\"optional\":true,\"req\":\"^0.3\",\"target\":\"cfg(not(all(target_arch = \\\"wasm32\\\", any(target_os = \\\"unknown\\\", target_os = \\\"none\\\"))))\"},{\"default_features\":false,\"name\":\"js-sys\",\"optional\":true,\"req\":\"^0.3\",\"target\":\"cfg(all(target_arch = \\\"wasm32\\\", any(target_os = \\\"unknown\\\", target_os = \\\"none\\\"), target_feature = \\\"atomics\\\"))\"},{\"default_features\":false,\"name\":\"md-5\",\"optional\":true,\"req\":\"^0.10\"},{\"name\":\"rand\",\"optional\":true,\"req\":\"^0.9\",\"target\":\"cfg(not(all(target_arch = \\\"wasm32\\\", any(target_os = \\\"unknown\\\", target_os = \\\"none\\\"))))\"},{\"kind\":\"dev\",\"name\":\"rustversion\",\"req\":\"^1\"},{\"kind\":\"dev\",\"name\":\"serde\",\"req\":\"^1.0.221\"},{\"default_features\":false,\"name\":\"serde_core\",\"optional\":true,\"req\":\"^1.0.221\"},{\"kind\":\"dev\",\"name\":\"serde_derive\",\"req\":\"^1.0.221\"},{\"kind\":\"dev\",\"name\":\"serde_json\",\"req\":\"^1.0\"},{\"kind\":\"dev\",\"name\":\"serde_test\",\"req\":\"^1.0.56\"},{\"default_features\":false,\"name\":\"sha1_smol\",\"optional\":true,\"req\":\"^1\"},{\"name\":\"slog\",\"optional\":true,\"req\":\"^2\"},{\"kind\":\"dev\",\"name\":\"trybuild\",\"req\":\"^1.0.52\"},{\"name\":\"uuid-rng-internal-lib\",\"optional\":true,\"package\":\"uuid-rng-internal\",\"req\":\"^1.20.0\",\"target\":\"cfg(all(target_arch = \\\"wasm32\\\", any(target_os = \\\"unknown\\\", target_os = \\\"none\\\")))\"},{\"default_features\":false,\"features\":[\"msrv\"],\"name\":\"wasm-bindgen\",\"optional\":true,\"req\":\"^0.2\",\"target\":\"cfg(all(target_arch = \\\"wasm32\\\", any(target_os = \\\"unknown\\\", target_os = \\\"none\\\")))\"},{\"kind\":\"dev\",\"name\":\"wasm-bindgen\",\"req\":\"^0.2\",\"target\":\"cfg(all(target_arch = \\\"wasm32\\\", any(target_os = \\\"unknown\\\", target_os = \\\"none\\\")))\"},{\"kind\":\"dev\",\"name\":\"wasm-bindgen-test\",\"req\":\"^0.3\",\"target\":\"cfg(all(target_arch = \\\"wasm32\\\", any(target_os = \\\"unknown\\\", target_os = \\\"none\\\")))\"},{\"features\":[\"derive\"],\"name\":\"zerocopy\",\"optional\":true,\"req\":\"^0.8\"}],\"features\":{\"atomic\":[\"dep:atomic\"],\"borsh\":[\"dep:borsh\",\"dep:borsh-derive\"],\"default\":[\"std\"],\"fast-rng\":[\"rng\",\"dep:rand\"],\"js\":[\"dep:wasm-bindgen\",\"dep:js-sys\"],\"macro-diagnostics\":[],\"md5\":[\"dep:md-5\"],\"rng\":[\"dep:getrandom\"],\"rng-getrandom\":[\"rng\",\"dep:getrandom\",\"uuid-rng-internal-lib\",\"uuid-rng-internal-lib/getrandom\"],\"rng-rand\":[\"rng\",\"dep:rand\",\"uuid-rng-internal-lib\",\"uuid-rng-internal-lib/rand\"],\"serde\":[\"dep:serde_core\"],\"sha1\":[\"dep:sha1_smol\"],\"std\":[\"wasm-bindgen?/std\",\"js-sys?/std\"],\"v1\":[\"atomic\"],\"v3\":[\"md5\"],\"v4\":[\"rng\"],\"v5\":[\"sha1\"],\"v6\":[\"atomic\"],\"v7\":[\"rng\"],\"v8\":[]}}", - "v8_147.4.0": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"align-data\",\"req\":\"^0.1.0\"},{\"kind\":\"build\",\"name\":\"bindgen\",\"req\":\"^0.72\"},{\"kind\":\"dev\",\"name\":\"bindgen\",\"req\":\"^0.72\"},{\"name\":\"bitflags\",\"req\":\"^2.5\"},{\"kind\":\"dev\",\"name\":\"bytes\",\"req\":\"^1\"},{\"kind\":\"build\",\"name\":\"fslock\",\"req\":\"^0.2\"},{\"kind\":\"dev\",\"name\":\"fslock\",\"req\":\"^0.2\"},{\"kind\":\"build\",\"name\":\"gzip-header\",\"req\":\"^1.0.0\"},{\"kind\":\"dev\",\"name\":\"gzip-header\",\"req\":\"^1.0.0\"},{\"kind\":\"build\",\"name\":\"home\",\"req\":\"^0\"},{\"kind\":\"dev\",\"name\":\"home\",\"req\":\"^0\"},{\"kind\":\"build\",\"name\":\"miniz_oxide\",\"req\":\"^0.8.8\"},{\"kind\":\"dev\",\"name\":\"miniz_oxide\",\"req\":\"^0.8.8\"},{\"name\":\"paste\",\"req\":\"^1.0\"},{\"kind\":\"dev\",\"name\":\"rustversion\",\"req\":\"^1\"},{\"features\":[\"zoneinfo64\"],\"name\":\"temporal_capi\",\"req\":\"^0.2.3\"},{\"kind\":\"dev\",\"name\":\"trybuild\",\"req\":\"^1.0.96\"},{\"kind\":\"build\",\"name\":\"which\",\"req\":\"^6\"},{\"kind\":\"dev\",\"name\":\"which\",\"req\":\"^6\"}],\"features\":{\"default\":[\"use_custom_libcxx\"],\"simdutf\":[],\"use_custom_libcxx\":[],\"v8_enable_pointer_compression\":[],\"v8_enable_sandbox\":[\"v8_enable_pointer_compression\"],\"v8_enable_v8_checks\":[]}}", + "v8_149.2.0": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"align-data\",\"req\":\"^0.1.0\"},{\"kind\":\"build\",\"name\":\"bindgen\",\"req\":\"^0.72\"},{\"kind\":\"dev\",\"name\":\"bindgen\",\"req\":\"^0.72\"},{\"name\":\"bitflags\",\"req\":\"^2.5\"},{\"kind\":\"dev\",\"name\":\"bytes\",\"req\":\"^1\"},{\"kind\":\"build\",\"name\":\"fslock\",\"req\":\"^0.2\"},{\"kind\":\"dev\",\"name\":\"fslock\",\"req\":\"^0.2\"},{\"kind\":\"build\",\"name\":\"gzip-header\",\"req\":\"^1.0.0\"},{\"kind\":\"dev\",\"name\":\"gzip-header\",\"req\":\"^1.0.0\"},{\"kind\":\"build\",\"name\":\"home\",\"req\":\"^0\"},{\"kind\":\"dev\",\"name\":\"home\",\"req\":\"^0\"},{\"kind\":\"build\",\"name\":\"miniz_oxide\",\"req\":\"^0.8.8\"},{\"kind\":\"dev\",\"name\":\"miniz_oxide\",\"req\":\"^0.8.8\"},{\"name\":\"paste\",\"req\":\"^1.0\"},{\"kind\":\"dev\",\"name\":\"rustversion\",\"req\":\"^1\"},{\"features\":[\"zoneinfo64\"],\"name\":\"temporal_capi\",\"req\":\"^0.2.3\"},{\"kind\":\"dev\",\"name\":\"trybuild\",\"req\":\"^1.0.96\"},{\"kind\":\"build\",\"name\":\"which\",\"req\":\"^6\"},{\"kind\":\"dev\",\"name\":\"which\",\"req\":\"^6\"}],\"features\":{\"default\":[\"use_custom_libcxx\"],\"simdutf\":[],\"use_custom_libcxx\":[],\"v8_enable_pointer_compression\":[],\"v8_enable_sandbox\":[\"v8_enable_pointer_compression\"],\"v8_enable_v8_checks\":[]}}", "valuable_0.1.1": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"criterion\",\"req\":\"^0.3\"},{\"name\":\"valuable-derive\",\"optional\":true,\"req\":\"=0.1.1\"}],\"features\":{\"alloc\":[],\"default\":[\"std\"],\"derive\":[\"valuable-derive\"],\"std\":[\"alloc\"]}}", "vcpkg_0.2.15": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"lazy_static\",\"req\":\"^1\"},{\"kind\":\"dev\",\"name\":\"tempdir\",\"req\":\"^0.3.7\"}],\"features\":{}}", "version-compare_0.2.1": "{\"dependencies\":[],\"features\":{}}", diff --git a/codex-rs/Cargo.lock b/codex-rs/Cargo.lock index d67e41829..ded51c95b 100644 --- a/codex-rs/Cargo.lock +++ b/codex-rs/Cargo.lock @@ -14068,9 +14068,9 @@ dependencies = [ [[package]] name = "v8" -version = "147.4.0" +version = "149.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2df8fffd507fb18ed000673a83d937f58e60fb07f3306b2274284125b15137cd" +checksum = "46dccf61a364b61bbaac70a8ba64a1a1006e87123b7d62eaeec999a3ba31ecdb" dependencies = [ "bindgen", "bitflags 2.10.0", diff --git a/codex-rs/Cargo.toml b/codex-rs/Cargo.toml index 5fe010432..9d870e29b 100644 --- a/codex-rs/Cargo.toml +++ b/codex-rs/Cargo.toml @@ -424,7 +424,7 @@ unicode-width = "0.2" url = "2" urlencoding = "2.1" uuid = "1" -v8 = "=147.4.0" +v8 = "=149.2.0" vt100 = "0.16.2" walkdir = "2.5.0" webbrowser = "1.0" diff --git a/patches/v8_bazel_rules.patch b/patches/v8_bazel_rules.patch index 97e07d9d4..fce2be289 100644 --- a/patches/v8_bazel_rules.patch +++ b/patches/v8_bazel_rules.patch @@ -3,11 +3,11 @@ # Scope: Bazel BUILD/defs/BUILD.icu integration only, including dependency # wiring, generated sources, and visibility; no standalone V8 source patching. -diff --git a/orig/v8-14.6.202.11/bazel/defs.bzl b/mod/v8-14.6.202.11/bazel/defs.bzl -index 9648e4a..88efd41 100644 ---- a/orig/v8-14.6.202.11/bazel/defs.bzl -+++ b/mod/v8-14.6.202.11/bazel/defs.bzl -@@ -33,9 +33,21 @@ +diff --git a/orig/v8-14.9.207.2/bazel/defs.bzl b/mod/v8-14.9.207.2/bazel/defs.bzl +index bbe1495..6673518 100644 +--- a/orig/v8-14.9.207.2/bazel/defs.bzl ++++ b/mod/v8-14.9.207.2/bazel/defs.bzl +@@ -33,9 +33,21 @@ _create_option_int = rule( ) def v8_flag(name, default = False): @@ -32,7 +32,7 @@ index 9648e4a..88efd41 100644 def v8_string(name, default = ""): _create_option_string(name = name, build_setting_default = default) -@@ -97,7 +109,13 @@ +@@ -97,7 +109,13 @@ v8_config = rule( def _default_args(): return struct( @@ -47,7 +47,7 @@ index 9648e4a..88efd41 100644 defines = select({ "@v8//bazel/config:is_windows": [ "UNICODE", -@@ -127,12 +145,15 @@ +@@ -127,12 +145,15 @@ def _default_args(): ], "//conditions:default": [], }) + select({ @@ -56,20 +56,19 @@ index 9648e4a..88efd41 100644 - "-Wno-deprecated-this-capture", - "-Wno-deprecated-declarations", - "-std=c++20", -- ], + "@v8//:is_v8_use_rusty_v8_custom_libcxx": [ + "-nostdinc++", + "-D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS", + "-D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE", + "-D_LIBCPP_INSTRUMENTED_WITH_ASAN=0", + "-D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS", -+ ], + ], + "//conditions:default": [], + }) + select({ "@v8//bazel/config:is_gcc": [ "-Wno-extra", "-Wno-array-bounds", -@@ -152,9 +173,17 @@ +@@ -152,9 +173,17 @@ def _default_args(): "-std=gnu++2a", ], "@v8//bazel/config:is_windows": [ @@ -78,18 +77,18 @@ index 9648e4a..88efd41 100644 + "-Wno-deprecated-this-capture", + "-Wno-deprecated-declarations", + "-std=c++20", - ], -- "//conditions:default": [], ++ ], + "//conditions:default": [ + "-Wno-invalid-offsetof", + "-Wno-deprecated-this-capture", + "-Wno-deprecated-declarations", + "-std=c++20", -+ ], + ], +- "//conditions:default": [], }) + select({ "@v8//bazel/config:is_gcc_fastbuild": [ # Non-debug builds without optimizations fail because -@@ -178,12 +207,12 @@ +@@ -178,12 +207,12 @@ def _default_args(): includes = ["include"], linkopts = select({ "@v8//bazel/config:is_windows": [ @@ -118,7 +117,7 @@ index 9648e4a..88efd41 100644 outs = [ ctx.actions.declare_file(prefix + "/snapshot" + suffix + ".cc"), ctx.actions.declare_file(prefix + "/embedded" + suffix + ".S"), -@@ -476,7 +510,7 @@ +@@ -477,6 +511,6 @@ outs[1].path, ] + ctx.attr.args, - executable = ctx.executable.tool, @@ -155,10 +154,10 @@ index 9648e4a..88efd41 100644 suffix = suffix, target_os = select({ "@v8//bazel/config:is_macos": "mac", -diff --git a/orig/v8-14.6.202.11/BUILD.bazel b/mod/v8-14.6.202.11/BUILD.bazel -index 421ebcd..52283ea 100644 ---- a/orig/v8-14.6.202.11/BUILD.bazel -+++ b/mod/v8-14.6.202.11/BUILD.bazel +diff --git a/orig/v8-14.9.207.2/BUILD.bazel b/mod/v8-14.9.207.2/BUILD.bazel +index b432f86..28c567b 100644 +--- a/orig/v8-14.9.207.2/BUILD.bazel ++++ b/mod/v8-14.9.207.2/BUILD.bazel @@ -148,6 +148,10 @@ v8_flag(name = "v8_enable_trace_maps") v8_flag(name = "v8_enable_v8_checks") @@ -187,7 +186,7 @@ index 421ebcd..52283ea 100644 "v8_enable_trace_maps": "V8_TRACE_MAPS", "v8_enable_turbofan": "V8_ENABLE_TURBOFAN", "v8_enable_v8_checks": "V8_ENABLE_CHECKS", -@@ -4098,28 +4103,14 @@ filegroup( +@@ -4125,28 +4130,14 @@ filegroup( }), ) @@ -222,7 +221,7 @@ index 421ebcd..52283ea 100644 ) filegroup( -@@ -4422,6 +4413,20 @@ genrule( +@@ -4441,6 +4432,20 @@ genrule( srcs = [ "include/js_protocol.pdl", "src/inspector/inspector_protocol_config.json", @@ -243,7 +242,7 @@ index 421ebcd..52283ea 100644 ], outs = [ "include/inspector/Debugger.h", -@@ -4443,15 +4448,19 @@ genrule( +@@ -4462,15 +4467,19 @@ genrule( "src/inspector/protocol/Schema.cpp", "src/inspector/protocol/Schema.h", ], @@ -267,7 +266,7 @@ index 421ebcd..52283ea 100644 ], ) -@@ -4465,6 +4474,35 @@ filegroup( +@@ -4484,6 +4493,35 @@ filegroup( ], ) @@ -303,7 +302,7 @@ index 421ebcd..52283ea 100644 filegroup( name = "d8_files", srcs = [ -@@ -4584,16 +4602,9 @@ cc_library( +@@ -4603,16 +4641,9 @@ cc_library( ], ) @@ -323,7 +322,7 @@ index 421ebcd..52283ea 100644 ) v8_library( -@@ -4610,7 +4621,7 @@ v8_library( +@@ -4629,7 +4660,7 @@ v8_library( copts = ["-Wno-implicit-fallthrough"], icu_deps = [ ":icu/generated_torque_definitions_headers", @@ -332,7 +331,7 @@ index 421ebcd..52283ea 100644 ], icu_srcs = [ ":generated_regexp_special_case", -@@ -4625,7 +4636,7 @@ v8_library( +@@ -4644,7 +4675,7 @@ v8_library( ], deps = [ ":lib_dragonbox", @@ -341,7 +340,7 @@ index 421ebcd..52283ea 100644 ":lib_fp16", ":simdutf", ":v8_libbase", -@@ -4681,6 +4692,7 @@ alias( +@@ -4700,6 +4731,7 @@ alias( alias( name = "core_lib_icu", actual = "icu/v8", @@ -349,7 +348,7 @@ index 421ebcd..52283ea 100644 ) v8_library( -@@ -4732,7 +4744,7 @@ v8_binary( +@@ -4751,7 +4783,7 @@ v8_binary( ], deps = [ ":v8_libbase", @@ -358,7 +357,7 @@ index 421ebcd..52283ea 100644 ], ) -@@ -4772,9 +4784,20 @@ v8_binary( +@@ -4791,9 +4823,20 @@ v8_binary( ":icu/generated_torque_initializers", ":icu/v8_initializers_files", ], @@ -380,10 +379,10 @@ index 421ebcd..52283ea 100644 }), noicu_deps = [":v8_libshared_noicu"], noicu_srcs = [ -diff --git a/orig/v8-14.6.202.11/bazel/BUILD.icu b/mod/v8-14.6.202.11/bazel/BUILD.icu -index 5fda2f4..9729451 100644 ---- a/orig/v8-14.6.202.11/bazel/BUILD.icu -+++ b/mod/v8-14.6.202.11/bazel/BUILD.icu +diff --git a/orig/v8-14.9.207.2/bazel/BUILD.icu b/mod/v8-14.9.207.2/bazel/BUILD.icu +index 5fda2f4..8c3c372 100644 +--- a/orig/v8-14.9.207.2/bazel/BUILD.icu ++++ b/mod/v8-14.9.207.2/bazel/BUILD.icu @@ -1,3 +1,24 @@ +load("@rules_cc//cc:defs.bzl", "cc_library") + @@ -409,7 +408,7 @@ index 5fda2f4..9729451 100644 # Copyright 2021 the V8 project authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -@@ -16,15 +37,12 @@ +@@ -16,15 +37,12 @@ cc_library( ]), copts = select({ "@platforms//os:windows": [ @@ -427,7 +426,7 @@ index 5fda2f4..9729451 100644 data = [":icudata"], defines = [ "HAVE_DLOPEN=0", -@@ -54,6 +72,7 @@ +@@ -54,6 +72,7 @@ cc_library( "U_ICUDATAENTRY_IN_COMMON", ], tags = ["requires-rtti"], @@ -435,7 +434,7 @@ index 5fda2f4..9729451 100644 alwayslink = 1, ) -@@ -65,19 +84,16 @@ +@@ -65,19 +84,16 @@ cc_library( ]), copts = select({ "@platforms//os:windows": [ @@ -458,7 +457,7 @@ index 5fda2f4..9729451 100644 alwayslink = 1, ) -@@ -93,13 +109,10 @@ +@@ -93,13 +109,10 @@ cc_library( ]), copts = select({ "@platforms//os:windows": [ @@ -474,7 +473,7 @@ index 5fda2f4..9729451 100644 include_prefix = "third_party/icu", local_defines = [ "U_COMMON_IMPLEMENTATION", -@@ -108,6 +121,6 @@ +@@ -108,6 +121,6 @@ cc_library( deps = [ ":icui18n", ":icuuc", diff --git a/patches/v8_module_deps.patch b/patches/v8_module_deps.patch index 8f0fed9cf..4df93f00f 100644 --- a/patches/v8_module_deps.patch +++ b/patches/v8_module_deps.patch @@ -3,14 +3,25 @@ # Scope: upstream MODULE.bazel only; affects external repo resolution and Bazel # module wiring, not V8 source files. -diff --git a/orig/v8-14.6.202.11/MODULE.bazel b/mod/v8-14.6.202.11/MODULE.bazel ---- a/orig/v8-14.6.202.11/MODULE.bazel -+++ b/mod/v8-14.6.202.11/MODULE.bazel -@@ -8,7 +8,65 @@ +diff --git a/orig/v8-14.9.207.2/MODULE.bazel b/mod/v8-14.9.207.2/MODULE.bazel +index b8bf8bd..573f463 100644 +--- a/orig/v8-14.9.207.2/MODULE.bazel ++++ b/mod/v8-14.9.207.2/MODULE.bazel +@@ -8,193 +8,67 @@ bazel_dep(name = "rules_cc", version = "0.2.0") bazel_dep(name = "rules_python", version = "1.0.0") bazel_dep(name = "platforms", version = "1.0.0") bazel_dep(name = "abseil-cpp", version = "20250814.0") -bazel_dep(name = "highway", version = "1.2.0") +- +-pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip") +-pip.parse( +- hub_name = "v8_python_deps", +- python_version = "3.11", +- requirements_lock = "//:bazel/requirements.txt", +- extra_pip_args = [ +- "--require-hashes", +- "--index-url=https://pypi.org/simple", +- ], +bazel_dep(name = "rules_license", version = "0.0.4") + +git_repository = use_repo_rule("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository") @@ -23,53 +34,9 @@ diff --git a/orig/v8-14.6.202.11/MODULE.bazel b/mod/v8-14.6.202.11/MODULE.bazel + sha256 = "7e0be78b8318e8bdbf6fa545d2ecb4c90f947df03f7aadc42c1967f019e63343", + strip_prefix = "highway-1.2.0", + urls = ["https://github.com/google/highway/archive/refs/tags/1.2.0.tar.gz"], -+) -+ -+git_repository( -+ name = "icu", -+ build_file = "@v8//:bazel/BUILD.icu", -+ commit = "a86a32e67b8d1384b33f8fa48c83a6079b86f8cd", -+ patch_cmds = ["find source -name BUILD.bazel | xargs rm"], -+ patch_cmds_win = ["Get-ChildItem -Path source -File -Include BUILD.bazel -Recurse | Remove-Item"], -+ remote = "https://chromium.googlesource.com/chromium/deps/icu.git", -+) -+ -+http_archive( -+ name = "fast_float", -+ build_file_content = 'load("@rules_cc//cc:defs.bzl", "cc_library")\n\ncc_library(\n name = "fast_float",\n hdrs = glob(["include/fast_float/*.h"]),\n include_prefix = "third_party/fast_float/src/include",\n strip_include_prefix = "include",\n visibility = ["//visibility:public"],\n)\n', -+ sha256 = "e14a33089712b681d74d94e2a11362643bd7d769ae8f7e7caefe955f57f7eacd", -+ strip_prefix = "fast_float-8.0.2", -+ urls = ["https://github.com/fastfloat/fast_float/archive/refs/tags/v8.0.2.tar.gz"], -+) -+ -+http_archive( -+ name = "simdutf", -+ build_file_content = 'load("@rules_cc//cc:defs.bzl", "cc_library")\n\ncc_library(\n name = "simdutf",\n srcs = ["src/simdutf.cpp"],\n hdrs = glob(["include/**/*.h"]),\n textual_hdrs = glob(["src/**/*.h", "src/**/*.cpp"], exclude = ["src/simdutf.cpp"]),\n copts = ["-std=c++20"],\n include_prefix = "third_party/simdutf",\n includes = ["include", "src"],\n strip_include_prefix = "include",\n visibility = ["//visibility:public"],\n)\n', -+ sha256 = "0180de81a1dd48a87b8c0442ffa81734f3db91a7350914107a449935124e3c6f", -+ strip_prefix = "simdutf-7.7.0", -+ urls = ["https://github.com/simdutf/simdutf/archive/refs/tags/v7.7.0.tar.gz"], -+) -+ -+git_repository( -+ name = "dragonbox", -+ build_file_content = 'load("@rules_cc//cc:defs.bzl", "cc_library")\n\ncc_library(\n name = "dragonbox",\n hdrs = ["include/dragonbox/dragonbox.h"],\n include_prefix = "third_party/dragonbox/src/include",\n strip_include_prefix = "include",\n visibility = ["//visibility:public"],\n)\n', -+ commit = "beeeef91cf6fef89a4d4ba5e95d47ca64ccb3a44", -+ remote = "https://chromium.googlesource.com/external/github.com/jk-jeon/dragonbox.git", -+) -+ -+git_repository( -+ name = "fp16", -+ build_file_content = 'load("@rules_cc//cc:defs.bzl", "cc_library")\n\ncc_library(\n name = "fp16",\n hdrs = glob(["include/**/*.h"]),\n include_prefix = "third_party/fp16/src/include",\n includes = ["include"],\n strip_include_prefix = "include",\n visibility = ["//visibility:public"],\n)\n', -+ commit = "3d2de1816307bac63c16a297e8c4dc501b4076df", -+ remote = "https://chromium.googlesource.com/external/github.com/Maratyszcza/FP16.git", -+) - - pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip") - pip.parse( -@@ -22,171 +80,3 @@ ) - use_repo(pip, "v8_python_deps") - +-use_repo(pip, "v8_python_deps") +- -# Define the local LLVM toolchain repository -llvm_toolchain_repository = use_repo_rule("//bazel/toolchain:llvm_repository.bzl", "llvm_toolchain_repository") - @@ -77,8 +44,9 @@ diff --git a/orig/v8-14.6.202.11/MODULE.bazel b/mod/v8-14.6.202.11/MODULE.bazel - name = "llvm_toolchain", - path = "third_party/llvm-build/Release+Asserts", - config_file_content = """ +-load("@rules_cc//cc:defs.bzl", "CcToolchainConfigInfo", "cc_common") -load("@bazel_tools//tools/cpp:cc_toolchain_config_lib.bzl", "feature", "flag_group", "flag_set", "tool_path") -- + -def _impl(ctx): - tool_paths = [ - tool_path(name = "gcc", path = "bin/clang"), @@ -157,6 +125,7 @@ diff --git a/orig/v8-14.6.202.11/MODULE.bazel b/mod/v8-14.6.202.11/MODULE.bazel - - return cc_common.create_cc_toolchain_config_info( - ctx = ctx, +- toolchain_identifier = "local_clang", - features = features, - cxx_builtin_include_directories = [ - "{WORKSPACE_ROOT}/buildtools/third_party/libc++", @@ -169,7 +138,6 @@ diff --git a/orig/v8-14.6.202.11/MODULE.bazel b/mod/v8-14.6.202.11/MODULE.bazel - "{WORKSPACE_ROOT}/build/linux/debian_bullseye_amd64-sysroot/usr/include", - "{WORKSPACE_ROOT}/build/linux/debian_bullseye_amd64-sysroot/usr/local/include", - ], -- toolchain_identifier = "local_clang", - host_system_name = "local", - target_system_name = "local", - target_cpu = "k8", @@ -184,18 +152,32 @@ diff --git a/orig/v8-14.6.202.11/MODULE.bazel b/mod/v8-14.6.202.11/MODULE.bazel - implementation = _impl, - attrs = {}, - provides = [CcToolchainConfigInfo], --) ++git_repository( ++ name = "icu", ++ build_file = "@v8//:bazel/BUILD.icu", ++ commit = "a86a32e67b8d1384b33f8fa48c83a6079b86f8cd", ++ patch_cmds = ["find source -name BUILD.bazel | xargs rm"], ++ patch_cmds_win = ["Get-ChildItem -Path source -File -Include BUILD.bazel -Recurse | Remove-Item"], ++ remote = "https://chromium.googlesource.com/chromium/deps/icu.git", + ) -""", - build_file_content = """ +-load("@rules_cc//cc:defs.bzl", "cc_toolchain") -load(":cc_toolchain_config.bzl", "cc_toolchain_config") - -package(default_visibility = ["//visibility:public"]) -- + -filegroup( - name = "all_files", - srcs = glob(["**/*"]), --) -- ++http_archive( ++ name = "fast_float", ++ build_file_content = 'load("@rules_cc//cc:defs.bzl", "cc_library")\n\ncc_library(\n name = "fast_float",\n hdrs = glob(["include/fast_float/*.h"]),\n include_prefix = "third_party/fast_float/src/include",\n strip_include_prefix = "include",\n visibility = ["//visibility:public"],\n)\n', ++ sha256 = "e14a33089712b681d74d94e2a11362643bd7d769ae8f7e7caefe955f57f7eacd", ++ strip_prefix = "fast_float-8.0.2", ++ urls = ["https://github.com/fastfloat/fast_float/archive/refs/tags/v8.0.2.tar.gz"], + ) + -filegroup(name = "empty") - -cc_toolchain_config(name = "k8_toolchain_config") @@ -212,8 +194,14 @@ diff --git a/orig/v8-14.6.202.11/MODULE.bazel b/mod/v8-14.6.202.11/MODULE.bazel - supports_param_files = 0, - toolchain_config = ":k8_toolchain_config", - toolchain_identifier = "local_clang", --) -- ++http_archive( ++ name = "simdutf", ++ build_file_content = 'load("@rules_cc//cc:defs.bzl", "cc_library")\n\ncc_library(\n name = "simdutf",\n srcs = ["src/simdutf.cpp"],\n hdrs = glob(["include/**/*.h"]),\n textual_hdrs = glob(["src/**/*.h", "src/**/*.cpp"], exclude = ["src/simdutf.cpp"]),\n copts = ["-std=c++20"],\n include_prefix = "third_party/simdutf",\n includes = ["include", "src"],\n strip_include_prefix = "include",\n visibility = ["//visibility:public"],\n)\n', ++ sha256 = "0180de81a1dd48a87b8c0442ffa81734f3db91a7350914107a449935124e3c6f", ++ strip_prefix = "simdutf-7.7.0", ++ urls = ["https://github.com/simdutf/simdutf/archive/refs/tags/v7.7.0.tar.gz"], + ) + -toolchain( - name = "cc_toolchain_k8", - exec_compatible_with = [ @@ -228,8 +216,13 @@ diff --git a/orig/v8-14.6.202.11/MODULE.bazel b/mod/v8-14.6.202.11/MODULE.bazel - toolchain_type = "@bazel_tools//tools/cpp:toolchain_type", -) -""", --) -- ++git_repository( ++ name = "dragonbox", ++ build_file_content = 'load("@rules_cc//cc:defs.bzl", "cc_library")\n\ncc_library(\n name = "dragonbox",\n hdrs = ["include/dragonbox/dragonbox.h"],\n include_prefix = "third_party/dragonbox/src/include",\n strip_include_prefix = "include",\n visibility = ["//visibility:public"],\n)\n', ++ commit = "beeeef91cf6fef89a4d4ba5e95d47ca64ccb3a44", ++ remote = "https://chromium.googlesource.com/external/github.com/jk-jeon/dragonbox.git", + ) + -register_toolchains("@llvm_toolchain//:cc_toolchain_k8") - -# Define local repository for libc++ from third_party sources @@ -237,11 +230,33 @@ diff --git a/orig/v8-14.6.202.11/MODULE.bazel b/mod/v8-14.6.202.11/MODULE.bazel - -libcxx_repository( - name = "libcxx", --) -diff --git a/orig/v8-14.6.202.11/bazel/highway.patch b/mod/v8-14.6.202.11/bazel/highway.patch ++git_repository( ++ name = "fp16", ++ build_file_content = 'load("@rules_cc//cc:defs.bzl", "cc_library")\n\ncc_library(\n name = "fp16",\n hdrs = glob(["include/**/*.h"]),\n include_prefix = "third_party/fp16/src/include",\n includes = ["include"],\n strip_include_prefix = "include",\n visibility = ["//visibility:public"],\n)\n', ++ commit = "3d2de1816307bac63c16a297e8c4dc501b4076df", ++ remote = "https://chromium.googlesource.com/external/github.com/Maratyszcza/FP16.git", + ) + +-single_version_override( +- module_name = "highway", +- patches = ["//bazel/patches:highway_rules_cc.patch"], +- patch_strip = 1, ++pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip") ++pip.parse( ++ hub_name = "v8_python_deps", ++ python_version = "3.11", ++ requirements_lock = "//:bazel/requirements.txt", ++ extra_pip_args = [ ++ "--require-hashes", ++ "--index-url=https://pypi.org/simple", ++ ], + ) ++use_repo(pip, "v8_python_deps") +diff --git a/mod/v8-14.9.207.2/bazel/highway.patch b/mod/v8-14.9.207.2/bazel/highway.patch new file mode 100644 +index 0000000..5a13dd0 --- /dev/null -+++ b/mod/v8-14.6.202.11/bazel/highway.patch ++++ b/mod/v8-14.9.207.2/bazel/highway.patch @@ -0,0 +1,25 @@ +diff --git a/BUILD b/BUILD +--- a/BUILD @@ -249,22 +264,22 @@ new file mode 100644 +@@ -2,7 +2,7 @@ + load("@bazel_skylib//lib:selects.bzl", "selects") + load("@rules_license//rules:license.bzl", "license") -+ ++ +-load("@rules_cc//cc:defs.bzl", "cc_test") ++load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library", "cc_test") + # Placeholder#2 for Guitar, do not remove -+ ++ + package( +@@ -134,11 +134,7 @@ COPTS = select({ + ], + }) -+ ++ +-DEFINES = select({ +- ":compiler_msvc": ["HWY_SHARED_DEFINE"], +- ":compiler_clangcl": ["HWY_SHARED_DEFINE"], +- "//conditions:default": [], +-}) ++DEFINES = [] -+ ++ + # Unused on Bazel builds, where this is not defined/known; Copybara replaces + # usages with an empty list. diff --git a/patches/v8_source_portability.patch b/patches/v8_source_portability.patch index d480e11c1..0e042c76d 100644 --- a/patches/v8_source_portability.patch +++ b/patches/v8_source_portability.patch @@ -2,10 +2,10 @@ # Scope: minimal source-level portability fixes only, such as libexecinfo guards, # weak glibc symbol handling, and warning annotations; no dependency # include-path rewrites or intentional V8 feature changes. -diff --git a/orig/v8-14.6.202.11/src/base/bits.h b/mod/v8-14.6.202.11/src/base/bits.h +diff --git a/orig/v8-14.9.207.2/src/base/bits.h b/mod/v8-14.9.207.2/src/base/bits.h index 179a10f..4791e96 100644 ---- a/orig/v8-14.6.202.11/src/base/bits.h -+++ b/mod/v8-14.6.202.11/src/base/bits.h +--- a/orig/v8-14.9.207.2/src/base/bits.h ++++ b/mod/v8-14.9.207.2/src/base/bits.h @@ -270,11 +270,17 @@ inline constexpr uint32_t RoundDownToPowerOfTwo32(uint32_t value) { } @@ -24,10 +24,10 @@ index 179a10f..4791e96 100644 inline constexpr uint32_t RotateLeft32(uint32_t value, uint32_t shift) { return (value << shift) | (value >> ((32 - shift) & 31)); } -diff --git a/orig/v8-14.6.202.11/src/base/debug/stack_trace_posix.cc b/mod/v8-14.6.202.11/src/base/debug/stack_trace_posix.cc +diff --git a/orig/v8-14.9.207.2/src/base/debug/stack_trace_posix.cc b/mod/v8-14.9.207.2/src/base/debug/stack_trace_posix.cc index 6176ed4..a02043d 100644 ---- a/orig/v8-14.6.202.11/src/base/debug/stack_trace_posix.cc -+++ b/mod/v8-14.6.202.11/src/base/debug/stack_trace_posix.cc +--- a/orig/v8-14.9.207.2/src/base/debug/stack_trace_posix.cc ++++ b/mod/v8-14.9.207.2/src/base/debug/stack_trace_posix.cc @@ -64,6 +64,7 @@ namespace { volatile sig_atomic_t in_signal_handler = 0; bool dump_stack_in_signal_handler = true; @@ -44,10 +44,10 @@ index 6176ed4..a02043d 100644 // Demangles C++ symbols in the given text. Example: // // "out/Debug/base_unittests(_ZN10StackTraceC1Ev+0x20) [0x817778c]" -diff --git a/orig/v8-14.6.202.11/src/base/export-template.h b/mod/v8-14.6.202.11/src/base/export-template.h +diff --git a/orig/v8-14.9.207.2/src/base/export-template.h b/mod/v8-14.9.207.2/src/base/export-template.h index 861cfe4..1e73954 100644 ---- a/orig/v8-14.6.202.11/src/base/export-template.h -+++ b/mod/v8-14.6.202.11/src/base/export-template.h +--- a/orig/v8-14.9.207.2/src/base/export-template.h ++++ b/mod/v8-14.9.207.2/src/base/export-template.h @@ -153,8 +153,10 @@ EXPORT_TEMPLATE_TEST(DEFAULT, ); @@ -59,10 +59,10 @@ index 861cfe4..1e73954 100644 #undef EXPORT_TEMPLATE_TEST #undef EXPORT_TEMPLATE_TEST_DEFAULT_DEFAULT -diff --git a/orig/v8-14.6.202.11/src/base/platform/platform-posix.cc b/mod/v8-14.6.202.11/src/base/platform/platform-posix.cc -index 420df0b..6f47969 100644 ---- a/orig/v8-14.6.202.11/src/base/platform/platform-posix.cc -+++ b/mod/v8-14.6.202.11/src/base/platform/platform-posix.cc +diff --git a/orig/v8-14.9.207.2/src/base/platform/platform-posix.cc b/mod/v8-14.9.207.2/src/base/platform/platform-posix.cc +index dfb30b6..6ce12a5 100644 +--- a/orig/v8-14.9.207.2/src/base/platform/platform-posix.cc ++++ b/mod/v8-14.9.207.2/src/base/platform/platform-posix.cc @@ -95,7 +95,7 @@ extern int madvise(caddr_t, size_t, int); #endif @@ -82,10 +82,10 @@ index 420df0b..6f47969 100644 DCHECK(MainThreadIsCurrentThread()); return __libc_stack_end; } -diff --git a/orig/v8-14.6.202.11/src/base/platform/platform-win32.cc b/mod/v8-14.6.202.11/src/base/platform/platform-win32.cc -index f5d9ddc..1c08b0f 100644 ---- a/orig/v8-14.6.202.11/src/base/platform/platform-win32.cc -+++ b/mod/v8-14.6.202.11/src/base/platform/platform-win32.cc +diff --git a/orig/v8-14.9.207.2/src/base/platform/platform-win32.cc b/mod/v8-14.9.207.2/src/base/platform/platform-win32.cc +index 11f9772..854a682 100644 +--- a/orig/v8-14.9.207.2/src/base/platform/platform-win32.cc ++++ b/mod/v8-14.9.207.2/src/base/platform/platform-win32.cc @@ -20,7 +20,11 @@ #include @@ -98,7 +98,7 @@ index f5d9ddc..1c08b0f 100644 #include // For SymLoadModule64 and al. #include // For _msize() #include // For timeGetTime(). -@@ -69,9 +69,7 @@ static_assert(offsetof(V8_CRITICAL_SECTION, SpinCount) == +@@ -69,9 +73,7 @@ static_assert(offsetof(V8_CRITICAL_SECTION, SpinCount) == // Extra functions for MinGW. Most of these are the _s functions which are in // the Microsoft Visual Studio C++ CRT. #ifdef __MINGW32__ @@ -109,7 +109,7 @@ index f5d9ddc..1c08b0f 100644 #define _TRUNCATE 0 #define STRUNCATE 80 -@@ -81,9 +79,6 @@ inline void MemoryFence() { +@@ -81,9 +83,6 @@ inline void MemoryFence() { __asm__ __volatile__("xchgl %%eax,%0 ":"=r" (barrier)); } @@ -119,7 +119,7 @@ index f5d9ddc..1c08b0f 100644 int localtime_s(tm* out_tm, const time_t* time) { tm* posix_local_time_struct = localtime_r(time, out_tm); if (posix_local_time_struct == nullptr) return 1; -@@ -134,6 +129,8 @@ int strncpy_s(char* dest, size_t dest_size, const char* source, size_t count) { +@@ -134,6 +133,8 @@ int strncpy_s(char* dest, size_t dest_size, const char* source, size_t count) { return 0; } @@ -128,7 +128,7 @@ index f5d9ddc..1c08b0f 100644 #endif // __MINGW32__ namespace v8 { -@@ -743,8 +740,10 @@ void OS::StrNCpy(char* dest, int length, const char* src, size_t n) { +@@ -743,8 +744,10 @@ void OS::StrNCpy(char* dest, int length, const char* src, size_t n) { } @@ -139,15 +139,15 @@ index f5d9ddc..1c08b0f 100644 DEFINE_LAZY_LEAKY_OBJECT_GETTER(RandomNumberGenerator, GetPlatformRandomNumberGenerator) -@@ -1894,3 +1893,4 @@ Stack::StackSlot Stack::GetCurrentStackPosition() { +@@ -1943,3 +1946,4 @@ Stack::StackSlot Stack::GetCurrentStackPosition() { } // namespace base } // namespace v8 + -diff --git a/orig/v8-14.6.202.11/src/base/platform/time.cc b/mod/v8-14.6.202.11/src/base/platform/time.cc -index 8390288..cba6cd5 100644 ---- a/orig/v8-14.6.202.11/src/base/platform/time.cc -+++ b/mod/v8-14.6.202.11/src/base/platform/time.cc +diff --git a/orig/v8-14.9.207.2/src/base/platform/time.cc b/mod/v8-14.9.207.2/src/base/platform/time.cc +index 8c824e3..f8144d0 100644 +--- a/orig/v8-14.9.207.2/src/base/platform/time.cc ++++ b/mod/v8-14.9.207.2/src/base/platform/time.cc @@ -782,12 +782,12 @@ bool ThreadTicks::IsSupported() { #elif defined(__PASE__) // Thread CPU time accounting is unavailable in PASE @@ -179,10 +179,10 @@ index 8390288..cba6cd5 100644 #else UNREACHABLE(); #endif -diff --git a/orig/v8-14.6.202.11/src/heap/base/asm/x64/push_registers_masm.asm b/mod/v8-14.6.202.11/src/heap/base/asm/x64/push_registers_masm.asm -index d0d0563..72e230b 100644 ---- a/orig/v8-14.6.202.11/src/heap/base/asm/x64/push_registers_masm.asm -+++ b/mod/v8-14.6.202.11/src/heap/base/asm/x64/push_registers_masm.asm +diff --git a/orig/v8-14.9.207.2/src/heap/base/asm/x64/push_registers_masm.asm b/mod/v8-14.9.207.2/src/heap/base/asm/x64/push_registers_masm.asm +index d0d0563..f3f5952 100644 +--- a/orig/v8-14.9.207.2/src/heap/base/asm/x64/push_registers_masm.asm ++++ b/mod/v8-14.9.207.2/src/heap/base/asm/x64/push_registers_masm.asm @@ -1,70 +1,47 @@ -;; Copyright 2020 the V8 project authors. All rights reserved. -;; Use of this source code is governed by a BSD-style license that can be @@ -301,10 +301,10 @@ index d0d0563..72e230b 100644 + pop %rbp + ret +.seh_endproc -diff --git a/orig/v8-14.6.202.11/src/libplatform/default-thread-isolated-allocator.cc b/mod/v8-14.6.202.11/src/libplatform/default-thread-isolated-allocator.cc +diff --git a/orig/v8-14.9.207.2/src/libplatform/default-thread-isolated-allocator.cc b/mod/v8-14.9.207.2/src/libplatform/default-thread-isolated-allocator.cc index bda0e43..b44f1d9 100644 ---- a/orig/v8-14.6.202.11/src/libplatform/default-thread-isolated-allocator.cc -+++ b/mod/v8-14.6.202.11/src/libplatform/default-thread-isolated-allocator.cc +--- a/orig/v8-14.9.207.2/src/libplatform/default-thread-isolated-allocator.cc ++++ b/mod/v8-14.9.207.2/src/libplatform/default-thread-isolated-allocator.cc @@ -23,7 +23,7 @@ extern int pkey_free(int pkey) V8_WEAK; namespace { @@ -314,11 +314,11 @@ index bda0e43..b44f1d9 100644 // PKU was broken on Linux kernels before 5.13 (see // https://lore.kernel.org/all/20210623121456.399107624@linutronix.de/). // A fix is also included in the 5.4.182 and 5.10.103 versions ("x86/fpu: -diff --git a/orig/v8-14.6.202.11/src/profiler/heap-snapshot-generator.cc b/mod/v8-14.6.202.11/src/profiler/heap-snapshot-generator.cc -index 27e748f..cbf886c 100644 ---- a/orig/v8-14.6.202.11/src/profiler/heap-snapshot-generator.cc -+++ b/mod/v8-14.6.202.11/src/profiler/heap-snapshot-generator.cc -@@ -429,11 +429,11 @@ HeapSnapshot::HeapSnapshot(HeapProfiler* profiler, +diff --git a/orig/v8-14.9.207.2/src/profiler/heap-snapshot-generator.cc b/mod/v8-14.9.207.2/src/profiler/heap-snapshot-generator.cc +index 8edad48..d4b2721 100644 +--- a/orig/v8-14.9.207.2/src/profiler/heap-snapshot-generator.cc ++++ b/mod/v8-14.9.207.2/src/profiler/heap-snapshot-generator.cc +@@ -478,11 +478,11 @@ HeapSnapshot::HeapSnapshot(HeapProfiler* profiler, static_assert(kSystemPointerSize != 4 || sizeof(HeapGraphEdge) == 12); static_assert(kSystemPointerSize != 8 || sizeof(HeapGraphEdge) == 24); static_assert(kSystemPointerSize != 4 || sizeof(HeapEntry) == 32); @@ -332,7 +332,7 @@ index 27e748f..cbf886c 100644 memset(&gc_subroot_entries_, 0, sizeof(gc_subroot_entries_)); } -@@ -3878,3 +3878,4 @@ void HeapSnapshotJSONSerializer::SerializeLocations() { +@@ -4015,3 +4015,4 @@ void HeapSnapshotJSONSerializer::SerializeLocations() { } } // namespace v8::internal diff --git a/third_party/v8/BUILD.bazel b/third_party/v8/BUILD.bazel index 459d93585..425d81ea8 100644 --- a/third_party/v8/BUILD.bazel +++ b/third_party/v8/BUILD.bazel @@ -30,26 +30,26 @@ config_setting( ) alias( - name = "v8_147_4_0_x86_64_pc_windows_msvc", - actual = "@rusty_v8_147_4_0_x86_64_pc_windows_msvc_archive//file", + name = "v8_149_2_0_x86_64_pc_windows_msvc", + actual = "@rusty_v8_149_2_0_x86_64_pc_windows_msvc_archive//file", ) alias( - name = "v8_147_4_0_aarch64_pc_windows_msvc", - actual = "@rusty_v8_147_4_0_aarch64_pc_windows_msvc_archive//file", + name = "v8_149_2_0_aarch64_pc_windows_msvc", + actual = "@rusty_v8_149_2_0_aarch64_pc_windows_msvc_archive//file", ) alias( - name = "v8_147_4_0_aarch64_pc_windows_gnullvm", + name = "v8_149_2_0_aarch64_pc_windows_gnullvm", # `rusty_v8` only ships prebuilt Windows archives for MSVC. Build the # GNU-flavored archive in-tree so windows-gnullvm consumers can link # against a matching ABI instead of trying to reuse the MSVC release. - actual = ":v8_147_4_0_aarch64_pc_windows_gnullvm_bazel", + actual = ":v8_149_2_0_aarch64_pc_windows_gnullvm_bazel", ) alias( - name = "v8_147_4_0_x86_64_pc_windows_gnullvm", - actual = ":v8_147_4_0_x86_64_pc_windows_gnullvm_bazel", + name = "v8_149_2_0_x86_64_pc_windows_gnullvm", + actual = ":v8_149_2_0_x86_64_pc_windows_gnullvm_bazel", ) filegroup( @@ -73,50 +73,50 @@ filegroup( ) alias( - name = "src_binding_release_x86_64_pc_windows_gnullvm_147_4_0_release", + name = "src_binding_release_x86_64_pc_windows_gnullvm_149_2_0_release", # `rusty_v8` does not publish a Windows GNU binding file. The generated # binding only describes this V8 release's C++ API surface, so reuse the # Linux release binding while the windows-gnullvm archive build is still # experimental. - actual = ":src_binding_release_x86_64_unknown_linux_gnu_147_4_0_release", + actual = ":src_binding_release_x86_64_unknown_linux_gnu_149_2_0_release", ) alias( - name = "src_binding_release_aarch64_pc_windows_gnullvm_147_4_0_release", - actual = ":src_binding_release_aarch64_unknown_linux_gnu_147_4_0_release", + name = "src_binding_release_aarch64_pc_windows_gnullvm_149_2_0_release", + actual = ":src_binding_release_aarch64_unknown_linux_gnu_149_2_0_release", ) alias( name = "rusty_v8_archive_for_target", actual = select({ - "@rules_rs//rs/experimental/platforms/config:aarch64-apple-darwin": ":v8_147_4_0_aarch64_apple_darwin_bazel", - "@rules_rs//rs/experimental/platforms/config:aarch64-pc-windows-gnullvm": ":v8_147_4_0_aarch64_pc_windows_gnullvm", - "@rules_rs//rs/experimental/platforms/config:aarch64-pc-windows-msvc": ":v8_147_4_0_aarch64_pc_windows_msvc", - "@rules_rs//rs/experimental/platforms/config:aarch64-unknown-linux-gnu": ":v8_147_4_0_aarch64_unknown_linux_gnu_bazel", - ":platform_aarch64_unknown_linux_musl": ":v8_147_4_0_aarch64_unknown_linux_musl_release_base", - "@rules_rs//rs/experimental/platforms/config:x86_64-apple-darwin": ":v8_147_4_0_x86_64_apple_darwin_bazel", - "@rules_rs//rs/experimental/platforms/config:x86_64-pc-windows-gnullvm": ":v8_147_4_0_x86_64_pc_windows_gnullvm", - "@rules_rs//rs/experimental/platforms/config:x86_64-pc-windows-msvc": ":v8_147_4_0_x86_64_pc_windows_msvc", - "@rules_rs//rs/experimental/platforms/config:x86_64-unknown-linux-gnu": ":v8_147_4_0_x86_64_unknown_linux_gnu_bazel", - ":platform_x86_64_unknown_linux_musl": ":v8_147_4_0_x86_64_unknown_linux_musl_release", - "//conditions:default": ":v8_147_4_0_x86_64_unknown_linux_gnu_bazel", + "@rules_rs//rs/experimental/platforms/config:aarch64-apple-darwin": ":v8_149_2_0_aarch64_apple_darwin_bazel", + "@rules_rs//rs/experimental/platforms/config:aarch64-pc-windows-gnullvm": ":v8_149_2_0_aarch64_pc_windows_gnullvm", + "@rules_rs//rs/experimental/platforms/config:aarch64-pc-windows-msvc": ":v8_149_2_0_aarch64_pc_windows_msvc", + "@rules_rs//rs/experimental/platforms/config:aarch64-unknown-linux-gnu": ":v8_149_2_0_aarch64_unknown_linux_gnu_bazel", + ":platform_aarch64_unknown_linux_musl": ":v8_149_2_0_aarch64_unknown_linux_musl_release_base", + "@rules_rs//rs/experimental/platforms/config:x86_64-apple-darwin": ":v8_149_2_0_x86_64_apple_darwin_bazel", + "@rules_rs//rs/experimental/platforms/config:x86_64-pc-windows-gnullvm": ":v8_149_2_0_x86_64_pc_windows_gnullvm", + "@rules_rs//rs/experimental/platforms/config:x86_64-pc-windows-msvc": ":v8_149_2_0_x86_64_pc_windows_msvc", + "@rules_rs//rs/experimental/platforms/config:x86_64-unknown-linux-gnu": ":v8_149_2_0_x86_64_unknown_linux_gnu_bazel", + ":platform_x86_64_unknown_linux_musl": ":v8_149_2_0_x86_64_unknown_linux_musl_release", + "//conditions:default": ":v8_149_2_0_x86_64_unknown_linux_gnu_bazel", }), ) alias( name = "rusty_v8_binding_for_target", actual = select({ - "@rules_rs//rs/experimental/platforms/config:aarch64-apple-darwin": ":src_binding_release_aarch64_apple_darwin_147_4_0_release", - "@rules_rs//rs/experimental/platforms/config:aarch64-pc-windows-gnullvm": ":src_binding_release_aarch64_pc_windows_gnullvm_147_4_0_release", - "@rules_rs//rs/experimental/platforms/config:aarch64-pc-windows-msvc": ":src_binding_release_aarch64_pc_windows_msvc_147_4_0_release", - "@rules_rs//rs/experimental/platforms/config:aarch64-unknown-linux-gnu": ":src_binding_release_aarch64_unknown_linux_gnu_147_4_0_release", - ":platform_aarch64_unknown_linux_musl": ":src_binding_release_aarch64_unknown_linux_musl_147_4_0_release", - "@rules_rs//rs/experimental/platforms/config:x86_64-apple-darwin": ":src_binding_release_x86_64_apple_darwin_147_4_0_release", - "@rules_rs//rs/experimental/platforms/config:x86_64-pc-windows-gnullvm": ":src_binding_release_x86_64_pc_windows_gnullvm_147_4_0_release", - "@rules_rs//rs/experimental/platforms/config:x86_64-pc-windows-msvc": ":src_binding_release_x86_64_pc_windows_msvc_147_4_0_release", - "@rules_rs//rs/experimental/platforms/config:x86_64-unknown-linux-gnu": ":src_binding_release_x86_64_unknown_linux_gnu_147_4_0_release", - ":platform_x86_64_unknown_linux_musl": ":src_binding_release_x86_64_unknown_linux_musl_147_4_0_release", - "//conditions:default": ":src_binding_release_x86_64_unknown_linux_gnu_147_4_0_release", + "@rules_rs//rs/experimental/platforms/config:aarch64-apple-darwin": ":src_binding_release_aarch64_apple_darwin_149_2_0_release", + "@rules_rs//rs/experimental/platforms/config:aarch64-pc-windows-gnullvm": ":src_binding_release_aarch64_pc_windows_gnullvm_149_2_0_release", + "@rules_rs//rs/experimental/platforms/config:aarch64-pc-windows-msvc": ":src_binding_release_aarch64_pc_windows_msvc_149_2_0_release", + "@rules_rs//rs/experimental/platforms/config:aarch64-unknown-linux-gnu": ":src_binding_release_aarch64_unknown_linux_gnu_149_2_0_release", + ":platform_aarch64_unknown_linux_musl": ":src_binding_release_aarch64_unknown_linux_musl_149_2_0_release", + "@rules_rs//rs/experimental/platforms/config:x86_64-apple-darwin": ":src_binding_release_x86_64_apple_darwin_149_2_0_release", + "@rules_rs//rs/experimental/platforms/config:x86_64-pc-windows-gnullvm": ":src_binding_release_x86_64_pc_windows_gnullvm_149_2_0_release", + "@rules_rs//rs/experimental/platforms/config:x86_64-pc-windows-msvc": ":src_binding_release_x86_64_pc_windows_msvc_149_2_0_release", + "@rules_rs//rs/experimental/platforms/config:x86_64-unknown-linux-gnu": ":src_binding_release_x86_64_unknown_linux_gnu_149_2_0_release", + ":platform_x86_64_unknown_linux_musl": ":src_binding_release_x86_64_unknown_linux_musl_149_2_0_release", + "//conditions:default": ":src_binding_release_x86_64_unknown_linux_gnu_149_2_0_release", }), ) @@ -202,51 +202,51 @@ cc_library( ) genrule( - name = "binding_cc_147_4_0", - srcs = ["@v8_crate_147_4_0//:binding_cc"], - outs = ["binding_147_4_0.cc"], + name = "binding_cc_149_2_0", + srcs = ["@v8_crate_149_2_0//:binding_cc"], + outs = ["binding_149_2_0.cc"], cmd = " ".join([ "sed", "-e '/#include \"v8\\/src\\/flags\\/flags.h\"/d'", "-e 's|\"v8/src/libplatform/default-platform.h\"|\"src/libplatform/default-platform.h\"|'", - "-e 's|#include \"support.h\"|#include \"support_147_4_0.h\"|'", + "-e 's|#include \"support.h\"|#include \"support_149_2_0.h\"|'", "-e 's| namespace i = v8::internal;| (void)usage;|'", "-e '/using HelpOptions = i::FlagList::HelpOptions;/d'", "-e '/HelpOptions help_options = HelpOptions(HelpOptions::kExit, usage);/d'", "-e 's| i::FlagList::SetFlagsFromCommandLine(argc, argv, true, help_options);| v8::V8::SetFlagsFromCommandLine(argc, argv, true);|'", - "$(location @v8_crate_147_4_0//:binding_cc)", + "$(location @v8_crate_149_2_0//:binding_cc)", ">", '"$@"', ]), ) genrule( - name = "crdtp_binding_cc_147_4_0", - srcs = ["@v8_crate_147_4_0//:crdtp_binding_cc"], - outs = ["crdtp_binding_147_4_0.cc"], + name = "crdtp_binding_cc_149_2_0", + srcs = ["@v8_crate_149_2_0//:crdtp_binding_cc"], + outs = ["crdtp_binding_149_2_0.cc"], cmd = " ".join([ "sed", - "-e 's|#include \"support.h\"|#include \"support_147_4_0.h\"|'", + "-e 's|#include \"support.h\"|#include \"support_149_2_0.h\"|'", "-e 's|\"v8/third_party/inspector_protocol/|\"third_party/inspector_protocol/|g'", - "$(location @v8_crate_147_4_0//:crdtp_binding_cc)", + "$(location @v8_crate_149_2_0//:crdtp_binding_cc)", ">", '"$@"', ]), ) copy_file( - name = "support_h_147_4_0", - src = "@v8_crate_147_4_0//:support_h", - out = "support_147_4_0.h", + name = "support_h_149_2_0", + src = "@v8_crate_149_2_0//:support_h", + out = "support_149_2_0.h", ) cc_library( - name = "v8_147_4_0_binding", + name = "v8_149_2_0_binding", srcs = [ - ":binding_cc_147_4_0", - ":crdtp_binding_cc_147_4_0", + ":binding_cc_149_2_0", + ":crdtp_binding_cc_149_2_0", ], - hdrs = [":support_h_147_4_0"], + hdrs = [":support_h_149_2_0"], copts = V8_COPTS + V8_CUSTOM_LIBCXX_COPTS, deps = [ "@v8//:core_lib_icu", @@ -343,53 +343,53 @@ filegroup( ) cc_static_library( - name = "v8_147_4_0_aarch64_apple_darwin_bazel", + name = "v8_149_2_0_aarch64_apple_darwin_bazel", deps = [ ":rusty_v8_custom_libcxx_runtime", - ":v8_147_4_0_binding", + ":v8_149_2_0_binding", ], features = V8_STATIC_LIBRARY_FEATURES, ) cc_static_library( - name = "v8_147_4_0_aarch64_unknown_linux_gnu_bazel", + name = "v8_149_2_0_aarch64_unknown_linux_gnu_bazel", deps = [ ":rusty_v8_custom_libcxx_runtime", - ":v8_147_4_0_binding", + ":v8_149_2_0_binding", ], features = V8_STATIC_LIBRARY_FEATURES, ) cc_static_library( - name = "v8_147_4_0_aarch64_pc_windows_gnullvm_bazel", - deps = [":v8_147_4_0_binding"], + name = "v8_149_2_0_aarch64_pc_windows_gnullvm_bazel", + deps = [":v8_149_2_0_binding"], features = V8_STATIC_LIBRARY_FEATURES, ) cc_static_library( - name = "v8_147_4_0_aarch64_unknown_linux_musl_release_base", + name = "v8_149_2_0_aarch64_unknown_linux_musl_release_base", deps = [ ":rusty_v8_custom_libcxx_runtime", - ":v8_147_4_0_binding", + ":v8_149_2_0_binding", ], features = V8_STATIC_LIBRARY_FEATURES, ) genrule( - name = "v8_147_4_0_aarch64_unknown_linux_musl_release", + name = "v8_149_2_0_aarch64_unknown_linux_musl_release", srcs = [ - ":v8_147_4_0_aarch64_unknown_linux_musl_release_base", + ":v8_149_2_0_aarch64_unknown_linux_musl_release_base", "@llvm//runtimes/compiler-rt:clang_rt.builtins.static", ], tools = [ "@llvm//tools:llvm-ar", "@llvm//tools:llvm-ranlib", ], - outs = ["libv8_147_4_0_aarch64_unknown_linux_musl.a"], + outs = ["libv8_149_2_0_aarch64_unknown_linux_musl.a"], cmd = """ cat > "$(@D)/merge.mri" <<'EOF' create $@ -addlib $(location :v8_147_4_0_aarch64_unknown_linux_musl_release_base) +addlib $(location :v8_149_2_0_aarch64_unknown_linux_musl_release_base) addlib $(location @llvm//runtimes/compiler-rt:clang_rt.builtins.static) save end @@ -400,186 +400,186 @@ EOF ) cc_static_library( - name = "v8_147_4_0_x86_64_apple_darwin_bazel", + name = "v8_149_2_0_x86_64_apple_darwin_bazel", deps = [ ":rusty_v8_custom_libcxx_runtime", - ":v8_147_4_0_binding", + ":v8_149_2_0_binding", ], features = V8_STATIC_LIBRARY_FEATURES, ) cc_static_library( - name = "v8_147_4_0_x86_64_unknown_linux_gnu_bazel", + name = "v8_149_2_0_x86_64_unknown_linux_gnu_bazel", deps = [ ":rusty_v8_custom_libcxx_runtime", - ":v8_147_4_0_binding", + ":v8_149_2_0_binding", ], features = V8_STATIC_LIBRARY_FEATURES, ) cc_static_library( - name = "v8_147_4_0_x86_64_pc_windows_gnullvm_bazel", - deps = [":v8_147_4_0_binding"], + name = "v8_149_2_0_x86_64_pc_windows_gnullvm_bazel", + deps = [":v8_149_2_0_binding"], features = V8_STATIC_LIBRARY_FEATURES, ) cc_static_library( - name = "v8_147_4_0_x86_64_unknown_linux_musl_release", + name = "v8_149_2_0_x86_64_unknown_linux_musl_release", deps = [ ":rusty_v8_custom_libcxx_runtime", - ":v8_147_4_0_binding", + ":v8_149_2_0_binding", ], features = V8_STATIC_LIBRARY_FEATURES, ) filegroup( - name = "src_binding_release_aarch64_apple_darwin_147_4_0_release", - srcs = ["@v8_crate_147_4_0//:src_binding_release_aarch64_apple_darwin"], + name = "src_binding_release_aarch64_apple_darwin_149_2_0_release", + srcs = ["@v8_crate_149_2_0//:src_binding_release_aarch64_apple_darwin"], ) filegroup( - name = "src_binding_release_x86_64_apple_darwin_147_4_0_release", - srcs = ["@v8_crate_147_4_0//:src_binding_release_x86_64_apple_darwin"], + name = "src_binding_release_x86_64_apple_darwin_149_2_0_release", + srcs = ["@v8_crate_149_2_0//:src_binding_release_x86_64_apple_darwin"], ) filegroup( - name = "src_binding_release_aarch64_unknown_linux_gnu_147_4_0_release", - srcs = ["@v8_crate_147_4_0//:src_binding_release_aarch64_unknown_linux_gnu"], + name = "src_binding_release_aarch64_unknown_linux_gnu_149_2_0_release", + srcs = ["@v8_crate_149_2_0//:src_binding_release_aarch64_unknown_linux_gnu"], ) filegroup( - name = "src_binding_release_x86_64_unknown_linux_gnu_147_4_0_release", - srcs = ["@v8_crate_147_4_0//:src_binding_release_x86_64_unknown_linux_gnu"], + name = "src_binding_release_x86_64_unknown_linux_gnu_149_2_0_release", + srcs = ["@v8_crate_149_2_0//:src_binding_release_x86_64_unknown_linux_gnu"], ) filegroup( - name = "src_binding_release_aarch64_unknown_linux_musl_147_4_0_release", - srcs = ["@v8_crate_147_4_0//:src_binding_release_aarch64_unknown_linux_gnu"], + name = "src_binding_release_aarch64_unknown_linux_musl_149_2_0_release", + srcs = ["@v8_crate_149_2_0//:src_binding_release_aarch64_unknown_linux_gnu"], ) filegroup( - name = "src_binding_release_x86_64_unknown_linux_musl_147_4_0_release", - srcs = ["@v8_crate_147_4_0//:src_binding_release_x86_64_unknown_linux_gnu"], + name = "src_binding_release_x86_64_unknown_linux_musl_149_2_0_release", + srcs = ["@v8_crate_149_2_0//:src_binding_release_x86_64_unknown_linux_gnu"], ) filegroup( - name = "src_binding_release_aarch64_pc_windows_msvc_147_4_0_release", - srcs = ["@v8_crate_147_4_0//:src_binding_release_aarch64_pc_windows_msvc"], + name = "src_binding_release_aarch64_pc_windows_msvc_149_2_0_release", + srcs = ["@v8_crate_149_2_0//:src_binding_release_aarch64_pc_windows_msvc"], ) filegroup( - name = "src_binding_release_x86_64_pc_windows_msvc_147_4_0_release", - srcs = ["@v8_crate_147_4_0//:src_binding_release_x86_64_pc_windows_msvc"], + name = "src_binding_release_x86_64_pc_windows_msvc_149_2_0_release", + srcs = ["@v8_crate_149_2_0//:src_binding_release_x86_64_pc_windows_msvc"], ) filegroup( name = "rusty_v8_release_pair_x86_64_apple_darwin", srcs = [ - ":v8_147_4_0_x86_64_apple_darwin_bazel", - ":src_binding_release_x86_64_apple_darwin_147_4_0_release", + ":v8_149_2_0_x86_64_apple_darwin_bazel", + ":src_binding_release_x86_64_apple_darwin_149_2_0_release", ], ) filegroup( name = "rusty_v8_release_pair_aarch64_apple_darwin", srcs = [ - ":v8_147_4_0_aarch64_apple_darwin_bazel", - ":src_binding_release_aarch64_apple_darwin_147_4_0_release", + ":v8_149_2_0_aarch64_apple_darwin_bazel", + ":src_binding_release_aarch64_apple_darwin_149_2_0_release", ], ) filegroup( name = "rusty_v8_release_pair_x86_64_unknown_linux_gnu", srcs = [ - ":v8_147_4_0_x86_64_unknown_linux_gnu_bazel", - ":src_binding_release_x86_64_unknown_linux_gnu_147_4_0_release", + ":v8_149_2_0_x86_64_unknown_linux_gnu_bazel", + ":src_binding_release_x86_64_unknown_linux_gnu_149_2_0_release", ], ) filegroup( name = "rusty_v8_release_pair_aarch64_unknown_linux_gnu", srcs = [ - ":v8_147_4_0_aarch64_unknown_linux_gnu_bazel", - ":src_binding_release_aarch64_unknown_linux_gnu_147_4_0_release", + ":v8_149_2_0_aarch64_unknown_linux_gnu_bazel", + ":src_binding_release_aarch64_unknown_linux_gnu_149_2_0_release", ], ) filegroup( name = "rusty_v8_release_pair_x86_64_unknown_linux_musl", srcs = [ - ":v8_147_4_0_x86_64_unknown_linux_musl_release", - ":src_binding_release_x86_64_unknown_linux_musl_147_4_0_release", + ":v8_149_2_0_x86_64_unknown_linux_musl_release", + ":src_binding_release_x86_64_unknown_linux_musl_149_2_0_release", ], ) filegroup( name = "rusty_v8_release_pair_aarch64_unknown_linux_musl", srcs = [ - ":v8_147_4_0_aarch64_unknown_linux_musl_release", - ":src_binding_release_aarch64_unknown_linux_musl_147_4_0_release", + ":v8_149_2_0_aarch64_unknown_linux_musl_release", + ":src_binding_release_aarch64_unknown_linux_musl_149_2_0_release", ], ) filegroup( name = "rusty_v8_release_pair_x86_64_pc_windows_msvc", srcs = [ - ":v8_147_4_0_x86_64_pc_windows_msvc", - ":src_binding_release_x86_64_pc_windows_msvc_147_4_0_release", + ":v8_149_2_0_x86_64_pc_windows_msvc", + ":src_binding_release_x86_64_pc_windows_msvc_149_2_0_release", ], ) filegroup( name = "rusty_v8_release_pair_aarch64_pc_windows_msvc", srcs = [ - ":v8_147_4_0_aarch64_pc_windows_msvc", - ":src_binding_release_aarch64_pc_windows_msvc_147_4_0_release", + ":v8_149_2_0_aarch64_pc_windows_msvc", + ":src_binding_release_aarch64_pc_windows_msvc_149_2_0_release", ], ) filegroup( name = "rusty_v8_sandbox_release_pair_x86_64_apple_darwin", srcs = [ - ":v8_147_4_0_x86_64_apple_darwin_bazel", - ":src_binding_release_x86_64_apple_darwin_147_4_0_release", + ":v8_149_2_0_x86_64_apple_darwin_bazel", + ":src_binding_release_x86_64_apple_darwin_149_2_0_release", ], ) filegroup( name = "rusty_v8_sandbox_release_pair_aarch64_apple_darwin", srcs = [ - ":v8_147_4_0_aarch64_apple_darwin_bazel", - ":src_binding_release_aarch64_apple_darwin_147_4_0_release", + ":v8_149_2_0_aarch64_apple_darwin_bazel", + ":src_binding_release_aarch64_apple_darwin_149_2_0_release", ], ) filegroup( name = "rusty_v8_sandbox_release_pair_x86_64_unknown_linux_gnu", srcs = [ - ":v8_147_4_0_x86_64_unknown_linux_gnu_bazel", - ":src_binding_release_x86_64_unknown_linux_gnu_147_4_0_release", + ":v8_149_2_0_x86_64_unknown_linux_gnu_bazel", + ":src_binding_release_x86_64_unknown_linux_gnu_149_2_0_release", ], ) filegroup( name = "rusty_v8_sandbox_release_pair_aarch64_unknown_linux_gnu", srcs = [ - ":v8_147_4_0_aarch64_unknown_linux_gnu_bazel", - ":src_binding_release_aarch64_unknown_linux_gnu_147_4_0_release", + ":v8_149_2_0_aarch64_unknown_linux_gnu_bazel", + ":src_binding_release_aarch64_unknown_linux_gnu_149_2_0_release", ], ) filegroup( name = "rusty_v8_sandbox_release_pair_x86_64_unknown_linux_musl", srcs = [ - ":v8_147_4_0_x86_64_unknown_linux_musl_release", - ":src_binding_release_x86_64_unknown_linux_musl_147_4_0_release", + ":v8_149_2_0_x86_64_unknown_linux_musl_release", + ":src_binding_release_x86_64_unknown_linux_musl_149_2_0_release", ], ) filegroup( name = "rusty_v8_sandbox_release_pair_aarch64_unknown_linux_musl", srcs = [ - ":v8_147_4_0_aarch64_unknown_linux_musl_release", - ":src_binding_release_aarch64_unknown_linux_musl_147_4_0_release", + ":v8_149_2_0_aarch64_unknown_linux_musl_release", + ":src_binding_release_aarch64_unknown_linux_musl_149_2_0_release", ], ) diff --git a/third_party/v8/README.md b/third_party/v8/README.md index 8b512ecb1..4e1c022b9 100644 --- a/third_party/v8/README.md +++ b/third_party/v8/README.md @@ -5,23 +5,21 @@ Bazel consumer builds use: - upstream `denoland/rusty_v8` release archives on Windows MSVC - source-built V8 archives on Darwin, GNU Linux, musl Linux, and Windows GNU -- `openai/codex` release assets for published musl release pairs -Cargo builds still use prebuilt `rusty_v8` archives by default. Only Bazel -overrides `RUSTY_V8_ARCHIVE`/`RUSTY_V8_SRC_BINDING_PATH` in `MODULE.bazel` to -select source-built local archives for its consumer builds. +Local Cargo builds still use upstream prebuilt `rusty_v8` archives by default. +Selected Cargo CI, release, and package builds override +`RUSTY_V8_ARCHIVE`/`RUSTY_V8_SRC_BINDING_PATH` with Codex release assets. Bazel +sets those variables independently in `MODULE.bazel` to select source-built +local archives and bindings for its consumer builds. -Source-built Bazel V8 artifacts enable V8's in-process sandbox by default, and -the Bazel `v8` crate feature selection tracks those targets. A full consumer -rollout still needs matching sandbox-enabled archives for every non-source-built -target. Until that artifact migration lands, the rusty_v8 publishing workflows -use `--config=v8-release-compat` to preserve the current non-sandboxed release -artifact contract. +The Bazel `v8` crate feature selection enables V8's in-process sandbox for +Darwin, Linux, and Windows GNU. Windows MSVC remains on upstream non-sandboxed +prebuilts. Current pinned versions: -- Rust crate: `v8 = =147.4.0` -- Embedded upstream V8 source for Bazel-produced release builds: `14.7.173.20` +- Rust crate: `v8 = =149.2.0` +- Embedded upstream V8 source for Bazel-produced release builds: `14.9.207.2` ## Updating to a new `v8` release @@ -66,6 +64,7 @@ current assets on the same tag, with the Rust crate's sandbox feature suffix in their raw names: - `librusty_v8_ptrcomp_sandbox_release_.a.gz` +- `rusty_v8_ptrcomp_sandbox_release_.lib.gz` on Windows MSVC - `src_binding_ptrcomp_sandbox_release_.rs` The dedicated publishing workflow is `.github/workflows/rusty-v8-release.yml`. @@ -87,13 +86,20 @@ The same run also builds the matching sandbox pair targets: - `//third_party/v8:rusty_v8_sandbox_release_pair_x86_64_unknown_linux_musl` - `//third_party/v8:rusty_v8_sandbox_release_pair_aarch64_unknown_linux_musl` +The workflow also builds sandbox-enabled +`x86_64-pc-windows-msvc` and `aarch64-pc-windows-msvc` archive/binding pairs +from upstream `rusty_v8` source. Those ABI-specific outputs cannot be produced +by Codex's Bazel Windows GNU toolchain. + The Bazel graph pins the same libc++, libc++abi, and llvm-libc source revisions -used by `rusty_v8 v147.4.0`, compiles published artifact targets with +used by `rusty_v8 v149.2.0`, compiles published artifact targets with `--config=rusty-v8-upstream-libcxx`, and folds the matching runtime objects into -the final static archive so Cargo consumers can link it with the `v8` crate's -default `use_custom_libcxx` feature. The config keeps the object files and the -bundled runtime on Chromium's `std::__Cr` ABI namespace instead of mixing those -objects with the toolchain libc++ default namespace. +the final static archive so consumers can link it with the `v8` crate's default +`use_custom_libcxx` feature. The config keeps the object files and the bundled +runtime on Chromium's `std::__Cr` ABI namespace instead of mixing those objects +with the toolchain libc++ default namespace. Bazel consumers use these +source-built targets directly; Cargo release and package builds use the +published copies. MSVC is not part of the Bazel-produced matrix yet. The repository's current hermetic Windows C++ platform is `windows-gnullvm`/`x86_64-w64-windows-gnu`, so diff --git a/third_party/v8/libcxx.BUILD.bazel b/third_party/v8/libcxx.BUILD.bazel index 71a8f8ddc..dd3f167df 100644 --- a/third_party/v8/libcxx.BUILD.bazel +++ b/third_party/v8/libcxx.BUILD.bazel @@ -111,10 +111,11 @@ cc_runtime_stage0_library( "//conditions:default": ["-fPIC"], }), defines = [ - "CR_LIBCXX_REVISION=7ab65651aed6802d2599dcb7a73b1f82d5179d05", + "CR_LIBCXX_REVISION=99457fa555797f8c5ac3c076ca288d8481d3b23a", "LIBCXX_BUILDING_LIBCXXABI", "LIBC_NAMESPACE=__llvm_libc_cr", "_LIBCPP_BUILDING_LIBRARY", + "_LIBCPP_CONSTINIT=constinit", "_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS", "_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE", "_LIBCPP_INSTRUMENTED_WITH_ASAN=0", diff --git a/third_party/v8/libcxxabi.BUILD.bazel b/third_party/v8/libcxxabi.BUILD.bazel index 0645511db..2afd6b76d 100644 --- a/third_party/v8/libcxxabi.BUILD.bazel +++ b/third_party/v8/libcxxabi.BUILD.bazel @@ -65,6 +65,7 @@ cc_runtime_stage0_library( defines = [ "LIBCXXABI_SILENT_TERMINATE", "_LIBCPP_BUILDING_LIBRARY", + "_LIBCPP_CONSTINIT=constinit", "_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS", "_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE", "_LIBCPP_INSTRUMENTED_WITH_ASAN=0", diff --git a/third_party/v8/rusty_v8_147_4_0.sha256 b/third_party/v8/rusty_v8_147_4_0.sha256 deleted file mode 100644 index a287e5fd5..000000000 --- a/third_party/v8/rusty_v8_147_4_0.sha256 +++ /dev/null @@ -1,2 +0,0 @@ -1fa3f94d9e09cff1f6bcce94c478e5cb072c0755f6a0357abadb9dd3b48d8127 rusty_v8_release_aarch64-pc-windows-msvc.lib.gz -e2827ff98b1a9d4c0343000fc5124ac30dfab3007bc0129c168c9355fc2fcd7c rusty_v8_release_x86_64-pc-windows-msvc.lib.gz diff --git a/third_party/v8/rusty_v8_149_2_0.sha256 b/third_party/v8/rusty_v8_149_2_0.sha256 new file mode 100644 index 000000000..4c9775474 --- /dev/null +++ b/third_party/v8/rusty_v8_149_2_0.sha256 @@ -0,0 +1,2 @@ +923f2b6ccdc14526b814e171e34c9aafd7969f12304948857c6696d022f0fb3c rusty_v8_release_aarch64-pc-windows-msvc.lib.gz +12b5a791b54e92f748738ad8d0d12dad8d281a2d836638ad1aa6678e3b855d9a rusty_v8_release_x86_64-pc-windows-msvc.lib.gz