//! Standalone environment for WebAssembly using Cranelift. Provides functions to translate //! `get_global`, `set_global`, `memory.size`, `memory.grow`, `call_indirect` that hardcode in //! the translation the base addresses of regions of memory that will hold the globals, tables and //! linear memories. #![deny(missing_docs, trivial_numeric_casts, unused_extern_crates)] #![warn(unused_import_braces)] #![cfg_attr(feature = "clippy", plugin(clippy(conf_file = "../../clippy.toml")))] #![cfg_attr( feature = "cargo-clippy", allow(clippy::new_without_default, clippy::new_without_default) )] #![cfg_attr( feature = "cargo-clippy", warn( clippy::float_arithmetic, clippy::mut_mut, clippy::nonminimal_bool, clippy::map_unwrap_or, clippy::clippy::print_stdout, clippy::unicode_not_nfc, clippy::use_self ) )] mod address_map; mod builtin; mod compilation; mod module; mod module_environ; mod module_types; pub mod obj; mod ref_bits; mod scopevec; mod stack_map; mod trap_encoding; mod tunables; mod vmoffsets; pub use crate::address_map::*; pub use crate::builtin::*; pub use crate::compilation::*; pub use crate::module::*; pub use crate::module_environ::*; pub use crate::module_types::*; pub use crate::ref_bits::*; pub use crate::scopevec::ScopeVec; pub use crate::stack_map::StackMap; pub use crate::trap_encoding::*; pub use crate::tunables::Tunables; pub use crate::vmoffsets::*; pub use object; #[cfg(feature = "component-model")] pub mod component; #[cfg(feature = "component-model")] pub mod fact; // Reexport all of these type-level since they're quite commonly used and it's // much easier to refer to everything through one crate rather than importing // one of three and making sure you're using the right one. pub use cranelift_entity::*; pub use wasmtime_types::*; /// WebAssembly page sizes are defined to be 64KiB. pub const WASM_PAGE_SIZE: u32 = 0x10000; /// The number of pages (for 32-bit modules) we can have before we run out of /// byte index space. pub const WASM32_MAX_PAGES: u64 = 1 << 16; /// The number of pages (for 64-bit modules) we can have before we run out of /// byte index space. pub const WASM64_MAX_PAGES: u64 = 1 << 48; /// Version number of this crate. pub const VERSION: &str = env!("CARGO_PKG_VERSION");