Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rolling to V8 13.0.245.18 #1627

Merged
merged 5 commits into from
Oct 18, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 11 additions & 6 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand Down Expand Up @@ -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: |
Expand All @@ -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 \
Expand Down Expand Up @@ -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
Expand Down
5 changes: 4 additions & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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 changes: 4 additions & 1 deletion .gn
Original file line number Diff line number Diff line change
Expand Up @@ -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
#
Expand All @@ -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
}
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -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)
Expand Down
2 changes: 1 addition & 1 deletion build
Submodule build updated 119 files
2 changes: 1 addition & 1 deletion buildtools
Submodule buildtools updated from 60a590 to a7a84a
2 changes: 1 addition & 1 deletion rust-toolchain.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[toolchain]
channel = "1.80.0"
channel = "1.81.0"
components = ["rustfmt", "clippy"]
targets = [
"x86_64-apple-darwin",
Expand Down
4 changes: 2 additions & 2 deletions src/binding.cc
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
8 changes: 4 additions & 4 deletions src/icu.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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(())
Expand Down
28 changes: 14 additions & 14 deletions tests/compile_fail/handle_scope_escape_to_nowhere.stderr
Original file line number Diff line number Diff line change
Expand Up @@ -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
|
Expand All @@ -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>`
4 changes: 2 additions & 2 deletions tests/test_api.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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"
))
Expand Down Expand Up @@ -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()
);
}

Expand Down
2 changes: 1 addition & 1 deletion third_party/abseil-cpp
Submodule abseil-cpp updated from ed3733 to 1f7e21
1 change: 1 addition & 0 deletions third_party/fast_float/src
Submodule src added at 3e57d8
2 changes: 1 addition & 1 deletion third_party/icu
Submodule icu updated from a22a8f to 9408c6
2 changes: 1 addition & 1 deletion third_party/libc++/src
Submodule src updated from f801c9 to 50ab69
2 changes: 1 addition & 1 deletion third_party/libc++abi/src
Submodule src updated from eb6567 to 29b2e9
2 changes: 1 addition & 1 deletion third_party/libunwind/src
Submodule src updated from 116c20 to dc7013
2 changes: 1 addition & 1 deletion tools/clang
Submodule clang updated from 63b7be to e47c18
2 changes: 1 addition & 1 deletion tools/update_deps.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
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

Expand Down
2 changes: 1 addition & 1 deletion v8
Submodule v8 updated 1009 files
Loading