0
0
Fork 0
mirror of https://github.com/denoland/rusty_v8.git synced 2024-11-21 15:04:33 -05:00

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 variant: release
cargo: cargo 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 target: x86_64-unknown-linux-gnu
variant: debug variant: debug
cargo: cargo 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 target: x86_64-unknown-linux-gnu
variant: release variant: release
cargo: cargo cargo: cargo
@ -67,12 +67,12 @@ jobs:
variant: release # Note: we do not support windows debug builds. variant: release # Note: we do not support windows debug builds.
cargo: cargo 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 target: aarch64-unknown-linux-gnu
variant: debug variant: debug
cargo: cargo 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 target: aarch64-unknown-linux-gnu
variant: release variant: release
cargo: cargo cargo: cargo
@ -103,6 +103,11 @@ jobs:
python-version: 3.11.x python-version: 3.11.x
architecture: x64 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 - name: Install cross compilation toolchain
if: matrix.config.target == 'aarch64-unknown-linux-gnu' if: matrix.config.target == 'aarch64-unknown-linux-gnu'
run: | run: |
@ -111,7 +116,7 @@ jobs:
sudo apt update sudo apt update
sudo apt install -yq --no-install-suggests --no-install-recommends \ sudo apt install -yq --no-install-suggests --no-install-recommends \
binfmt-support g++-10-aarch64-linux-gnu g++-10-multilib \ 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 qemu-user-binfmt
sudo ln -s /usr/aarch64-linux-gnu/lib/ld-linux-aarch64.so.1 \ sudo ln -s /usr/aarch64-linux-gnu/lib/ld-linux-aarch64.so.1 \
@ -232,7 +237,7 @@ jobs:
publish: publish:
needs: build 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/') if: github.repository == 'denoland/rusty_v8' && startsWith(github.ref, 'refs/tags/')
steps: steps:
- name: Configure git - name: Configure git

5
.gitmodules vendored
View file

@ -18,7 +18,7 @@
url = https://chromium.googlesource.com/chromium/src/buildtools.git url = https://chromium.googlesource.com/chromium/src/buildtools.git
[submodule "third_party/icu"] [submodule "third_party/icu"]
path = 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"] [submodule "third_party/abseil-cpp"]
path = third_party/abseil-cpp path = third_party/abseil-cpp
url = https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp.git url = https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp.git
@ -34,3 +34,6 @@
[submodule "third_party/libunwind/src"] [submodule "third_party/libunwind/src"]
path = third_party/libunwind/src path = third_party/libunwind/src
url = https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git 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

3
.gn
View file

@ -92,4 +92,7 @@ default_args = {
v8_enable_v8_checks = false v8_enable_v8_checks = false
use_relative_vtables_abi = 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 # 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) [![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) [![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] [toolchain]
channel = "1.80.0" channel = "1.81.0"
components = ["rustfmt", "clippy"] components = ["rustfmt", "clippy"]
targets = [ targets = [
"x86_64-apple-darwin", "x86_64-apple-darwin",

View file

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

View file

@ -5,14 +5,14 @@ use std::ffi::CString;
extern "C" { extern "C" {
fn icu_get_default_locale(output: *mut char, output_len: usize) -> usize; fn icu_get_default_locale(output: *mut char, output_len: usize) -> usize;
fn icu_set_default_locale(locale: *const char); 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 /// 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. /// 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 /// 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 /// 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 /// 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. /// functionality for application data.
// TODO(ry) Map error code to something useful. // TODO(ry) Map error code to something useful.
#[inline(always)] #[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; let mut error_code = 0i32;
unsafe { unsafe {
udata_setCommonData_73(data.as_ptr(), &mut error_code); udata_setCommonData_74(data.as_ptr(), &mut error_code);
} }
if error_code == 0 { if error_code == 0 {
Ok(()) 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 | required by a bound introduced by this call
| |
= help: the following other types implement trait `v8::scope::param::NewEscapableHandleScope<'s, 'e>`: = help: the following other types implement trait `v8::scope::param::NewEscapableHandleScope<'s, 'e>`:
<AllowJavascriptExecutionScope<'p, P> as v8::scope::param::NewEscapableHandleScope<'s, 'e>> `AllowJavascriptExecutionScope<'p, P>` implements `v8::scope::param::NewEscapableHandleScope<'s, 'e>`
<CallbackScope<'p, C> as v8::scope::param::NewEscapableHandleScope<'s, 'p>> `CallbackScope<'p, C>` implements `v8::scope::param::NewEscapableHandleScope<'s, 'p>`
<ContextScope<'p, P> as v8::scope::param::NewEscapableHandleScope<'s, 'e>> `ContextScope<'p, P>` implements `v8::scope::param::NewEscapableHandleScope<'s, 'e>`
<DisallowJavascriptExecutionScope<'p, P> as v8::scope::param::NewEscapableHandleScope<'s, 'e>> `DisallowJavascriptExecutionScope<'p, P>` implements `v8::scope::param::NewEscapableHandleScope<'s, 'e>`
<EscapableHandleScope<'p, 'e, C> as v8::scope::param::NewEscapableHandleScope<'s, 'p>> `EscapableHandleScope<'p, 'e, C>` implements `v8::scope::param::NewEscapableHandleScope<'s, 'p>`
<HandleScope<'p, C> as v8::scope::param::NewEscapableHandleScope<'s, 'p>> `HandleScope<'p, C>` implements `v8::scope::param::NewEscapableHandleScope<'s, 'p>`
<TryCatch<'p, P> as v8::scope::param::NewEscapableHandleScope<'s, 'e>> `TryCatch<'p, P>` implements `v8::scope::param::NewEscapableHandleScope<'s, 'e>`
note: required by a bound in `EscapableHandleScope::<'s, 'e>::new` note: required by a bound in `EscapableHandleScope::<'s, 'e>::new`
--> src/scope.rs --> 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` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `v8::scope::param::NewEscapableHandleScope<'_, '_>` is not implemented for `OwnedIsolate`
| |
= help: the following other types implement trait `v8::scope::param::NewEscapableHandleScope<'s, 'e>`: = help: the following other types implement trait `v8::scope::param::NewEscapableHandleScope<'s, 'e>`:
<AllowJavascriptExecutionScope<'p, P> as v8::scope::param::NewEscapableHandleScope<'s, 'e>> `AllowJavascriptExecutionScope<'p, P>` implements `v8::scope::param::NewEscapableHandleScope<'s, 'e>`
<CallbackScope<'p, C> as v8::scope::param::NewEscapableHandleScope<'s, 'p>> `CallbackScope<'p, C>` implements `v8::scope::param::NewEscapableHandleScope<'s, 'p>`
<ContextScope<'p, P> as v8::scope::param::NewEscapableHandleScope<'s, 'e>> `ContextScope<'p, P>` implements `v8::scope::param::NewEscapableHandleScope<'s, 'e>`
<DisallowJavascriptExecutionScope<'p, P> as v8::scope::param::NewEscapableHandleScope<'s, 'e>> `DisallowJavascriptExecutionScope<'p, P>` implements `v8::scope::param::NewEscapableHandleScope<'s, 'e>`
<EscapableHandleScope<'p, 'e, C> as v8::scope::param::NewEscapableHandleScope<'s, 'p>> `EscapableHandleScope<'p, 'e, C>` implements `v8::scope::param::NewEscapableHandleScope<'s, 'p>`
<HandleScope<'p, C> as v8::scope::param::NewEscapableHandleScope<'s, 'p>> `HandleScope<'p, C>` implements `v8::scope::param::NewEscapableHandleScope<'s, 'p>`
<TryCatch<'p, P> as v8::scope::param::NewEscapableHandleScope<'s, 'e>> `TryCatch<'p, P>` implements `v8::scope::param::NewEscapableHandleScope<'s, 'e>`

View file

@ -45,7 +45,7 @@ mod setup {
fn initialize_once() { fn initialize_once() {
static START: Once = Once::new(); static START: Once = Once::new();
START.call_once(|| { 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, align_data::Align16,
"../third_party/icu/common/icudtl.dat" "../third_party/icu/common/icudtl.dat"
)) ))
@ -9124,7 +9124,7 @@ fn icu_date() {
#[test] #[test]
fn icu_set_common_data_fail() { fn icu_set_common_data_fail() {
assert!( 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 import subprocess
def process(name, dep): def process(name, dep):
if name == 'build' or name == 'third_party/icu': if name == 'build':
# We have our own fork of this # We have our own fork of this
return return

2
v8

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