[][src]Struct lucet_runtime_internals::c_api::lucet_alloc_limits

#[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,
}

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 Rust release builds, 12K for Rust 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 Rust debug assertions in your Cargo release builds, the default signal stack will be larger.

Trait Implementations

impl Clone for lucet_alloc_limits[src]

impl Debug for lucet_alloc_limits[src]

impl<'_> From<&'_ Limits> for lucet_alloc_limits[src]

impl<'_> From<&'_ lucet_alloc_limits> for Limits[src]

impl From<Limits> for lucet_alloc_limits[src]

impl From<lucet_alloc_limits> for Limits[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.