From 18364ce19ff3595a321968c93cdc87025ede5527 Mon Sep 17 00:00:00 2001 From: jotabulacios Date: Mon, 27 Jul 2026 10:45:48 -0300 Subject: [PATCH 01/15] Add opt-in dlmalloc guest allocator --- syscalls/Cargo.lock | 28 +++++++ syscalls/Cargo.toml | 13 +++ syscalls/src/allocator.rs | 170 ++++++++++++++++++++++++++++++++++---- 3 files changed, 196 insertions(+), 15 deletions(-) diff --git a/syscalls/Cargo.lock b/syscalls/Cargo.lock index 34e481dd8..1921ff54a 100644 --- a/syscalls/Cargo.lock +++ b/syscalls/Cargo.lock @@ -64,6 +64,17 @@ dependencies = [ "crypto-common", ] +[[package]] +name = "dlmalloc" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675" +dependencies = [ + "cfg-if", + "libc", + "windows-sys", +] + [[package]] name = "embedded-alloc" version = "0.6.0" @@ -128,6 +139,8 @@ dependencies = [ name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ + "critical-section", + "dlmalloc", "embedded-alloc", "getrandom 0.2.17", "getrandom 0.3.4", @@ -379,6 +392,21 @@ dependencies = [ "wit-bindgen", ] +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + [[package]] name = "wit-bindgen" version = "0.57.1" diff --git a/syscalls/Cargo.toml b/syscalls/Cargo.toml index 0460a2435..e8c499d7e 100644 --- a/syscalls/Cargo.toml +++ b/syscalls/Cargo.toml @@ -11,6 +11,19 @@ getrandom = { version = "0.3.4", default-features = false } getrandom_v2 = {version = "0.2.15", features = ["custom"], package = "getrandom"} lazy_static = "1.5.0" rand = "0.9.2" +# `dlmalloc` feature only (optional so the default TLSF build never pulls them). +# `critical-section` gives the Sync a #[global_allocator] static needs; its single-hart +# impl already comes from `riscv` above (same as embedded-alloc's TLSF heap uses). +dlmalloc = { version = "0.2.14", default-features = false, optional = true } +critical-section = { version = "1.2", optional = true } + +[features] +# BENCH: swap the guest global allocator from embedded-alloc TLSF to Doug Lea's malloc +# (dlmalloc), backed by a bump "system" provider over the guest heap. Unlike a raw bump +# allocator it reclaims freed memory (no OOM on churny workloads) while measuring cheaper +# than the default TLSF on zkVM guests (Bencik's ZisK comparison). Off by default; see +# `src/allocator.rs`. +dlmalloc = ["dep:dlmalloc", "dep:critical-section"] [dev-dependencies] keccak = "0.1" diff --git a/syscalls/src/allocator.rs b/syscalls/src/allocator.rs index 78b2933e5..a95ac6e73 100644 --- a/syscalls/src/allocator.rs +++ b/syscalls/src/allocator.rs @@ -1,23 +1,163 @@ -use embedded_alloc::TlsfHeap as Heap; use riscv as _; -// Only the guest routes Rust allocations through this heap; on host (e.g. -// `cargo test` for the sponge's differential tests) the attribute would hijack -// the test harness's allocator with a never-initialized heap and abort. -#[cfg_attr(target_arch = "riscv64", global_allocator)] -static HEAP: Heap = Heap::empty(); - const MAX_MEMORY_SIZE: usize = 0xC000_0000; const WORD_SIZE: usize = 4; -pub fn init_allocator() { - { - unsafe extern "C" { - static _end: u8; +// Guest global allocator, selectable at build time: +// - default: embedded-alloc TLSF — reclaims freed memory (safe for arbitrary churn). +// - `dlmalloc` feature (BENCH): Doug Lea's malloc, backed by a bump "system" +// provider that hands dlmalloc page-aligned chunks from the guest heap. dlmalloc +// does all sub-allocation churn itself, so — unlike a raw bump allocator — it +// reuses freed memory (no OOM) while measuring cheaper than TLSF on zkVM guests +// (Bencik's ZisK allocator comparison). +// +// Only the guest installs a #[global_allocator]; on host (e.g. `cargo test` for the +// sponge's differential tests) the attribute would hijack the test harness's +// allocator with a never-initialized heap and abort. + +#[cfg(not(feature = "dlmalloc"))] +mod imp { + use embedded_alloc::TlsfHeap as Heap; + + #[cfg_attr(target_arch = "riscv64", global_allocator)] + static HEAP: Heap = Heap::empty(); + + pub fn init(heap_start: usize, heap_end: usize) { + unsafe { HEAP.init(heap_start, heap_end - heap_start) } + } +} + +#[cfg(feature = "dlmalloc")] +mod imp { + use core::alloc::{GlobalAlloc, Layout}; + use core::cell::RefCell; + use core::sync::atomic::{AtomicUsize, Ordering}; + use critical_section::Mutex; + use dlmalloc::{Allocator, Dlmalloc}; + + // Page granularity dlmalloc requests memory in. Must be a power of two; the guest + // heap region is 3 GiB so the value only affects the segment rounding below. + const PAGE_SIZE: usize = 4096; + + // The "system" side of dlmalloc: instead of mmap/sbrk (absent on the guest) it + // bump-allocates page-aligned segments from the single contiguous heap region + // [_end, MAX_MEMORY_SIZE). It never releases a segment (`free`/`free_part`/ + // `remap` all decline) — dlmalloc itself owns all reuse of freed *user* + // allocations against this fixed backing store, which is what keeps churny + // workloads OOM-free unlike a raw bump allocator. + struct BumpSystem; + + // Single-hart guest → `Relaxed` atomics are contention-free. + static HEAP_POS: AtomicUsize = AtomicUsize::new(0); + static HEAP_END: AtomicUsize = AtomicUsize::new(0); + + unsafe impl Allocator for BumpSystem { + fn alloc(&self, size: usize) -> (*mut u8, usize, u32) { + // Round up to a page so consecutive segments stay page-aligned. + let size = size.wrapping_add(PAGE_SIZE - 1) & !(PAGE_SIZE - 1); + let pos = HEAP_POS.load(Ordering::Relaxed); + match pos.checked_add(size) { + Some(new_pos) if new_pos <= HEAP_END.load(Ordering::Relaxed) => { + HEAP_POS.store(new_pos, Ordering::Relaxed); + // flags = 0: a plain external segment (never partially released). + (pos as *mut u8, size, 0) + } + // Out of heap → null makes dlmalloc return null → handle_alloc_error. + _ => (core::ptr::null_mut(), 0, 0), + } + } + + fn remap(&self, _ptr: *mut u8, _old: usize, _new: usize, _can_move: bool) -> *mut u8 { + core::ptr::null_mut() + } + + fn free_part(&self, _ptr: *mut u8, _old: usize, _new: usize) -> bool { + false + } + + fn free(&self, _ptr: *mut u8, _size: usize) -> bool { + false + } + + fn can_release_part(&self, _flags: u32) -> bool { + false + } + + fn allocates_zeros(&self) -> bool { + // Guest memory is zero-initialized and this provider never reuses a + // segment, so system-fresh bytes read as 0 → dlmalloc's calloc skips the + // memset for system-fresh memory (it still zeroes recycled blocks itself). + true + } + + fn page_size(&self) -> usize { + PAGE_SIZE + } + } + + // Dlmalloc is Send but !Sync, so it can't sit in a static directly. A single-hart + // critical section serializes access and supplies the Sync a #[global_allocator] + // static requires — the same primitive embedded-alloc's TLSF heap uses. + static DLMALLOC: Mutex>> = + Mutex::new(RefCell::new(Dlmalloc::new_with_allocator(BumpSystem))); + + struct DlGlobal; + + #[cfg_attr(target_arch = "riscv64", global_allocator)] + static ALLOC: DlGlobal = DlGlobal; + + pub fn init(heap_start: usize, heap_end: usize) { + HEAP_POS.store(heap_start, Ordering::Relaxed); + HEAP_END.store(heap_end, Ordering::Relaxed); + } + + unsafe impl GlobalAlloc for DlGlobal { + unsafe fn alloc(&self, layout: Layout) -> *mut u8 { + critical_section::with(|cs| unsafe { + DLMALLOC + .borrow(cs) + .borrow_mut() + .malloc(layout.size(), layout.align()) + }) } - let heap_pos: usize = unsafe { (&_end) as *const u8 as usize }; - unsafe { HEAP.init(heap_pos, MAX_MEMORY_SIZE - heap_pos) } + + unsafe fn dealloc(&self, ptr: *mut u8, layout: Layout) { + critical_section::with(|cs| unsafe { + DLMALLOC + .borrow(cs) + .borrow_mut() + .free(ptr, layout.size(), layout.align()) + }) + } + + unsafe fn alloc_zeroed(&self, layout: Layout) -> *mut u8 { + critical_section::with(|cs| unsafe { + DLMALLOC + .borrow(cs) + .borrow_mut() + .calloc(layout.size(), layout.align()) + }) + } + + unsafe fn realloc(&self, ptr: *mut u8, layout: Layout, new_size: usize) -> *mut u8 { + critical_section::with(|cs| unsafe { + DLMALLOC.borrow(cs).borrow_mut().realloc( + ptr, + layout.size(), + layout.align(), + new_size, + ) + }) + } + } +} + +pub fn init_allocator() { + unsafe extern "C" { + static _end: u8; } + let heap_pos: usize = unsafe { (&_end) as *const u8 as usize }; + imp::init(heap_pos, MAX_MEMORY_SIZE); } /// # Safety @@ -26,8 +166,8 @@ pub fn init_allocator() { /// It is only for rust std internal uses #[unsafe(no_mangle)] pub unsafe extern "C" fn sys_alloc_aligned(bytes: usize, align: usize) -> *mut u8 { - use core::alloc::GlobalAlloc; - unsafe { HEAP.alloc(core::alloc::Layout::from_size_align(bytes, align).unwrap()) } + // Route through whichever `#[global_allocator]` is installed (TLSF or dlmalloc). + unsafe { std::alloc::alloc(core::alloc::Layout::from_size_align(bytes, align).unwrap()) } } /// # Safety From 9f28a234a8a9df87d619fa9294ca22268892d4ba Mon Sep 17 00:00:00 2001 From: jotabulacios Date: Mon, 27 Jul 2026 11:57:30 -0300 Subject: [PATCH 02/15] Use dlmalloc as the default guest allocator --- Cargo.lock | 13 +++++++++++++ syscalls/Cargo.toml | 24 ++++++++++++----------- syscalls/src/allocator.rs | 41 ++++++++++++++++++++------------------- 3 files changed, 47 insertions(+), 31 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 74986dcc9..8ca304d11 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -496,6 +496,17 @@ dependencies = [ "crypto-common", ] +[[package]] +name = "dlmalloc" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675" +dependencies = [ + "cfg-if", + "libc", + "windows-sys", +] + [[package]] name = "ecsm" version = "0.1.0" @@ -846,6 +857,8 @@ dependencies = [ name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ + "critical-section", + "dlmalloc", "embedded-alloc", "getrandom 0.2.16", "getrandom 0.3.4", diff --git a/syscalls/Cargo.toml b/syscalls/Cargo.toml index e8c499d7e..f1601ee35 100644 --- a/syscalls/Cargo.toml +++ b/syscalls/Cargo.toml @@ -4,6 +4,10 @@ version = "0.1.0" edition = "2024" [dependencies] +# embedded-alloc TLSF heap: the previous default guest allocator, now selectable via +# the `tlsf-alloc` feature. Kept a hard dep (like the codebase's other allocator +# toggles) so switching needs no dependency edits; it's only linked into the guest and +# dropped when dlmalloc (the default) is selected. embedded-alloc = "0.6" riscv = { version = "0.15", features = ["critical-section-single-hart"] } thiserror = "1.0" @@ -11,19 +15,17 @@ getrandom = { version = "0.3.4", default-features = false } getrandom_v2 = {version = "0.2.15", features = ["custom"], package = "getrandom"} lazy_static = "1.5.0" rand = "0.9.2" -# `dlmalloc` feature only (optional so the default TLSF build never pulls them). -# `critical-section` gives the Sync a #[global_allocator] static needs; its single-hart -# impl already comes from `riscv` above (same as embedded-alloc's TLSF heap uses). -dlmalloc = { version = "0.2.14", default-features = false, optional = true } -critical-section = { version = "1.2", optional = true } +# Default guest allocator: Doug Lea's malloc. Cheaper per alloc/free than TLSF on zkVM +# guests (fewer guest cycles) while still reclaiming freed memory (no OOM). `critical- +# section` gives the Sync a #[global_allocator] static needs; its single-hart impl comes +# from `riscv` above (same as embedded-alloc's TLSF heap uses). See `src/allocator.rs`. +dlmalloc = { version = "0.2.14", default-features = false } +critical-section = "1.2" [features] -# BENCH: swap the guest global allocator from embedded-alloc TLSF to Doug Lea's malloc -# (dlmalloc), backed by a bump "system" provider over the guest heap. Unlike a raw bump -# allocator it reclaims freed memory (no OOM on churny workloads) while measuring cheaper -# than the default TLSF on zkVM guests (Bencik's ZisK comparison). Off by default; see -# `src/allocator.rs`. -dlmalloc = ["dep:dlmalloc", "dep:critical-section"] +# Fallback/BENCH: use the embedded-alloc TLSF heap instead of the default dlmalloc guest +# allocator (to A/B the two or fall back). Off by default. See `src/allocator.rs`. +tlsf-alloc = [] [dev-dependencies] keccak = "0.1" diff --git a/syscalls/src/allocator.rs b/syscalls/src/allocator.rs index a95ac6e73..c99482b45 100644 --- a/syscalls/src/allocator.rs +++ b/syscalls/src/allocator.rs @@ -4,30 +4,19 @@ const MAX_MEMORY_SIZE: usize = 0xC000_0000; const WORD_SIZE: usize = 4; // Guest global allocator, selectable at build time: -// - default: embedded-alloc TLSF — reclaims freed memory (safe for arbitrary churn). -// - `dlmalloc` feature (BENCH): Doug Lea's malloc, backed by a bump "system" -// provider that hands dlmalloc page-aligned chunks from the guest heap. dlmalloc -// does all sub-allocation churn itself, so — unlike a raw bump allocator — it -// reuses freed memory (no OOM) while measuring cheaper than TLSF on zkVM guests -// (Bencik's ZisK allocator comparison). +// - default: Doug Lea's malloc (dlmalloc), backed by a bump "system" provider that +// hands dlmalloc page-aligned chunks from the guest heap. dlmalloc does all +// sub-allocation churn itself, so — unlike a raw bump allocator — it reuses freed +// memory (no OOM) while executing fewer guest instructions per alloc/free than TLSF +// (Bencik's ZisK allocator comparison; measured cheaper on our ethrex proving too). +// - `tlsf-alloc` feature: embedded-alloc's TLSF heap — the previous default, kept one +// flag away for A/B comparison or fallback. // // Only the guest installs a #[global_allocator]; on host (e.g. `cargo test` for the // sponge's differential tests) the attribute would hijack the test harness's // allocator with a never-initialized heap and abort. -#[cfg(not(feature = "dlmalloc"))] -mod imp { - use embedded_alloc::TlsfHeap as Heap; - - #[cfg_attr(target_arch = "riscv64", global_allocator)] - static HEAP: Heap = Heap::empty(); - - pub fn init(heap_start: usize, heap_end: usize) { - unsafe { HEAP.init(heap_start, heap_end - heap_start) } - } -} - -#[cfg(feature = "dlmalloc")] +#[cfg(not(feature = "tlsf-alloc"))] mod imp { use core::alloc::{GlobalAlloc, Layout}; use core::cell::RefCell; @@ -152,6 +141,18 @@ mod imp { } } +#[cfg(feature = "tlsf-alloc")] +mod imp { + use embedded_alloc::TlsfHeap as Heap; + + #[cfg_attr(target_arch = "riscv64", global_allocator)] + static HEAP: Heap = Heap::empty(); + + pub fn init(heap_start: usize, heap_end: usize) { + unsafe { HEAP.init(heap_start, heap_end - heap_start) } + } +} + pub fn init_allocator() { unsafe extern "C" { static _end: u8; @@ -166,7 +167,7 @@ pub fn init_allocator() { /// It is only for rust std internal uses #[unsafe(no_mangle)] pub unsafe extern "C" fn sys_alloc_aligned(bytes: usize, align: usize) -> *mut u8 { - // Route through whichever `#[global_allocator]` is installed (TLSF or dlmalloc). + // Route through whichever `#[global_allocator]` is installed (dlmalloc or TLSF). unsafe { std::alloc::alloc(core::alloc::Layout::from_size_align(bytes, align).unwrap()) } } From b762a6baacc3bb6a969c0e22487ae88f46a527b0 Mon Sep 17 00:00:00 2001 From: jotabulacios Date: Thu, 30 Jul 2026 13:25:50 -0300 Subject: [PATCH 03/15] Fix and test the dlmalloc bump provider --- syscalls/src/allocator.rs | 194 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 188 insertions(+), 6 deletions(-) diff --git a/syscalls/src/allocator.rs b/syscalls/src/allocator.rs index c99482b45..d9e5f1fd1 100644 --- a/syscalls/src/allocator.rs +++ b/syscalls/src/allocator.rs @@ -16,7 +16,10 @@ const WORD_SIZE: usize = 4; // sponge's differential tests) the attribute would hijack the test harness's // allocator with a never-initialized heap and abort. +// Off riscv only `init` is reachable (no `#[global_allocator]` is installed and +// `sys_alloc_aligned` goes through `std::alloc`), so the dlmalloc plumbing is dead there. #[cfg(not(feature = "tlsf-alloc"))] +#[cfg_attr(not(target_arch = "riscv64"), allow(dead_code))] mod imp { use core::alloc::{GlobalAlloc, Layout}; use core::cell::RefCell; @@ -42,13 +45,22 @@ mod imp { unsafe impl Allocator for BumpSystem { fn alloc(&self, size: usize) -> (*mut u8, usize, u32) { - // Round up to a page so consecutive segments stay page-aligned. - let size = size.wrapping_add(PAGE_SIZE - 1) & !(PAGE_SIZE - 1); + // Round up to a page so consecutive segments stay page-aligned. Checked, so + // a size near `usize::MAX` declines instead of wrapping to a small one. + let Some(size) = size + .checked_add(PAGE_SIZE - 1) + .map(|rounded| rounded & !(PAGE_SIZE - 1)) + else { + return (core::ptr::null_mut(), 0, 0); + }; let pos = HEAP_POS.load(Ordering::Relaxed); match pos.checked_add(size) { Some(new_pos) if new_pos <= HEAP_END.load(Ordering::Relaxed) => { HEAP_POS.store(new_pos, Ordering::Relaxed); - // flags = 0: a plain external segment (never partially released). + // flags = 0: no `EXTERN` bit, so dlmalloc may coalesce a new segment + // onto the previous one (ours are contiguous, so it usually just + // extends `top`). Releasing is gated on `can_release_part` below, + // which declines, so `sys_trim`/`release_unused_segments` are no-ops. (pos as *mut u8, size, 0) } // Out of heap → null makes dlmalloc return null → handle_alloc_error. @@ -73,9 +85,15 @@ mod imp { } fn allocates_zeros(&self) -> bool { - // Guest memory is zero-initialized and this provider never reuses a - // segment, so system-fresh bytes read as 0 → dlmalloc's calloc skips the - // memset for system-fresh memory (it still zeroes recycled blocks itself). + // Guest memory is zero-initialized and this provider never reuses a segment, + // so system-fresh bytes read as 0. dlmalloc consults this only in + // `calloc_must_clear` = `!allocates_zeros() || !mmapped(chunk)`, i.e. it may + // skip calloc's memset only for a chunk it marked mmapped. Two independent + // reasons that is safe here: the Rust port has no mmap path at all (nothing + // ever sets the mmapped marker, so calloc always zeroes), and even if it + // grew one, freeing an mmapped chunk whose system `free` declines drops the + // chunk instead of re-binning it — so a recycled block is never mmapped. + // Locked by `calloc_zeroes_recycled_dirty_blocks` below. true } @@ -139,6 +157,170 @@ mod imp { }) } } + + // Host tests for the provider and for dlmalloc's behaviour on top of it. They drive + // a local `Dlmalloc` rather than the `DLMALLOC` static: the static's + // `critical_section::with` has no implementation off riscv (the impl comes from + // `riscv`'s `critical-section-single-hart`), and a local instance exercises the same + // allocator code. `BumpSystem`'s cursor is global, so the tests serialize on + // `HEAP_LOCK` and each re-points it at its own leaked, page-aligned buffer. + #[cfg(test)] + mod tests { + use super::*; + use std::sync::{Mutex, MutexGuard}; + + static HEAP_LOCK: Mutex<()> = Mutex::new(()); + + // Leaks on purpose: the buffer must outlive every pointer dlmalloc derives from + // it, and `BumpSystem` hands segments out by raw address. + fn with_heap(bytes: usize) -> (MutexGuard<'static, ()>, Dlmalloc) { + let guard = HEAP_LOCK.lock().unwrap_or_else(|e| e.into_inner()); + let layout = core::alloc::Layout::from_size_align(bytes, PAGE_SIZE).unwrap(); + // Zeroed, like guest memory: reads of never-written heap return 0 there. + let base = unsafe { std::alloc::alloc_zeroed(layout) }; + assert!(!base.is_null()); + init(base as usize, base as usize + bytes); + (guard, Dlmalloc::new_with_allocator(BumpSystem)) + } + + fn layout(size: usize) -> (usize, usize) { + (size, core::mem::align_of::()) + } + + /// The load-bearing consequence of `allocates_zeros() == true`: dlmalloc's + /// `calloc` may skip its memset when it believes a block is system-fresh, so + /// recycling a dirtied block through `calloc` must still come back zeroed. + /// Checked at a small size and at one past dlmalloc's 64 KiB granularity (the + /// size class the C original would serve from a fresh mmap). + #[test] + fn calloc_zeroes_recycled_dirty_blocks() { + for size in [64usize, 512 * 1024] { + let (_guard, mut dl) = with_heap(8 * 1024 * 1024); + let (sz, al) = layout(size); + + let dirty = unsafe { dl.malloc(sz, al) }; + assert!(!dirty.is_null(), "malloc({size}) failed"); + unsafe { core::ptr::write_bytes(dirty, 0xAA, size) }; + unsafe { dl.free(dirty, sz, al) }; + + let fresh = unsafe { dl.calloc(sz, al) }; + assert!(!fresh.is_null(), "calloc({size}) failed"); + let bytes = unsafe { core::slice::from_raw_parts(fresh, size) }; + assert!( + bytes.iter().all(|&b| b == 0), + "calloc({size}) returned dirty memory: {} non-zero bytes", + bytes.iter().filter(|&&b| b != 0).count() + ); + } + } + + /// What dlmalloc buys over a raw bump allocator: churn is served out of freed + /// blocks, so a heap far smaller than the total allocated volume never runs out. + #[test] + fn freed_blocks_are_reused_so_churn_does_not_exhaust_the_heap() { + let (_guard, mut dl) = with_heap(1024 * 1024); + let (sz, al) = layout(4096); + // 40 MiB of traffic through a 1 MiB heap. + for i in 0..10_000 { + let p = unsafe { dl.malloc(sz, al) }; + assert!(!p.is_null(), "malloc failed on iteration {i} — no reuse"); + unsafe { dl.free(p, sz, al) }; + } + } + + #[test] + fn segments_are_page_aligned_disjoint_and_page_rounded() { + let (_guard, _dl) = with_heap(1024 * 1024); + let (first, first_size, flags) = BumpSystem.alloc(PAGE_SIZE + 1); + assert!(!first.is_null()); + assert_eq!(flags, 0); + assert_eq!(first as usize % PAGE_SIZE, 0); + assert_eq!(first_size, 2 * PAGE_SIZE, "size must round up to a page"); + + let (second, second_size, _) = BumpSystem.alloc(1); + assert_eq!(second as usize % PAGE_SIZE, 0); + assert_eq!(second_size, PAGE_SIZE); + assert_eq!( + second as usize, + first as usize + first_size, + "segments must be contiguous and non-overlapping" + ); + } + + #[test] + fn provider_declines_instead_of_handing_out_memory_past_the_heap() { + let (_guard, _dl) = with_heap(2 * PAGE_SIZE); + assert!(!BumpSystem.alloc(PAGE_SIZE).0.is_null()); + assert!(!BumpSystem.alloc(PAGE_SIZE).0.is_null()); + let (ptr, size, _) = BumpSystem.alloc(1); + assert!(ptr.is_null(), "handed out memory past HEAP_END"); + assert_eq!(size, 0); + + // A request that would overflow the page rounding must also decline, not + // wrap to a small size and succeed. + let (ptr, size, _) = BumpSystem.alloc(usize::MAX - 8); + assert!(ptr.is_null()); + assert_eq!(size, 0); + } + + /// dlmalloc must return null rather than a bogus pointer once the provider is + /// exhausted — that null is what reaches `handle_alloc_error` on the guest. + #[test] + fn allocation_fails_cleanly_when_the_heap_is_exhausted() { + let (_guard, mut dl) = with_heap(64 * PAGE_SIZE); + let (sz, al) = layout(1024 * 1024); + let mut last = core::ptr::null_mut(); + for _ in 0..8 { + last = unsafe { dl.malloc(sz, al) }; + if last.is_null() { + break; + } + } + assert!( + last.is_null(), + "1 MiB allocations never exhausted a 256 KiB heap" + ); + } + + /// Nothing calls `init` before `init_allocator` on the guest, but a stray + /// allocation before it must fail closed (HEAP_END == 0) rather than write to + /// address 0. + #[test] + fn uninitialized_provider_hands_out_nothing() { + let _guard = HEAP_LOCK.lock().unwrap_or_else(|e| e.into_inner()); + init(0, 0); + assert!(BumpSystem.alloc(1).0.is_null()); + } + + #[test] + fn realloc_preserves_contents_when_growing() { + let (_guard, mut dl) = with_heap(1024 * 1024); + let (sz, al) = layout(128); + let p = unsafe { dl.malloc(sz, al) }; + assert!(!p.is_null()); + unsafe { core::ptr::write_bytes(p, 0x5A, 128) }; + + let grown = unsafe { dl.realloc(p, sz, al, 4096) }; + assert!(!grown.is_null()); + let kept = unsafe { core::slice::from_raw_parts(grown, 128) }; + assert!( + kept.iter().all(|&b| b == 0x5A), + "realloc lost the old bytes" + ); + unsafe { dl.free(grown, 4096, al) }; + } + + #[test] + fn alignment_requests_are_honored() { + let (_guard, mut dl) = with_heap(1024 * 1024); + for align in [16usize, 64, 256, 4096] { + let p = unsafe { dl.malloc(align * 3, align) }; + assert!(!p.is_null(), "malloc with align {align} failed"); + assert_eq!(p as usize % align, 0, "align {align} not honored"); + unsafe { dl.free(p, align * 3, align) }; + } + } + } } #[cfg(feature = "tlsf-alloc")] From 89362906b3858bf6849dcd24508836db05832c20 Mon Sep 17 00:00:00 2001 From: jotabulacios Date: Thu, 30 Jul 2026 13:27:42 -0300 Subject: [PATCH 04/15] Regenerate guest program lockfiles --- bench_vs/lambda/recursion/Cargo.lock | 29 +++++++++++++++++++ executor/programs/bench/ecsm/Cargo.lock | 28 ++++++++++++++++++ executor/programs/bench/hashmap/Cargo.lock | 28 ++++++++++++++++++ executor/programs/bench/keccak/Cargo.lock | 28 ++++++++++++++++++ .../programs/bench/syscall_commit/Cargo.lock | 28 ++++++++++++++++++ executor/programs/rust/allocator/Cargo.lock | 28 ++++++++++++++++++ executor/programs/rust/args_test/Cargo.lock | 28 ++++++++++++++++++ executor/programs/rust/ckzg/Cargo.lock | 28 ++++++++++++++++++ executor/programs/rust/commit/Cargo.lock | 28 ++++++++++++++++++ executor/programs/rust/commit_sum/Cargo.lock | 28 ++++++++++++++++++ executor/programs/rust/ecsm/Cargo.lock | 28 ++++++++++++++++++ executor/programs/rust/ef_io_demo/Cargo.lock | 28 ++++++++++++++++++ .../programs/rust/ethereum_types/Cargo.lock | 28 ++++++++++++++++++ executor/programs/rust/ethrex/Cargo.lock | 22 ++++++++++++++ executor/programs/rust/hashmap/Cargo.lock | 28 ++++++++++++++++++ executor/programs/rust/keccak/Cargo.lock | 28 ++++++++++++++++++ .../rust/keccak_precompile/Cargo.lock | 28 ++++++++++++++++++ .../rust/keccak_transcript_pattern/Cargo.lock | 28 ++++++++++++++++++ executor/programs/rust/memory/Cargo.lock | 28 ++++++++++++++++++ executor/programs/rust/panic/Cargo.lock | 28 ++++++++++++++++++ executor/programs/rust/print/Cargo.lock | 28 ++++++++++++++++++ executor/programs/rust/random/Cargo.lock | 28 ++++++++++++++++++ executor/programs/rust/serde/Cargo.lock | 28 ++++++++++++++++++ executor/programs/rust/stdin_read/Cargo.lock | 28 ++++++++++++++++++ executor/programs/rust/stdout/Cargo.lock | 28 ++++++++++++++++++ executor/programs/rust/vector/Cargo.lock | 28 ++++++++++++++++++ 26 files changed, 723 insertions(+) diff --git a/bench_vs/lambda/recursion/Cargo.lock b/bench_vs/lambda/recursion/Cargo.lock index bf31738e2..46b451117 100644 --- a/bench_vs/lambda/recursion/Cargo.lock +++ b/bench_vs/lambda/recursion/Cargo.lock @@ -178,12 +178,24 @@ dependencies = [ "crypto-common", ] +[[package]] +name = "dlmalloc" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675" +dependencies = [ + "cfg-if", + "libc", + "windows-sys", +] + [[package]] name = "ecsm" version = "0.1.0" dependencies = [ "k256", "num-bigint", + "num-integer", "num-traits", ] @@ -394,6 +406,8 @@ dependencies = [ name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ + "critical-section", + "dlmalloc", "embedded-alloc", "getrandom 0.2.17", "getrandom 0.3.4", @@ -1100,6 +1114,12 @@ dependencies = [ "syn 2.0.118", ] +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + [[package]] name = "windows-result" version = "0.1.2" @@ -1109,6 +1129,15 @@ dependencies = [ "windows-targets", ] +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + [[package]] name = "windows-targets" version = "0.52.6" diff --git a/executor/programs/bench/ecsm/Cargo.lock b/executor/programs/bench/ecsm/Cargo.lock index 9e09ad93d..b5afa66a3 100644 --- a/executor/programs/bench/ecsm/Cargo.lock +++ b/executor/programs/bench/ecsm/Cargo.lock @@ -26,6 +26,17 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" +[[package]] +name = "dlmalloc" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675" +dependencies = [ + "cfg-if", + "libc", + "windows-sys", +] + [[package]] name = "ecsm" version = "0.1.0" @@ -78,6 +89,8 @@ dependencies = [ name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ + "critical-section", + "dlmalloc", "embedded-alloc", "getrandom 0.2.17", "getrandom 0.3.4", @@ -304,6 +317,21 @@ dependencies = [ "wit-bindgen", ] +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + [[package]] name = "wit-bindgen" version = "0.57.1" diff --git a/executor/programs/bench/hashmap/Cargo.lock b/executor/programs/bench/hashmap/Cargo.lock index 217419bfd..413570ece 100644 --- a/executor/programs/bench/hashmap/Cargo.lock +++ b/executor/programs/bench/hashmap/Cargo.lock @@ -26,6 +26,17 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" +[[package]] +name = "dlmalloc" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675" +dependencies = [ + "cfg-if", + "libc", + "windows-sys", +] + [[package]] name = "embedded-alloc" version = "0.6.0" @@ -78,6 +89,8 @@ dependencies = [ name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ + "critical-section", + "dlmalloc", "embedded-alloc", "getrandom 0.2.17", "getrandom 0.3.4", @@ -297,6 +310,21 @@ dependencies = [ "wit-bindgen", ] +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + [[package]] name = "wit-bindgen" version = "0.46.0" diff --git a/executor/programs/bench/keccak/Cargo.lock b/executor/programs/bench/keccak/Cargo.lock index 8419d2cc3..696f724da 100644 --- a/executor/programs/bench/keccak/Cargo.lock +++ b/executor/programs/bench/keccak/Cargo.lock @@ -32,6 +32,17 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" +[[package]] +name = "dlmalloc" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675" +dependencies = [ + "cfg-if", + "libc", + "windows-sys", +] + [[package]] name = "embedded-alloc" version = "0.6.0" @@ -85,6 +96,8 @@ dependencies = [ name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ + "critical-section", + "dlmalloc", "embedded-alloc", "getrandom 0.2.17", "getrandom 0.3.4", @@ -313,6 +326,21 @@ dependencies = [ "wit-bindgen", ] +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + [[package]] name = "wit-bindgen" version = "0.46.0" diff --git a/executor/programs/bench/syscall_commit/Cargo.lock b/executor/programs/bench/syscall_commit/Cargo.lock index a02ade5fa..bd792d70a 100644 --- a/executor/programs/bench/syscall_commit/Cargo.lock +++ b/executor/programs/bench/syscall_commit/Cargo.lock @@ -26,6 +26,17 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" +[[package]] +name = "dlmalloc" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675" +dependencies = [ + "cfg-if", + "libc", + "windows-sys", +] + [[package]] name = "embedded-alloc" version = "0.6.0" @@ -71,6 +82,8 @@ dependencies = [ name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ + "critical-section", + "dlmalloc", "embedded-alloc", "getrandom 0.2.17", "getrandom 0.3.4", @@ -297,6 +310,21 @@ dependencies = [ "wit-bindgen", ] +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + [[package]] name = "wit-bindgen" version = "0.51.0" diff --git a/executor/programs/rust/allocator/Cargo.lock b/executor/programs/rust/allocator/Cargo.lock index 0bb13813f..ac3b1a523 100644 --- a/executor/programs/rust/allocator/Cargo.lock +++ b/executor/programs/rust/allocator/Cargo.lock @@ -33,6 +33,17 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" +[[package]] +name = "dlmalloc" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675" +dependencies = [ + "cfg-if", + "libc", + "windows-sys", +] + [[package]] name = "embedded-alloc" version = "0.6.0" @@ -78,6 +89,8 @@ dependencies = [ name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ + "critical-section", + "dlmalloc", "embedded-alloc", "getrandom 0.2.17", "getrandom 0.3.4", @@ -297,6 +310,21 @@ dependencies = [ "wit-bindgen", ] +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + [[package]] name = "wit-bindgen" version = "0.46.0" diff --git a/executor/programs/rust/args_test/Cargo.lock b/executor/programs/rust/args_test/Cargo.lock index 28ec6e5ab..050181243 100644 --- a/executor/programs/rust/args_test/Cargo.lock +++ b/executor/programs/rust/args_test/Cargo.lock @@ -33,6 +33,17 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" +[[package]] +name = "dlmalloc" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675" +dependencies = [ + "cfg-if", + "libc", + "windows-sys", +] + [[package]] name = "embedded-alloc" version = "0.6.0" @@ -78,6 +89,8 @@ dependencies = [ name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ + "critical-section", + "dlmalloc", "embedded-alloc", "getrandom 0.2.17", "getrandom 0.3.4", @@ -297,6 +310,21 @@ dependencies = [ "wit-bindgen", ] +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + [[package]] name = "wit-bindgen" version = "0.51.0" diff --git a/executor/programs/rust/ckzg/Cargo.lock b/executor/programs/rust/ckzg/Cargo.lock index 409a1330d..c069eee8a 100644 --- a/executor/programs/rust/ckzg/Cargo.lock +++ b/executor/programs/rust/ckzg/Cargo.lock @@ -78,6 +78,17 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" +[[package]] +name = "dlmalloc" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675" +dependencies = [ + "cfg-if", + "libc", + "windows-sys", +] + [[package]] name = "embedded-alloc" version = "0.6.0" @@ -147,6 +158,8 @@ checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ + "critical-section", + "dlmalloc", "embedded-alloc", "getrandom 0.2.17", "getrandom 0.3.4", @@ -427,6 +440,21 @@ dependencies = [ "wit-bindgen", ] +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + [[package]] name = "wit-bindgen" version = "0.51.0" diff --git a/executor/programs/rust/commit/Cargo.lock b/executor/programs/rust/commit/Cargo.lock index 6b88c5ad4..1f7e4b831 100644 --- a/executor/programs/rust/commit/Cargo.lock +++ b/executor/programs/rust/commit/Cargo.lock @@ -33,6 +33,17 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" +[[package]] +name = "dlmalloc" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675" +dependencies = [ + "cfg-if", + "libc", + "windows-sys", +] + [[package]] name = "embedded-alloc" version = "0.6.0" @@ -78,6 +89,8 @@ dependencies = [ name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ + "critical-section", + "dlmalloc", "embedded-alloc", "getrandom 0.2.17", "getrandom 0.3.4", @@ -297,6 +310,21 @@ dependencies = [ "wit-bindgen", ] +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + [[package]] name = "wit-bindgen" version = "0.46.0" diff --git a/executor/programs/rust/commit_sum/Cargo.lock b/executor/programs/rust/commit_sum/Cargo.lock index bd5138786..043cdbe47 100644 --- a/executor/programs/rust/commit_sum/Cargo.lock +++ b/executor/programs/rust/commit_sum/Cargo.lock @@ -33,6 +33,17 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" +[[package]] +name = "dlmalloc" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675" +dependencies = [ + "cfg-if", + "libc", + "windows-sys", +] + [[package]] name = "embedded-alloc" version = "0.6.0" @@ -78,6 +89,8 @@ dependencies = [ name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ + "critical-section", + "dlmalloc", "embedded-alloc", "getrandom 0.2.17", "getrandom 0.3.4", @@ -297,6 +310,21 @@ dependencies = [ "wit-bindgen", ] +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + [[package]] name = "wit-bindgen" version = "0.46.0" diff --git a/executor/programs/rust/ecsm/Cargo.lock b/executor/programs/rust/ecsm/Cargo.lock index d0e71eeb0..4383d105b 100644 --- a/executor/programs/rust/ecsm/Cargo.lock +++ b/executor/programs/rust/ecsm/Cargo.lock @@ -26,6 +26,17 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" +[[package]] +name = "dlmalloc" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675" +dependencies = [ + "cfg-if", + "libc", + "windows-sys", +] + [[package]] name = "ecsm" version = "0.1.0" @@ -78,6 +89,8 @@ dependencies = [ name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ + "critical-section", + "dlmalloc", "embedded-alloc", "getrandom 0.2.17", "getrandom 0.3.4", @@ -304,6 +317,21 @@ dependencies = [ "wit-bindgen", ] +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + [[package]] name = "wit-bindgen" version = "0.57.1" diff --git a/executor/programs/rust/ef_io_demo/Cargo.lock b/executor/programs/rust/ef_io_demo/Cargo.lock index 84ea36965..14b88d70c 100644 --- a/executor/programs/rust/ef_io_demo/Cargo.lock +++ b/executor/programs/rust/ef_io_demo/Cargo.lock @@ -26,6 +26,17 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" +[[package]] +name = "dlmalloc" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675" +dependencies = [ + "cfg-if", + "libc", + "windows-sys", +] + [[package]] name = "ef_io_demo" version = "0.1.0" @@ -78,6 +89,8 @@ dependencies = [ name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ + "critical-section", + "dlmalloc", "embedded-alloc", "getrandom 0.2.17", "getrandom 0.3.4", @@ -304,6 +317,21 @@ dependencies = [ "wit-bindgen", ] +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + [[package]] name = "wit-bindgen" version = "0.57.1" diff --git a/executor/programs/rust/ethereum_types/Cargo.lock b/executor/programs/rust/ethereum_types/Cargo.lock index 5d6f028e5..050fc25fa 100644 --- a/executor/programs/rust/ethereum_types/Cargo.lock +++ b/executor/programs/rust/ethereum_types/Cargo.lock @@ -38,6 +38,17 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" +[[package]] +name = "dlmalloc" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675" +dependencies = [ + "cfg-if", + "libc", + "windows-sys", +] + [[package]] name = "embedded-alloc" version = "0.6.0" @@ -119,6 +130,8 @@ checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ + "critical-section", + "dlmalloc", "embedded-alloc", "getrandom 0.2.17", "getrandom 0.3.4", @@ -372,6 +385,21 @@ dependencies = [ "wit-bindgen", ] +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + [[package]] name = "wit-bindgen" version = "0.46.0" diff --git a/executor/programs/rust/ethrex/Cargo.lock b/executor/programs/rust/ethrex/Cargo.lock index e1674f74f..7ce6b72e8 100644 --- a/executor/programs/rust/ethrex/Cargo.lock +++ b/executor/programs/rust/ethrex/Cargo.lock @@ -581,6 +581,17 @@ dependencies = [ "subtle", ] +[[package]] +name = "dlmalloc" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675" +dependencies = [ + "cfg-if", + "libc", + "windows-sys", +] + [[package]] name = "dyn-clone" version = "1.0.20" @@ -1252,6 +1263,8 @@ dependencies = [ name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ + "critical-section", + "dlmalloc", "embedded-alloc", "getrandom 0.2.17", "getrandom 0.3.4", @@ -2486,6 +2499,15 @@ dependencies = [ "windows-link", ] +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + [[package]] name = "winnow" version = "1.0.3" diff --git a/executor/programs/rust/hashmap/Cargo.lock b/executor/programs/rust/hashmap/Cargo.lock index 217419bfd..413570ece 100644 --- a/executor/programs/rust/hashmap/Cargo.lock +++ b/executor/programs/rust/hashmap/Cargo.lock @@ -26,6 +26,17 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" +[[package]] +name = "dlmalloc" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675" +dependencies = [ + "cfg-if", + "libc", + "windows-sys", +] + [[package]] name = "embedded-alloc" version = "0.6.0" @@ -78,6 +89,8 @@ dependencies = [ name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ + "critical-section", + "dlmalloc", "embedded-alloc", "getrandom 0.2.17", "getrandom 0.3.4", @@ -297,6 +310,21 @@ dependencies = [ "wit-bindgen", ] +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + [[package]] name = "wit-bindgen" version = "0.46.0" diff --git a/executor/programs/rust/keccak/Cargo.lock b/executor/programs/rust/keccak/Cargo.lock index 8419d2cc3..696f724da 100644 --- a/executor/programs/rust/keccak/Cargo.lock +++ b/executor/programs/rust/keccak/Cargo.lock @@ -32,6 +32,17 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" +[[package]] +name = "dlmalloc" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675" +dependencies = [ + "cfg-if", + "libc", + "windows-sys", +] + [[package]] name = "embedded-alloc" version = "0.6.0" @@ -85,6 +96,8 @@ dependencies = [ name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ + "critical-section", + "dlmalloc", "embedded-alloc", "getrandom 0.2.17", "getrandom 0.3.4", @@ -313,6 +326,21 @@ dependencies = [ "wit-bindgen", ] +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + [[package]] name = "wit-bindgen" version = "0.46.0" diff --git a/executor/programs/rust/keccak_precompile/Cargo.lock b/executor/programs/rust/keccak_precompile/Cargo.lock index 3aa2810f5..f4f032df9 100644 --- a/executor/programs/rust/keccak_precompile/Cargo.lock +++ b/executor/programs/rust/keccak_precompile/Cargo.lock @@ -26,6 +26,17 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" +[[package]] +name = "dlmalloc" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675" +dependencies = [ + "cfg-if", + "libc", + "windows-sys", +] + [[package]] name = "embedded-alloc" version = "0.6.0" @@ -78,6 +89,8 @@ dependencies = [ name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ + "critical-section", + "dlmalloc", "embedded-alloc", "getrandom 0.2.17", "getrandom 0.3.4", @@ -304,6 +317,21 @@ dependencies = [ "wit-bindgen", ] +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + [[package]] name = "wit-bindgen" version = "0.57.1" diff --git a/executor/programs/rust/keccak_transcript_pattern/Cargo.lock b/executor/programs/rust/keccak_transcript_pattern/Cargo.lock index 4e5afb1bd..57ab111e0 100644 --- a/executor/programs/rust/keccak_transcript_pattern/Cargo.lock +++ b/executor/programs/rust/keccak_transcript_pattern/Cargo.lock @@ -114,6 +114,17 @@ dependencies = [ "crypto-common", ] +[[package]] +name = "dlmalloc" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675" +dependencies = [ + "cfg-if", + "libc", + "windows-sys", +] + [[package]] name = "either" version = "1.16.0" @@ -236,6 +247,8 @@ dependencies = [ name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ + "critical-section", + "dlmalloc", "embedded-alloc", "getrandom 0.2.17", "getrandom 0.3.4", @@ -682,6 +695,21 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + [[package]] name = "wit-bindgen" version = "0.57.1" diff --git a/executor/programs/rust/memory/Cargo.lock b/executor/programs/rust/memory/Cargo.lock index e14f6c57a..eae0671b6 100644 --- a/executor/programs/rust/memory/Cargo.lock +++ b/executor/programs/rust/memory/Cargo.lock @@ -26,6 +26,17 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" +[[package]] +name = "dlmalloc" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675" +dependencies = [ + "cfg-if", + "libc", + "windows-sys", +] + [[package]] name = "embedded-alloc" version = "0.6.0" @@ -71,6 +82,8 @@ dependencies = [ name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ + "critical-section", + "dlmalloc", "embedded-alloc", "getrandom 0.2.17", "getrandom 0.3.4", @@ -297,6 +310,21 @@ dependencies = [ "wit-bindgen", ] +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + [[package]] name = "wit-bindgen" version = "0.46.0" diff --git a/executor/programs/rust/panic/Cargo.lock b/executor/programs/rust/panic/Cargo.lock index 7c07b4777..f8a26d742 100644 --- a/executor/programs/rust/panic/Cargo.lock +++ b/executor/programs/rust/panic/Cargo.lock @@ -26,6 +26,17 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" +[[package]] +name = "dlmalloc" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675" +dependencies = [ + "cfg-if", + "libc", + "windows-sys", +] + [[package]] name = "embedded-alloc" version = "0.6.0" @@ -71,6 +82,8 @@ dependencies = [ name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ + "critical-section", + "dlmalloc", "embedded-alloc", "getrandom 0.2.17", "getrandom 0.3.4", @@ -297,6 +310,21 @@ dependencies = [ "wit-bindgen", ] +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + [[package]] name = "wit-bindgen" version = "0.46.0" diff --git a/executor/programs/rust/print/Cargo.lock b/executor/programs/rust/print/Cargo.lock index a63273943..00bb7b458 100644 --- a/executor/programs/rust/print/Cargo.lock +++ b/executor/programs/rust/print/Cargo.lock @@ -26,6 +26,17 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" +[[package]] +name = "dlmalloc" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675" +dependencies = [ + "cfg-if", + "libc", + "windows-sys", +] + [[package]] name = "embedded-alloc" version = "0.6.0" @@ -71,6 +82,8 @@ dependencies = [ name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ + "critical-section", + "dlmalloc", "embedded-alloc", "getrandom 0.2.17", "getrandom 0.3.4", @@ -297,6 +310,21 @@ dependencies = [ "wit-bindgen", ] +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + [[package]] name = "wit-bindgen" version = "0.46.0" diff --git a/executor/programs/rust/random/Cargo.lock b/executor/programs/rust/random/Cargo.lock index 56748f41f..92c949323 100644 --- a/executor/programs/rust/random/Cargo.lock +++ b/executor/programs/rust/random/Cargo.lock @@ -26,6 +26,17 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" +[[package]] +name = "dlmalloc" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675" +dependencies = [ + "cfg-if", + "libc", + "windows-sys", +] + [[package]] name = "embedded-alloc" version = "0.6.0" @@ -71,6 +82,8 @@ dependencies = [ name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ + "critical-section", + "dlmalloc", "embedded-alloc", "getrandom 0.2.17", "getrandom 0.3.4", @@ -298,6 +311,21 @@ dependencies = [ "wit-bindgen", ] +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + [[package]] name = "wit-bindgen" version = "0.46.0" diff --git a/executor/programs/rust/serde/Cargo.lock b/executor/programs/rust/serde/Cargo.lock index 9b7a04efc..d62620ed1 100644 --- a/executor/programs/rust/serde/Cargo.lock +++ b/executor/programs/rust/serde/Cargo.lock @@ -26,6 +26,17 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" +[[package]] +name = "dlmalloc" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675" +dependencies = [ + "cfg-if", + "libc", + "windows-sys", +] + [[package]] name = "embedded-alloc" version = "0.6.0" @@ -77,6 +88,8 @@ checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ + "critical-section", + "dlmalloc", "embedded-alloc", "getrandom 0.2.17", "getrandom 0.3.4", @@ -354,6 +367,21 @@ dependencies = [ "wit-bindgen", ] +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + [[package]] name = "wit-bindgen" version = "0.46.0" diff --git a/executor/programs/rust/stdin_read/Cargo.lock b/executor/programs/rust/stdin_read/Cargo.lock index c590cdf9f..f49bbe60d 100644 --- a/executor/programs/rust/stdin_read/Cargo.lock +++ b/executor/programs/rust/stdin_read/Cargo.lock @@ -26,6 +26,17 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" +[[package]] +name = "dlmalloc" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675" +dependencies = [ + "cfg-if", + "libc", + "windows-sys", +] + [[package]] name = "embedded-alloc" version = "0.6.0" @@ -71,6 +82,8 @@ dependencies = [ name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ + "critical-section", + "dlmalloc", "embedded-alloc", "getrandom 0.2.17", "getrandom 0.3.4", @@ -297,6 +310,21 @@ dependencies = [ "wit-bindgen", ] +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + [[package]] name = "wit-bindgen" version = "0.51.0" diff --git a/executor/programs/rust/stdout/Cargo.lock b/executor/programs/rust/stdout/Cargo.lock index f256302da..c9bcb231d 100644 --- a/executor/programs/rust/stdout/Cargo.lock +++ b/executor/programs/rust/stdout/Cargo.lock @@ -26,6 +26,17 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" +[[package]] +name = "dlmalloc" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675" +dependencies = [ + "cfg-if", + "libc", + "windows-sys", +] + [[package]] name = "embedded-alloc" version = "0.6.0" @@ -71,6 +82,8 @@ dependencies = [ name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ + "critical-section", + "dlmalloc", "embedded-alloc", "getrandom 0.2.17", "getrandom 0.3.4", @@ -297,6 +310,21 @@ dependencies = [ "wit-bindgen", ] +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + [[package]] name = "wit-bindgen" version = "0.46.0" diff --git a/executor/programs/rust/vector/Cargo.lock b/executor/programs/rust/vector/Cargo.lock index e9ea0c208..15c5072af 100644 --- a/executor/programs/rust/vector/Cargo.lock +++ b/executor/programs/rust/vector/Cargo.lock @@ -26,6 +26,17 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" +[[package]] +name = "dlmalloc" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675" +dependencies = [ + "cfg-if", + "libc", + "windows-sys", +] + [[package]] name = "embedded-alloc" version = "0.6.0" @@ -71,6 +82,8 @@ dependencies = [ name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ + "critical-section", + "dlmalloc", "embedded-alloc", "getrandom 0.2.17", "getrandom 0.3.4", @@ -297,6 +310,21 @@ dependencies = [ "wit-bindgen", ] +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + [[package]] name = "wit-bindgen" version = "0.46.0" From 7a35864a36aaf0f475d8dc153d243aa6acbd23f2 Mon Sep 17 00:00:00 2001 From: jotabulacios Date: Fri, 31 Jul 2026 10:33:59 -0300 Subject: [PATCH 05/15] Default the guest allocator to bump --- .github/workflows/pr_main.yaml | 10 +- bench_vs/lambda/recursion/Cargo.lock | 124 ++---------- executor/programs/bench/ecsm/Cargo.lock | 114 +---------- executor/programs/bench/hashmap/Cargo.lock | 107 +--------- executor/programs/bench/keccak/Cargo.lock | 107 +--------- .../programs/bench/syscall_commit/Cargo.lock | 107 +--------- executor/programs/rust/allocator/Cargo.lock | 107 +--------- executor/programs/rust/args_test/Cargo.lock | 107 +--------- executor/programs/rust/ckzg/Cargo.lock | 111 +---------- executor/programs/rust/commit/Cargo.lock | 107 +--------- executor/programs/rust/commit_sum/Cargo.lock | 107 +--------- executor/programs/rust/ecsm/Cargo.lock | 114 +---------- executor/programs/rust/ef_io_demo/Cargo.lock | 114 +---------- .../programs/rust/ethereum_types/Cargo.lock | 107 +--------- executor/programs/rust/ethrex/Cargo.lock | 152 +++----------- executor/programs/rust/hashmap/Cargo.lock | 107 +--------- executor/programs/rust/keccak/Cargo.lock | 107 +--------- .../rust/keccak_precompile/Cargo.lock | 114 +---------- .../rust/keccak_transcript_pattern/Cargo.lock | 112 +---------- executor/programs/rust/memory/Cargo.lock | 107 +--------- executor/programs/rust/panic/Cargo.lock | 107 +--------- executor/programs/rust/print/Cargo.lock | 107 +--------- executor/programs/rust/random/Cargo.lock | 107 +--------- executor/programs/rust/serde/Cargo.lock | 109 +--------- executor/programs/rust/stdin_read/Cargo.lock | 107 +--------- executor/programs/rust/stdout/Cargo.lock | 107 +--------- executor/programs/rust/vector/Cargo.lock | 107 +--------- syscalls/Cargo.toml | 29 +-- syscalls/src/allocator.rs | 187 +++++++++++++++++- 29 files changed, 317 insertions(+), 2792 deletions(-) diff --git a/.github/workflows/pr_main.yaml b/.github/workflows/pr_main.yaml index a4554fda2..802dee623 100644 --- a/.github/workflows/pr_main.yaml +++ b/.github/workflows/pr_main.yaml @@ -131,9 +131,17 @@ jobs: - name: Run CLI tests run: cargo test -p cli - - name: Run syscalls host tests (keccak differential vs sha3) + - name: Run syscalls host tests (allocator + keccak differential vs sha3) run: make test-syscalls + # The two non-default guest allocators are selected by feature, so nothing else in + # CI compiles them and they can rot silently. Their tests run here too. + - name: Test the non-default guest allocators + run: | + cd syscalls + cargo test --features dlmalloc-alloc + cargo test --features tlsf-alloc + # "Test" is a required check — keep this name to avoid branch protection changes. # This gate job passes only when CLI, executor, disk-spill, and prover tests succeed. test: diff --git a/bench_vs/lambda/recursion/Cargo.lock b/bench_vs/lambda/recursion/Cargo.lock index 46b451117..1d7e158cc 100644 --- a/bench_vs/lambda/recursion/Cargo.lock +++ b/bench_vs/lambda/recursion/Cargo.lock @@ -14,12 +14,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" -[[package]] -name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - [[package]] name = "block-buffer" version = "0.10.4" @@ -55,7 +49,7 @@ checksum = "89385e82b5d1821d2219e0b095efa2cc1f246cbf99080f3be46a1a85c0d392d9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn", ] [[package]] @@ -64,12 +58,6 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" -[[package]] -name = "const-default" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b396d1f76d455557e1218ec8066ae14bba60b4b36ecd55577ba979f5db7ecaa" - [[package]] name = "const-oid" version = "0.9.6" @@ -178,17 +166,6 @@ dependencies = [ "crypto-common", ] -[[package]] -name = "dlmalloc" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675" -dependencies = [ - "cfg-if", - "libc", - "windows-sys", -] - [[package]] name = "ecsm" version = "0.1.0" @@ -222,18 +199,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "embedded-alloc" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f2de9133f68db0d4627ad69db767726c99ff8585272716708227008d3f1bddd" -dependencies = [ - "const-default", - "critical-section", - "linked_list_allocator", - "rlsf", -] - [[package]] name = "embedded-hal" version = "1.0.0" @@ -406,9 +371,6 @@ dependencies = [ name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ - "critical-section", - "dlmalloc", - "embedded-alloc", "getrandom 0.2.17", "getrandom 0.3.4", "lazy_static", @@ -429,12 +391,6 @@ version = "0.2.186" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66" -[[package]] -name = "linked_list_allocator" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b23ac50abb8261cb38c6e2a7192d3302e0836dac1628f6a93b82b4fad185897" - [[package]] name = "log" version = "0.4.33" @@ -478,7 +434,7 @@ checksum = "4568f25ccbd45ab5d5603dc34318c1ec56b117531781260002151b8530a9f931" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn", ] [[package]] @@ -571,7 +527,7 @@ checksum = "7347867d0a7e1208d93b46767be83e2b8f978c3dad35f775ac8d8847551d6fe1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn", ] [[package]] @@ -711,7 +667,7 @@ checksum = "7d323d13972c1b104aa036bc692cd08b822c8bbf23d79a27c526095856499799" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn", ] [[package]] @@ -744,20 +700,7 @@ checksum = "c0ed1a78a1b19d184b0daa629dd9a024573173ec7d485b287cb369fb3607cc1c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", -] - -[[package]] -name = "rlsf" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1646a59a9734b8b7a0ac51689388a60fe1625d4b956348e9de07591a1478457a" -dependencies = [ - "cfg-if", - "const-default", - "libc", - "rustversion", - "svgbobdoc", + "syn", ] [[package]] @@ -822,7 +765,7 @@ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn", ] [[package]] @@ -881,30 +824,6 @@ version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" -[[package]] -name = "svgbobdoc" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2c04b93fc15d79b39c63218f15e3fdffaa4c227830686e3b7c5f41244eb3e50" -dependencies = [ - "base64", - "proc-macro2", - "quote", - "syn 1.0.109", - "unicode-width", -] - -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - [[package]] name = "syn" version = "2.0.118" @@ -946,7 +865,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn", ] [[package]] @@ -976,12 +895,6 @@ version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" -[[package]] -name = "unicode-width" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" - [[package]] name = "version_check" version = "0.9.5" @@ -1035,7 +948,7 @@ dependencies = [ "bumpalo", "proc-macro2", "quote", - "syn 2.0.118", + "syn", "wasm-bindgen-shared", ] @@ -1100,7 +1013,7 @@ checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn", ] [[package]] @@ -1111,15 +1024,9 @@ checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn", ] -[[package]] -name = "windows-link" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" - [[package]] name = "windows-result" version = "0.1.2" @@ -1129,15 +1036,6 @@ dependencies = [ "windows-targets", ] -[[package]] -name = "windows-sys" -version = "0.61.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" -dependencies = [ - "windows-link", -] - [[package]] name = "windows-targets" version = "0.52.6" @@ -1225,7 +1123,7 @@ checksum = "1ae7f38b72ec2a254e2b87ef277cf2cd4fb97cbebf944faa6f33354da0867930" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn", ] [[package]] diff --git a/executor/programs/bench/ecsm/Cargo.lock b/executor/programs/bench/ecsm/Cargo.lock index b5afa66a3..ca5d7ead1 100644 --- a/executor/programs/bench/ecsm/Cargo.lock +++ b/executor/programs/bench/ecsm/Cargo.lock @@ -2,41 +2,18 @@ # It is not intended for manual editing. version = 4 -[[package]] -name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - [[package]] name = "cfg-if" version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" -[[package]] -name = "const-default" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b396d1f76d455557e1218ec8066ae14bba60b4b36ecd55577ba979f5db7ecaa" - [[package]] name = "critical-section" version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" -[[package]] -name = "dlmalloc" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675" -dependencies = [ - "cfg-if", - "libc", - "windows-sys", -] - [[package]] name = "ecsm" version = "0.1.0" @@ -44,18 +21,6 @@ dependencies = [ "lambda-vm-syscalls", ] -[[package]] -name = "embedded-alloc" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f2de9133f68db0d4627ad69db767726c99ff8585272716708227008d3f1bddd" -dependencies = [ - "const-default", - "critical-section", - "linked_list_allocator", - "rlsf", -] - [[package]] name = "embedded-hal" version = "1.0.0" @@ -89,9 +54,6 @@ dependencies = [ name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ - "critical-section", - "dlmalloc", - "embedded-alloc", "getrandom 0.2.17", "getrandom 0.3.4", "lazy_static", @@ -112,12 +74,6 @@ version = "0.2.186" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66" -[[package]] -name = "linked_list_allocator" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b23ac50abb8261cb38c6e2a7192d3302e0836dac1628f6a93b82b4fad185897" - [[package]] name = "paste" version = "1.0.15" @@ -207,7 +163,7 @@ checksum = "7d323d13972c1b104aa036bc692cd08b822c8bbf23d79a27c526095856499799" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn", ] [[package]] @@ -216,49 +172,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8188909339ccc0c68cfb5a04648313f09621e8b87dc03095454f1a11f6c5d436" -[[package]] -name = "rlsf" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1646a59a9734b8b7a0ac51689388a60fe1625d4b956348e9de07591a1478457a" -dependencies = [ - "cfg-if", - "const-default", - "libc", - "rustversion", - "svgbobdoc", -] - -[[package]] -name = "rustversion" -version = "1.0.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" - -[[package]] -name = "svgbobdoc" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2c04b93fc15d79b39c63218f15e3fdffaa4c227830686e3b7c5f41244eb3e50" -dependencies = [ - "base64", - "proc-macro2", - "quote", - "syn 1.0.109", - "unicode-width", -] - -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - [[package]] name = "syn" version = "2.0.118" @@ -287,7 +200,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn", ] [[package]] @@ -296,12 +209,6 @@ version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" -[[package]] -name = "unicode-width" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" - [[package]] name = "wasi" version = "0.11.1+wasi-snapshot-preview1" @@ -317,21 +224,6 @@ dependencies = [ "wit-bindgen", ] -[[package]] -name = "windows-link" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" - -[[package]] -name = "windows-sys" -version = "0.61.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" -dependencies = [ - "windows-link", -] - [[package]] name = "wit-bindgen" version = "0.57.1" @@ -355,5 +247,5 @@ checksum = "1ae7f38b72ec2a254e2b87ef277cf2cd4fb97cbebf944faa6f33354da0867930" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn", ] diff --git a/executor/programs/bench/hashmap/Cargo.lock b/executor/programs/bench/hashmap/Cargo.lock index 413570ece..88a5011d0 100644 --- a/executor/programs/bench/hashmap/Cargo.lock +++ b/executor/programs/bench/hashmap/Cargo.lock @@ -2,53 +2,18 @@ # It is not intended for manual editing. version = 4 -[[package]] -name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - [[package]] name = "cfg-if" version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" -[[package]] -name = "const-default" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b396d1f76d455557e1218ec8066ae14bba60b4b36ecd55577ba979f5db7ecaa" - [[package]] name = "critical-section" version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" -[[package]] -name = "dlmalloc" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675" -dependencies = [ - "cfg-if", - "libc", - "windows-sys", -] - -[[package]] -name = "embedded-alloc" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f2de9133f68db0d4627ad69db767726c99ff8585272716708227008d3f1bddd" -dependencies = [ - "const-default", - "critical-section", - "linked_list_allocator", - "rlsf", -] - [[package]] name = "embedded-hal" version = "1.0.0" @@ -89,9 +54,6 @@ dependencies = [ name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ - "critical-section", - "dlmalloc", - "embedded-alloc", "getrandom 0.2.17", "getrandom 0.3.4", "lazy_static", @@ -112,12 +74,6 @@ version = "0.2.178" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37c93d8daa9d8a012fd8ab92f088405fb202ea0b6ab73ee2482ae66af4f42091" -[[package]] -name = "linked_list_allocator" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9afa463f5405ee81cdb9cc2baf37e08ec7e4c8209442b5d72c04cfb2cd6e6286" - [[package]] name = "paste" version = "1.0.15" @@ -207,7 +163,7 @@ checksum = "7d323d13972c1b104aa036bc692cd08b822c8bbf23d79a27c526095856499799" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn", ] [[package]] @@ -216,42 +172,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8188909339ccc0c68cfb5a04648313f09621e8b87dc03095454f1a11f6c5d436" -[[package]] -name = "rlsf" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "222fb240c3286247ecdee6fa5341e7cdad0ffdf8e7e401d9937f2d58482a20bf" -dependencies = [ - "cfg-if", - "const-default", - "libc", - "svgbobdoc", -] - -[[package]] -name = "svgbobdoc" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2c04b93fc15d79b39c63218f15e3fdffaa4c227830686e3b7c5f41244eb3e50" -dependencies = [ - "base64", - "proc-macro2", - "quote", - "syn 1.0.109", - "unicode-width", -] - -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - [[package]] name = "syn" version = "2.0.111" @@ -280,7 +200,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn", ] [[package]] @@ -289,12 +209,6 @@ version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" -[[package]] -name = "unicode-width" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" - [[package]] name = "wasi" version = "0.11.1+wasi-snapshot-preview1" @@ -310,21 +224,6 @@ dependencies = [ "wit-bindgen", ] -[[package]] -name = "windows-link" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" - -[[package]] -name = "windows-sys" -version = "0.61.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" -dependencies = [ - "windows-link", -] - [[package]] name = "wit-bindgen" version = "0.46.0" @@ -348,5 +247,5 @@ checksum = "2c7962b26b0a8685668b671ee4b54d007a67d4eaf05fda79ac0ecf41e32270f1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn", ] diff --git a/executor/programs/bench/keccak/Cargo.lock b/executor/programs/bench/keccak/Cargo.lock index 696f724da..aad4cd4d0 100644 --- a/executor/programs/bench/keccak/Cargo.lock +++ b/executor/programs/bench/keccak/Cargo.lock @@ -2,24 +2,12 @@ # It is not intended for manual editing. version = 4 -[[package]] -name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - [[package]] name = "cfg-if" version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" -[[package]] -name = "const-default" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b396d1f76d455557e1218ec8066ae14bba60b4b36ecd55577ba979f5db7ecaa" - [[package]] name = "critical-section" version = "1.2.0" @@ -32,29 +20,6 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" -[[package]] -name = "dlmalloc" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675" -dependencies = [ - "cfg-if", - "libc", - "windows-sys", -] - -[[package]] -name = "embedded-alloc" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f2de9133f68db0d4627ad69db767726c99ff8585272716708227008d3f1bddd" -dependencies = [ - "const-default", - "critical-section", - "linked_list_allocator", - "rlsf", -] - [[package]] name = "embedded-hal" version = "1.0.0" @@ -96,9 +61,6 @@ dependencies = [ name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ - "critical-section", - "dlmalloc", - "embedded-alloc", "getrandom 0.2.17", "getrandom 0.3.4", "lazy_static", @@ -119,12 +81,6 @@ version = "0.2.178" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37c93d8daa9d8a012fd8ab92f088405fb202ea0b6ab73ee2482ae66af4f42091" -[[package]] -name = "linked_list_allocator" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9afa463f5405ee81cdb9cc2baf37e08ec7e4c8209442b5d72c04cfb2cd6e6286" - [[package]] name = "paste" version = "1.0.15" @@ -214,7 +170,7 @@ checksum = "7d323d13972c1b104aa036bc692cd08b822c8bbf23d79a27c526095856499799" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn", ] [[package]] @@ -223,42 +179,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8188909339ccc0c68cfb5a04648313f09621e8b87dc03095454f1a11f6c5d436" -[[package]] -name = "rlsf" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "222fb240c3286247ecdee6fa5341e7cdad0ffdf8e7e401d9937f2d58482a20bf" -dependencies = [ - "cfg-if", - "const-default", - "libc", - "svgbobdoc", -] - -[[package]] -name = "svgbobdoc" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2c04b93fc15d79b39c63218f15e3fdffaa4c227830686e3b7c5f41244eb3e50" -dependencies = [ - "base64", - "proc-macro2", - "quote", - "syn 1.0.109", - "unicode-width", -] - -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - [[package]] name = "syn" version = "2.0.111" @@ -287,7 +207,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn", ] [[package]] @@ -305,12 +225,6 @@ version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" -[[package]] -name = "unicode-width" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" - [[package]] name = "wasi" version = "0.11.1+wasi-snapshot-preview1" @@ -326,21 +240,6 @@ dependencies = [ "wit-bindgen", ] -[[package]] -name = "windows-link" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" - -[[package]] -name = "windows-sys" -version = "0.61.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" -dependencies = [ - "windows-link", -] - [[package]] name = "wit-bindgen" version = "0.46.0" @@ -364,5 +263,5 @@ checksum = "2c7962b26b0a8685668b671ee4b54d007a67d4eaf05fda79ac0ecf41e32270f1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn", ] diff --git a/executor/programs/bench/syscall_commit/Cargo.lock b/executor/programs/bench/syscall_commit/Cargo.lock index bd792d70a..e83155ef2 100644 --- a/executor/programs/bench/syscall_commit/Cargo.lock +++ b/executor/programs/bench/syscall_commit/Cargo.lock @@ -2,53 +2,18 @@ # It is not intended for manual editing. version = 4 -[[package]] -name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - [[package]] name = "cfg-if" version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" -[[package]] -name = "const-default" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b396d1f76d455557e1218ec8066ae14bba60b4b36ecd55577ba979f5db7ecaa" - [[package]] name = "critical-section" version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" -[[package]] -name = "dlmalloc" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675" -dependencies = [ - "cfg-if", - "libc", - "windows-sys", -] - -[[package]] -name = "embedded-alloc" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f2de9133f68db0d4627ad69db767726c99ff8585272716708227008d3f1bddd" -dependencies = [ - "const-default", - "critical-section", - "linked_list_allocator", - "rlsf", -] - [[package]] name = "embedded-hal" version = "1.0.0" @@ -82,9 +47,6 @@ dependencies = [ name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ - "critical-section", - "dlmalloc", - "embedded-alloc", "getrandom 0.2.17", "getrandom 0.3.4", "lazy_static", @@ -105,12 +67,6 @@ version = "0.2.180" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bcc35a38544a891a5f7c865aca548a982ccb3b8650a5b06d0fd33a10283c56fc" -[[package]] -name = "linked_list_allocator" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9afa463f5405ee81cdb9cc2baf37e08ec7e4c8209442b5d72c04cfb2cd6e6286" - [[package]] name = "paste" version = "1.0.15" @@ -200,7 +156,7 @@ checksum = "7d323d13972c1b104aa036bc692cd08b822c8bbf23d79a27c526095856499799" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn", ] [[package]] @@ -209,42 +165,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8188909339ccc0c68cfb5a04648313f09621e8b87dc03095454f1a11f6c5d436" -[[package]] -name = "rlsf" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "222fb240c3286247ecdee6fa5341e7cdad0ffdf8e7e401d9937f2d58482a20bf" -dependencies = [ - "cfg-if", - "const-default", - "libc", - "svgbobdoc", -] - -[[package]] -name = "svgbobdoc" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2c04b93fc15d79b39c63218f15e3fdffaa4c227830686e3b7c5f41244eb3e50" -dependencies = [ - "base64", - "proc-macro2", - "quote", - "syn 1.0.109", - "unicode-width", -] - -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - [[package]] name = "syn" version = "2.0.114" @@ -280,7 +200,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn", ] [[package]] @@ -289,12 +209,6 @@ version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" -[[package]] -name = "unicode-width" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" - [[package]] name = "wasi" version = "0.11.1+wasi-snapshot-preview1" @@ -310,21 +224,6 @@ dependencies = [ "wit-bindgen", ] -[[package]] -name = "windows-link" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" - -[[package]] -name = "windows-sys" -version = "0.61.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" -dependencies = [ - "windows-link", -] - [[package]] name = "wit-bindgen" version = "0.51.0" @@ -348,5 +247,5 @@ checksum = "2c7962b26b0a8685668b671ee4b54d007a67d4eaf05fda79ac0ecf41e32270f1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn", ] diff --git a/executor/programs/rust/allocator/Cargo.lock b/executor/programs/rust/allocator/Cargo.lock index ac3b1a523..2732ff564 100644 --- a/executor/programs/rust/allocator/Cargo.lock +++ b/executor/programs/rust/allocator/Cargo.lock @@ -9,53 +9,18 @@ dependencies = [ "lambda-vm-syscalls", ] -[[package]] -name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - [[package]] name = "cfg-if" version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" -[[package]] -name = "const-default" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b396d1f76d455557e1218ec8066ae14bba60b4b36ecd55577ba979f5db7ecaa" - [[package]] name = "critical-section" version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" -[[package]] -name = "dlmalloc" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675" -dependencies = [ - "cfg-if", - "libc", - "windows-sys", -] - -[[package]] -name = "embedded-alloc" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f2de9133f68db0d4627ad69db767726c99ff8585272716708227008d3f1bddd" -dependencies = [ - "const-default", - "critical-section", - "linked_list_allocator", - "rlsf", -] - [[package]] name = "embedded-hal" version = "1.0.0" @@ -89,9 +54,6 @@ dependencies = [ name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ - "critical-section", - "dlmalloc", - "embedded-alloc", "getrandom 0.2.17", "getrandom 0.3.4", "lazy_static", @@ -112,12 +74,6 @@ version = "0.2.178" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37c93d8daa9d8a012fd8ab92f088405fb202ea0b6ab73ee2482ae66af4f42091" -[[package]] -name = "linked_list_allocator" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9afa463f5405ee81cdb9cc2baf37e08ec7e4c8209442b5d72c04cfb2cd6e6286" - [[package]] name = "paste" version = "1.0.15" @@ -207,7 +163,7 @@ checksum = "7d323d13972c1b104aa036bc692cd08b822c8bbf23d79a27c526095856499799" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn", ] [[package]] @@ -216,42 +172,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8188909339ccc0c68cfb5a04648313f09621e8b87dc03095454f1a11f6c5d436" -[[package]] -name = "rlsf" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "222fb240c3286247ecdee6fa5341e7cdad0ffdf8e7e401d9937f2d58482a20bf" -dependencies = [ - "cfg-if", - "const-default", - "libc", - "svgbobdoc", -] - -[[package]] -name = "svgbobdoc" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2c04b93fc15d79b39c63218f15e3fdffaa4c227830686e3b7c5f41244eb3e50" -dependencies = [ - "base64", - "proc-macro2", - "quote", - "syn 1.0.109", - "unicode-width", -] - -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - [[package]] name = "syn" version = "2.0.111" @@ -280,7 +200,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn", ] [[package]] @@ -289,12 +209,6 @@ version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" -[[package]] -name = "unicode-width" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" - [[package]] name = "wasi" version = "0.11.1+wasi-snapshot-preview1" @@ -310,21 +224,6 @@ dependencies = [ "wit-bindgen", ] -[[package]] -name = "windows-link" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" - -[[package]] -name = "windows-sys" -version = "0.61.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" -dependencies = [ - "windows-link", -] - [[package]] name = "wit-bindgen" version = "0.46.0" @@ -348,5 +247,5 @@ checksum = "2c7962b26b0a8685668b671ee4b54d007a67d4eaf05fda79ac0ecf41e32270f1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn", ] diff --git a/executor/programs/rust/args_test/Cargo.lock b/executor/programs/rust/args_test/Cargo.lock index 050181243..3c3cf72fd 100644 --- a/executor/programs/rust/args_test/Cargo.lock +++ b/executor/programs/rust/args_test/Cargo.lock @@ -9,53 +9,18 @@ dependencies = [ "lambda-vm-syscalls", ] -[[package]] -name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - [[package]] name = "cfg-if" version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" -[[package]] -name = "const-default" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b396d1f76d455557e1218ec8066ae14bba60b4b36ecd55577ba979f5db7ecaa" - [[package]] name = "critical-section" version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" -[[package]] -name = "dlmalloc" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675" -dependencies = [ - "cfg-if", - "libc", - "windows-sys", -] - -[[package]] -name = "embedded-alloc" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f2de9133f68db0d4627ad69db767726c99ff8585272716708227008d3f1bddd" -dependencies = [ - "const-default", - "critical-section", - "linked_list_allocator", - "rlsf", -] - [[package]] name = "embedded-hal" version = "1.0.0" @@ -89,9 +54,6 @@ dependencies = [ name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ - "critical-section", - "dlmalloc", - "embedded-alloc", "getrandom 0.2.17", "getrandom 0.3.4", "lazy_static", @@ -112,12 +74,6 @@ version = "0.2.180" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bcc35a38544a891a5f7c865aca548a982ccb3b8650a5b06d0fd33a10283c56fc" -[[package]] -name = "linked_list_allocator" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9afa463f5405ee81cdb9cc2baf37e08ec7e4c8209442b5d72c04cfb2cd6e6286" - [[package]] name = "paste" version = "1.0.15" @@ -207,7 +163,7 @@ checksum = "7d323d13972c1b104aa036bc692cd08b822c8bbf23d79a27c526095856499799" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn", ] [[package]] @@ -216,42 +172,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8188909339ccc0c68cfb5a04648313f09621e8b87dc03095454f1a11f6c5d436" -[[package]] -name = "rlsf" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "222fb240c3286247ecdee6fa5341e7cdad0ffdf8e7e401d9937f2d58482a20bf" -dependencies = [ - "cfg-if", - "const-default", - "libc", - "svgbobdoc", -] - -[[package]] -name = "svgbobdoc" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2c04b93fc15d79b39c63218f15e3fdffaa4c227830686e3b7c5f41244eb3e50" -dependencies = [ - "base64", - "proc-macro2", - "quote", - "syn 1.0.109", - "unicode-width", -] - -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - [[package]] name = "syn" version = "2.0.114" @@ -280,7 +200,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn", ] [[package]] @@ -289,12 +209,6 @@ version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" -[[package]] -name = "unicode-width" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" - [[package]] name = "wasi" version = "0.11.1+wasi-snapshot-preview1" @@ -310,21 +224,6 @@ dependencies = [ "wit-bindgen", ] -[[package]] -name = "windows-link" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" - -[[package]] -name = "windows-sys" -version = "0.61.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" -dependencies = [ - "windows-link", -] - [[package]] name = "wit-bindgen" version = "0.51.0" @@ -348,5 +247,5 @@ checksum = "2c7962b26b0a8685668b671ee4b54d007a67d4eaf05fda79ac0ecf41e32270f1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn", ] diff --git a/executor/programs/rust/ckzg/Cargo.lock b/executor/programs/rust/ckzg/Cargo.lock index c069eee8a..d30594849 100644 --- a/executor/programs/rust/ckzg/Cargo.lock +++ b/executor/programs/rust/ckzg/Cargo.lock @@ -2,12 +2,6 @@ # It is not intended for manual editing. version = 4 -[[package]] -name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - [[package]] name = "blst" version = "0.3.16" @@ -66,41 +60,12 @@ dependencies = [ "lambda-vm-syscalls", ] -[[package]] -name = "const-default" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b396d1f76d455557e1218ec8066ae14bba60b4b36ecd55577ba979f5db7ecaa" - [[package]] name = "critical-section" version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" -[[package]] -name = "dlmalloc" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675" -dependencies = [ - "cfg-if", - "libc", - "windows-sys", -] - -[[package]] -name = "embedded-alloc" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f2de9133f68db0d4627ad69db767726c99ff8585272716708227008d3f1bddd" -dependencies = [ - "const-default", - "critical-section", - "linked_list_allocator", - "rlsf", -] - [[package]] name = "embedded-hal" version = "1.0.0" @@ -158,9 +123,6 @@ checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ - "critical-section", - "dlmalloc", - "embedded-alloc", "getrandom 0.2.17", "getrandom 0.3.4", "lazy_static", @@ -181,12 +143,6 @@ version = "0.2.180" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bcc35a38544a891a5f7c865aca548a982ccb3b8650a5b06d0fd33a10283c56fc" -[[package]] -name = "linked_list_allocator" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9afa463f5405ee81cdb9cc2baf37e08ec7e4c8209442b5d72c04cfb2cd6e6286" - [[package]] name = "num_cpus" version = "1.17.0" @@ -292,7 +248,7 @@ checksum = "7d323d13972c1b104aa036bc692cd08b822c8bbf23d79a27c526095856499799" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn", ] [[package]] @@ -301,18 +257,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8188909339ccc0c68cfb5a04648313f09621e8b87dc03095454f1a11f6c5d436" -[[package]] -name = "rlsf" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "222fb240c3286247ecdee6fa5341e7cdad0ffdf8e7e401d9937f2d58482a20bf" -dependencies = [ - "cfg-if", - "const-default", - "libc", - "svgbobdoc", -] - [[package]] name = "serde" version = "1.0.228" @@ -340,7 +284,7 @@ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn", ] [[package]] @@ -349,30 +293,6 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" -[[package]] -name = "svgbobdoc" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2c04b93fc15d79b39c63218f15e3fdffaa4c227830686e3b7c5f41244eb3e50" -dependencies = [ - "base64", - "proc-macro2", - "quote", - "syn 1.0.109", - "unicode-width", -] - -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - [[package]] name = "syn" version = "2.0.114" @@ -401,7 +321,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn", ] [[package]] @@ -419,12 +339,6 @@ version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" -[[package]] -name = "unicode-width" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" - [[package]] name = "wasi" version = "0.11.1+wasi-snapshot-preview1" @@ -440,21 +354,6 @@ dependencies = [ "wit-bindgen", ] -[[package]] -name = "windows-link" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" - -[[package]] -name = "windows-sys" -version = "0.61.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" -dependencies = [ - "windows-link", -] - [[package]] name = "wit-bindgen" version = "0.51.0" @@ -478,7 +377,7 @@ checksum = "2c7962b26b0a8685668b671ee4b54d007a67d4eaf05fda79ac0ecf41e32270f1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn", ] [[package]] @@ -498,5 +397,5 @@ checksum = "85a5b4158499876c763cb03bc4e49185d3cccbabb15b33c627f7884f43db852e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn", ] diff --git a/executor/programs/rust/commit/Cargo.lock b/executor/programs/rust/commit/Cargo.lock index 1f7e4b831..9dc686c5d 100644 --- a/executor/programs/rust/commit/Cargo.lock +++ b/executor/programs/rust/commit/Cargo.lock @@ -2,12 +2,6 @@ # It is not intended for manual editing. version = 4 -[[package]] -name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - [[package]] name = "cfg-if" version = "1.0.4" @@ -21,41 +15,12 @@ dependencies = [ "lambda-vm-syscalls", ] -[[package]] -name = "const-default" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b396d1f76d455557e1218ec8066ae14bba60b4b36ecd55577ba979f5db7ecaa" - [[package]] name = "critical-section" version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" -[[package]] -name = "dlmalloc" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675" -dependencies = [ - "cfg-if", - "libc", - "windows-sys", -] - -[[package]] -name = "embedded-alloc" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f2de9133f68db0d4627ad69db767726c99ff8585272716708227008d3f1bddd" -dependencies = [ - "const-default", - "critical-section", - "linked_list_allocator", - "rlsf", -] - [[package]] name = "embedded-hal" version = "1.0.0" @@ -89,9 +54,6 @@ dependencies = [ name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ - "critical-section", - "dlmalloc", - "embedded-alloc", "getrandom 0.2.17", "getrandom 0.3.4", "lazy_static", @@ -112,12 +74,6 @@ version = "0.2.178" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37c93d8daa9d8a012fd8ab92f088405fb202ea0b6ab73ee2482ae66af4f42091" -[[package]] -name = "linked_list_allocator" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9afa463f5405ee81cdb9cc2baf37e08ec7e4c8209442b5d72c04cfb2cd6e6286" - [[package]] name = "paste" version = "1.0.15" @@ -207,7 +163,7 @@ checksum = "7d323d13972c1b104aa036bc692cd08b822c8bbf23d79a27c526095856499799" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn", ] [[package]] @@ -216,42 +172,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8188909339ccc0c68cfb5a04648313f09621e8b87dc03095454f1a11f6c5d436" -[[package]] -name = "rlsf" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "222fb240c3286247ecdee6fa5341e7cdad0ffdf8e7e401d9937f2d58482a20bf" -dependencies = [ - "cfg-if", - "const-default", - "libc", - "svgbobdoc", -] - -[[package]] -name = "svgbobdoc" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2c04b93fc15d79b39c63218f15e3fdffaa4c227830686e3b7c5f41244eb3e50" -dependencies = [ - "base64", - "proc-macro2", - "quote", - "syn 1.0.109", - "unicode-width", -] - -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - [[package]] name = "syn" version = "2.0.111" @@ -280,7 +200,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn", ] [[package]] @@ -289,12 +209,6 @@ version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" -[[package]] -name = "unicode-width" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" - [[package]] name = "wasi" version = "0.11.1+wasi-snapshot-preview1" @@ -310,21 +224,6 @@ dependencies = [ "wit-bindgen", ] -[[package]] -name = "windows-link" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" - -[[package]] -name = "windows-sys" -version = "0.61.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" -dependencies = [ - "windows-link", -] - [[package]] name = "wit-bindgen" version = "0.46.0" @@ -348,5 +247,5 @@ checksum = "2c7962b26b0a8685668b671ee4b54d007a67d4eaf05fda79ac0ecf41e32270f1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn", ] diff --git a/executor/programs/rust/commit_sum/Cargo.lock b/executor/programs/rust/commit_sum/Cargo.lock index 043cdbe47..a2b1d6838 100644 --- a/executor/programs/rust/commit_sum/Cargo.lock +++ b/executor/programs/rust/commit_sum/Cargo.lock @@ -2,12 +2,6 @@ # It is not intended for manual editing. version = 4 -[[package]] -name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - [[package]] name = "cfg-if" version = "1.0.4" @@ -21,41 +15,12 @@ dependencies = [ "lambda-vm-syscalls", ] -[[package]] -name = "const-default" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b396d1f76d455557e1218ec8066ae14bba60b4b36ecd55577ba979f5db7ecaa" - [[package]] name = "critical-section" version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" -[[package]] -name = "dlmalloc" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675" -dependencies = [ - "cfg-if", - "libc", - "windows-sys", -] - -[[package]] -name = "embedded-alloc" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f2de9133f68db0d4627ad69db767726c99ff8585272716708227008d3f1bddd" -dependencies = [ - "const-default", - "critical-section", - "linked_list_allocator", - "rlsf", -] - [[package]] name = "embedded-hal" version = "1.0.0" @@ -89,9 +54,6 @@ dependencies = [ name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ - "critical-section", - "dlmalloc", - "embedded-alloc", "getrandom 0.2.17", "getrandom 0.3.4", "lazy_static", @@ -112,12 +74,6 @@ version = "0.2.178" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37c93d8daa9d8a012fd8ab92f088405fb202ea0b6ab73ee2482ae66af4f42091" -[[package]] -name = "linked_list_allocator" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9afa463f5405ee81cdb9cc2baf37e08ec7e4c8209442b5d72c04cfb2cd6e6286" - [[package]] name = "paste" version = "1.0.15" @@ -207,7 +163,7 @@ checksum = "7d323d13972c1b104aa036bc692cd08b822c8bbf23d79a27c526095856499799" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn", ] [[package]] @@ -216,42 +172,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8188909339ccc0c68cfb5a04648313f09621e8b87dc03095454f1a11f6c5d436" -[[package]] -name = "rlsf" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "222fb240c3286247ecdee6fa5341e7cdad0ffdf8e7e401d9937f2d58482a20bf" -dependencies = [ - "cfg-if", - "const-default", - "libc", - "svgbobdoc", -] - -[[package]] -name = "svgbobdoc" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2c04b93fc15d79b39c63218f15e3fdffaa4c227830686e3b7c5f41244eb3e50" -dependencies = [ - "base64", - "proc-macro2", - "quote", - "syn 1.0.109", - "unicode-width", -] - -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - [[package]] name = "syn" version = "2.0.111" @@ -280,7 +200,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn", ] [[package]] @@ -289,12 +209,6 @@ version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" -[[package]] -name = "unicode-width" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" - [[package]] name = "wasi" version = "0.11.1+wasi-snapshot-preview1" @@ -310,21 +224,6 @@ dependencies = [ "wit-bindgen", ] -[[package]] -name = "windows-link" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" - -[[package]] -name = "windows-sys" -version = "0.61.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" -dependencies = [ - "windows-link", -] - [[package]] name = "wit-bindgen" version = "0.46.0" @@ -348,5 +247,5 @@ checksum = "2c7962b26b0a8685668b671ee4b54d007a67d4eaf05fda79ac0ecf41e32270f1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn", ] diff --git a/executor/programs/rust/ecsm/Cargo.lock b/executor/programs/rust/ecsm/Cargo.lock index 4383d105b..aa137188b 100644 --- a/executor/programs/rust/ecsm/Cargo.lock +++ b/executor/programs/rust/ecsm/Cargo.lock @@ -2,41 +2,18 @@ # It is not intended for manual editing. version = 4 -[[package]] -name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - [[package]] name = "cfg-if" version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" -[[package]] -name = "const-default" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b396d1f76d455557e1218ec8066ae14bba60b4b36ecd55577ba979f5db7ecaa" - [[package]] name = "critical-section" version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" -[[package]] -name = "dlmalloc" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675" -dependencies = [ - "cfg-if", - "libc", - "windows-sys", -] - [[package]] name = "ecsm" version = "0.1.0" @@ -44,18 +21,6 @@ dependencies = [ "lambda-vm-syscalls", ] -[[package]] -name = "embedded-alloc" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f2de9133f68db0d4627ad69db767726c99ff8585272716708227008d3f1bddd" -dependencies = [ - "const-default", - "critical-section", - "linked_list_allocator", - "rlsf", -] - [[package]] name = "embedded-hal" version = "1.0.0" @@ -89,9 +54,6 @@ dependencies = [ name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ - "critical-section", - "dlmalloc", - "embedded-alloc", "getrandom 0.2.17", "getrandom 0.3.4", "lazy_static", @@ -112,12 +74,6 @@ version = "0.2.186" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66" -[[package]] -name = "linked_list_allocator" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b23ac50abb8261cb38c6e2a7192d3302e0836dac1628f6a93b82b4fad185897" - [[package]] name = "paste" version = "1.0.15" @@ -207,7 +163,7 @@ checksum = "7d323d13972c1b104aa036bc692cd08b822c8bbf23d79a27c526095856499799" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn", ] [[package]] @@ -216,49 +172,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8188909339ccc0c68cfb5a04648313f09621e8b87dc03095454f1a11f6c5d436" -[[package]] -name = "rlsf" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1646a59a9734b8b7a0ac51689388a60fe1625d4b956348e9de07591a1478457a" -dependencies = [ - "cfg-if", - "const-default", - "libc", - "rustversion", - "svgbobdoc", -] - -[[package]] -name = "rustversion" -version = "1.0.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" - -[[package]] -name = "svgbobdoc" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2c04b93fc15d79b39c63218f15e3fdffaa4c227830686e3b7c5f41244eb3e50" -dependencies = [ - "base64", - "proc-macro2", - "quote", - "syn 1.0.109", - "unicode-width", -] - -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - [[package]] name = "syn" version = "2.0.117" @@ -287,7 +200,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn", ] [[package]] @@ -296,12 +209,6 @@ version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" -[[package]] -name = "unicode-width" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" - [[package]] name = "wasi" version = "0.11.1+wasi-snapshot-preview1" @@ -317,21 +224,6 @@ dependencies = [ "wit-bindgen", ] -[[package]] -name = "windows-link" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" - -[[package]] -name = "windows-sys" -version = "0.61.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" -dependencies = [ - "windows-link", -] - [[package]] name = "wit-bindgen" version = "0.57.1" @@ -355,5 +247,5 @@ checksum = "422033a2245cb4b6ff8def11b2dfaf184a2ab2573f5af28082a163a68889af0e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn", ] diff --git a/executor/programs/rust/ef_io_demo/Cargo.lock b/executor/programs/rust/ef_io_demo/Cargo.lock index 14b88d70c..aa95fd93e 100644 --- a/executor/programs/rust/ef_io_demo/Cargo.lock +++ b/executor/programs/rust/ef_io_demo/Cargo.lock @@ -2,41 +2,18 @@ # It is not intended for manual editing. version = 4 -[[package]] -name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - [[package]] name = "cfg-if" version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" -[[package]] -name = "const-default" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b396d1f76d455557e1218ec8066ae14bba60b4b36ecd55577ba979f5db7ecaa" - [[package]] name = "critical-section" version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" -[[package]] -name = "dlmalloc" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675" -dependencies = [ - "cfg-if", - "libc", - "windows-sys", -] - [[package]] name = "ef_io_demo" version = "0.1.0" @@ -44,18 +21,6 @@ dependencies = [ "lambda-vm-syscalls", ] -[[package]] -name = "embedded-alloc" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f2de9133f68db0d4627ad69db767726c99ff8585272716708227008d3f1bddd" -dependencies = [ - "const-default", - "critical-section", - "linked_list_allocator", - "rlsf", -] - [[package]] name = "embedded-hal" version = "1.0.0" @@ -89,9 +54,6 @@ dependencies = [ name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ - "critical-section", - "dlmalloc", - "embedded-alloc", "getrandom 0.2.17", "getrandom 0.3.4", "lazy_static", @@ -112,12 +74,6 @@ version = "0.2.186" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66" -[[package]] -name = "linked_list_allocator" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b23ac50abb8261cb38c6e2a7192d3302e0836dac1628f6a93b82b4fad185897" - [[package]] name = "paste" version = "1.0.15" @@ -207,7 +163,7 @@ checksum = "7d323d13972c1b104aa036bc692cd08b822c8bbf23d79a27c526095856499799" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn", ] [[package]] @@ -216,49 +172,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8188909339ccc0c68cfb5a04648313f09621e8b87dc03095454f1a11f6c5d436" -[[package]] -name = "rlsf" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1646a59a9734b8b7a0ac51689388a60fe1625d4b956348e9de07591a1478457a" -dependencies = [ - "cfg-if", - "const-default", - "libc", - "rustversion", - "svgbobdoc", -] - -[[package]] -name = "rustversion" -version = "1.0.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f" - -[[package]] -name = "svgbobdoc" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2c04b93fc15d79b39c63218f15e3fdffaa4c227830686e3b7c5f41244eb3e50" -dependencies = [ - "base64", - "proc-macro2", - "quote", - "syn 1.0.109", - "unicode-width", -] - -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - [[package]] name = "syn" version = "2.0.118" @@ -287,7 +200,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn", ] [[package]] @@ -296,12 +209,6 @@ version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" -[[package]] -name = "unicode-width" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" - [[package]] name = "wasi" version = "0.11.1+wasi-snapshot-preview1" @@ -317,21 +224,6 @@ dependencies = [ "wit-bindgen", ] -[[package]] -name = "windows-link" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" - -[[package]] -name = "windows-sys" -version = "0.61.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" -dependencies = [ - "windows-link", -] - [[package]] name = "wit-bindgen" version = "0.57.1" @@ -355,5 +247,5 @@ checksum = "4714fd92cf900833d49538023a9b3915155210801d1c1169eba513b2addefd71" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn", ] diff --git a/executor/programs/rust/ethereum_types/Cargo.lock b/executor/programs/rust/ethereum_types/Cargo.lock index 050fc25fa..1650bfc3b 100644 --- a/executor/programs/rust/ethereum_types/Cargo.lock +++ b/executor/programs/rust/ethereum_types/Cargo.lock @@ -2,12 +2,6 @@ # It is not intended for manual editing. version = 4 -[[package]] -name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - [[package]] name = "byteorder" version = "1.5.0" @@ -20,12 +14,6 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" -[[package]] -name = "const-default" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b396d1f76d455557e1218ec8066ae14bba60b4b36ecd55577ba979f5db7ecaa" - [[package]] name = "critical-section" version = "1.2.0" @@ -38,29 +26,6 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" -[[package]] -name = "dlmalloc" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675" -dependencies = [ - "cfg-if", - "libc", - "windows-sys", -] - -[[package]] -name = "embedded-alloc" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f2de9133f68db0d4627ad69db767726c99ff8585272716708227008d3f1bddd" -dependencies = [ - "const-default", - "critical-section", - "linked_list_allocator", - "rlsf", -] - [[package]] name = "embedded-hal" version = "1.0.0" @@ -130,9 +95,6 @@ checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ - "critical-section", - "dlmalloc", - "embedded-alloc", "getrandom 0.2.17", "getrandom 0.3.4", "lazy_static", @@ -153,12 +115,6 @@ version = "0.2.178" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37c93d8daa9d8a012fd8ab92f088405fb202ea0b6ab73ee2482ae66af4f42091" -[[package]] -name = "linked_list_allocator" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9afa463f5405ee81cdb9cc2baf37e08ec7e4c8209442b5d72c04cfb2cd6e6286" - [[package]] name = "paste" version = "1.0.15" @@ -258,7 +214,7 @@ checksum = "7d323d13972c1b104aa036bc692cd08b822c8bbf23d79a27c526095856499799" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn", ] [[package]] @@ -267,18 +223,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8188909339ccc0c68cfb5a04648313f09621e8b87dc03095454f1a11f6c5d436" -[[package]] -name = "rlsf" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "222fb240c3286247ecdee6fa5341e7cdad0ffdf8e7e401d9937f2d58482a20bf" -dependencies = [ - "cfg-if", - "const-default", - "libc", - "svgbobdoc", -] - [[package]] name = "rustc-hex" version = "2.1.0" @@ -291,30 +235,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" -[[package]] -name = "svgbobdoc" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2c04b93fc15d79b39c63218f15e3fdffaa4c227830686e3b7c5f41244eb3e50" -dependencies = [ - "base64", - "proc-macro2", - "quote", - "syn 1.0.109", - "unicode-width", -] - -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - [[package]] name = "syn" version = "2.0.111" @@ -343,7 +263,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn", ] [[package]] @@ -364,12 +284,6 @@ version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" -[[package]] -name = "unicode-width" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" - [[package]] name = "wasi" version = "0.11.1+wasi-snapshot-preview1" @@ -385,21 +299,6 @@ dependencies = [ "wit-bindgen", ] -[[package]] -name = "windows-link" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" - -[[package]] -name = "windows-sys" -version = "0.61.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" -dependencies = [ - "windows-link", -] - [[package]] name = "wit-bindgen" version = "0.46.0" @@ -423,5 +322,5 @@ checksum = "2c7962b26b0a8685668b671ee4b54d007a67d4eaf05fda79ac0ecf41e32270f1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn", ] diff --git a/executor/programs/rust/ethrex/Cargo.lock b/executor/programs/rust/ethrex/Cargo.lock index 7ce6b72e8..c06b622f8 100644 --- a/executor/programs/rust/ethrex/Cargo.lock +++ b/executor/programs/rust/ethrex/Cargo.lock @@ -94,7 +94,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "62945a2f7e6de02a31fe400aa489f0e0f5b2502e69f95f853adb82a96c7a6b60" dependencies = [ "quote", - "syn 2.0.117", + "syn", ] [[package]] @@ -107,7 +107,7 @@ dependencies = [ "num-traits", "proc-macro2", "quote", - "syn 2.0.117", + "syn", ] [[package]] @@ -146,7 +146,7 @@ checksum = "213888f660fddcca0d257e88e54ac05bca01885f258ccdf695bafd77031bb69d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn", ] [[package]] @@ -177,12 +177,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" -[[package]] -name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - [[package]] name = "base64" version = "0.22.1" @@ -286,7 +280,7 @@ checksum = "89385e82b5d1821d2219e0b095efa2cc1f246cbf99080f3be46a1a85c0d392d9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn", ] [[package]] @@ -338,12 +332,6 @@ dependencies = [ "windows-link", ] -[[package]] -name = "const-default" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b396d1f76d455557e1218ec8066ae14bba60b4b36ecd55577ba979f5db7ecaa" - [[package]] name = "const-oid" version = "0.9.6" @@ -514,7 +502,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.117", + "syn", ] [[package]] @@ -525,7 +513,7 @@ checksum = "ac3984ec7bd6cfa798e62b4a642426a5be0e68f9401cfc2a01e3fa9ea2fcdb8d" dependencies = [ "darling_core", "quote", - "syn 2.0.117", + "syn", ] [[package]] @@ -565,7 +553,7 @@ dependencies = [ "convert_case", "proc-macro2", "quote", - "syn 2.0.117", + "syn", "unicode-xid", ] @@ -581,17 +569,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "dlmalloc" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675" -dependencies = [ - "cfg-if", - "libc", - "windows-sys", -] - [[package]] name = "dyn-clone" version = "1.0.20" @@ -621,7 +598,7 @@ dependencies = [ "enum-ordinalize", "proc-macro2", "quote", - "syn 2.0.117", + "syn", ] [[package]] @@ -649,18 +626,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "embedded-alloc" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f2de9133f68db0d4627ad69db767726c99ff8585272716708227008d3f1bddd" -dependencies = [ - "const-default", - "critical-section", - "linked_list_allocator", - "rlsf", -] - [[package]] name = "embedded-hal" version = "1.0.0" @@ -684,7 +649,7 @@ checksum = "8ca9601fb2d62598ee17836250842873a413586e5d7ed88b356e38ddbb0ec631" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn", ] [[package]] @@ -1151,7 +1116,7 @@ checksum = "a0eb5a3343abf848c0984fe4604b2b105da9539376e24fc0a3b0007411ae4fd9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn", ] [[package]] @@ -1263,9 +1228,6 @@ dependencies = [ name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ - "critical-section", - "dlmalloc", - "embedded-alloc", "getrandom 0.2.17", "getrandom 0.3.4", "lazy_static", @@ -1320,12 +1282,6 @@ version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" -[[package]] -name = "linked_list_allocator" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b23ac50abb8261cb38c6e2a7192d3302e0836dac1628f6a93b82b4fad185897" - [[package]] name = "log" version = "0.4.32" @@ -1410,7 +1366,7 @@ checksum = "4568f25ccbd45ab5d5603dc34318c1ec56b117531781260002151b8530a9f931" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn", ] [[package]] @@ -1505,7 +1461,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.117", + "syn", ] [[package]] @@ -1602,7 +1558,7 @@ checksum = "7347867d0a7e1208d93b46767be83e2b8f978c3dad35f775ac8d8847551d6fe1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn", ] [[package]] @@ -1731,7 +1687,7 @@ checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn", ] [[package]] @@ -1783,7 +1739,7 @@ checksum = "7d323d13972c1b104aa036bc692cd08b822c8bbf23d79a27c526095856499799" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn", ] [[package]] @@ -1819,7 +1775,7 @@ checksum = "5d2ed0b54125315fb36bd021e82d314d1c126548f871634b483f46b31d13cac6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn", ] [[package]] @@ -1832,19 +1788,6 @@ dependencies = [ "rustc-hex", ] -[[package]] -name = "rlsf" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1646a59a9734b8b7a0ac51689388a60fe1625d4b956348e9de07591a1478457a" -dependencies = [ - "cfg-if", - "const-default", - "libc", - "rustversion", - "svgbobdoc", -] - [[package]] name = "rustc-hash" version = "2.1.2" @@ -1963,7 +1906,7 @@ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn", ] [[package]] @@ -1985,7 +1928,7 @@ version = "3.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "76a5c54c7310e7b8b9577c286d7e399ddd876c3e12b3ed917a8aabc4b96e9e8c" dependencies = [ - "base64 0.22.1", + "base64", "bs58", "chrono", "hex", @@ -2008,7 +1951,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.117", + "syn", ] [[package]] @@ -2100,7 +2043,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.117", + "syn", ] [[package]] @@ -2109,30 +2052,6 @@ version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" -[[package]] -name = "svgbobdoc" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2c04b93fc15d79b39c63218f15e3fdffaa4c227830686e3b7c5f41244eb3e50" -dependencies = [ - "base64 0.13.1", - "proc-macro2", - "quote", - "syn 1.0.109", - "unicode-width", -] - -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - [[package]] name = "syn" version = "2.0.117" @@ -2176,7 +2095,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn", ] [[package]] @@ -2187,7 +2106,7 @@ checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn", ] [[package]] @@ -2294,7 +2213,7 @@ checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn", ] [[package]] @@ -2336,12 +2255,6 @@ version = "1.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c6f5d3c3b1bf09027a88a6bc961fc00497d651009560b5463668dc81b0fa87a8" -[[package]] -name = "unicode-width" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" - [[package]] name = "unicode-xid" version = "0.2.6" @@ -2417,7 +2330,7 @@ dependencies = [ "bumpalo", "proc-macro2", "quote", - "syn 2.0.117", + "syn", "wasm-bindgen-shared", ] @@ -2461,7 +2374,7 @@ checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn", ] [[package]] @@ -2472,7 +2385,7 @@ checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn", ] [[package]] @@ -2499,15 +2412,6 @@ dependencies = [ "windows-link", ] -[[package]] -name = "windows-sys" -version = "0.61.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" -dependencies = [ - "windows-link", -] - [[package]] name = "winnow" version = "1.0.3" @@ -2549,7 +2453,7 @@ checksum = "1ae7f38b72ec2a254e2b87ef277cf2cd4fb97cbebf944faa6f33354da0867930" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn", ] [[package]] @@ -2569,7 +2473,7 @@ checksum = "85a5b4158499876c763cb03bc4e49185d3cccbabb15b33c627f7884f43db852e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn", ] [[package]] diff --git a/executor/programs/rust/hashmap/Cargo.lock b/executor/programs/rust/hashmap/Cargo.lock index 413570ece..88a5011d0 100644 --- a/executor/programs/rust/hashmap/Cargo.lock +++ b/executor/programs/rust/hashmap/Cargo.lock @@ -2,53 +2,18 @@ # It is not intended for manual editing. version = 4 -[[package]] -name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - [[package]] name = "cfg-if" version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" -[[package]] -name = "const-default" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b396d1f76d455557e1218ec8066ae14bba60b4b36ecd55577ba979f5db7ecaa" - [[package]] name = "critical-section" version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" -[[package]] -name = "dlmalloc" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675" -dependencies = [ - "cfg-if", - "libc", - "windows-sys", -] - -[[package]] -name = "embedded-alloc" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f2de9133f68db0d4627ad69db767726c99ff8585272716708227008d3f1bddd" -dependencies = [ - "const-default", - "critical-section", - "linked_list_allocator", - "rlsf", -] - [[package]] name = "embedded-hal" version = "1.0.0" @@ -89,9 +54,6 @@ dependencies = [ name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ - "critical-section", - "dlmalloc", - "embedded-alloc", "getrandom 0.2.17", "getrandom 0.3.4", "lazy_static", @@ -112,12 +74,6 @@ version = "0.2.178" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37c93d8daa9d8a012fd8ab92f088405fb202ea0b6ab73ee2482ae66af4f42091" -[[package]] -name = "linked_list_allocator" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9afa463f5405ee81cdb9cc2baf37e08ec7e4c8209442b5d72c04cfb2cd6e6286" - [[package]] name = "paste" version = "1.0.15" @@ -207,7 +163,7 @@ checksum = "7d323d13972c1b104aa036bc692cd08b822c8bbf23d79a27c526095856499799" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn", ] [[package]] @@ -216,42 +172,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8188909339ccc0c68cfb5a04648313f09621e8b87dc03095454f1a11f6c5d436" -[[package]] -name = "rlsf" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "222fb240c3286247ecdee6fa5341e7cdad0ffdf8e7e401d9937f2d58482a20bf" -dependencies = [ - "cfg-if", - "const-default", - "libc", - "svgbobdoc", -] - -[[package]] -name = "svgbobdoc" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2c04b93fc15d79b39c63218f15e3fdffaa4c227830686e3b7c5f41244eb3e50" -dependencies = [ - "base64", - "proc-macro2", - "quote", - "syn 1.0.109", - "unicode-width", -] - -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - [[package]] name = "syn" version = "2.0.111" @@ -280,7 +200,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn", ] [[package]] @@ -289,12 +209,6 @@ version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" -[[package]] -name = "unicode-width" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" - [[package]] name = "wasi" version = "0.11.1+wasi-snapshot-preview1" @@ -310,21 +224,6 @@ dependencies = [ "wit-bindgen", ] -[[package]] -name = "windows-link" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" - -[[package]] -name = "windows-sys" -version = "0.61.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" -dependencies = [ - "windows-link", -] - [[package]] name = "wit-bindgen" version = "0.46.0" @@ -348,5 +247,5 @@ checksum = "2c7962b26b0a8685668b671ee4b54d007a67d4eaf05fda79ac0ecf41e32270f1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn", ] diff --git a/executor/programs/rust/keccak/Cargo.lock b/executor/programs/rust/keccak/Cargo.lock index 696f724da..aad4cd4d0 100644 --- a/executor/programs/rust/keccak/Cargo.lock +++ b/executor/programs/rust/keccak/Cargo.lock @@ -2,24 +2,12 @@ # It is not intended for manual editing. version = 4 -[[package]] -name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - [[package]] name = "cfg-if" version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" -[[package]] -name = "const-default" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b396d1f76d455557e1218ec8066ae14bba60b4b36ecd55577ba979f5db7ecaa" - [[package]] name = "critical-section" version = "1.2.0" @@ -32,29 +20,6 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" -[[package]] -name = "dlmalloc" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675" -dependencies = [ - "cfg-if", - "libc", - "windows-sys", -] - -[[package]] -name = "embedded-alloc" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f2de9133f68db0d4627ad69db767726c99ff8585272716708227008d3f1bddd" -dependencies = [ - "const-default", - "critical-section", - "linked_list_allocator", - "rlsf", -] - [[package]] name = "embedded-hal" version = "1.0.0" @@ -96,9 +61,6 @@ dependencies = [ name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ - "critical-section", - "dlmalloc", - "embedded-alloc", "getrandom 0.2.17", "getrandom 0.3.4", "lazy_static", @@ -119,12 +81,6 @@ version = "0.2.178" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37c93d8daa9d8a012fd8ab92f088405fb202ea0b6ab73ee2482ae66af4f42091" -[[package]] -name = "linked_list_allocator" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9afa463f5405ee81cdb9cc2baf37e08ec7e4c8209442b5d72c04cfb2cd6e6286" - [[package]] name = "paste" version = "1.0.15" @@ -214,7 +170,7 @@ checksum = "7d323d13972c1b104aa036bc692cd08b822c8bbf23d79a27c526095856499799" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn", ] [[package]] @@ -223,42 +179,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8188909339ccc0c68cfb5a04648313f09621e8b87dc03095454f1a11f6c5d436" -[[package]] -name = "rlsf" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "222fb240c3286247ecdee6fa5341e7cdad0ffdf8e7e401d9937f2d58482a20bf" -dependencies = [ - "cfg-if", - "const-default", - "libc", - "svgbobdoc", -] - -[[package]] -name = "svgbobdoc" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2c04b93fc15d79b39c63218f15e3fdffaa4c227830686e3b7c5f41244eb3e50" -dependencies = [ - "base64", - "proc-macro2", - "quote", - "syn 1.0.109", - "unicode-width", -] - -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - [[package]] name = "syn" version = "2.0.111" @@ -287,7 +207,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn", ] [[package]] @@ -305,12 +225,6 @@ version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" -[[package]] -name = "unicode-width" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" - [[package]] name = "wasi" version = "0.11.1+wasi-snapshot-preview1" @@ -326,21 +240,6 @@ dependencies = [ "wit-bindgen", ] -[[package]] -name = "windows-link" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" - -[[package]] -name = "windows-sys" -version = "0.61.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" -dependencies = [ - "windows-link", -] - [[package]] name = "wit-bindgen" version = "0.46.0" @@ -364,5 +263,5 @@ checksum = "2c7962b26b0a8685668b671ee4b54d007a67d4eaf05fda79ac0ecf41e32270f1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn", ] diff --git a/executor/programs/rust/keccak_precompile/Cargo.lock b/executor/programs/rust/keccak_precompile/Cargo.lock index f4f032df9..2833a7005 100644 --- a/executor/programs/rust/keccak_precompile/Cargo.lock +++ b/executor/programs/rust/keccak_precompile/Cargo.lock @@ -2,53 +2,18 @@ # It is not intended for manual editing. version = 4 -[[package]] -name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - [[package]] name = "cfg-if" version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" -[[package]] -name = "const-default" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b396d1f76d455557e1218ec8066ae14bba60b4b36ecd55577ba979f5db7ecaa" - [[package]] name = "critical-section" version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" -[[package]] -name = "dlmalloc" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675" -dependencies = [ - "cfg-if", - "libc", - "windows-sys", -] - -[[package]] -name = "embedded-alloc" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f2de9133f68db0d4627ad69db767726c99ff8585272716708227008d3f1bddd" -dependencies = [ - "const-default", - "critical-section", - "linked_list_allocator", - "rlsf", -] - [[package]] name = "embedded-hal" version = "1.0.0" @@ -89,9 +54,6 @@ dependencies = [ name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ - "critical-section", - "dlmalloc", - "embedded-alloc", "getrandom 0.2.17", "getrandom 0.3.4", "lazy_static", @@ -112,12 +74,6 @@ version = "0.2.186" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66" -[[package]] -name = "linked_list_allocator" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b23ac50abb8261cb38c6e2a7192d3302e0836dac1628f6a93b82b4fad185897" - [[package]] name = "paste" version = "1.0.15" @@ -207,7 +163,7 @@ checksum = "7d323d13972c1b104aa036bc692cd08b822c8bbf23d79a27c526095856499799" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn", ] [[package]] @@ -216,49 +172,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8188909339ccc0c68cfb5a04648313f09621e8b87dc03095454f1a11f6c5d436" -[[package]] -name = "rlsf" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1646a59a9734b8b7a0ac51689388a60fe1625d4b956348e9de07591a1478457a" -dependencies = [ - "cfg-if", - "const-default", - "libc", - "rustversion", - "svgbobdoc", -] - -[[package]] -name = "rustversion" -version = "1.0.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f" - -[[package]] -name = "svgbobdoc" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2c04b93fc15d79b39c63218f15e3fdffaa4c227830686e3b7c5f41244eb3e50" -dependencies = [ - "base64", - "proc-macro2", - "quote", - "syn 1.0.109", - "unicode-width", -] - -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - [[package]] name = "syn" version = "2.0.118" @@ -287,7 +200,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn", ] [[package]] @@ -296,12 +209,6 @@ version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" -[[package]] -name = "unicode-width" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" - [[package]] name = "wasi" version = "0.11.1+wasi-snapshot-preview1" @@ -317,21 +224,6 @@ dependencies = [ "wit-bindgen", ] -[[package]] -name = "windows-link" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" - -[[package]] -name = "windows-sys" -version = "0.61.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" -dependencies = [ - "windows-link", -] - [[package]] name = "wit-bindgen" version = "0.57.1" @@ -355,5 +247,5 @@ checksum = "e2e817b7b52d0c7358d3246da9d69935ebb18116b2b102b4230dac079b4862f5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn", ] diff --git a/executor/programs/rust/keccak_transcript_pattern/Cargo.lock b/executor/programs/rust/keccak_transcript_pattern/Cargo.lock index 57ab111e0..b8af84c9e 100644 --- a/executor/programs/rust/keccak_transcript_pattern/Cargo.lock +++ b/executor/programs/rust/keccak_transcript_pattern/Cargo.lock @@ -8,12 +8,6 @@ version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" -[[package]] -name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - [[package]] name = "block-buffer" version = "0.10.4" @@ -35,12 +29,6 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" -[[package]] -name = "const-default" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b396d1f76d455557e1218ec8066ae14bba60b4b36ecd55577ba979f5db7ecaa" - [[package]] name = "cpufeatures" version = "0.2.17" @@ -114,35 +102,12 @@ dependencies = [ "crypto-common", ] -[[package]] -name = "dlmalloc" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675" -dependencies = [ - "cfg-if", - "libc", - "windows-sys", -] - [[package]] name = "either" version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "91622ff5e7162018101f2fea40d6ebf4a78bbe5a49736a2020649edf9693679e" -[[package]] -name = "embedded-alloc" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f2de9133f68db0d4627ad69db767726c99ff8585272716708227008d3f1bddd" -dependencies = [ - "const-default", - "critical-section", - "linked_list_allocator", - "rlsf", -] - [[package]] name = "embedded-hal" version = "1.0.0" @@ -247,9 +212,6 @@ dependencies = [ name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ - "critical-section", - "dlmalloc", - "embedded-alloc", "getrandom 0.2.17", "getrandom 0.3.4", "lazy_static", @@ -270,12 +232,6 @@ version = "0.2.186" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66" -[[package]] -name = "linked_list_allocator" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b23ac50abb8261cb38c6e2a7192d3302e0836dac1628f6a93b82b4fad185897" - [[package]] name = "math" version = "0.1.0" @@ -469,7 +425,7 @@ checksum = "7d323d13972c1b104aa036bc692cd08b822c8bbf23d79a27c526095856499799" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn", ] [[package]] @@ -478,19 +434,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8188909339ccc0c68cfb5a04648313f09621e8b87dc03095454f1a11f6c5d436" -[[package]] -name = "rlsf" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1646a59a9734b8b7a0ac51689388a60fe1625d4b956348e9de07591a1478457a" -dependencies = [ - "cfg-if", - "const-default", - "libc", - "rustversion", - "svgbobdoc", -] - [[package]] name = "rustversion" version = "1.0.23" @@ -524,7 +467,7 @@ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn", ] [[package]] @@ -556,30 +499,6 @@ version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" -[[package]] -name = "svgbobdoc" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2c04b93fc15d79b39c63218f15e3fdffaa4c227830686e3b7c5f41244eb3e50" -dependencies = [ - "base64", - "proc-macro2", - "quote", - "syn 1.0.109", - "unicode-width", -] - -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - [[package]] name = "syn" version = "2.0.118" @@ -608,7 +527,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn", ] [[package]] @@ -623,12 +542,6 @@ version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" -[[package]] -name = "unicode-width" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" - [[package]] name = "version_check" version = "0.9.5" @@ -682,7 +595,7 @@ dependencies = [ "bumpalo", "proc-macro2", "quote", - "syn 2.0.118", + "syn", "wasm-bindgen-shared", ] @@ -695,21 +608,6 @@ dependencies = [ "unicode-ident", ] -[[package]] -name = "windows-link" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" - -[[package]] -name = "windows-sys" -version = "0.61.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" -dependencies = [ - "windows-link", -] - [[package]] name = "wit-bindgen" version = "0.57.1" @@ -733,7 +631,7 @@ checksum = "e2e817b7b52d0c7358d3246da9d69935ebb18116b2b102b4230dac079b4862f5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn", ] [[package]] diff --git a/executor/programs/rust/memory/Cargo.lock b/executor/programs/rust/memory/Cargo.lock index eae0671b6..c8b168983 100644 --- a/executor/programs/rust/memory/Cargo.lock +++ b/executor/programs/rust/memory/Cargo.lock @@ -2,53 +2,18 @@ # It is not intended for manual editing. version = 4 -[[package]] -name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - [[package]] name = "cfg-if" version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" -[[package]] -name = "const-default" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b396d1f76d455557e1218ec8066ae14bba60b4b36ecd55577ba979f5db7ecaa" - [[package]] name = "critical-section" version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" -[[package]] -name = "dlmalloc" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675" -dependencies = [ - "cfg-if", - "libc", - "windows-sys", -] - -[[package]] -name = "embedded-alloc" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f2de9133f68db0d4627ad69db767726c99ff8585272716708227008d3f1bddd" -dependencies = [ - "const-default", - "critical-section", - "linked_list_allocator", - "rlsf", -] - [[package]] name = "embedded-hal" version = "1.0.0" @@ -82,9 +47,6 @@ dependencies = [ name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ - "critical-section", - "dlmalloc", - "embedded-alloc", "getrandom 0.2.17", "getrandom 0.3.4", "lazy_static", @@ -105,12 +67,6 @@ version = "0.2.178" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37c93d8daa9d8a012fd8ab92f088405fb202ea0b6ab73ee2482ae66af4f42091" -[[package]] -name = "linked_list_allocator" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9afa463f5405ee81cdb9cc2baf37e08ec7e4c8209442b5d72c04cfb2cd6e6286" - [[package]] name = "memory" version = "0.1.0" @@ -207,7 +163,7 @@ checksum = "7d323d13972c1b104aa036bc692cd08b822c8bbf23d79a27c526095856499799" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn", ] [[package]] @@ -216,42 +172,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8188909339ccc0c68cfb5a04648313f09621e8b87dc03095454f1a11f6c5d436" -[[package]] -name = "rlsf" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "222fb240c3286247ecdee6fa5341e7cdad0ffdf8e7e401d9937f2d58482a20bf" -dependencies = [ - "cfg-if", - "const-default", - "libc", - "svgbobdoc", -] - -[[package]] -name = "svgbobdoc" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2c04b93fc15d79b39c63218f15e3fdffaa4c227830686e3b7c5f41244eb3e50" -dependencies = [ - "base64", - "proc-macro2", - "quote", - "syn 1.0.109", - "unicode-width", -] - -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - [[package]] name = "syn" version = "2.0.111" @@ -280,7 +200,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn", ] [[package]] @@ -289,12 +209,6 @@ version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" -[[package]] -name = "unicode-width" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" - [[package]] name = "wasi" version = "0.11.1+wasi-snapshot-preview1" @@ -310,21 +224,6 @@ dependencies = [ "wit-bindgen", ] -[[package]] -name = "windows-link" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" - -[[package]] -name = "windows-sys" -version = "0.61.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" -dependencies = [ - "windows-link", -] - [[package]] name = "wit-bindgen" version = "0.46.0" @@ -348,5 +247,5 @@ checksum = "2c7962b26b0a8685668b671ee4b54d007a67d4eaf05fda79ac0ecf41e32270f1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn", ] diff --git a/executor/programs/rust/panic/Cargo.lock b/executor/programs/rust/panic/Cargo.lock index f8a26d742..2c30f9f50 100644 --- a/executor/programs/rust/panic/Cargo.lock +++ b/executor/programs/rust/panic/Cargo.lock @@ -2,53 +2,18 @@ # It is not intended for manual editing. version = 4 -[[package]] -name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - [[package]] name = "cfg-if" version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" -[[package]] -name = "const-default" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b396d1f76d455557e1218ec8066ae14bba60b4b36ecd55577ba979f5db7ecaa" - [[package]] name = "critical-section" version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" -[[package]] -name = "dlmalloc" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675" -dependencies = [ - "cfg-if", - "libc", - "windows-sys", -] - -[[package]] -name = "embedded-alloc" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f2de9133f68db0d4627ad69db767726c99ff8585272716708227008d3f1bddd" -dependencies = [ - "const-default", - "critical-section", - "linked_list_allocator", - "rlsf", -] - [[package]] name = "embedded-hal" version = "1.0.0" @@ -82,9 +47,6 @@ dependencies = [ name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ - "critical-section", - "dlmalloc", - "embedded-alloc", "getrandom 0.2.17", "getrandom 0.3.4", "lazy_static", @@ -105,12 +67,6 @@ version = "0.2.178" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37c93d8daa9d8a012fd8ab92f088405fb202ea0b6ab73ee2482ae66af4f42091" -[[package]] -name = "linked_list_allocator" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9afa463f5405ee81cdb9cc2baf37e08ec7e4c8209442b5d72c04cfb2cd6e6286" - [[package]] name = "panic" version = "0.1.0" @@ -207,7 +163,7 @@ checksum = "7d323d13972c1b104aa036bc692cd08b822c8bbf23d79a27c526095856499799" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn", ] [[package]] @@ -216,42 +172,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8188909339ccc0c68cfb5a04648313f09621e8b87dc03095454f1a11f6c5d436" -[[package]] -name = "rlsf" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "222fb240c3286247ecdee6fa5341e7cdad0ffdf8e7e401d9937f2d58482a20bf" -dependencies = [ - "cfg-if", - "const-default", - "libc", - "svgbobdoc", -] - -[[package]] -name = "svgbobdoc" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2c04b93fc15d79b39c63218f15e3fdffaa4c227830686e3b7c5f41244eb3e50" -dependencies = [ - "base64", - "proc-macro2", - "quote", - "syn 1.0.109", - "unicode-width", -] - -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - [[package]] name = "syn" version = "2.0.111" @@ -280,7 +200,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn", ] [[package]] @@ -289,12 +209,6 @@ version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" -[[package]] -name = "unicode-width" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" - [[package]] name = "wasi" version = "0.11.1+wasi-snapshot-preview1" @@ -310,21 +224,6 @@ dependencies = [ "wit-bindgen", ] -[[package]] -name = "windows-link" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" - -[[package]] -name = "windows-sys" -version = "0.61.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" -dependencies = [ - "windows-link", -] - [[package]] name = "wit-bindgen" version = "0.46.0" @@ -348,5 +247,5 @@ checksum = "2c7962b26b0a8685668b671ee4b54d007a67d4eaf05fda79ac0ecf41e32270f1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn", ] diff --git a/executor/programs/rust/print/Cargo.lock b/executor/programs/rust/print/Cargo.lock index 00bb7b458..2c66813b6 100644 --- a/executor/programs/rust/print/Cargo.lock +++ b/executor/programs/rust/print/Cargo.lock @@ -2,53 +2,18 @@ # It is not intended for manual editing. version = 4 -[[package]] -name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - [[package]] name = "cfg-if" version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" -[[package]] -name = "const-default" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b396d1f76d455557e1218ec8066ae14bba60b4b36ecd55577ba979f5db7ecaa" - [[package]] name = "critical-section" version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" -[[package]] -name = "dlmalloc" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675" -dependencies = [ - "cfg-if", - "libc", - "windows-sys", -] - -[[package]] -name = "embedded-alloc" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f2de9133f68db0d4627ad69db767726c99ff8585272716708227008d3f1bddd" -dependencies = [ - "const-default", - "critical-section", - "linked_list_allocator", - "rlsf", -] - [[package]] name = "embedded-hal" version = "1.0.0" @@ -82,9 +47,6 @@ dependencies = [ name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ - "critical-section", - "dlmalloc", - "embedded-alloc", "getrandom 0.2.17", "getrandom 0.3.4", "lazy_static", @@ -105,12 +67,6 @@ version = "0.2.179" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c5a2d376baa530d1238d133232d15e239abad80d05838b4b59354e5268af431f" -[[package]] -name = "linked_list_allocator" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9afa463f5405ee81cdb9cc2baf37e08ec7e4c8209442b5d72c04cfb2cd6e6286" - [[package]] name = "paste" version = "1.0.15" @@ -207,7 +163,7 @@ checksum = "7d323d13972c1b104aa036bc692cd08b822c8bbf23d79a27c526095856499799" dependencies = [ "proc-macro2", "quote", - "syn 2.0.113", + "syn", ] [[package]] @@ -216,42 +172,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8188909339ccc0c68cfb5a04648313f09621e8b87dc03095454f1a11f6c5d436" -[[package]] -name = "rlsf" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "222fb240c3286247ecdee6fa5341e7cdad0ffdf8e7e401d9937f2d58482a20bf" -dependencies = [ - "cfg-if", - "const-default", - "libc", - "svgbobdoc", -] - -[[package]] -name = "svgbobdoc" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2c04b93fc15d79b39c63218f15e3fdffaa4c227830686e3b7c5f41244eb3e50" -dependencies = [ - "base64", - "proc-macro2", - "quote", - "syn 1.0.109", - "unicode-width", -] - -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - [[package]] name = "syn" version = "2.0.113" @@ -280,7 +200,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.113", + "syn", ] [[package]] @@ -289,12 +209,6 @@ version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" -[[package]] -name = "unicode-width" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" - [[package]] name = "wasi" version = "0.11.1+wasi-snapshot-preview1" @@ -310,21 +224,6 @@ dependencies = [ "wit-bindgen", ] -[[package]] -name = "windows-link" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" - -[[package]] -name = "windows-sys" -version = "0.61.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" -dependencies = [ - "windows-link", -] - [[package]] name = "wit-bindgen" version = "0.46.0" @@ -348,5 +247,5 @@ checksum = "2c7962b26b0a8685668b671ee4b54d007a67d4eaf05fda79ac0ecf41e32270f1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.113", + "syn", ] diff --git a/executor/programs/rust/random/Cargo.lock b/executor/programs/rust/random/Cargo.lock index 92c949323..4c98271dc 100644 --- a/executor/programs/rust/random/Cargo.lock +++ b/executor/programs/rust/random/Cargo.lock @@ -2,53 +2,18 @@ # It is not intended for manual editing. version = 4 -[[package]] -name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - [[package]] name = "cfg-if" version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" -[[package]] -name = "const-default" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b396d1f76d455557e1218ec8066ae14bba60b4b36ecd55577ba979f5db7ecaa" - [[package]] name = "critical-section" version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" -[[package]] -name = "dlmalloc" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675" -dependencies = [ - "cfg-if", - "libc", - "windows-sys", -] - -[[package]] -name = "embedded-alloc" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f2de9133f68db0d4627ad69db767726c99ff8585272716708227008d3f1bddd" -dependencies = [ - "const-default", - "critical-section", - "linked_list_allocator", - "rlsf", -] - [[package]] name = "embedded-hal" version = "1.0.0" @@ -82,9 +47,6 @@ dependencies = [ name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ - "critical-section", - "dlmalloc", - "embedded-alloc", "getrandom 0.2.17", "getrandom 0.3.4", "lazy_static", @@ -105,12 +67,6 @@ version = "0.2.178" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37c93d8daa9d8a012fd8ab92f088405fb202ea0b6ab73ee2482ae66af4f42091" -[[package]] -name = "linked_list_allocator" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9afa463f5405ee81cdb9cc2baf37e08ec7e4c8209442b5d72c04cfb2cd6e6286" - [[package]] name = "paste" version = "1.0.15" @@ -208,7 +164,7 @@ checksum = "7d323d13972c1b104aa036bc692cd08b822c8bbf23d79a27c526095856499799" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn", ] [[package]] @@ -217,42 +173,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8188909339ccc0c68cfb5a04648313f09621e8b87dc03095454f1a11f6c5d436" -[[package]] -name = "rlsf" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "222fb240c3286247ecdee6fa5341e7cdad0ffdf8e7e401d9937f2d58482a20bf" -dependencies = [ - "cfg-if", - "const-default", - "libc", - "svgbobdoc", -] - -[[package]] -name = "svgbobdoc" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2c04b93fc15d79b39c63218f15e3fdffaa4c227830686e3b7c5f41244eb3e50" -dependencies = [ - "base64", - "proc-macro2", - "quote", - "syn 1.0.109", - "unicode-width", -] - -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - [[package]] name = "syn" version = "2.0.111" @@ -281,7 +201,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn", ] [[package]] @@ -290,12 +210,6 @@ version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" -[[package]] -name = "unicode-width" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" - [[package]] name = "wasi" version = "0.11.1+wasi-snapshot-preview1" @@ -311,21 +225,6 @@ dependencies = [ "wit-bindgen", ] -[[package]] -name = "windows-link" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" - -[[package]] -name = "windows-sys" -version = "0.61.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" -dependencies = [ - "windows-link", -] - [[package]] name = "wit-bindgen" version = "0.46.0" @@ -349,5 +248,5 @@ checksum = "c9c2d862265a8bb4471d87e033e730f536e2a285cc7cb05dbce09a2a97075f90" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn", ] diff --git a/executor/programs/rust/serde/Cargo.lock b/executor/programs/rust/serde/Cargo.lock index d62620ed1..6e2a1182a 100644 --- a/executor/programs/rust/serde/Cargo.lock +++ b/executor/programs/rust/serde/Cargo.lock @@ -2,53 +2,18 @@ # It is not intended for manual editing. version = 4 -[[package]] -name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - [[package]] name = "cfg-if" version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" -[[package]] -name = "const-default" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b396d1f76d455557e1218ec8066ae14bba60b4b36ecd55577ba979f5db7ecaa" - [[package]] name = "critical-section" version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" -[[package]] -name = "dlmalloc" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675" -dependencies = [ - "cfg-if", - "libc", - "windows-sys", -] - -[[package]] -name = "embedded-alloc" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f2de9133f68db0d4627ad69db767726c99ff8585272716708227008d3f1bddd" -dependencies = [ - "const-default", - "critical-section", - "linked_list_allocator", - "rlsf", -] - [[package]] name = "embedded-hal" version = "1.0.0" @@ -88,9 +53,6 @@ checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ - "critical-section", - "dlmalloc", - "embedded-alloc", "getrandom 0.2.17", "getrandom 0.3.4", "lazy_static", @@ -111,12 +73,6 @@ version = "0.2.178" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37c93d8daa9d8a012fd8ab92f088405fb202ea0b6ab73ee2482ae66af4f42091" -[[package]] -name = "linked_list_allocator" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9afa463f5405ee81cdb9cc2baf37e08ec7e4c8209442b5d72c04cfb2cd6e6286" - [[package]] name = "memchr" version = "2.7.6" @@ -212,7 +168,7 @@ checksum = "7d323d13972c1b104aa036bc692cd08b822c8bbf23d79a27c526095856499799" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn", ] [[package]] @@ -221,18 +177,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8188909339ccc0c68cfb5a04648313f09621e8b87dc03095454f1a11f6c5d436" -[[package]] -name = "rlsf" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "222fb240c3286247ecdee6fa5341e7cdad0ffdf8e7e401d9937f2d58482a20bf" -dependencies = [ - "cfg-if", - "const-default", - "libc", - "svgbobdoc", -] - [[package]] name = "serde" version = "0.1.0" @@ -269,7 +213,7 @@ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn", ] [[package]] @@ -285,30 +229,6 @@ dependencies = [ "zmij", ] -[[package]] -name = "svgbobdoc" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2c04b93fc15d79b39c63218f15e3fdffaa4c227830686e3b7c5f41244eb3e50" -dependencies = [ - "base64", - "proc-macro2", - "quote", - "syn 1.0.109", - "unicode-width", -] - -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - [[package]] name = "syn" version = "2.0.111" @@ -337,7 +257,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn", ] [[package]] @@ -346,12 +266,6 @@ version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" -[[package]] -name = "unicode-width" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" - [[package]] name = "wasi" version = "0.11.1+wasi-snapshot-preview1" @@ -367,21 +281,6 @@ dependencies = [ "wit-bindgen", ] -[[package]] -name = "windows-link" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" - -[[package]] -name = "windows-sys" -version = "0.61.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" -dependencies = [ - "windows-link", -] - [[package]] name = "wit-bindgen" version = "0.46.0" @@ -405,7 +304,7 @@ checksum = "2c7962b26b0a8685668b671ee4b54d007a67d4eaf05fda79ac0ecf41e32270f1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn", ] [[package]] diff --git a/executor/programs/rust/stdin_read/Cargo.lock b/executor/programs/rust/stdin_read/Cargo.lock index f49bbe60d..cabc42fc5 100644 --- a/executor/programs/rust/stdin_read/Cargo.lock +++ b/executor/programs/rust/stdin_read/Cargo.lock @@ -2,53 +2,18 @@ # It is not intended for manual editing. version = 4 -[[package]] -name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - [[package]] name = "cfg-if" version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" -[[package]] -name = "const-default" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b396d1f76d455557e1218ec8066ae14bba60b4b36ecd55577ba979f5db7ecaa" - [[package]] name = "critical-section" version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" -[[package]] -name = "dlmalloc" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675" -dependencies = [ - "cfg-if", - "libc", - "windows-sys", -] - -[[package]] -name = "embedded-alloc" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f2de9133f68db0d4627ad69db767726c99ff8585272716708227008d3f1bddd" -dependencies = [ - "const-default", - "critical-section", - "linked_list_allocator", - "rlsf", -] - [[package]] name = "embedded-hal" version = "1.0.0" @@ -82,9 +47,6 @@ dependencies = [ name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ - "critical-section", - "dlmalloc", - "embedded-alloc", "getrandom 0.2.17", "getrandom 0.3.4", "lazy_static", @@ -105,12 +67,6 @@ version = "0.2.180" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bcc35a38544a891a5f7c865aca548a982ccb3b8650a5b06d0fd33a10283c56fc" -[[package]] -name = "linked_list_allocator" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9afa463f5405ee81cdb9cc2baf37e08ec7e4c8209442b5d72c04cfb2cd6e6286" - [[package]] name = "paste" version = "1.0.15" @@ -200,7 +156,7 @@ checksum = "7d323d13972c1b104aa036bc692cd08b822c8bbf23d79a27c526095856499799" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn", ] [[package]] @@ -209,18 +165,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8188909339ccc0c68cfb5a04648313f09621e8b87dc03095454f1a11f6c5d436" -[[package]] -name = "rlsf" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "222fb240c3286247ecdee6fa5341e7cdad0ffdf8e7e401d9937f2d58482a20bf" -dependencies = [ - "cfg-if", - "const-default", - "libc", - "svgbobdoc", -] - [[package]] name = "stdin_read" version = "0.1.0" @@ -228,30 +172,6 @@ dependencies = [ "lambda-vm-syscalls", ] -[[package]] -name = "svgbobdoc" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2c04b93fc15d79b39c63218f15e3fdffaa4c227830686e3b7c5f41244eb3e50" -dependencies = [ - "base64", - "proc-macro2", - "quote", - "syn 1.0.109", - "unicode-width", -] - -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - [[package]] name = "syn" version = "2.0.114" @@ -280,7 +200,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn", ] [[package]] @@ -289,12 +209,6 @@ version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" -[[package]] -name = "unicode-width" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" - [[package]] name = "wasi" version = "0.11.1+wasi-snapshot-preview1" @@ -310,21 +224,6 @@ dependencies = [ "wit-bindgen", ] -[[package]] -name = "windows-link" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" - -[[package]] -name = "windows-sys" -version = "0.61.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" -dependencies = [ - "windows-link", -] - [[package]] name = "wit-bindgen" version = "0.51.0" @@ -348,5 +247,5 @@ checksum = "2c7962b26b0a8685668b671ee4b54d007a67d4eaf05fda79ac0ecf41e32270f1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn", ] diff --git a/executor/programs/rust/stdout/Cargo.lock b/executor/programs/rust/stdout/Cargo.lock index c9bcb231d..5fdf425e0 100644 --- a/executor/programs/rust/stdout/Cargo.lock +++ b/executor/programs/rust/stdout/Cargo.lock @@ -2,53 +2,18 @@ # It is not intended for manual editing. version = 4 -[[package]] -name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - [[package]] name = "cfg-if" version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" -[[package]] -name = "const-default" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b396d1f76d455557e1218ec8066ae14bba60b4b36ecd55577ba979f5db7ecaa" - [[package]] name = "critical-section" version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" -[[package]] -name = "dlmalloc" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675" -dependencies = [ - "cfg-if", - "libc", - "windows-sys", -] - -[[package]] -name = "embedded-alloc" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f2de9133f68db0d4627ad69db767726c99ff8585272716708227008d3f1bddd" -dependencies = [ - "const-default", - "critical-section", - "linked_list_allocator", - "rlsf", -] - [[package]] name = "embedded-hal" version = "1.0.0" @@ -82,9 +47,6 @@ dependencies = [ name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ - "critical-section", - "dlmalloc", - "embedded-alloc", "getrandom 0.2.17", "getrandom 0.3.4", "lazy_static", @@ -105,12 +67,6 @@ version = "0.2.178" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37c93d8daa9d8a012fd8ab92f088405fb202ea0b6ab73ee2482ae66af4f42091" -[[package]] -name = "linked_list_allocator" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9afa463f5405ee81cdb9cc2baf37e08ec7e4c8209442b5d72c04cfb2cd6e6286" - [[package]] name = "paste" version = "1.0.15" @@ -200,7 +156,7 @@ checksum = "7d323d13972c1b104aa036bc692cd08b822c8bbf23d79a27c526095856499799" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn", ] [[package]] @@ -209,18 +165,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8188909339ccc0c68cfb5a04648313f09621e8b87dc03095454f1a11f6c5d436" -[[package]] -name = "rlsf" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "222fb240c3286247ecdee6fa5341e7cdad0ffdf8e7e401d9937f2d58482a20bf" -dependencies = [ - "cfg-if", - "const-default", - "libc", - "svgbobdoc", -] - [[package]] name = "stdout" version = "0.1.0" @@ -228,30 +172,6 @@ dependencies = [ "lambda-vm-syscalls", ] -[[package]] -name = "svgbobdoc" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2c04b93fc15d79b39c63218f15e3fdffaa4c227830686e3b7c5f41244eb3e50" -dependencies = [ - "base64", - "proc-macro2", - "quote", - "syn 1.0.109", - "unicode-width", -] - -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - [[package]] name = "syn" version = "2.0.111" @@ -280,7 +200,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn", ] [[package]] @@ -289,12 +209,6 @@ version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" -[[package]] -name = "unicode-width" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" - [[package]] name = "wasi" version = "0.11.1+wasi-snapshot-preview1" @@ -310,21 +224,6 @@ dependencies = [ "wit-bindgen", ] -[[package]] -name = "windows-link" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" - -[[package]] -name = "windows-sys" -version = "0.61.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" -dependencies = [ - "windows-link", -] - [[package]] name = "wit-bindgen" version = "0.46.0" @@ -348,5 +247,5 @@ checksum = "2c7962b26b0a8685668b671ee4b54d007a67d4eaf05fda79ac0ecf41e32270f1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn", ] diff --git a/executor/programs/rust/vector/Cargo.lock b/executor/programs/rust/vector/Cargo.lock index 15c5072af..e394846cc 100644 --- a/executor/programs/rust/vector/Cargo.lock +++ b/executor/programs/rust/vector/Cargo.lock @@ -2,53 +2,18 @@ # It is not intended for manual editing. version = 4 -[[package]] -name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - [[package]] name = "cfg-if" version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" -[[package]] -name = "const-default" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b396d1f76d455557e1218ec8066ae14bba60b4b36ecd55577ba979f5db7ecaa" - [[package]] name = "critical-section" version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" -[[package]] -name = "dlmalloc" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675" -dependencies = [ - "cfg-if", - "libc", - "windows-sys", -] - -[[package]] -name = "embedded-alloc" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f2de9133f68db0d4627ad69db767726c99ff8585272716708227008d3f1bddd" -dependencies = [ - "const-default", - "critical-section", - "linked_list_allocator", - "rlsf", -] - [[package]] name = "embedded-hal" version = "1.0.0" @@ -82,9 +47,6 @@ dependencies = [ name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ - "critical-section", - "dlmalloc", - "embedded-alloc", "getrandom 0.2.17", "getrandom 0.3.4", "lazy_static", @@ -105,12 +67,6 @@ version = "0.2.178" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37c93d8daa9d8a012fd8ab92f088405fb202ea0b6ab73ee2482ae66af4f42091" -[[package]] -name = "linked_list_allocator" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9afa463f5405ee81cdb9cc2baf37e08ec7e4c8209442b5d72c04cfb2cd6e6286" - [[package]] name = "paste" version = "1.0.15" @@ -200,7 +156,7 @@ checksum = "7d323d13972c1b104aa036bc692cd08b822c8bbf23d79a27c526095856499799" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn", ] [[package]] @@ -209,42 +165,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8188909339ccc0c68cfb5a04648313f09621e8b87dc03095454f1a11f6c5d436" -[[package]] -name = "rlsf" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "222fb240c3286247ecdee6fa5341e7cdad0ffdf8e7e401d9937f2d58482a20bf" -dependencies = [ - "cfg-if", - "const-default", - "libc", - "svgbobdoc", -] - -[[package]] -name = "svgbobdoc" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2c04b93fc15d79b39c63218f15e3fdffaa4c227830686e3b7c5f41244eb3e50" -dependencies = [ - "base64", - "proc-macro2", - "quote", - "syn 1.0.109", - "unicode-width", -] - -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - [[package]] name = "syn" version = "2.0.111" @@ -273,7 +193,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn", ] [[package]] @@ -282,12 +202,6 @@ version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" -[[package]] -name = "unicode-width" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" - [[package]] name = "vector" version = "0.1.0" @@ -310,21 +224,6 @@ dependencies = [ "wit-bindgen", ] -[[package]] -name = "windows-link" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" - -[[package]] -name = "windows-sys" -version = "0.61.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" -dependencies = [ - "windows-link", -] - [[package]] name = "wit-bindgen" version = "0.46.0" @@ -348,5 +247,5 @@ checksum = "2c7962b26b0a8685668b671ee4b54d007a67d4eaf05fda79ac0ecf41e32270f1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn", ] diff --git a/syscalls/Cargo.toml b/syscalls/Cargo.toml index f1601ee35..8654d95f7 100644 --- a/syscalls/Cargo.toml +++ b/syscalls/Cargo.toml @@ -4,28 +4,29 @@ version = "0.1.0" edition = "2024" [dependencies] -# embedded-alloc TLSF heap: the previous default guest allocator, now selectable via -# the `tlsf-alloc` feature. Kept a hard dep (like the codebase's other allocator -# toggles) so switching needs no dependency edits; it's only linked into the guest and -# dropped when dlmalloc (the default) is selected. -embedded-alloc = "0.6" +# embedded-alloc TLSF heap: the original default guest allocator, now behind +# `tlsf-alloc`. Optional, so the default build (bump) doesn't compile it. +embedded-alloc = { version = "0.6", optional = true } riscv = { version = "0.15", features = ["critical-section-single-hart"] } thiserror = "1.0" getrandom = { version = "0.3.4", default-features = false } getrandom_v2 = {version = "0.2.15", features = ["custom"], package = "getrandom"} lazy_static = "1.5.0" rand = "0.9.2" -# Default guest allocator: Doug Lea's malloc. Cheaper per alloc/free than TLSF on zkVM -# guests (fewer guest cycles) while still reclaiming freed memory (no OOM). `critical- -# section` gives the Sync a #[global_allocator] static needs; its single-hart impl comes -# from `riscv` above (same as embedded-alloc's TLSF heap uses). See `src/allocator.rs`. -dlmalloc = { version = "0.2.14", default-features = false } -critical-section = "1.2" +# Doug Lea's malloc, behind `dlmalloc-alloc`: slower than the default bump allocator on +# every workload measured, but it reclaims freed memory, so it is the allocator to pick +# for continuations. `critical-section` gives the Sync a #[global_allocator] static +# needs; its single-hart impl comes from `riscv` above. See `src/allocator.rs`. +dlmalloc = { version = "0.2.14", default-features = false, optional = true } +critical-section = { version = "1.2", optional = true } [features] -# Fallback/BENCH: use the embedded-alloc TLSF heap instead of the default dlmalloc guest -# allocator (to A/B the two or fall back). Off by default. See `src/allocator.rs`. -tlsf-alloc = [] +# Guest allocator overrides. Default (neither flag) is the bump allocator; see +# `src/allocator.rs` for the measurements behind that choice. +# dlmalloc: reclaims freed memory, so pick it for continuations. +dlmalloc-alloc = ["dep:dlmalloc", "dep:critical-section"] +# TLSF: the original default, kept as a fallback. Wins over `dlmalloc-alloc` if both set. +tlsf-alloc = ["dep:embedded-alloc"] [dev-dependencies] keccak = "0.1" diff --git a/syscalls/src/allocator.rs b/syscalls/src/allocator.rs index d9e5f1fd1..0d0d60e6f 100644 --- a/syscalls/src/allocator.rs +++ b/syscalls/src/allocator.rs @@ -3,22 +3,189 @@ use riscv as _; const MAX_MEMORY_SIZE: usize = 0xC000_0000; const WORD_SIZE: usize = 4; -// Guest global allocator, selectable at build time: -// - default: Doug Lea's malloc (dlmalloc), backed by a bump "system" provider that -// hands dlmalloc page-aligned chunks from the guest heap. dlmalloc does all -// sub-allocation churn itself, so — unlike a raw bump allocator — it reuses freed -// memory (no OOM) while executing fewer guest instructions per alloc/free than TLSF -// (Bencik's ZisK allocator comparison; measured cheaper on our ethrex proving too). -// - `tlsf-alloc` feature: embedded-alloc's TLSF heap — the previous default, kept one -// flag away for A/B comparison or fallback. +// Guest global allocator, selectable at build time. The default was chosen on a measured +// three-way A/B (ethrex blocks of 1..1500 transfers, both 1-to-1 and distinct-account +// fixtures; guest cycles, trace elements, proving time and peak RSS): +// +// - default: a monotonic bump allocator. No free lists and no coalescing -- `alloc` +// moves a cursor, `dealloc` is empty -- so it spends the fewest guest instructions +// per allocation of the three. Against dlmalloc that measured ~9% fewer guest +// cycles, ~8% fewer main-trace elements, ~6% faster proving and ~8% lower peak RSS, +// flat across every block size tried. It never reuses a freed region, so its +// footprint grows monotonically -- see the ceiling note below. +// - `dlmalloc-alloc` feature: Doug Lea's malloc on a bump "system" provider that hands +// it page-aligned segments. Its footprint is bounded by live bytes instead of total +// bytes ever allocated, which makes it the only one of the three safe under +// unbounded churn -- use it for continuations, where one execution spans many blocks +// and bump's growth has no bound. +// - `tlsf-alloc` feature: embedded-alloc's TLSF heap. The original default, and the +// slowest of the three (bump proved ~11% faster, dlmalloc ~6%). Kept as a fallback. +// +// Bump's ceiling: the guest heap is [_end, MAX_MEMORY_SIZE), about 3 GiB, and a block's +// allocation is bounded by its gas. A gas-full block of the cheapest transactions (1500 +// transfers, 31.5M gas, 523M cycles) executes without exhausting it, and any other +// composition fits fewer transactions into the same gas. Contract-heavy blocks allocate +// more per transaction and are not covered by that bound; if one ever exhausts the heap, +// `dlmalloc-alloc` is a one-flag fallback. // // Only the guest installs a #[global_allocator]; on host (e.g. `cargo test` for the // sponge's differential tests) the attribute would hijack the test harness's // allocator with a never-initialized heap and abort. // Off riscv only `init` is reachable (no `#[global_allocator]` is installed and -// `sys_alloc_aligned` goes through `std::alloc`), so the dlmalloc plumbing is dead there. -#[cfg(not(feature = "tlsf-alloc"))] +// `sys_alloc_aligned` goes through `std::alloc`), so the plumbing is dead there. +#[cfg(not(any(feature = "tlsf-alloc", feature = "dlmalloc-alloc")))] +#[cfg_attr(not(target_arch = "riscv64"), allow(dead_code))] +mod imp { + use core::alloc::{GlobalAlloc, Layout}; + use core::sync::atomic::{AtomicUsize, Ordering}; + + struct BumpAlloc; + + // Single-hart guest -> `Relaxed` atomics are contention-free and avoid the + // `static mut` edition-2024 lints. + static HEAP_POS: AtomicUsize = AtomicUsize::new(0); + static HEAP_END: AtomicUsize = AtomicUsize::new(0); + + #[cfg_attr(target_arch = "riscv64", global_allocator)] + static ALLOC: BumpAlloc = BumpAlloc; + + pub fn init(heap_start: usize, heap_end: usize) { + HEAP_POS.store(heap_start, Ordering::Relaxed); + HEAP_END.store(heap_end, Ordering::Relaxed); + } + + unsafe impl GlobalAlloc for BumpAlloc { + unsafe fn alloc(&self, layout: Layout) -> *mut u8 { + let align = layout.align(); + let pos = HEAP_POS.load(Ordering::Relaxed); + // `align` is a power of two per the Layout contract. + let aligned = pos.wrapping_add(align - 1) & !(align - 1); + match aligned.checked_add(layout.size()) { + Some(new_pos) if new_pos <= HEAP_END.load(Ordering::Relaxed) => { + HEAP_POS.store(new_pos, Ordering::Relaxed); + aligned as *mut u8 + } + // Out of heap -> null makes the caller's `handle_alloc_error` abort. + _ => core::ptr::null_mut(), + } + } + + unsafe fn dealloc(&self, _ptr: *mut u8, _layout: Layout) { + // A bump allocator never reclaims. + } + + unsafe fn alloc_zeroed(&self, layout: Layout) -> *mut u8 { + // Guest memory is zero-initialized and bump never reuses a freed region, + // so freshly bumped memory already reads as zero -- skip the memset. + unsafe { self.alloc(layout) } + } + } + + // Host tests. `BumpAlloc`'s cursor is global, so they serialize on `HEAP_LOCK` and + // each re-points it at its own leaked, page-aligned buffer. + #[cfg(test)] + mod tests { + use super::*; + use std::sync::{Mutex, MutexGuard}; + + static HEAP_LOCK: Mutex<()> = Mutex::new(()); + + // Leaks on purpose: `BumpAlloc` hands out raw addresses into this region, so it + // must outlive every pointer derived from it. + fn with_heap(bytes: usize) -> MutexGuard<'static, ()> { + let guard = HEAP_LOCK.lock().unwrap_or_else(|e| e.into_inner()); + let l = Layout::from_size_align(bytes, 4096).unwrap(); + // Zeroed, like guest memory: reads of never-written heap return 0 there. + let base = unsafe { std::alloc::alloc_zeroed(l) }; + assert!(!base.is_null()); + init(base as usize, base as usize + bytes); + guard + } + + fn layout(size: usize, align: usize) -> Layout { + Layout::from_size_align(size, align).unwrap() + } + + /// `alloc_zeroed` skips the memset, which is only sound because bump never hands + /// back a region it already served. Dirty a block, free it, and check the next + /// `alloc_zeroed` gets fresh (still-zero) memory rather than the dirt. + #[test] + fn alloc_zeroed_never_returns_a_dirtied_region() { + let _guard = with_heap(1024 * 1024); + let l = layout(256, 8); + let dirty = unsafe { BumpAlloc.alloc(l) }; + assert!(!dirty.is_null()); + unsafe { core::ptr::write_bytes(dirty, 0xAA, 256) }; + unsafe { BumpAlloc.dealloc(dirty, l) }; + + let fresh = unsafe { BumpAlloc.alloc_zeroed(l) }; + assert!(!fresh.is_null()); + assert_ne!(fresh, dirty, "bump must not re-serve a freed region"); + let bytes = unsafe { core::slice::from_raw_parts(fresh, 256) }; + assert!(bytes.iter().all(|&b| b == 0), "alloc_zeroed returned dirt"); + } + + /// The defining property, and what bounds the footprint: a free is a no-op, so + /// the cursor only ever moves forward. + #[test] + fn dealloc_does_not_reclaim() { + let _guard = with_heap(1024 * 1024); + let l = layout(4096, 8); + let first = unsafe { BumpAlloc.alloc(l) }; + unsafe { BumpAlloc.dealloc(first, l) }; + let second = unsafe { BumpAlloc.alloc(l) }; + assert_eq!( + second as usize, + first as usize + 4096, + "the cursor must not rewind over a freed block" + ); + } + + #[test] + fn alignment_requests_are_honored() { + let _guard = with_heap(1024 * 1024); + // Start off-alignment so the padding path is exercised. + let _ = unsafe { BumpAlloc.alloc(layout(1, 1)) }; + for align in [16usize, 64, 256, 4096] { + let p = unsafe { BumpAlloc.alloc(layout(align * 3, align)) }; + assert!(!p.is_null(), "alloc with align {align} failed"); + assert_eq!(p as usize % align, 0, "align {align} not honored"); + } + } + + /// Exhaustion must return null (which becomes `handle_alloc_error` on the guest), + /// never a pointer past `HEAP_END`. + #[test] + fn exhaustion_returns_null_instead_of_running_past_the_heap() { + let _guard = with_heap(8192); + let l = layout(4096, 8); + assert!(!unsafe { BumpAlloc.alloc(l) }.is_null()); + assert!(!unsafe { BumpAlloc.alloc(l) }.is_null()); + assert!( + unsafe { BumpAlloc.alloc(l) }.is_null(), + "handed out memory past HEAP_END" + ); + // An absurd size declines too. It declines on the bounds check rather than + // on the `checked_add`: `Layout` requires size rounded up to align to fit in + // `isize::MAX`, so a size that would overflow the cursor arithmetic can't be + // constructed in the first place. + let huge = layout(isize::MAX as usize - 7, 8); + assert!(unsafe { BumpAlloc.alloc(huge) }.is_null()); + } + + /// Before `init_allocator` runs HEAP_END is 0 -- allocation must fail closed + /// rather than hand out address 0. + #[test] + fn uninitialized_allocator_hands_out_nothing() { + let _guard = HEAP_LOCK.lock().unwrap_or_else(|e| e.into_inner()); + init(0, 0); + assert!(unsafe { BumpAlloc.alloc(layout(1, 1)) }.is_null()); + } + } +} + +#[cfg(all(feature = "dlmalloc-alloc", not(feature = "tlsf-alloc")))] #[cfg_attr(not(target_arch = "riscv64"), allow(dead_code))] mod imp { use core::alloc::{GlobalAlloc, Layout}; From 2b0e4e13982b8871833b6d7a6508101125de011f Mon Sep 17 00:00:00 2001 From: jotabulacios Date: Fri, 31 Jul 2026 15:08:37 -0300 Subject: [PATCH 06/15] Drop the TLSF guest allocator --- .github/workflows/pr_main.yaml | 11 ++-- Cargo.lock | 115 ++++----------------------------- syscalls/Cargo.lock | 86 +----------------------- syscalls/Cargo.toml | 11 +--- syscalls/src/allocator.rs | 60 +++++++---------- 5 files changed, 48 insertions(+), 235 deletions(-) diff --git a/.github/workflows/pr_main.yaml b/.github/workflows/pr_main.yaml index 802dee623..5a9b96952 100644 --- a/.github/workflows/pr_main.yaml +++ b/.github/workflows/pr_main.yaml @@ -134,13 +134,10 @@ jobs: - name: Run syscalls host tests (allocator + keccak differential vs sha3) run: make test-syscalls - # The two non-default guest allocators are selected by feature, so nothing else in - # CI compiles them and they can rot silently. Their tests run here too. - - name: Test the non-default guest allocators - run: | - cd syscalls - cargo test --features dlmalloc-alloc - cargo test --features tlsf-alloc + # The dlmalloc fallback is feature-selected, so nothing else in CI compiles it and it + # can rot silently. Its tests run here too. + - name: Test the dlmalloc guest allocator fallback + run: cd syscalls && cargo test --features dlmalloc-alloc # "Test" is a required check — keep this name to avoid branch protection changes. # This gate job passes only when CLI, executor, disk-spill, and prover tests succeed. diff --git a/Cargo.lock b/Cargo.lock index eba21020c..052e209b6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -90,12 +90,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" -[[package]] -name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - [[package]] name = "bincode" version = "1.3.3" @@ -167,7 +161,7 @@ checksum = "89385e82b5d1821d2219e0b095efa2cc1f246cbf99080f3be46a1a85c0d392d9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn", ] [[package]] @@ -262,7 +256,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.111", + "syn", ] [[package]] @@ -301,12 +295,6 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" -[[package]] -name = "const-default" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b396d1f76d455557e1218ec8066ae14bba60b4b36ecd55577ba979f5db7ecaa" - [[package]] name = "const-oid" version = "0.9.6" @@ -496,17 +484,6 @@ dependencies = [ "crypto-common", ] -[[package]] -name = "dlmalloc" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675" -dependencies = [ - "cfg-if", - "libc", - "windows-sys", -] - [[package]] name = "ecsm" version = "0.1.0" @@ -541,18 +518,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "embedded-alloc" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f2de9133f68db0d4627ad69db767726c99ff8585272716708227008d3f1bddd" -dependencies = [ - "const-default", - "critical-section", - "linked_list_allocator", - "rlsf", -] - [[package]] name = "embedded-hal" version = "1.0.0" @@ -801,7 +766,7 @@ checksum = "980af8b43c3ad5d8d349ace167ec8170839f753a42d233ba19e08afe1850fa69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn", ] [[package]] @@ -859,9 +824,6 @@ dependencies = [ name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ - "critical-section", - "dlmalloc", - "embedded-alloc", "getrandom 0.2.16", "getrandom 0.3.4", "lazy_static", @@ -892,12 +854,6 @@ dependencies = [ "windows-link", ] -[[package]] -name = "linked_list_allocator" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b23ac50abb8261cb38c6e2a7192d3302e0836dac1628f6a93b82b4fad185897" - [[package]] name = "linux-raw-sys" version = "0.11.0" @@ -982,7 +938,7 @@ checksum = "4568f25ccbd45ab5d5603dc34318c1ec56b117531781260002151b8530a9f931" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn", ] [[package]] @@ -1164,7 +1120,7 @@ checksum = "7347867d0a7e1208d93b46767be83e2b8f978c3dad35f775ac8d8847551d6fe1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn", ] [[package]] @@ -1344,7 +1300,7 @@ checksum = "7d323d13972c1b104aa036bc692cd08b822c8bbf23d79a27c526095856499799" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn", ] [[package]] @@ -1377,20 +1333,7 @@ checksum = "5d2ed0b54125315fb36bd021e82d314d1c126548f871634b483f46b31d13cac6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", -] - -[[package]] -name = "rlsf" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1646a59a9734b8b7a0ac51689388a60fe1625d4b956348e9de07591a1478457a" -dependencies = [ - "cfg-if", - "const-default", - "libc", - "rustversion", - "svgbobdoc", + "syn", ] [[package]] @@ -1506,7 +1449,7 @@ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn", ] [[package]] @@ -1605,30 +1548,6 @@ version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" -[[package]] -name = "svgbobdoc" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2c04b93fc15d79b39c63218f15e3fdffaa4c227830686e3b7c5f41244eb3e50" -dependencies = [ - "base64", - "proc-macro2", - "quote", - "syn 1.0.109", - "unicode-width", -] - -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - [[package]] name = "syn" version = "2.0.111" @@ -1685,7 +1604,7 @@ checksum = "be35209fd0781c5401458ab66e4f98accf63553e8fae7425503e92fdd319783b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn", ] [[package]] @@ -1711,7 +1630,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn", ] [[package]] @@ -1854,12 +1773,6 @@ version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" -[[package]] -name = "unicode-width" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" - [[package]] name = "utf8parse" version = "0.2.2" @@ -1944,7 +1857,7 @@ dependencies = [ "bumpalo", "proc-macro2", "quote", - "syn 2.0.111", + "syn", "wasm-bindgen-shared", ] @@ -2028,7 +1941,7 @@ checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn", ] [[package]] @@ -2039,7 +1952,7 @@ checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn", ] [[package]] @@ -2153,7 +2066,7 @@ checksum = "d8a8d209fdf45cf5138cbb5a506f6b52522a25afccc534d1475dad8e31105c6a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn", ] [[package]] diff --git a/syscalls/Cargo.lock b/syscalls/Cargo.lock index 1921ff54a..62642bba7 100644 --- a/syscalls/Cargo.lock +++ b/syscalls/Cargo.lock @@ -2,12 +2,6 @@ # It is not intended for manual editing. version = 4 -[[package]] -name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - [[package]] name = "block-buffer" version = "0.10.4" @@ -23,12 +17,6 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" -[[package]] -name = "const-default" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b396d1f76d455557e1218ec8066ae14bba60b4b36ecd55577ba979f5db7ecaa" - [[package]] name = "cpufeatures" version = "0.2.17" @@ -75,18 +63,6 @@ dependencies = [ "windows-sys", ] -[[package]] -name = "embedded-alloc" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f2de9133f68db0d4627ad69db767726c99ff8585272716708227008d3f1bddd" -dependencies = [ - "const-default", - "critical-section", - "linked_list_allocator", - "rlsf", -] - [[package]] name = "embedded-hal" version = "1.0.0" @@ -141,7 +117,6 @@ version = "0.1.0" dependencies = [ "critical-section", "dlmalloc", - "embedded-alloc", "getrandom 0.2.17", "getrandom 0.3.4", "keccak", @@ -165,12 +140,6 @@ version = "0.2.186" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66" -[[package]] -name = "linked_list_allocator" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b23ac50abb8261cb38c6e2a7192d3302e0836dac1628f6a93b82b4fad185897" - [[package]] name = "paste" version = "1.0.15" @@ -260,7 +229,7 @@ checksum = "7d323d13972c1b104aa036bc692cd08b822c8bbf23d79a27c526095856499799" dependencies = [ "proc-macro2", "quote", - "syn 2.0.119", + "syn", ] [[package]] @@ -269,25 +238,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8188909339ccc0c68cfb5a04648313f09621e8b87dc03095454f1a11f6c5d436" -[[package]] -name = "rlsf" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1646a59a9734b8b7a0ac51689388a60fe1625d4b956348e9de07591a1478457a" -dependencies = [ - "cfg-if", - "const-default", - "libc", - "rustversion", - "svgbobdoc", -] - -[[package]] -name = "rustversion" -version = "1.0.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f" - [[package]] name = "sha3" version = "0.10.9" @@ -298,30 +248,6 @@ dependencies = [ "keccak", ] -[[package]] -name = "svgbobdoc" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2c04b93fc15d79b39c63218f15e3fdffaa4c227830686e3b7c5f41244eb3e50" -dependencies = [ - "base64", - "proc-macro2", - "quote", - "syn 1.0.109", - "unicode-width", -] - -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - [[package]] name = "syn" version = "2.0.119" @@ -350,7 +276,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.119", + "syn", ] [[package]] @@ -365,12 +291,6 @@ version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" -[[package]] -name = "unicode-width" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" - [[package]] name = "version_check" version = "0.9.5" @@ -430,5 +350,5 @@ checksum = "e2e817b7b52d0c7358d3246da9d69935ebb18116b2b102b4230dac079b4862f5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.119", + "syn", ] diff --git a/syscalls/Cargo.toml b/syscalls/Cargo.toml index 8654d95f7..fb2459255 100644 --- a/syscalls/Cargo.toml +++ b/syscalls/Cargo.toml @@ -4,9 +4,6 @@ version = "0.1.0" edition = "2024" [dependencies] -# embedded-alloc TLSF heap: the original default guest allocator, now behind -# `tlsf-alloc`. Optional, so the default build (bump) doesn't compile it. -embedded-alloc = { version = "0.6", optional = true } riscv = { version = "0.15", features = ["critical-section-single-hart"] } thiserror = "1.0" getrandom = { version = "0.3.4", default-features = false } @@ -21,12 +18,10 @@ dlmalloc = { version = "0.2.14", default-features = false, optional = true } critical-section = { version = "1.2", optional = true } [features] -# Guest allocator overrides. Default (neither flag) is the bump allocator; see -# `src/allocator.rs` for the measurements behind that choice. -# dlmalloc: reclaims freed memory, so pick it for continuations. +# Guest allocator override. The default (no flag) is the bump allocator; see +# `src/allocator.rs` for the measurements behind that choice. Select dlmalloc when the +# execution's cumulative allocation isn't bounded per block. dlmalloc-alloc = ["dep:dlmalloc", "dep:critical-section"] -# TLSF: the original default, kept as a fallback. Wins over `dlmalloc-alloc` if both set. -tlsf-alloc = ["dep:embedded-alloc"] [dev-dependencies] keccak = "0.1" diff --git a/syscalls/src/allocator.rs b/syscalls/src/allocator.rs index 0d0d60e6f..c0787f53c 100644 --- a/syscalls/src/allocator.rs +++ b/syscalls/src/allocator.rs @@ -4,29 +4,29 @@ const MAX_MEMORY_SIZE: usize = 0xC000_0000; const WORD_SIZE: usize = 4; // Guest global allocator, selectable at build time. The default was chosen on a measured -// three-way A/B (ethrex blocks of 1..1500 transfers, both 1-to-1 and distinct-account -// fixtures; guest cycles, trace elements, proving time and peak RSS): +// three-way A/B against embedded-alloc's TLSF heap (the previous default, now removed) over +// ethrex blocks of 1..1500 transfers plus a real Hoodi block, monolithic and with +// continuations, on cycles, trace elements, proving time, proof size and peak RSS: // -// - default: a monotonic bump allocator. No free lists and no coalescing -- `alloc` -// moves a cursor, `dealloc` is empty -- so it spends the fewest guest instructions -// per allocation of the three. Against dlmalloc that measured ~9% fewer guest -// cycles, ~8% fewer main-trace elements, ~6% faster proving and ~8% lower peak RSS, -// flat across every block size tried. It never reuses a freed region, so its -// footprint grows monotonically -- see the ceiling note below. -// - `dlmalloc-alloc` feature: Doug Lea's malloc on a bump "system" provider that hands -// it page-aligned segments. Its footprint is bounded by live bytes instead of total -// bytes ever allocated, which makes it the only one of the three safe under -// unbounded churn -- use it for continuations, where one execution spans many blocks -// and bump's growth has no bound. -// - `tlsf-alloc` feature: embedded-alloc's TLSF heap. The original default, and the -// slowest of the three (bump proved ~11% faster, dlmalloc ~6%). Kept as a fallback. +// - default: a monotonic bump allocator. No free lists and no coalescing -- `alloc` moves +// a cursor, `dealloc` is empty -- so it spends the fewest guest instructions per +// allocation. It never came out behind on any deterministic metric on any workload: +// ~9% fewer guest cycles than dlmalloc on transfer blocks, ~3% on the real Hoodi block +// (where keccak and trie work dominate and the allocator's share dilutes), ~11% faster +// than TLSF to prove. It never reuses a freed region, so its footprint grows +// monotonically -- see the ceiling note below. +// - `dlmalloc-alloc` feature: Doug Lea's malloc on a bump "system" provider that hands it +// page-aligned segments. Slower than bump everywhere measured, but its footprint is +// bounded by live bytes rather than total bytes ever allocated, so it is the allocator +// to select for an execution whose churn has no per-block bound. // -// Bump's ceiling: the guest heap is [_end, MAX_MEMORY_SIZE), about 3 GiB, and a block's -// allocation is bounded by its gas. A gas-full block of the cheapest transactions (1500 -// transfers, 31.5M gas, 523M cycles) executes without exhausting it, and any other -// composition fits fewer transactions into the same gas. Contract-heavy blocks allocate -// more per transaction and are not covered by that bound; if one ever exhausts the heap, -// `dlmalloc-alloc` is a one-flag fallback. +// Bump's ceiling is cumulative allocation, measured at ~3 GiB -- the size of +// [_end, MAX_MEMORY_SIZE). A single block cannot reach it: allocation is bounded by gas, and +// a gas-full block of the cheapest transactions (1500 transfers, 31.5M gas, 523M cycles) +// executes with room to spare. A guest program that processes many blocks in one execution +// has no such bound, which is what `dlmalloc-alloc` is for. Note that exhausting the heap +// does not abort cleanly today -- execution spins rather than failing -- so the fallback +// matters. // // Only the guest installs a #[global_allocator]; on host (e.g. `cargo test` for the // sponge's differential tests) the attribute would hijack the test harness's @@ -34,7 +34,7 @@ const WORD_SIZE: usize = 4; // Off riscv only `init` is reachable (no `#[global_allocator]` is installed and // `sys_alloc_aligned` goes through `std::alloc`), so the plumbing is dead there. -#[cfg(not(any(feature = "tlsf-alloc", feature = "dlmalloc-alloc")))] +#[cfg(not(feature = "dlmalloc-alloc"))] #[cfg_attr(not(target_arch = "riscv64"), allow(dead_code))] mod imp { use core::alloc::{GlobalAlloc, Layout}; @@ -185,7 +185,7 @@ mod imp { } } -#[cfg(all(feature = "dlmalloc-alloc", not(feature = "tlsf-alloc")))] +#[cfg(feature = "dlmalloc-alloc")] #[cfg_attr(not(target_arch = "riscv64"), allow(dead_code))] mod imp { use core::alloc::{GlobalAlloc, Layout}; @@ -271,7 +271,7 @@ mod imp { // Dlmalloc is Send but !Sync, so it can't sit in a static directly. A single-hart // critical section serializes access and supplies the Sync a #[global_allocator] - // static requires — the same primitive embedded-alloc's TLSF heap uses. + // static requires. Its single-hart implementation comes from the `riscv` crate. static DLMALLOC: Mutex>> = Mutex::new(RefCell::new(Dlmalloc::new_with_allocator(BumpSystem))); @@ -490,18 +490,6 @@ mod imp { } } -#[cfg(feature = "tlsf-alloc")] -mod imp { - use embedded_alloc::TlsfHeap as Heap; - - #[cfg_attr(target_arch = "riscv64", global_allocator)] - static HEAP: Heap = Heap::empty(); - - pub fn init(heap_start: usize, heap_end: usize) { - unsafe { HEAP.init(heap_start, heap_end - heap_start) } - } -} - pub fn init_allocator() { unsafe extern "C" { static _end: u8; From 1fcdff3e1785c4af06f63ce4be5488b324654af1 Mon Sep 17 00:00:00 2001 From: jotabulacios Date: Fri, 31 Jul 2026 15:08:45 -0300 Subject: [PATCH 07/15] Regenerate the ethrex-tests lockfile --- tooling/ethrex-tests/Cargo.lock | 1 + 1 file changed, 1 insertion(+) diff --git a/tooling/ethrex-tests/Cargo.lock b/tooling/ethrex-tests/Cargo.lock index 26f991c7a..250e2411f 100644 --- a/tooling/ethrex-tests/Cargo.lock +++ b/tooling/ethrex-tests/Cargo.lock @@ -610,6 +610,7 @@ version = "0.1.0" dependencies = [ "k256", "num-bigint", + "num-integer", "num-traits", ] From 1372b391c9d6919cd925ee57c67ababdeebeda7f Mon Sep 17 00:00:00 2001 From: jotabulacios Date: Fri, 31 Jul 2026 15:09:52 -0300 Subject: [PATCH 08/15] Regenerate the guest lockfiles left stale by the ChaCha20 removal --- bench_vs/lambda/recursion/Cargo.lock | 26 ++------------ .../rust/keccak_transcript_pattern/Cargo.lock | 36 +++---------------- 2 files changed, 6 insertions(+), 56 deletions(-) diff --git a/bench_vs/lambda/recursion/Cargo.lock b/bench_vs/lambda/recursion/Cargo.lock index 1d7e158cc..167f1f054 100644 --- a/bench_vs/lambda/recursion/Cargo.lock +++ b/bench_vs/lambda/recursion/Cargo.lock @@ -117,8 +117,6 @@ dependencies = [ "digest", "lambda-vm-syscalls", "math", - "rand 0.8.6", - "rand_chacha 0.3.1", "rkyv", "serde", "sha3", @@ -374,7 +372,7 @@ dependencies = [ "getrandom 0.2.17", "getrandom 0.3.4", "lazy_static", - "rand 0.9.4", + "rand", "riscv", "thiserror", ] @@ -404,7 +402,6 @@ dependencies = [ "getrandom 0.2.17", "num-bigint", "num-traits", - "rand 0.8.6", "rayon", "rkyv", "serde", @@ -554,35 +551,16 @@ dependencies = [ "ptr_meta", ] -[[package]] -name = "rand" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ca0ecfa931c29007047d1bc58e623ab12e5590e8c7cc53200d5202b69266d8a" -dependencies = [ - "rand_core 0.6.4", -] - [[package]] name = "rand" version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "44c5af06bb1b7d3216d91932aed5265164bf384dc89cd6ba05cf59a35f5f76ea" dependencies = [ - "rand_chacha 0.9.0", + "rand_chacha", "rand_core 0.9.5", ] -[[package]] -name = "rand_chacha" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -dependencies = [ - "ppv-lite86", - "rand_core 0.6.4", -] - [[package]] name = "rand_chacha" version = "0.9.0" diff --git a/executor/programs/rust/keccak_transcript_pattern/Cargo.lock b/executor/programs/rust/keccak_transcript_pattern/Cargo.lock index b8af84c9e..ed0a1d475 100644 --- a/executor/programs/rust/keccak_transcript_pattern/Cargo.lock +++ b/executor/programs/rust/keccak_transcript_pattern/Cargo.lock @@ -76,8 +76,6 @@ dependencies = [ "digest", "lambda-vm-syscalls", "math", - "rand 0.8.7", - "rand_chacha 0.3.1", "serde", "sha3", ] @@ -215,7 +213,7 @@ dependencies = [ "getrandom 0.2.17", "getrandom 0.3.4", "lazy_static", - "rand 0.9.5", + "rand", "riscv", "thiserror", ] @@ -239,7 +237,6 @@ dependencies = [ "getrandom 0.2.17", "num-bigint", "num-traits", - "rand 0.8.7", "rayon", "serde", "serde_json", @@ -330,33 +327,14 @@ version = "5.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" -[[package]] -name = "rand" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22f6172bdec972074665ed81ed53b71da00bfc44b65a753cfde883ec4c702a1a" -dependencies = [ - "rand_core 0.6.4", -] - [[package]] name = "rand" version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b9ef1d0d795eb7d84685bca4f72f3649f064e6641543d3a8c415898726a57b41" dependencies = [ - "rand_chacha 0.9.0", - "rand_core 0.9.5", -] - -[[package]] -name = "rand_chacha" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -dependencies = [ - "ppv-lite86", - "rand_core 0.6.4", + "rand_chacha", + "rand_core", ] [[package]] @@ -366,15 +344,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" dependencies = [ "ppv-lite86", - "rand_core 0.9.5", + "rand_core", ] -[[package]] -name = "rand_core" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" - [[package]] name = "rand_core" version = "0.9.5" From 7680647d1256cf2e019650df0502d7ec02aca655 Mon Sep 17 00:00:00 2001 From: jotabulacios Date: Mon, 3 Aug 2026 16:18:21 -0300 Subject: [PATCH 09/15] docs --- syscalls/src/allocator.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syscalls/src/allocator.rs b/syscalls/src/allocator.rs index c0787f53c..80162c6a5 100644 --- a/syscalls/src/allocator.rs +++ b/syscalls/src/allocator.rs @@ -504,7 +504,7 @@ pub fn init_allocator() { /// It is only for rust std internal uses #[unsafe(no_mangle)] pub unsafe extern "C" fn sys_alloc_aligned(bytes: usize, align: usize) -> *mut u8 { - // Route through whichever `#[global_allocator]` is installed (dlmalloc or TLSF). + // Route through whichever `#[global_allocator]` is installed (bump or dlmalloc). unsafe { std::alloc::alloc(core::alloc::Layout::from_size_align(bytes, align).unwrap()) } } From 35b45a7b75517169057bc15d277a7e4fce2ae835 Mon Sep 17 00:00:00 2001 From: jotabulacios Date: Tue, 4 Aug 2026 17:40:22 -0300 Subject: [PATCH 10/15] Correct the guest allocator's documented claims --- syscalls/src/allocator.rs | 46 +++++++++++++++++++++++++++------------ 1 file changed, 32 insertions(+), 14 deletions(-) diff --git a/syscalls/src/allocator.rs b/syscalls/src/allocator.rs index 80162c6a5..cb70d2622 100644 --- a/syscalls/src/allocator.rs +++ b/syscalls/src/allocator.rs @@ -6,27 +6,44 @@ const WORD_SIZE: usize = 4; // Guest global allocator, selectable at build time. The default was chosen on a measured // three-way A/B against embedded-alloc's TLSF heap (the previous default, now removed) over // ethrex blocks of 1..1500 transfers plus a real Hoodi block, monolithic and with -// continuations, on cycles, trace elements, proving time, proof size and peak RSS: +// continuations, on cycles, trace elements, proving time, proof size and peak RSS. The +// figures below are post-#861: thin LTO inlines the per-allocation free-list bookkeeping +// dlmalloc and TLSF pay and bump avoids by construction, closing ~2/3 of the gap the same +// comparison showed before it -- expect smaller numbers than any pre-LTO run reports. // // - default: a monotonic bump allocator. No free lists and no coalescing -- `alloc` moves // a cursor, `dealloc` is empty -- so it spends the fewest guest instructions per -// allocation. It never came out behind on any deterministic metric on any workload: -// ~9% fewer guest cycles than dlmalloc on transfer blocks, ~3% on the real Hoodi block -// (where keccak and trie work dominate and the allocator's share dilutes), ~11% faster -// than TLSF to prove. It never reuses a freed region, so its footprint grows -// monotonically -- see the ceiling note below. +// allocation. Against dlmalloc: ~7% fewer guest cycles on a 20-transfer block, ~6% on +// 150 transfers, ~3% on a real Hoodi block (where keccak and trie work dominate and the +// allocator's share dilutes); ~2.6% faster to prove monolithic at ~4% lower peak RSS, +// and ~1.2% with continuations at epochs 2^21 and 2^22. It never reuses a freed region, +// so its footprint grows monotonically -- see the ceiling note below. +// +// Non-reuse costs it two things. The proof bundle is 0.6..1.0% larger at every epoch +// (deterministic: memory that is never reused spans more pages, and every page touched +// pays PAGE rows), and at epoch 2^20 dlmalloc proves ~2.3% faster, where eight epochs +// amplify that page cost. Larger epochs are ~26% cheaper in absolute terms, so the +// configuration worth running is the one bump wins. // - `dlmalloc-alloc` feature: Doug Lea's malloc on a bump "system" provider that hands it -// page-aligned segments. Slower than bump everywhere measured, but its footprint is -// bounded by live bytes rather than total bytes ever allocated, so it is the allocator -// to select for an execution whose churn has no per-block bound. +// page-aligned segments. Slower to prove at the epochs worth running, but its footprint +// is bounded by live bytes rather than total bytes ever allocated, and it overrides +// `realloc`, so a grow can extend a block in place. Select it for an execution whose +// churn has no per-block bound, and when proof size or epoch 2^20 is what counts. // // Bump's ceiling is cumulative allocation, measured at ~3 GiB -- the size of // [_end, MAX_MEMORY_SIZE). A single block cannot reach it: allocation is bounded by gas, and // a gas-full block of the cheapest transactions (1500 transfers, 31.5M gas, 523M cycles) -// executes with room to spare. A guest program that processes many blocks in one execution -// has no such bound, which is what `dlmalloc-alloc` is for. Note that exhausting the heap -// does not abort cleanly today -- execution spins rather than failing -- so the fallback -// matters. +// executes with room to spare. Two things spend that budget faster than live bytes suggest: +// nothing is ever reclaimed, and bump does not override `realloc`, so `GlobalAlloc`'s default +// grows a block by allocating a fresh one, copying, and `dealloc`ing the old -- a no-op here, +// which abandons it. Geometric growth (`Vec`, `String`) pays a bounded ~2x for that; growing +// by a constant makes it quadratic. A guest program that processes many blocks in one +// execution has no per-block bound at all, which is what `dlmalloc-alloc` is for. +// +// Exhausting the heap does not fail cleanly today: `alloc` returns null, which reaches +// `handle_alloc_error`, which panics into the guest's `#[panic_handler]` -- `loop {}` in every +// guest here -- so execution spins instead of aborting, and nothing on the proving path +// bounds cycles (`--cycle-budget` is opt-in and only on `execute`). So the fallback matters. // // Only the guest installs a #[global_allocator]; on host (e.g. `cargo test` for the // sponge's differential tests) the attribute would hijack the test harness's @@ -66,7 +83,8 @@ mod imp { HEAP_POS.store(new_pos, Ordering::Relaxed); aligned as *mut u8 } - // Out of heap -> null makes the caller's `handle_alloc_error` abort. + // Out of heap -> null, which the caller turns into `handle_alloc_error`. + // See the module note on why that spins rather than aborting. _ => core::ptr::null_mut(), } } From 7d2614b7ec5049a6780833c964d4670ec3e1f028 Mon Sep 17 00:00:00 2001 From: MauroFab Date: Tue, 4 Aug 2026 17:40:10 -0300 Subject: [PATCH 11/15] fix(syscalls): review follow-ups for the bump allocator default Mechanical follow-ups on the allocator swap. No behaviour change on any path that runs today; the one code change closes a failure mode that is currently prevented by a linker flag rather than by anything in this file. benchmark-pr.yml missed syscalls. The push-to-main paths filter listed prover, crypto, executor, bin/cli, tooling/ethrex-fixtures and the Makefile, but not syscalls -- so a change landing only in syscalls, which is exactly what this branch is, would not refresh main's benchmark baseline. syscalls is linked into the guest ELF, so an allocator swap moves cycles on every workload; main's baseline would have stayed stale until some prover file happened to change, and until then the comparison guard would have suppressed the table. pr_main.yaml:99 already hashes 'syscalls/**' into the guest-ELF cache key, so the two workflows disagreed about what rebuilds the guest. Two lockfiles still carried embedded-alloc. crypto/ethrex-crypto and tooling/ethrex-block-converter are detached workspaces with their own Cargo.locks, which is why the sweep missed them: both still listed embedded-alloc under lambda-vm-syscalls after syscalls/Cargo.toml stopped declaring it. Regenerated via cargo metadata in each workspace. The only removals are embedded-alloc's own transitive tree (const-default, linked_list_allocator, rlsf, and in ethrex-crypto also rustversion, svgbobdoc, base64 0.13, syn 1.0.109, unicode-width); no other package's version moved. The 10 added lines are all ` "syn",` losing its version-disambiguation suffix now that only one syn remains. bench_vs/sp1/fibonacci/Cargo.lock also names embedded-alloc, but that is sp1-zkvm 6.0.1's own dependency and is left alone. imp::init is now idempotent in both arms. Both arms stored HEAP_POS unconditionally, so a second call rewound the cursor back over live allocations. With alloc_zeroed's memset removed -- sound only because bump never re-serves a region -- the next alloc_zeroed would then return dirty bytes, and the guest would compute on garbage while the prover produced a perfectly valid proof of that wrong execution. No crash and no diagnostic, so it is worth a guard rather than a comment. HEAP_END serves as the initialized flag (init_allocator always passes a nonzero MAX_MEMORY_SIZE), a debug_assert makes a double call loud in debug builds, and the host tests gain a #[cfg(test)] reset() since they deliberately re-point the global cursor at their own heap. Worth stating why this could not happen already, because the reason is not the call sites: all six guests that call init_allocator() explicitly also override the ELF entry with `-C link-arg=-e -C link-arg=main` in their .cargo/config.toml, so _start -- the only other caller -- never runs for them, and guests entering through _start never call it explicitly. The safety rested on an entry-point flag; a guest that dropped `-e main` while keeping its explicit call would have rewound. Three comment corrections and one warning. - The dlmalloc dep comment called it the allocator to pick "for continuations". Wrong criterion: continuations are a prover-side split of a single guest execution and change nothing about what the guest allocates. The criterion is a guest whose cumulative allocation has no per-execution bound, which is how src/allocator.rs already frames it. - allocates_zeros()'s comment described an "mmapped marker" that dlmalloc may set. There is no marker bit: Chunk::mmapped(p) is `(*p).head & INUSE == 0`, the absence of both in-use bits (dlmalloc 0.2.14 src/dlmalloc.rs:1805). The old comment's "the Rust port has no mmap path, so nothing is ever mmapped" is also not quite true -- init_top (dlmalloc.rs:789) writes a segment-end sentinel with head = top_foot_size() = 80 on 64-bit, and 80 & INUSE == 0, so that sentinel is mmapped()-true (harmless: never returned to a caller). Replaced with the durable argument: every path that returns a pointer to a caller goes through set_inuse / set_inuse_and_pinuse / set_size_and_pinuse_of_inuse_chunk, all of which set CINUSE, and calloc_must_clear is only ever evaluated on a user pointer, so no user chunk is ever mmapped. Consequence the old comment omitted: calloc_must_clear is therefore always true, calloc always memsets, and allocates_zeros() == true is inert -- not a performance win, kept only for correctness-by-construction should upstream grow an mmap path. - The comment on the bump arm's checked_add claimed the overflow is unconstructible from the Layout invariant alone. It is not: Layout gives size <= isize::MAX - (align - 1), which with aligned <= pos + align - 1 bounds aligned + size <= pos + isize::MAX, and that is < 2^64 only if pos < 2^63. The missing half is that alloc stores new_pos only when new_pos <= HEAP_END, so pos <= HEAP_END = 0xC000_0000. The checked_add stays -- it keeps the argument local to alloc instead of resting on both halves. - New note on the DLMALLOC static: an initialized Dlmalloc is address-sensitive and must never be moved. smallbin_at returns a pointer into self.smallbins and init_bins writes self-pointers into that array, so relocating it after first use (into a Box, a OnceCell, or a local) silently corrupts the bins. Safe as a static; the note is for whoever refactors it. Verified: syscalls tests pass on both arms -- 9 passed on the default bump arm (5 allocator + 4 keccak) and 12 on --features dlmalloc-alloc (8 allocator + 4 keccak). cargo fmt --check and cargo clippy --all-targets clean on both arms (the two surviving warnings are pre-existing manual_is_multiple_of in src/keccak.rs:104-105). benchmark-pr.yml parses and its paths list resolves to the seven expected entries. --- .github/workflows/benchmark-pr.yml | 7 ++ crypto/ethrex-crypto/Cargo.lock | 100 ++----------------- syscalls/Cargo.toml | 7 +- syscalls/src/allocator.rs | 114 +++++++++++++++++++--- tooling/ethrex-block-converter/Cargo.lock | 37 ------- 5 files changed, 124 insertions(+), 141 deletions(-) diff --git a/.github/workflows/benchmark-pr.yml b/.github/workflows/benchmark-pr.yml index 91f5b02ac..f6254e5e2 100644 --- a/.github/workflows/benchmark-pr.yml +++ b/.github/workflows/benchmark-pr.yml @@ -12,6 +12,13 @@ on: - 'executor/**' - 'bin/cli/**' - 'tooling/ethrex-fixtures/**' + # syscalls is linked into the guest ELF this job builds, so a change confined to + # it changes the bytes proven — a guest allocator swap moves cycles on every + # workload. Without it main's baseline would stay stale until some prover file + # happened to change, and the comparison guard would suppress the table until + # then. pr_main.yaml:99 already hashes 'syscalls/**' into the guest-ELF cache + # key; the two lists must agree on what rebuilds the guest. + - 'syscalls/**' # A baseline is only valid for the workload it measured, and the Makefile is # what defines that workload: it names the block and pins the URL and sha256 # of the .bin this job fetches. Without it a repointed block would leave diff --git a/crypto/ethrex-crypto/Cargo.lock b/crypto/ethrex-crypto/Cargo.lock index ec809fff9..fab277e4b 100644 --- a/crypto/ethrex-crypto/Cargo.lock +++ b/crypto/ethrex-crypto/Cargo.lock @@ -79,7 +79,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "62945a2f7e6de02a31fe400aa489f0e0f5b2502e69f95f853adb82a96c7a6b60" dependencies = [ "quote", - "syn 2.0.118", + "syn", ] [[package]] @@ -92,7 +92,7 @@ dependencies = [ "num-traits", "proc-macro2", "quote", - "syn 2.0.118", + "syn", ] [[package]] @@ -131,7 +131,7 @@ checksum = "213888f660fddcca0d257e88e54ac05bca01885f258ccdf695bafd77031bb69d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn", ] [[package]] @@ -162,12 +162,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" -[[package]] -name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - [[package]] name = "bitvec" version = "1.1.1" @@ -214,12 +208,6 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" -[[package]] -name = "const-default" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b396d1f76d455557e1218ec8066ae14bba60b4b36ecd55577ba979f5db7ecaa" - [[package]] name = "const-oid" version = "0.9.6" @@ -313,7 +301,7 @@ dependencies = [ "enum-ordinalize", "proc-macro2", "quote", - "syn 2.0.118", + "syn", ] [[package]] @@ -340,18 +328,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "embedded-alloc" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f2de9133f68db0d4627ad69db767726c99ff8585272716708227008d3f1bddd" -dependencies = [ - "const-default", - "critical-section", - "linked_list_allocator", - "rlsf", -] - [[package]] name = "embedded-hal" version = "1.0.0" @@ -375,7 +351,7 @@ checksum = "8ca9601fb2d62598ee17836250842873a413586e5d7ed88b356e38ddbb0ec631" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn", ] [[package]] @@ -563,7 +539,6 @@ dependencies = [ name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ - "embedded-alloc", "getrandom 0.2.17", "getrandom 0.3.4", "lazy_static", @@ -584,12 +559,6 @@ version = "0.2.186" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66" -[[package]] -name = "linked_list_allocator" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b23ac50abb8261cb38c6e2a7192d3302e0836dac1628f6a93b82b4fad185897" - [[package]] name = "num-bigint" version = "0.4.6" @@ -804,7 +773,7 @@ checksum = "7d323d13972c1b104aa036bc692cd08b822c8bbf23d79a27c526095856499799" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn", ] [[package]] @@ -813,31 +782,12 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8188909339ccc0c68cfb5a04648313f09621e8b87dc03095454f1a11f6c5d436" -[[package]] -name = "rlsf" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1646a59a9734b8b7a0ac51689388a60fe1625d4b956348e9de07591a1478457a" -dependencies = [ - "cfg-if", - "const-default", - "libc", - "rustversion", - "svgbobdoc", -] - [[package]] name = "rustc-hex" version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" -[[package]] -name = "rustversion" -version = "1.0.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" - [[package]] name = "sec1" version = "0.7.3" @@ -884,30 +834,6 @@ version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" -[[package]] -name = "svgbobdoc" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2c04b93fc15d79b39c63218f15e3fdffaa4c227830686e3b7c5f41244eb3e50" -dependencies = [ - "base64", - "proc-macro2", - "quote", - "syn 1.0.109", - "unicode-width", -] - -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - [[package]] name = "syn" version = "2.0.118" @@ -951,7 +877,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn", ] [[package]] @@ -962,7 +888,7 @@ checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn", ] [[package]] @@ -998,12 +924,6 @@ version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" -[[package]] -name = "unicode-width" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" - [[package]] name = "version_check" version = "0.9.5" @@ -1057,7 +977,7 @@ checksum = "1ae7f38b72ec2a254e2b87ef277cf2cd4fb97cbebf944faa6f33354da0867930" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn", ] [[package]] @@ -1077,5 +997,5 @@ checksum = "3c50655cbb0fe3fc43170059e702f1ce5e19b84cec58dc87b037a09935c2f328" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn", ] diff --git a/syscalls/Cargo.toml b/syscalls/Cargo.toml index fb2459255..6bcd8d1a8 100644 --- a/syscalls/Cargo.toml +++ b/syscalls/Cargo.toml @@ -12,8 +12,11 @@ lazy_static = "1.5.0" rand = "0.9.2" # Doug Lea's malloc, behind `dlmalloc-alloc`: slower than the default bump allocator on # every workload measured, but it reclaims freed memory, so it is the allocator to pick -# for continuations. `critical-section` gives the Sync a #[global_allocator] static -# needs; its single-hart impl comes from `riscv` above. See `src/allocator.rs`. +# for a guest whose cumulative allocation has no per-execution bound. Not a +# continuations criterion: continuations are a prover-side split of a single guest +# execution and change nothing about what the guest allocates. `critical-section` gives +# the Sync a #[global_allocator] static needs; its single-hart impl comes from `riscv` +# above. See `src/allocator.rs`. dlmalloc = { version = "0.2.14", default-features = false, optional = true } critical-section = { version = "1.2", optional = true } diff --git a/syscalls/src/allocator.rs b/syscalls/src/allocator.rs index 80162c6a5..7c733ac9d 100644 --- a/syscalls/src/allocator.rs +++ b/syscalls/src/allocator.rs @@ -50,11 +50,30 @@ mod imp { #[cfg_attr(target_arch = "riscv64", global_allocator)] static ALLOC: BumpAlloc = BumpAlloc; + /// Idempotent: a later call must not rewind the cursor over live allocations. See + /// `init_allocator` for why that would be silent corruption and why nothing calls + /// this twice today. `HEAP_END` doubles as the initialized flag -- `init_allocator` + /// always passes the nonzero `MAX_MEMORY_SIZE`. pub fn init(heap_start: usize, heap_end: usize) { + let initialized = HEAP_END.load(Ordering::Relaxed) != 0; + debug_assert!( + !initialized, + "allocator init called twice; the cursor would rewind over live allocations" + ); + if initialized { + return; + } HEAP_POS.store(heap_start, Ordering::Relaxed); HEAP_END.store(heap_end, Ordering::Relaxed); } + // Test-only: `init` is idempotent, so the tests must clear the flag to re-point the + // global cursor at their own heap. + #[cfg(test)] + fn reset() { + HEAP_END.store(0, Ordering::Relaxed); + } + unsafe impl GlobalAlloc for BumpAlloc { unsafe fn alloc(&self, layout: Layout) -> *mut u8 { let align = layout.align(); @@ -99,6 +118,7 @@ mod imp { // Zeroed, like guest memory: reads of never-written heap return 0 there. let base = unsafe { std::alloc::alloc_zeroed(l) }; assert!(!base.is_null()); + reset(); init(base as usize, base as usize + bytes); guard } @@ -166,10 +186,16 @@ mod imp { unsafe { BumpAlloc.alloc(l) }.is_null(), "handed out memory past HEAP_END" ); - // An absurd size declines too. It declines on the bounds check rather than - // on the `checked_add`: `Layout` requires size rounded up to align to fit in - // `isize::MAX`, so a size that would overflow the cursor arithmetic can't be - // constructed in the first place. + // An absurd size declines too, and on the bounds check rather than on the + // `checked_add`. The `Layout` invariant alone does not get you there: it + // gives `size <= isize::MAX - (align - 1)`, and with + // `aligned <= pos + align - 1` that bounds + // `aligned + size <= pos + isize::MAX` -- which is `< 2^64` only if + // `pos < 2^63`. The second half comes from the cursor being heap-bounded: + // `alloc` stores `new_pos` only when `new_pos <= HEAP_END`, so + // `pos <= HEAP_END`, and on the guest that is `MAX_MEMORY_SIZE` = + // 0xC000_0000. The `checked_add` stays: it keeps the no-overflow argument + // local to `alloc` instead of resting on both of those. let huge = layout(isize::MAX as usize - 7, 8); assert!(unsafe { BumpAlloc.alloc(huge) }.is_null()); } @@ -179,6 +205,7 @@ mod imp { #[test] fn uninitialized_allocator_hands_out_nothing() { let _guard = HEAP_LOCK.lock().unwrap_or_else(|e| e.into_inner()); + reset(); init(0, 0); assert!(unsafe { BumpAlloc.alloc(layout(1, 1)) }.is_null()); } @@ -253,14 +280,28 @@ mod imp { fn allocates_zeros(&self) -> bool { // Guest memory is zero-initialized and this provider never reuses a segment, - // so system-fresh bytes read as 0. dlmalloc consults this only in - // `calloc_must_clear` = `!allocates_zeros() || !mmapped(chunk)`, i.e. it may - // skip calloc's memset only for a chunk it marked mmapped. Two independent - // reasons that is safe here: the Rust port has no mmap path at all (nothing - // ever sets the mmapped marker, so calloc always zeroes), and even if it - // grew one, freeing an mmapped chunk whose system `free` declines drops the - // chunk instead of re-binning it — so a recycled block is never mmapped. - // Locked by `calloc_zeroes_recycled_dirty_blocks` below. + // so system-fresh bytes read as 0. + // + // This setting is INERT, not a performance win. dlmalloc consults it only + // through `calloc_must_clear(ptr)` = + // `!allocates_zeros() || !mmapped(Chunk::from_mem(ptr))`, and `mmapped` is + // not a marker bit anyone sets — it is `(*p).head & INUSE == 0`, the absence + // of both in-use bits (dlmalloc 0.2.14 `src/dlmalloc.rs:1805`). Every path + // that returns a pointer to a caller goes through `set_inuse` / + // `set_inuse_and_pinuse` / `set_size_and_pinuse_of_inuse_chunk`, all of which + // set `CINUSE`, and `calloc_must_clear` is only ever evaluated on a user + // pointer. So no *user* chunk is ever `mmapped`, `calloc_must_clear` is + // always true, `calloc` always memsets, and flipping this to `false` would + // change nothing. + // + // Flagless heads do exist, so don't reason from "nothing is ever mmapped": + // `init_top` (dlmalloc.rs:789) writes a segment-end sentinel with + // `head = top_foot_size()` = 80 on 64-bit, and `80 & INUSE == 0`, so that + // sentinel *is* `mmapped()`-true. Harmless — it is never returned to a + // caller, so it never reaches `calloc_must_clear`. + // + // Kept `true` for correctness-by-construction if upstream ever grows an mmap + // path. Locked by `calloc_zeroes_recycled_dirty_blocks` below. true } @@ -272,6 +313,12 @@ mod imp { // Dlmalloc is Send but !Sync, so it can't sit in a static directly. A single-hart // critical section serializes access and supplies the Sync a #[global_allocator] // static requires. Its single-hart implementation comes from the `riscv` crate. + // + // An initialized `Dlmalloc` is address-sensitive and must never be moved: + // `smallbin_at` returns a pointer into `self.smallbins` and `init_bins` writes + // self-pointers into that array, so relocating it after first use — into a `Box`, a + // `OnceCell`, or a local — silently corrupts the bins. Safe as a `static`; the note + // is for whoever refactors this. static DLMALLOC: Mutex>> = Mutex::new(RefCell::new(Dlmalloc::new_with_allocator(BumpSystem))); @@ -280,11 +327,31 @@ mod imp { #[cfg_attr(target_arch = "riscv64", global_allocator)] static ALLOC: DlGlobal = DlGlobal; + /// Idempotent: a later call must not rewind the segment cursor, which would hand + /// dlmalloc segments overlapping ones it is already using. See `init_allocator` for + /// the full argument and for why nothing calls this twice today. `HEAP_END` doubles + /// as the initialized flag -- `init_allocator` always passes the nonzero + /// `MAX_MEMORY_SIZE`. pub fn init(heap_start: usize, heap_end: usize) { + let initialized = HEAP_END.load(Ordering::Relaxed) != 0; + debug_assert!( + !initialized, + "allocator init called twice; the segment cursor would rewind over live segments" + ); + if initialized { + return; + } HEAP_POS.store(heap_start, Ordering::Relaxed); HEAP_END.store(heap_end, Ordering::Relaxed); } + // Test-only: `init` is idempotent, so the tests must clear the flag to re-point the + // global segment cursor at their own heap. + #[cfg(test)] + fn reset() { + HEAP_END.store(0, Ordering::Relaxed); + } + unsafe impl GlobalAlloc for DlGlobal { unsafe fn alloc(&self, layout: Layout) -> *mut u8 { critical_section::with(|cs| unsafe { @@ -346,7 +413,12 @@ mod imp { // Zeroed, like guest memory: reads of never-written heap return 0 there. let base = unsafe { std::alloc::alloc_zeroed(layout) }; assert!(!base.is_null()); + reset(); init(base as usize, base as usize + bytes); + // Moved out by value, which is only sound because it is untouched: an + // initialized `Dlmalloc` is address-sensitive (see the `DLMALLOC` static). + // `new_with_allocator` is const and `init_bins` runs on first malloc, which + // has not happened yet. (guard, Dlmalloc::new_with_allocator(BumpSystem)) } @@ -455,6 +527,7 @@ mod imp { #[test] fn uninitialized_provider_hands_out_nothing() { let _guard = HEAP_LOCK.lock().unwrap_or_else(|e| e.into_inner()); + reset(); init(0, 0); assert!(BumpSystem.alloc(1).0.is_null()); } @@ -490,6 +563,23 @@ mod imp { } } +/// Points the guest allocator at `[_end, MAX_MEMORY_SIZE)`. +/// +/// Must run exactly once per execution, and `imp::init` enforces that by ignoring any +/// later call rather than trusting its callers. A second call rewinds the cursor back +/// over live allocations, and because the bump arm's `alloc_zeroed` skips the memset -- +/// sound only because bump never re-serves a region -- the next `alloc_zeroed` would +/// then hand back dirty bytes. The guest would compute on garbage and the prover would +/// produce a perfectly valid proof of that wrong execution: no crash, no diagnostic, +/// which is why this is guarded rather than merely documented. +/// +/// What makes it once today is an entry-point flag, not the call sites. The six guests +/// that call this explicitly all also override the ELF entry with +/// `-C link-arg=-e -C link-arg=main` in their `.cargo/config.toml`, so `_start` -- the +/// only other caller, in `src/entrypoint.rs` -- never runs for them; guests that do +/// enter through `_start` never call it explicitly. A guest that dropped `-e main` while +/// keeping its explicit call would therefore call this twice, which is why the guard +/// lives in `imp::init` rather than in a comment here. pub fn init_allocator() { unsafe extern "C" { static _end: u8; diff --git a/tooling/ethrex-block-converter/Cargo.lock b/tooling/ethrex-block-converter/Cargo.lock index a8268a857..8ad77716b 100644 --- a/tooling/ethrex-block-converter/Cargo.lock +++ b/tooling/ethrex-block-converter/Cargo.lock @@ -463,12 +463,6 @@ dependencies = [ "digest", ] -[[package]] -name = "const-default" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b396d1f76d455557e1218ec8066ae14bba60b4b36ecd55577ba979f5db7ecaa" - [[package]] name = "const-oid" version = "0.9.6" @@ -796,18 +790,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "embedded-alloc" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f2de9133f68db0d4627ad69db767726c99ff8585272716708227008d3f1bddd" -dependencies = [ - "const-default", - "critical-section", - "linked_list_allocator", - "rlsf", -] - [[package]] name = "embedded-hal" version = "1.0.0" @@ -1662,7 +1644,6 @@ dependencies = [ name = "lambda-vm-syscalls" version = "0.1.0" dependencies = [ - "embedded-alloc", "getrandom 0.2.17", "getrandom 0.3.4", "lazy_static", @@ -1717,12 +1698,6 @@ version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" -[[package]] -name = "linked_list_allocator" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b23ac50abb8261cb38c6e2a7192d3302e0836dac1628f6a93b82b4fad185897" - [[package]] name = "lock_api" version = "0.4.14" @@ -2406,18 +2381,6 @@ dependencies = [ "rustc-hex", ] -[[package]] -name = "rlsf" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07393724337be2ee43a9d86164df4505746874a3fa65913374bc6d6a92314362" -dependencies = [ - "cfg-if", - "const-default", - "libc", - "rustversion", -] - [[package]] name = "rustc-hash" version = "2.1.3" From b3699df10f9a2fff4260af4cf3c5efd46ef493df Mon Sep 17 00:00:00 2001 From: jotabulacios Date: Tue, 4 Aug 2026 17:40:52 -0300 Subject: [PATCH 12/15] Grow the top bump block in place on realloc --- syscalls/src/allocator.rs | 149 +++++++++++++++++++++++++++++++++++--- 1 file changed, 139 insertions(+), 10 deletions(-) diff --git a/syscalls/src/allocator.rs b/syscalls/src/allocator.rs index cb70d2622..720c29682 100644 --- a/syscalls/src/allocator.rs +++ b/syscalls/src/allocator.rs @@ -9,7 +9,9 @@ const WORD_SIZE: usize = 4; // continuations, on cycles, trace elements, proving time, proof size and peak RSS. The // figures below are post-#861: thin LTO inlines the per-allocation free-list bookkeeping // dlmalloc and TLSF pay and bump avoids by construction, closing ~2/3 of the gap the same -// comparison showed before it -- expect smaller numbers than any pre-LTO run reports. +// comparison showed before it -- expect smaller numbers than any pre-LTO run reports. They +// also predate the in-place `realloc` below, which takes a further 0.6..1.3% off guest cycles +// across the ethrex fixtures but has not been re-run against dlmalloc. // // - default: a monotonic bump allocator. No free lists and no coalescing -- `alloc` moves // a cursor, `dealloc` is empty -- so it spends the fewest guest instructions per @@ -26,19 +28,18 @@ const WORD_SIZE: usize = 4; // configuration worth running is the one bump wins. // - `dlmalloc-alloc` feature: Doug Lea's malloc on a bump "system" provider that hands it // page-aligned segments. Slower to prove at the epochs worth running, but its footprint -// is bounded by live bytes rather than total bytes ever allocated, and it overrides -// `realloc`, so a grow can extend a block in place. Select it for an execution whose -// churn has no per-block bound, and when proof size or epoch 2^20 is what counts. +// is bounded by live bytes rather than total bytes ever allocated, and it can grow a +// buried block in place, which bump cannot. Select it for an execution whose churn has +// no per-block bound, and when proof size or epoch 2^20 is what counts. // // Bump's ceiling is cumulative allocation, measured at ~3 GiB -- the size of // [_end, MAX_MEMORY_SIZE). A single block cannot reach it: allocation is bounded by gas, and // a gas-full block of the cheapest transactions (1500 transfers, 31.5M gas, 523M cycles) -// executes with room to spare. Two things spend that budget faster than live bytes suggest: -// nothing is ever reclaimed, and bump does not override `realloc`, so `GlobalAlloc`'s default -// grows a block by allocating a fresh one, copying, and `dealloc`ing the old -- a no-op here, -// which abandons it. Geometric growth (`Vec`, `String`) pays a bounded ~2x for that; growing -// by a constant makes it quadratic. A guest program that processes many blocks in one -// execution has no per-block bound at all, which is what `dlmalloc-alloc` is for. +// executes with room to spare. What spends that budget faster than live bytes suggest is that +// nothing is ever reclaimed: `dealloc` is a no-op, and a grow that cannot extend in place -- +// the block is not the one the cursor sits on -- abandons the old block on top of that. A +// guest program that processes many blocks in one execution has no per-block bound at all, +// which is what `dlmalloc-alloc` is for. // // Exhausting the heap does not fail cleanly today: `alloc` returns null, which reaches // `handle_alloc_error`, which panics into the guest's `#[panic_handler]` -- `loop {}` in every @@ -98,6 +99,42 @@ mod imp { // so freshly bumped memory already reads as zero -- skip the memset. unsafe { self.alloc(layout) } } + + unsafe fn realloc(&self, ptr: *mut u8, layout: Layout, new_size: usize) -> *mut u8 { + // `GlobalAlloc`'s default allocates a fresh block, copies, and `dealloc`s the old + // one -- a no-op here, so every grow would abandon its previous buffer. When the + // block is the one the cursor sits on, extend it in place instead: no copy and + // nothing abandoned, which makes growing by a constant cost the final size rather + // than the sum of every intermediate one. + if (ptr as usize).wrapping_add(layout.size()) == HEAP_POS.load(Ordering::Relaxed) { + // Shrinking gives the tail up rather than rewinding the cursor: `alloc_zeroed` + // skips its memset because a region is never served twice, which holds only + // while the cursor is monotonic. + if new_size <= layout.size() { + return ptr; + } + return match (ptr as usize).checked_add(new_size) { + Some(end) if end <= HEAP_END.load(Ordering::Relaxed) => { + HEAP_POS.store(end, Ordering::Relaxed); + ptr + } + // A fresh block would start at or past `ptr`, so it cannot fit either -- + // decline without copying. + _ => core::ptr::null_mut(), + }; + } + + // SAFETY: `realloc`'s contract puts `new_size` within the bounds a `Layout` with + // this align accepts, which is what the default implementation relies on too. + let new_layout = unsafe { Layout::from_size_align_unchecked(new_size, layout.align()) }; + let new_ptr = unsafe { self.alloc(new_layout) }; + if !new_ptr.is_null() { + unsafe { + core::ptr::copy_nonoverlapping(ptr, new_ptr, layout.size().min(new_size)) + }; + } + new_ptr + } } // Host tests. `BumpAlloc`'s cursor is global, so they serialize on `HEAP_LOCK` and @@ -160,6 +197,98 @@ mod imp { ); } + /// What the in-place path buys, and the reason it exists: growing one buffer by a + /// constant 1024 times consumes the final size. Under `GlobalAlloc`'s default + /// `realloc` it would consume the sum of every step -- ~33 MiB here, so this heap + /// would run out. + #[test] + fn incremental_growth_costs_only_the_final_size() { + let _guard = with_heap(1024 * 1024); + let base = unsafe { BumpAlloc.alloc(layout(64, 8)) }; + assert!(!base.is_null()); + let mut size = 64usize; + for _ in 0..1024 { + let grown = unsafe { BumpAlloc.realloc(base, layout(size, 8), size + 64) }; + assert_eq!( + grown, base, + "grow past {size} bytes did not extend in place" + ); + size += 64; + } + assert_eq!( + HEAP_POS.load(Ordering::Relaxed), + base as usize + size, + "growth consumed more heap than the final buffer" + ); + } + + #[test] + fn growing_the_top_block_keeps_its_contents() { + let _guard = with_heap(1024 * 1024); + let base = unsafe { BumpAlloc.alloc(layout(64, 8)) }; + unsafe { core::ptr::write_bytes(base, 0x5A, 64) }; + + let grown = unsafe { BumpAlloc.realloc(base, layout(64, 8), 4096) }; + assert_eq!(grown, base); + let kept = unsafe { core::slice::from_raw_parts(grown, 64) }; + assert!(kept.iter().all(|&b| b == 0x5A), "in-place grow lost bytes"); + } + + /// A block with something allocated after it cannot be extended, so it falls back + /// to the allocate-and-copy the default `realloc` does. + #[test] + fn growing_a_buried_block_copies_it() { + let _guard = with_heap(1024 * 1024); + let buried = unsafe { BumpAlloc.alloc(layout(64, 8)) }; + unsafe { core::ptr::write_bytes(buried, 0x5A, 64) }; + let top = unsafe { BumpAlloc.alloc(layout(64, 8)) }; + assert!(!top.is_null()); + + let grown = unsafe { BumpAlloc.realloc(buried, layout(64, 8), 128) }; + assert!(!grown.is_null()); + assert_ne!(grown, buried, "a buried block cannot grow in place"); + let kept = unsafe { core::slice::from_raw_parts(grown, 64) }; + assert!( + kept.iter().all(|&b| b == 0x5A), + "realloc lost the old bytes" + ); + } + + /// Shrinking must not rewind the cursor: that would re-serve bytes the guest already + /// wrote, and `alloc_zeroed` skips its memset on the promise that never happens. + #[test] + fn shrinking_does_not_rewind_the_cursor_onto_dirty_bytes() { + let _guard = with_heap(1024 * 1024); + let l = layout(4096, 8); + let block = unsafe { BumpAlloc.alloc(l) }; + unsafe { core::ptr::write_bytes(block, 0xAA, 4096) }; + let cursor = HEAP_POS.load(Ordering::Relaxed); + + let shrunk = unsafe { BumpAlloc.realloc(block, l, 64) }; + assert_eq!(shrunk, block, "a shrink should keep the block where it is"); + assert_eq!( + HEAP_POS.load(Ordering::Relaxed), + cursor, + "the cursor must not rewind over bytes the guest wrote" + ); + + let fresh = unsafe { BumpAlloc.alloc_zeroed(l) }; + assert!(!fresh.is_null()); + let bytes = unsafe { core::slice::from_raw_parts(fresh, 4096) }; + assert!(bytes.iter().all(|&b| b == 0), "alloc_zeroed returned dirt"); + } + + /// Exhaustion on the in-place path declines rather than handing out memory past + /// `HEAP_END`. + #[test] + fn growing_past_the_heap_end_returns_null() { + let _guard = with_heap(8192); + let l = layout(4096, 8); + let block = unsafe { BumpAlloc.alloc(l) }; + assert!(!block.is_null()); + assert!(unsafe { BumpAlloc.realloc(block, l, 16384) }.is_null()); + } + #[test] fn alignment_requests_are_honored() { let _guard = with_heap(1024 * 1024); From 61582209aa3b2ced063f1748e436d329a995976a Mon Sep 17 00:00:00 2001 From: jotabulacios Date: Wed, 5 Aug 2026 11:27:08 -0300 Subject: [PATCH 13/15] Trigger the hyperfine bench on syscalls changes --- .github/workflows/benchmark-pr.yml | 1 + .github/workflows/hyperfine.yaml | 9 +++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/workflows/benchmark-pr.yml b/.github/workflows/benchmark-pr.yml index f6254e5e2..625e6e5a7 100644 --- a/.github/workflows/benchmark-pr.yml +++ b/.github/workflows/benchmark-pr.yml @@ -35,6 +35,7 @@ on: # - 'crypto/**' # - 'executor/**' # - 'bin/cli/**' + # - 'syscalls/**' permissions: contents: read diff --git a/.github/workflows/hyperfine.yaml b/.github/workflows/hyperfine.yaml index 61b76bc40..b52241fc2 100644 --- a/.github/workflows/hyperfine.yaml +++ b/.github/workflows/hyperfine.yaml @@ -6,6 +6,11 @@ on: paths: - 'executor/src/**' - 'executor/Cargo.toml' + # syscalls is linked into the guest ELFs this job builds and measures, so a change + # confined to it moves cycles on every benchmark. The cache key below already + # hashes it; both lists must agree on what rebuilds the guest, or a syscalls-only + # change (a guest allocator swap, say) never gets benchmarked at all. + - 'syscalls/**' concurrency: group: ${{ github.workflow }}-${{ github.ref }} @@ -35,7 +40,7 @@ jobs: id: cache with: path: ${{ matrix.branch }}_programs/*.elf - key: benchmarks-${{ matrix.branch }}-${{ hashFiles( 'executor/programs/bench/**', 'syscalls/src/**' ) }} + key: benchmarks-${{ matrix.branch }}-${{ hashFiles( 'executor/programs/bench/**', 'syscalls/**' ) }} restore-keys: benchmarks-${{ matrix.branch }}- - name: Setup Rust Environment @@ -51,7 +56,7 @@ jobs: - name: Export benchmark hashes id: export-hashes - run: echo "benchmark-hashes-${{ matrix.branch }}=${{ hashFiles( 'executor/programs/bench/**', 'syscalls/src/**' ) }}" >> "$GITHUB_OUTPUT" + run: echo "benchmark-hashes-${{ matrix.branch }}=${{ hashFiles( 'executor/programs/bench/**', 'syscalls/**' ) }}" >> "$GITHUB_OUTPUT" build-binaries: strategy: From ccb5d77522c118d8e1fe0f4ee6c1b17c132a8c49 Mon Sep 17 00:00:00 2001 From: jotabulacios Date: Wed, 5 Aug 2026 11:28:24 -0300 Subject: [PATCH 14/15] Test the allocator init guard in both profiles --- .github/workflows/pr_main.yaml | 5 +++- Makefile | 4 +++ syscalls/src/allocator.rs | 55 ++++++++++++++++++++++++++++++++++ 3 files changed, 63 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pr_main.yaml b/.github/workflows/pr_main.yaml index a498a87a1..a1074bf81 100644 --- a/.github/workflows/pr_main.yaml +++ b/.github/workflows/pr_main.yaml @@ -172,7 +172,10 @@ jobs: # The dlmalloc fallback is feature-selected, so nothing else in CI compiles it and it # can rot silently. Its tests run here too. - name: Test the dlmalloc guest allocator fallback - run: cd syscalls && cargo test --features dlmalloc-alloc + run: | + cd syscalls + cargo test --features dlmalloc-alloc + cargo test --release --features dlmalloc-alloc # "Test" is a required check — keep this name to avoid branch protection changes. # This gate job passes only when CLI, executor, disk-spill, and prover tests succeed. diff --git a/Makefile b/Makefile index 25dce43de..228ce27ee 100644 --- a/Makefile +++ b/Makefile @@ -514,8 +514,12 @@ check-ethrex-fixture-checksums: # differential tests (the keccak sponge vs sha3 reference). Run them explicitly # in the crate dir; wired into `test` below and run as a dedicated step # in CI's cli-test job (pr_main.yaml). +# Release too: the allocator's `init` guard degrades to an early return once +# `debug_assert!` is compiled out, which is the configuration guests are built in, +# and the test for that path is `#[cfg(not(debug_assertions))]`. test-syscalls: cd syscalls && cargo test + cd syscalls && cargo test --release test: compile-programs test-syscalls cargo test diff --git a/syscalls/src/allocator.rs b/syscalls/src/allocator.rs index 7be5be2d4..6f59fa145 100644 --- a/syscalls/src/allocator.rs +++ b/syscalls/src/allocator.rs @@ -356,6 +356,34 @@ mod imp { init(0, 0); assert!(unsafe { BumpAlloc.alloc(layout(1, 1)) }.is_null()); } + + /// A second `init` would rewind the cursor over live allocations, which + /// `alloc_zeroed`'s missing memset turns into silently dirty memory. In debug + /// builds the `debug_assert!` is what catches that. + #[test] + #[cfg(debug_assertions)] + #[should_panic(expected = "init called twice")] + fn a_second_init_is_loud_in_debug() { + let _guard = with_heap(1024 * 1024); + init(0, 0); + } + + /// Guests are built in release, where the `debug_assert!` is compiled out and the + /// early return is the only thing holding the invariant up. + #[test] + #[cfg(not(debug_assertions))] + fn a_second_init_leaves_the_cursor_alone() { + let _guard = with_heap(1024 * 1024); + let first = unsafe { BumpAlloc.alloc(layout(4096, 8)) }; + assert!(!first.is_null()); + init(first as usize, first as usize + 4096); + let second = unsafe { BumpAlloc.alloc(layout(4096, 8)) }; + assert_eq!( + second as usize, + first as usize + 4096, + "init rewound the cursor over a live allocation" + ); + } } } @@ -679,6 +707,33 @@ mod imp { assert!(BumpSystem.alloc(1).0.is_null()); } + /// A second `init` would rewind the segment cursor and hand dlmalloc segments that + /// overlap ones it is already using. Debug builds catch it on the `debug_assert!`. + #[test] + #[cfg(debug_assertions)] + #[should_panic(expected = "init called twice")] + fn a_second_init_is_loud_in_debug() { + let (_guard, _dl) = with_heap(1024 * 1024); + init(0, 0); + } + + /// The release path, which is what the guest runs: the early return is the whole + /// protection. + #[test] + #[cfg(not(debug_assertions))] + fn a_second_init_leaves_the_segment_cursor_alone() { + let (_guard, _dl) = with_heap(1024 * 1024); + let (first, size, _) = BumpSystem.alloc(PAGE_SIZE); + assert!(!first.is_null()); + init(first as usize, first as usize + size); + let (second, _, _) = BumpSystem.alloc(PAGE_SIZE); + assert_eq!( + second as usize, + first as usize + size, + "init rewound the segment cursor over a live segment" + ); + } + #[test] fn realloc_preserves_contents_when_growing() { let (_guard, mut dl) = with_heap(1024 * 1024); From fc855eafcc9b3ac7bc23a0a60ec8ea2120f35cc8 Mon Sep 17 00:00:00 2001 From: jotabulacios Date: Thu, 6 Aug 2026 16:40:37 -0300 Subject: [PATCH 15/15] Replace the bump ceiling claim with measurements --- syscalls/src/allocator.rs | 59 +++++++++++++++++++++------------------ 1 file changed, 32 insertions(+), 27 deletions(-) diff --git a/syscalls/src/allocator.rs b/syscalls/src/allocator.rs index 6f59fa145..cf698a37d 100644 --- a/syscalls/src/allocator.rs +++ b/syscalls/src/allocator.rs @@ -4,47 +4,52 @@ const MAX_MEMORY_SIZE: usize = 0xC000_0000; const WORD_SIZE: usize = 4; // Guest global allocator, selectable at build time. The default was chosen on a measured -// three-way A/B against embedded-alloc's TLSF heap (the previous default, now removed) over -// ethrex blocks of 1..1500 transfers plus a real Hoodi block, monolithic and with -// continuations, on cycles, trace elements, proving time, proof size and peak RSS. The -// figures below are post-#861: thin LTO inlines the per-allocation free-list bookkeeping -// dlmalloc and TLSF pay and bump avoids by construction, closing ~2/3 of the gap the same -// comparison showed before it -- expect smaller numbers than any pre-LTO run reports. They -// also predate the in-place `realloc` below, which takes a further 0.6..1.3% off guest cycles -// across the ethrex fixtures but has not been re-run against dlmalloc. +// three-way A/B against embedded-alloc's TLSF heap (the previous default, now removed) and +// dlmalloc: bump spends the fewest guest cycles and proves fastest at the epochs worth +// running, and it pays for that with a 0.6..1.0% larger proof bundle at every epoch and a +// loss at epoch 2^20, where eight epochs amplify the pages its non-reuse touches. Numbers, +// fixtures and method are in #869; the real block does not resolve the difference. // // - default: a monotonic bump allocator. No free lists and no coalescing -- `alloc` moves // a cursor, `dealloc` is empty -- so it spends the fewest guest instructions per -// allocation. Against dlmalloc: ~7% fewer guest cycles on a 20-transfer block, ~6% on -// 150 transfers, ~3% on a real Hoodi block (where keccak and trie work dominate and the -// allocator's share dilutes); ~2.6% faster to prove monolithic at ~4% lower peak RSS, -// and ~1.2% with continuations at epochs 2^21 and 2^22. It never reuses a freed region, -// so its footprint grows monotonically -- see the ceiling note below. -// -// Non-reuse costs it two things. The proof bundle is 0.6..1.0% larger at every epoch -// (deterministic: memory that is never reused spans more pages, and every page touched -// pays PAGE rows), and at epoch 2^20 dlmalloc proves ~2.3% faster, where eight epochs -// amplify that page cost. Larger epochs are ~26% cheaper in absolute terms, so the -// configuration worth running is the one bump wins. +// allocation. It never reuses a freed region, so its footprint grows monotonically and +// the proof pays PAGE rows for every page that footprint spans -- see the ceiling note +// below. // - `dlmalloc-alloc` feature: Doug Lea's malloc on a bump "system" provider that hands it // page-aligned segments. Slower to prove at the epochs worth running, but its footprint // is bounded by live bytes rather than total bytes ever allocated, and it can grow a // buried block in place, which bump cannot. Select it for an execution whose churn has -// no per-block bound, and when proof size or epoch 2^20 is what counts. +// no per-block bound, and when proof size or epoch 2^20 is what counts. Nothing selects +// it today: CI builds and tests the feature on host, but no guest manifest or Makefile +// rule turns it on, so the riscv64 `#[global_allocator]` below is a fallback with no +// consumer yet. // // Bump's ceiling is cumulative allocation, measured at ~3 GiB -- the size of -// [_end, MAX_MEMORY_SIZE). A single block cannot reach it: allocation is bounded by gas, and -// a gas-full block of the cheapest transactions (1500 transfers, 31.5M gas, 523M cycles) -// executes with room to spare. What spends that budget faster than live bytes suggest is that -// nothing is ever reclaimed: `dealloc` is a no-op, and a grow that cannot extend in place -- -// the block is not the one the cursor sits on -- abandons the old block on top of that. A -// guest program that processes many blocks in one execution has no per-block bound at all, -// which is what `dlmalloc-alloc` is for. +// [_end, MAX_MEMORY_SIZE). Allocation is linear in gas, measured execute-only over eight +// ethrex fixtures from 0.42M to 63M gas: 2.55 MB + 2.213 B/gas, with the marginal rate flat +// (2.18..2.29) across that 150x range, so there is no superlinear term to reach the ceiling +// with. 1500 transfers (31.5M gas) allocate 72.1 MB. What binds is bytes per gas, not +// transactions per gas, and transfers roughly minimise it: the contract-heavy blocks measure +// up to 3.87 B/gas, which puts a 60M-gas block at ~232 MB, a 13.9x margin, and needs ~832M +// gas to exhaust. Both contract-heavy fixtures are small blocks (2.4M and 4.2M gas), so that +// rate carries the ~2.5 MB constant in its average and no gas-full contract-heavy block has +// been measured -- the margin is an extrapolation, and `dlmalloc-alloc` is the one-flag +// fallback if a block ever exceeds it. +// +// What spends that budget faster than live bytes suggest is that nothing is ever reclaimed: +// `dealloc` is a no-op, and a grow that cannot extend in place -- the block is not the one the +// cursor sits on -- abandons the old block on top of that. A guest program that processes many +// blocks in one execution has no per-block bound at all, which is what `dlmalloc-alloc` is for. // // Exhausting the heap does not fail cleanly today: `alloc` returns null, which reaches // `handle_alloc_error`, which panics into the guest's `#[panic_handler]` -- `loop {}` in every // guest here -- so execution spins instead of aborting, and nothing on the proving path // bounds cycles (`--cycle-budget` is opt-in and only on `execute`). So the fallback matters. +// This predates the bump default -- TLSF returned null and hung through the same panic +// handler -- and fixing it is not allocator-local: `HALT` constrains `exit_code = 0`, so a +// nonzero exit cannot be proved at all, and a clean abort needs either a committed failure +// marker or a non-provable abort ecall. The cheaper mitigation, a host-side cycle bound on +// `prove`, needs neither. // // Only the guest installs a #[global_allocator]; on host (e.g. `cargo test` for the // sponge's differential tests) the attribute would hijack the test harness's