1 use crate::Engine; 2 use crate::prelude::*; 3 use crate::runtime::vm::memory::LocalMemory; 4 use crate::runtime::vm::{VMMemoryDefinition, WaitResult}; 5 use core::ops::Range; 6 use core::ptr::NonNull; 7 use core::time::Duration; 8 use wasmtime_environ::Trap; 9 10 #[derive(Clone)] 11 pub enum SharedMemory {} 12 13 impl SharedMemory { wrap(_: &Engine, _ty: &wasmtime_environ::Memory, _memory: LocalMemory) -> Result<Self>14 pub fn wrap(_: &Engine, _ty: &wasmtime_environ::Memory, _memory: LocalMemory) -> Result<Self> { 15 bail!("support for shared memories was disabled at compile time"); 16 } 17 ty(&self) -> &wasmtime_environ::Memory18 pub fn ty(&self) -> &wasmtime_environ::Memory { 19 match *self {} 20 } 21 as_memory(self) -> crate::runtime::vm::Memory22 pub fn as_memory(self) -> crate::runtime::vm::Memory { 23 match self {} 24 } 25 vmmemory_ptr(&self) -> NonNull<VMMemoryDefinition>26 pub fn vmmemory_ptr(&self) -> NonNull<VMMemoryDefinition> { 27 match *self {} 28 } 29 grow(&self, _delta_pages: u64) -> Result<Option<(usize, usize)>>30 pub fn grow(&self, _delta_pages: u64) -> Result<Option<(usize, usize)>> { 31 match *self {} 32 } 33 atomic_notify(&self, _addr_index: u64, _count: u32) -> Result<u32, Trap>34 pub fn atomic_notify(&self, _addr_index: u64, _count: u32) -> Result<u32, Trap> { 35 match *self {} 36 } 37 atomic_wait32( &self, _addr_index: u64, _expected: u32, _timeout: Option<Duration>, ) -> Result<WaitResult, Trap>38 pub fn atomic_wait32( 39 &self, 40 _addr_index: u64, 41 _expected: u32, 42 _timeout: Option<Duration>, 43 ) -> Result<WaitResult, Trap> { 44 match *self {} 45 } 46 atomic_wait64( &self, _addr_index: u64, _expected: u64, _timeout: Option<Duration>, ) -> Result<WaitResult, Trap>47 pub fn atomic_wait64( 48 &self, 49 _addr_index: u64, 50 _expected: u64, 51 _timeout: Option<Duration>, 52 ) -> Result<WaitResult, Trap> { 53 match *self {} 54 } 55 byte_size(&self) -> usize56 pub(crate) fn byte_size(&self) -> usize { 57 match *self {} 58 } 59 needs_init(&self) -> bool60 pub(crate) fn needs_init(&self) -> bool { 61 match *self {} 62 } 63 wasm_accessible(&self) -> Range<usize>64 pub(crate) fn wasm_accessible(&self) -> Range<usize> { 65 match *self {} 66 } 67 } 68