[−][src]Struct lucet_runtime_internals::alloc::Limits
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: usize
Max size of the heap, which can be backed by real memory. (default 1M)
heap_address_space_size: usize
Size of total virtual memory. (default 8G)
stack_size: usize
Size of the guest stack. (default 128K)
globals_size: usize
Size of the globals region in bytes; each global uses 8 bytes. (default 4K)
signal_stack_size: usize
Size of the signal stack in bytes. (default SIGSTKSZ for release builds, 12K for debug builds)
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 will
be larger.
Methods
impl Limits
[src]
impl Limits
[src]
pub fn total_memory_size(&self) -> usize
[src]
pub fn validate(&self) -> Result<(), Error>
[src]
Validate that the limits are aligned to page sizes, and that the stack is not empty.
Trait Implementations
impl Clone for Limits
[src]
impl Debug for Limits
[src]
impl<'_> From<&'_ Limits> for lucet_alloc_limits
[src]
fn from(limits: &Limits) -> lucet_alloc_limits
[src]
impl<'_> From<&'_ lucet_alloc_limits> for Limits
[src]
fn from(limits: &lucet_alloc_limits) -> Limits
[src]
impl From<Limits> for lucet_alloc_limits
[src]
fn from(limits: Limits) -> lucet_alloc_limits
[src]
impl From<lucet_alloc_limits> for Limits
[src]
fn from(limits: lucet_alloc_limits) -> Limits
[src]
Auto Trait Implementations
impl RefUnwindSafe for Limits
impl Send for Limits
impl Sync for Limits
impl Unpin for Limits
impl UnwindSafe for Limits
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,