wasmtime/runtime/vm/
pagemap_disabled.rs1use crate::runtime::vm::HostAlignedByteCount;
2use core::slice;
3
4#[derive(Debug)]
5pub enum PageMap {}
6
7impl PageMap {
8 #[allow(dead_code, reason = "not used on linux64")]
9 pub fn new() -> Option<PageMap> {
10 None
11 }
12}
13
14pub unsafe fn reset_with_pagemap(
20 _pagemap: Option<&PageMap>,
21 mut ptr: *mut u8,
22 mut len: HostAlignedByteCount,
23 mut keep_resident: HostAlignedByteCount,
24 mut reset_manually: impl FnMut(&mut [u8]),
25 mut decommit: impl FnMut(*mut u8, usize),
26) {
27 keep_resident = keep_resident.min(len);
28
29 unsafe {
34 reset_manually(slice::from_raw_parts_mut(ptr, keep_resident.byte_count()));
35 }
36
37 unsafe {
40 ptr = ptr.add(keep_resident.byte_count());
41 }
42 len = len.checked_sub(keep_resident).unwrap();
43
44 decommit(ptr, len.byte_count())
46}