#[repr(C)]pub struct lucet_alloc_limits {
pub heap_memory_size: u64,
pub heap_address_space_size: u64,
pub stack_size: u64,
pub globals_size: u64,
pub signal_stack_size: u64,
}
Expand description
Runtime limits for the various memories that back a Lucet instance.
Each value is specified in bytes, and must be evenly divisible by the host page size (4K).
Fields§
§heap_memory_size: u64
Max size of the heap, which can be backed by real memory. (default 1M)
heap_address_space_size: u64
Size of total virtual memory. (default 8G)
stack_size: u64
Size of the guest stack. (default 128K)
globals_size: u64
Size of the globals region in bytes; each global uses 8 bytes. (default 4K)
signal_stack_size: u64
Size of the signal stack in bytes. (default SIGSTKSZ for release builds, at least 12K for debug builds; minimum MINSIGSTKSZ)
This difference is to account for the greatly increased stack size usage in the signal handler when running without optimizations.
Note that debug vs. release mode is determined by cfg(debug_assertions)
, so if you are
specifically enabling debug assertions in your release builds, the default signal stack may
be larger.
Trait Implementations§
Source§impl Clone for lucet_alloc_limits
impl Clone for lucet_alloc_limits
Source§fn clone(&self) -> lucet_alloc_limits
fn clone(&self) -> lucet_alloc_limits
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more