wasmtime/runtime/
trampoline.rs1mod func;
4mod global;
5mod memory;
6mod table;
7
8pub use self::func::*;
9pub use self::global::*;
10pub(crate) use memory::MemoryCreatorProxy;
11
12use self::memory::create_memory;
13use self::table::create_table;
14use crate::prelude::*;
15use crate::runtime::vm::SharedMemory;
16use crate::store::StoreOpaque;
17use crate::{MemoryType, TableType};
18use wasmtime_environ::{MemoryIndex, TableIndex};
19
20pub fn generate_memory_export(
21 store: &mut StoreOpaque,
22 m: &MemoryType,
23 preallocation: Option<&SharedMemory>,
24) -> Result<crate::runtime::vm::ExportMemory> {
25 let instance = create_memory(store, m, preallocation)?;
26 Ok(store
27 .instance_mut(instance)
28 .get_exported_memory(MemoryIndex::from_u32(0)))
29}
30
31pub fn generate_table_export(
32 store: &mut StoreOpaque,
33 t: &TableType,
34) -> Result<crate::runtime::vm::ExportTable> {
35 let instance = create_table(store, t)?;
36 Ok(store
37 .instance_mut(instance)
38 .get_exported_table(TableIndex::from_u32(0)))
39}