Struct wasmtime_runtime::Mmap
source · pub struct Mmap { /* private fields */ }Expand description
A simple struct consisting of a page-aligned pointer to page-aligned and initially-zeroed memory and a length.
Implementations§
source§impl Mmap
impl Mmap
sourcepub fn with_at_least(size: usize) -> Result<Self>
pub fn with_at_least(size: usize) -> Result<Self>
Create a new Mmap pointing to at least size bytes of page-aligned accessible memory.
sourcepub fn from_file(path: &Path) -> Result<Self>
pub fn from_file(path: &Path) -> Result<Self>
Creates a new Mmap by opening the file located at path and mapping
it into memory.
The memory is mapped in read-only mode for the entire file. If portions
of the file need to be modified then the region crate can be use to
alter permissions of each page.
The memory mapping and the length of the file within the mapping are returned.
sourcepub fn accessible_reserved(
accessible_size: usize,
mapping_size: usize
) -> Result<Self>
pub fn accessible_reserved( accessible_size: usize, mapping_size: usize ) -> Result<Self>
Create a new Mmap pointing to accessible_size bytes of page-aligned accessible memory,
within a reserved mapping of mapping_size bytes. accessible_size and mapping_size
must be native page-size multiples.
sourcepub fn make_accessible(&mut self, start: usize, len: usize) -> Result<()>
pub fn make_accessible(&mut self, start: usize, len: usize) -> Result<()>
Make the memory starting at start and extending for len bytes accessible.
start and len must be native page-size multiples and describe a range within
self’s reserved memory.
sourcepub fn as_mut_slice(&mut self) -> &mut [u8] ⓘ
pub fn as_mut_slice(&mut self) -> &mut [u8] ⓘ
Return the allocated memory as a mutable slice of u8.
sourcepub fn as_mut_ptr(&self) -> *mut u8
pub fn as_mut_ptr(&self) -> *mut u8
Return the allocated memory as a mutable pointer to u8.
sourcepub unsafe fn make_executable(
&self,
range: Range<usize>,
enable_branch_protection: bool
) -> Result<()>
pub unsafe fn make_executable( &self, range: Range<usize>, enable_branch_protection: bool ) -> Result<()>
Makes the specified range within this Mmap to be read/execute.
sourcepub unsafe fn make_readonly(&self, range: Range<usize>) -> Result<()>
pub unsafe fn make_readonly(&self, range: Range<usize>) -> Result<()>
Makes the specified range within this Mmap to be readonly.
sourcepub fn original_file(&self) -> Option<&Arc<File>>
pub fn original_file(&self) -> Option<&Arc<File>>
Returns the underlying file that this mmap is mapping, if present.