From f2634d5678edd37e67805667dc89e17c98570fb0 Mon Sep 17 00:00:00 2001 From: Jason Foral Date: Fri, 2 Oct 2026 11:37:45 -0400 Subject: [PATCH 1/2] BREAKING: Update to deno_core 0.341.0 --- Cargo.lock | 23 +++++++++++------------ crates/static-analysis-kernel/Cargo.toml | 2 +- 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 641f0c20..a91e1b59 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -432,9 +432,9 @@ dependencies = [ [[package]] name = "bindgen" -version = "0.70.1" +version = "0.71.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f49d8fed880d473ea71efb9bf597651e77201bdd4893efe54c9e5d65ae04ce6f" +checksum = "5f58bf3d7db68cfbac37cfc485a8d711e87e064c3d0fe0435b92f7a407f9d6b3" dependencies = [ "bitflags", "cexpr", @@ -445,7 +445,7 @@ dependencies = [ "proc-macro2", "quote", "regex", - "rustc-hash 1.1.0", + "rustc-hash 2.1.1", "shlex", "syn 2.0.117", ] @@ -1086,9 +1086,9 @@ dependencies = [ [[package]] name = "deno_core" -version = "0.337.0" +version = "0.341.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0dc58970dbda08cf38bbc4b8e69d52335f01cd2074ca0dab2adc76de614b7c6" +checksum = "143d4ac5f8f67ee99ab67ed84027c2a39815f5ce5295e85351a342a32973656d" dependencies = [ "anyhow", "az", @@ -1156,9 +1156,9 @@ dependencies = [ [[package]] name = "deno_ops" -version = "0.213.0" +version = "0.217.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67f99dc5a0cec90094e29e54ec753b9501d5b53029c0200f2af933786f075acc" +checksum = "b88e5ad62fd6e4769c17a1eb37a59d93e91ef47f5e6e08b3b5ef8e308a19adda" dependencies = [ "indexmap 2.13.0", "proc-macro-rules", @@ -4165,9 +4165,9 @@ dependencies = [ [[package]] name = "serde_v8" -version = "0.246.0" +version = "0.250.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c582e4fb6cf768043c54e1203a483b782e7f646573e55ca99c4bfc4806ad901e" +checksum = "f9b4f50e645e68fff5098d9cde15a26eb2a6c5c98bef8f95cfab186ecc6488de" dependencies = [ "deno_error", "num-bigint", @@ -5197,9 +5197,9 @@ dependencies = [ [[package]] name = "v8" -version = "134.5.0" +version = "135.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21c7a224a7eaf3f98c1bad772fbaee56394dce185ef7b19a2e0ca5e3d274165d" +checksum = "171c7d65c2c71e7e02cbef7762787614cab3e9043d58b433ef65b4baa2f4614d" dependencies = [ "bindgen", "bitflags", @@ -5207,7 +5207,6 @@ dependencies = [ "gzip-header", "home", "miniz_oxide", - "once_cell", "paste", "which", ] diff --git a/crates/static-analysis-kernel/Cargo.toml b/crates/static-analysis-kernel/Cargo.toml index 707497e2..87963f4f 100644 --- a/crates/static-analysis-kernel/Cargo.toml +++ b/crates/static-analysis-kernel/Cargo.toml @@ -18,7 +18,7 @@ thiserror = { workspace = true } tree-sitter = { workspace = true } # other -deno_core = "0.337.0" +deno_core = "0.341.0" globset = "0.4.16" graphviz-rust = "0.9.6" sequence_trie = "0.3.6" From 294c32e6732c660323f778fff339da03a0b62398 Mon Sep 17 00:00:00 2001 From: Jason Foral Date: Fri, 2 Oct 2026 11:38:05 -0400 Subject: [PATCH 2/2] Update to new heap statistics API --- .../src/analysis/ddsa_lib/resource_watchdog.rs | 9 +++------ .../src/analysis/ddsa_lib/runtime.rs | 5 ++--- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/crates/static-analysis-kernel/src/analysis/ddsa_lib/resource_watchdog.rs b/crates/static-analysis-kernel/src/analysis/ddsa_lib/resource_watchdog.rs index 5c460de3..7cbe2f45 100644 --- a/crates/static-analysis-kernel/src/analysis/ddsa_lib/resource_watchdog.rs +++ b/crates/static-analysis-kernel/src/analysis/ddsa_lib/resource_watchdog.rs @@ -37,8 +37,7 @@ impl V8ResourceWatchdog { Arc::clone(&timeout_condvar), ); - let mut stats = v8::HeapStatistics::default(); - isolate.get_heap_statistics(&mut stats); + let stats = isolate.get_heap_statistics(); let initial_heap_limit = stats.heap_size_limit(); let heap_limit_cb = @@ -299,8 +298,7 @@ impl HeapLimitGuard { let boxed_box = Box::new(near_heap_limit_cb); let boxed_callback_ptr = Box::into_raw(boxed_box); let isolate_ptr: *const v8::Isolate = &*isolate; - let mut stats = v8::HeapStatistics::default(); - isolate.get_heap_statistics(&mut stats); + let stats = isolate.get_heap_statistics(); let initial_limit = stats.heap_size_limit(); let guard = Self { @@ -462,8 +460,7 @@ pub(crate) mod tests { /// Returns the percentage difference between the isolate's current heap limit /// and the expected heap limit. fn heap_limit_diff(isolate: &mut v8::Isolate, expected: usize) -> f32 { - let mut stats = v8::HeapStatistics::default(); - isolate.get_heap_statistics(&mut stats); + let stats = isolate.get_heap_statistics(); let current_limit = stats.heap_size_limit() as isize; let diff = current_limit.abs_diff(expected as isize); diff as f32 / expected as f32 diff --git a/crates/static-analysis-kernel/src/analysis/ddsa_lib/runtime.rs b/crates/static-analysis-kernel/src/analysis/ddsa_lib/runtime.rs index 3c258f45..c11031a9 100644 --- a/crates/static-analysis-kernel/src/analysis/ddsa_lib/runtime.rs +++ b/crates/static-analysis-kernel/src/analysis/ddsa_lib/runtime.rs @@ -1579,12 +1579,11 @@ function visit(captures) { #[test] fn make_base_deno_core_runtime_set_heap_limit() { const MAX_BYTES: usize = 16 * 1024 * 1024; - let mut heap_stats = v8::HeapStatistics::default(); let _v8 = cfg_test_v8(); for size in [MAX_BYTES, MAX_BYTES * 2] { let mut rt = make_base_deno_core_runtime(vec![], Some(size)); - rt.v8_isolate().get_heap_statistics(&mut heap_stats); - assert_eq!(heap_stats.heap_size_limit(), size); + let stats = rt.v8_isolate().get_heap_statistics(); + assert_eq!(stats.heap_size_limit(), size); } }