Rolling to V8 13.0.245.12 (#1627)

* Rolling to V8 13.0.245.12

Co-authored-by: snek <the@snek.dev>
This commit is contained in:
denobot 2024-10-18 18:08:58 -04:00 committed by GitHub
parent a076d03990
commit 76993057fd
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
20 changed files with 54 additions and 42 deletions

View File

@ -52,12 +52,12 @@ jobs:
variant: release
cargo: cargo
- os: ${{ github.repository == 'denoland/rusty_v8' && 'ubuntu-22.04-xl' || 'ubuntu-22.04' }}
- os: ${{ github.repository == 'denoland/rusty_v8' && 'ubuntu-24.04-xl' || 'ubuntu-24.04' }}
target: x86_64-unknown-linux-gnu
variant: debug
cargo: cargo
- os: ${{ github.repository == 'denoland/rusty_v8' && 'ubuntu-22.04-xl' || 'ubuntu-22.04' }}
- os: ${{ github.repository == 'denoland/rusty_v8' && 'ubuntu-24.04-xl' || 'ubuntu-24.04' }}
target: x86_64-unknown-linux-gnu
variant: release
cargo: cargo
@ -67,12 +67,12 @@ jobs:
variant: release # Note: we do not support windows debug builds.
cargo: cargo
- os: ${{ github.repository == 'denoland/rusty_v8' && 'ubuntu-22.04-xl' || 'ubuntu-22.04' }}
- os: ${{ github.repository == 'denoland/rusty_v8' && 'ubuntu-24.04-xl' || 'ubuntu-24.04' }}
target: aarch64-unknown-linux-gnu
variant: debug
cargo: cargo
- os: ${{ github.repository == 'denoland/rusty_v8' && 'ubuntu-22.04-xl' || 'ubuntu-22.04' }}
- os: ${{ github.repository == 'denoland/rusty_v8' && 'ubuntu-24.04-xl' || 'ubuntu-24.04' }}
target: aarch64-unknown-linux-gnu
variant: release
cargo: cargo
@ -103,6 +103,11 @@ jobs:
python-version: 3.11.x
architecture: x64
- name: Install ubuntu deps
if: startsWith(matrix.config.os, 'ubuntu')
run: |
sudo apt-get install -y glib2.0
- name: Install cross compilation toolchain
if: matrix.config.target == 'aarch64-unknown-linux-gnu'
run: |
@ -111,7 +116,7 @@ jobs:
sudo apt update
sudo apt install -yq --no-install-suggests --no-install-recommends \
binfmt-support g++-10-aarch64-linux-gnu g++-10-multilib \
gcc-10-aarch64-linux-gnu libc6-arm64-cross qemu qemu-user \
gcc-10-aarch64-linux-gnu libc6-arm64-cross qemu-system qemu-user \
qemu-user-binfmt
sudo ln -s /usr/aarch64-linux-gnu/lib/ld-linux-aarch64.so.1 \
@ -232,7 +237,7 @@ jobs:
publish:
needs: build
runs-on: ${{ github.repository == 'denoland/rusty_v8' && 'ubuntu-22.04-xl' || 'ubuntu-22.04' }}
runs-on: ${{ github.repository == 'denoland/rusty_v8' && 'ubuntu-24.04-xl' || 'ubuntu-24.04' }}
if: github.repository == 'denoland/rusty_v8' && startsWith(github.ref, 'refs/tags/')
steps:
- name: Configure git

5
.gitmodules vendored
View File

@ -18,7 +18,7 @@
url = https://chromium.googlesource.com/chromium/src/buildtools.git
[submodule "third_party/icu"]
path = third_party/icu
url = https://github.com/denoland/icu.git
url = https://chromium.googlesource.com/chromium/deps/icu.git
[submodule "third_party/abseil-cpp"]
path = third_party/abseil-cpp
url = https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp.git
@ -34,3 +34,6 @@
[submodule "third_party/libunwind/src"]
path = third_party/libunwind/src
url = https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git
[submodule "third_party/fast_float/src"]
path = third_party/fast_float/src
url = https://chromium.googlesource.com/external/github.com/fastfloat/fast_float.git

5
.gn
View File

@ -78,7 +78,7 @@ default_args = {
# Enable V8 object print for debugging.
# v8_enable_object_print = true
# V8 12.3 added google/fuzztest as a third party dependency.
# https://chromium.googlesource.com/v8/v8.git/+/d5acece0c9b89b18716c177d1fcc8f734191e1e2%5E%21/#F4
#
@ -92,4 +92,7 @@ default_args = {
v8_enable_v8_checks = false
use_relative_vtables_abi = false
v8_depend_on_icu_data_file = false
icu_copy_icudata_to_root_build_dir = false
}

View File

@ -1,6 +1,6 @@
# Rusty V8 Binding
V8 Version: 12.9.202.18
V8 Version: 13.0.245.12
[![ci](https://github.com/denoland/rusty_v8/workflows/ci/badge.svg?branch=main)](https://github.com/denoland/rusty_v8/actions)
[![crates](https://img.shields.io/crates/v/v8.svg)](https://crates.io/crates/v8)

2
build

@ -1 +1 @@
Subproject commit c6d44e625aa64fa89cbdc971dfd301353bee04f3
Subproject commit d0a7da7e88ffc90355cc94f44d3b5e9084b8381e

@ -1 +1 @@
Subproject commit 60a590902cf146c282f15242401bd8543256e2a2
Subproject commit a7a84ac61eae5a8946807265a2fd8bd812daf384

View File

@ -1,5 +1,5 @@
[toolchain]
channel = "1.80.0"
channel = "1.81.0"
components = ["rustfmt", "clippy"]
targets = [
"x86_64-apple-darwin",

View File

@ -3745,8 +3745,8 @@ void v8__CompiledWasmModule__DELETE(v8::CompiledWasmModule* self) {
extern "C" {
size_t icu_get_default_locale(char* output, size_t output_len) {
const icu_73::Locale& default_locale = icu::Locale::getDefault();
icu_73::CheckedArrayByteSink sink(output, static_cast<uint32_t>(output_len));
const icu_74::Locale& default_locale = icu::Locale::getDefault();
icu_74::CheckedArrayByteSink sink(output, static_cast<uint32_t>(output_len));
UErrorCode status = U_ZERO_ERROR;
default_locale.toLanguageTag(sink, status);
assert(status == U_ZERO_ERROR);

View File

@ -5,14 +5,14 @@ use std::ffi::CString;
extern "C" {
fn icu_get_default_locale(output: *mut char, output_len: usize) -> usize;
fn icu_set_default_locale(locale: *const char);
fn udata_setCommonData_73(this: *const u8, error_code: *mut i32);
fn udata_setCommonData_74(this: *const u8, error_code: *mut i32);
}
/// This function bypasses the normal ICU data loading process and allows you to force ICU's system
/// data to come out of a user-specified area in memory.
///
/// ICU data must be at least 8-aligned, and should be 16-aligned. See
/// https://unicode-org.github.io/icu/userguide/icudata
/// https://unicode-org.github.io/icu/userguide/icu_data/
///
/// The format of this data is that of the icu common data file, as is generated by the pkgdata
/// tool with mode=common or mode=dll. You can read in a whole common mode file and pass the
@ -42,10 +42,10 @@ extern "C" {
/// functionality for application data.
// TODO(ry) Map error code to something useful.
#[inline(always)]
pub fn set_common_data_73(data: &'static [u8]) -> Result<(), i32> {
pub fn set_common_data_74(data: &'static [u8]) -> Result<(), i32> {
let mut error_code = 0i32;
unsafe {
udata_setCommonData_73(data.as_ptr(), &mut error_code);
udata_setCommonData_74(data.as_ptr(), &mut error_code);
}
if error_code == 0 {
Ok(())

View File

@ -7,13 +7,13 @@ error[E0277]: the trait bound `OwnedIsolate: v8::scope::param::NewEscapableHandl
| required by a bound introduced by this call
|
= help: the following other types implement trait `v8::scope::param::NewEscapableHandleScope<'s, 'e>`:
<AllowJavascriptExecutionScope<'p, P> as v8::scope::param::NewEscapableHandleScope<'s, 'e>>
<CallbackScope<'p, C> as v8::scope::param::NewEscapableHandleScope<'s, 'p>>
<ContextScope<'p, P> as v8::scope::param::NewEscapableHandleScope<'s, 'e>>
<DisallowJavascriptExecutionScope<'p, P> as v8::scope::param::NewEscapableHandleScope<'s, 'e>>
<EscapableHandleScope<'p, 'e, C> as v8::scope::param::NewEscapableHandleScope<'s, 'p>>
<HandleScope<'p, C> as v8::scope::param::NewEscapableHandleScope<'s, 'p>>
<TryCatch<'p, P> as v8::scope::param::NewEscapableHandleScope<'s, 'e>>
`AllowJavascriptExecutionScope<'p, P>` implements `v8::scope::param::NewEscapableHandleScope<'s, 'e>`
`CallbackScope<'p, C>` implements `v8::scope::param::NewEscapableHandleScope<'s, 'p>`
`ContextScope<'p, P>` implements `v8::scope::param::NewEscapableHandleScope<'s, 'e>`
`DisallowJavascriptExecutionScope<'p, P>` implements `v8::scope::param::NewEscapableHandleScope<'s, 'e>`
`EscapableHandleScope<'p, 'e, C>` implements `v8::scope::param::NewEscapableHandleScope<'s, 'p>`
`HandleScope<'p, C>` implements `v8::scope::param::NewEscapableHandleScope<'s, 'p>`
`TryCatch<'p, P>` implements `v8::scope::param::NewEscapableHandleScope<'s, 'e>`
note: required by a bound in `EscapableHandleScope::<'s, 'e>::new`
--> src/scope.rs
|
@ -27,10 +27,10 @@ error[E0277]: the trait bound `OwnedIsolate: v8::scope::param::NewEscapableHandl
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `v8::scope::param::NewEscapableHandleScope<'_, '_>` is not implemented for `OwnedIsolate`
|
= help: the following other types implement trait `v8::scope::param::NewEscapableHandleScope<'s, 'e>`:
<AllowJavascriptExecutionScope<'p, P> as v8::scope::param::NewEscapableHandleScope<'s, 'e>>
<CallbackScope<'p, C> as v8::scope::param::NewEscapableHandleScope<'s, 'p>>
<ContextScope<'p, P> as v8::scope::param::NewEscapableHandleScope<'s, 'e>>
<DisallowJavascriptExecutionScope<'p, P> as v8::scope::param::NewEscapableHandleScope<'s, 'e>>
<EscapableHandleScope<'p, 'e, C> as v8::scope::param::NewEscapableHandleScope<'s, 'p>>
<HandleScope<'p, C> as v8::scope::param::NewEscapableHandleScope<'s, 'p>>
<TryCatch<'p, P> as v8::scope::param::NewEscapableHandleScope<'s, 'e>>
`AllowJavascriptExecutionScope<'p, P>` implements `v8::scope::param::NewEscapableHandleScope<'s, 'e>`
`CallbackScope<'p, C>` implements `v8::scope::param::NewEscapableHandleScope<'s, 'p>`
`ContextScope<'p, P>` implements `v8::scope::param::NewEscapableHandleScope<'s, 'e>`
`DisallowJavascriptExecutionScope<'p, P>` implements `v8::scope::param::NewEscapableHandleScope<'s, 'e>`
`EscapableHandleScope<'p, 'e, C>` implements `v8::scope::param::NewEscapableHandleScope<'s, 'p>`
`HandleScope<'p, C>` implements `v8::scope::param::NewEscapableHandleScope<'s, 'p>`
`TryCatch<'p, P>` implements `v8::scope::param::NewEscapableHandleScope<'s, 'e>`

View File

@ -45,7 +45,7 @@ mod setup {
fn initialize_once() {
static START: Once = Once::new();
START.call_once(|| {
assert!(v8::icu::set_common_data_73(align_data::include_aligned!(
assert!(v8::icu::set_common_data_74(align_data::include_aligned!(
align_data::Align16,
"../third_party/icu/common/icudtl.dat"
))
@ -9124,7 +9124,7 @@ fn icu_date() {
#[test]
fn icu_set_common_data_fail() {
assert!(
v8::icu::set_common_data_73(&[1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0]).is_err()
v8::icu::set_common_data_74(&[1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0]).is_err()
);
}

@ -1 +1 @@
Subproject commit ed3733b91e472a1e7a641c1f0c1e6c0ea698e958
Subproject commit 1f7e21e34c3807a8841c9562cfc8b3213eb50bfc

1
third_party/fast_float/src vendored Submodule

@ -0,0 +1 @@
Subproject commit 3e57d8dcfb0a04b5a8a26b486b54490a2e9b310f

2
third_party/icu vendored

@ -1 +1 @@
Subproject commit a22a8f24224ddda8b856437d7e8560de1da3f8e1
Subproject commit 9408c6fd4a39e6fef0e1c4077602e1c83b15f3fb

@ -1 +1 @@
Subproject commit f801c947082a3e0a4b48780303526b73905f6ecd
Subproject commit 50ab693ecb611942ce4440d8c9ed707ee65ed5e8

@ -1 +1 @@
Subproject commit eb6567388e89d9730c76dee71d68ac82e4a1abf6
Subproject commit 29b2e9a0f48688da116692cb04758393053d269c

@ -1 +1 @@
Subproject commit 116c20dae60d84a77005697cf29f72783f81b0f9
Subproject commit dc70138c3e68e2f946585f134e20815851e26263

@ -1 +1 @@
Subproject commit 63b7be17f8981d716ea9a0d65bb04654d79548a8
Subproject commit e47c184ec52d50c7aa2a99cd3bd26ebcafaa94b9

View File

@ -2,7 +2,7 @@ from v8_deps import deps
import subprocess
def process(name, dep):
if name == 'build' or name == 'third_party/icu':
if name == 'build':
# We have our own fork of this
return

2
v8

@ -1 +1 @@
Subproject commit d5e5d10dc91365077bad1ea2303c5e59ebb85ddb
Subproject commit da24147866cee8f676686056f481734c57e8a8df