summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Cargo.lock4
-rw-r--r--cli/napi/js_native_api.rs5
-rw-r--r--core/Cargo.toml2
-rw-r--r--core/ops_builtin_v8.rs2
-rw-r--r--core/runtime.rs4
-rw-r--r--ext/web/lib.rs2
-rw-r--r--serde_v8/Cargo.toml2
-rw-r--r--serde_v8/magic/detached_buffer.rs2
8 files changed, 10 insertions, 13 deletions
diff --git a/Cargo.lock b/Cargo.lock
index 41c1a1c1d..e8cd14dfc 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -5421,9 +5421,9 @@ dependencies = [
[[package]]
name = "v8"
-version = "0.54.0"
+version = "0.55.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3b63103bd7caa4c3571e8baafe58f3e04818df70505304ed814737e655d1d8d6"
+checksum = "46cd4f562bce7520fbb511850c5488366264caf346be221cf7e908f51ac33dbc"
dependencies = [
"bitflags",
"fslock",
diff --git a/cli/napi/js_native_api.rs b/cli/napi/js_native_api.rs
index 07b583beb..a0605af11 100644
--- a/cli/napi/js_native_api.rs
+++ b/cli/napi/js_native_api.rs
@@ -1260,10 +1260,11 @@ fn napi_delete_reference(env: *mut Env, _nref: napi_ref) -> Result {
}
#[napi_sym::napi_sym]
-fn napi_detach_arraybuffer(_env: *mut Env, value: napi_value) -> Result {
+fn napi_detach_arraybuffer(env: *mut Env, value: napi_value) -> Result {
+ let env: &mut Env = env.as_mut().ok_or(Error::InvalidArg)?;
let value = transmute::<napi_value, v8::Local<v8::Value>>(value);
let ab = v8::Local::<v8::ArrayBuffer>::try_from(value).unwrap();
- ab.detach();
+ ab.detach(v8::undefined(&mut env.scope()).into());
Ok(())
}
diff --git a/core/Cargo.toml b/core/Cargo.toml
index c72497bbf..bc51af72c 100644
--- a/core/Cargo.toml
+++ b/core/Cargo.toml
@@ -35,7 +35,7 @@ serde_v8 = { version = "0.69.0", path = "../serde_v8" }
smallvec = "1.8"
sourcemap = "6.1"
url = { version = "2.3.1", features = ["serde", "expose_internals"] }
-v8 = { version = "0.54.0", default-features = false }
+v8 = { version = "0.55.0", default-features = false }
[[example]]
name = "http_bench_json_ops"
diff --git a/core/ops_builtin_v8.rs b/core/ops_builtin_v8.rs
index 7c7975489..c72e114bd 100644
--- a/core/ops_builtin_v8.rs
+++ b/core/ops_builtin_v8.rs
@@ -472,7 +472,7 @@ fn op_serialize(
}
let backing_store = buf.get_backing_store();
- buf.detach();
+ buf.detach(v8::undefined(scope).into());
let id = shared_array_buffer_store.insert(backing_store);
value_serializer.transfer_array_buffer(id, buf);
let id = v8::Number::new(scope, id as f64).into();
diff --git a/core/runtime.rs b/core/runtime.rs
index 376e0beb4..e85b7296a 100644
--- a/core/runtime.rs
+++ b/core/runtime.rs
@@ -197,14 +197,10 @@ fn v8_init(
v8::icu::set_common_data_71(&ICU_DATA.0).unwrap();
let flags = concat!(
- " --experimental-wasm-threads",
" --wasm-test-streaming",
" --harmony-import-assertions",
" --no-validate-asm",
" --turbo_fast_api_calls",
- // This flag prevents "unresolved external reference" panic during
- // build, which started happening in V8 10.6
- " --noexperimental-async-stack-tagging-api",
" --harmony-change-array-by-copy",
);
diff --git a/ext/web/lib.rs b/ext/web/lib.rs
index f799f02e7..85fae2c64 100644
--- a/ext/web/lib.rs
+++ b/ext/web/lib.rs
@@ -383,7 +383,7 @@ fn op_transfer_arraybuffer<'a>(
return Err(type_error("ArrayBuffer is not detachable"));
}
let bs = ab.get_backing_store();
- ab.detach();
+ ab.detach(v8::undefined(scope).into());
let ab = v8::ArrayBuffer::with_backing_store(scope, &bs);
Ok(serde_v8::Value {
v8_value: ab.into(),
diff --git a/serde_v8/Cargo.toml b/serde_v8/Cargo.toml
index 5f7c56214..e3d0f8133 100644
--- a/serde_v8/Cargo.toml
+++ b/serde_v8/Cargo.toml
@@ -18,7 +18,7 @@ derive_more = "0.99.17"
serde = { version = "1.0.136", features = ["derive"] }
serde_bytes = "0.11"
smallvec = { version = "1.8", features = ["union"] }
-v8 = { version = "0.54.0", default-features = false }
+v8 = { version = "0.55.0", default-features = false }
[dev-dependencies]
bencher = "0.1"
diff --git a/serde_v8/magic/detached_buffer.rs b/serde_v8/magic/detached_buffer.rs
index b35d4f66d..78232cbe7 100644
--- a/serde_v8/magic/detached_buffer.rs
+++ b/serde_v8/magic/detached_buffer.rs
@@ -63,7 +63,7 @@ impl FromV8 for DetachedBuffer {
return Err(crate::Error::ExpectedDetachable);
}
let store = b.get_backing_store();
- b.detach(); // Detach
+ b.detach(v8::undefined(scope).into()); // Detach
Ok(Self(V8Slice { store, range }))
}
}