wasmer_vm/
lib.rs

1//! Runtime library support for Wasmer.
2
3#![deny(missing_docs, trivial_numeric_casts, unused_extern_crates)]
4#![deny(trivial_numeric_casts, unused_extern_crates)]
5#![warn(unused_import_braces)]
6#![cfg_attr(
7    feature = "cargo-clippy",
8    allow(clippy::new_without_default, clippy::vtable_address_comparisons)
9)]
10#![cfg_attr(
11    feature = "cargo-clippy",
12    warn(
13        clippy::float_arithmetic,
14        clippy::mut_mut,
15        clippy::nonminimal_bool,
16        clippy::map_unwrap_or,
17        clippy::option_map_unwrap_or_else,
18        clippy::print_stdout,
19        clippy::unicode_not_nfc,
20        clippy::use_self
21    )
22)]
23
24mod artifact;
25mod export;
26mod func_data_registry;
27mod global;
28mod imports;
29mod instance;
30mod memory;
31mod mmap;
32mod probestack;
33mod resolver;
34mod sig_registry;
35mod table;
36mod trap;
37mod tunables;
38mod vmcontext;
39mod vmoffsets;
40
41pub mod libcalls;
42
43pub use crate::artifact::{Artifact, Instantiatable};
44pub use crate::export::*;
45pub use crate::func_data_registry::{FuncDataRegistry, VMFuncRef};
46pub use crate::global::*;
47pub use crate::imports::{Imports, VMImport, VMImportType};
48pub use crate::instance::{
49    initialize_host_envs, ImportFunctionEnv, ImportInitializerFuncPtr, InstanceAllocator,
50    InstanceHandle, WeakOrStrongInstanceRef,
51};
52pub use crate::memory::{LinearMemory, Memory, MemoryError, MemoryStyle};
53pub use crate::mmap::Mmap;
54pub use crate::probestack::PROBESTACK;
55pub use crate::resolver::{
56    ChainableNamedResolver, Export, ExportFunction, ExportFunctionMetadata, NamedResolver,
57    NamedResolverChain, NullResolver, Resolver,
58};
59pub use crate::sig_registry::{SignatureRegistry, VMSharedSignatureIndex};
60pub use crate::table::{LinearTable, Table, TableElement, TableStyle};
61pub use crate::trap::*;
62pub use crate::tunables::Tunables;
63pub use crate::vmcontext::{
64    FunctionBodyPtr, FunctionExtent, SectionBodyPtr, VMBuiltinFunctionIndex,
65    VMCallerCheckedAnyfunc, VMContext, VMDynamicFunctionContext, VMFunctionBody,
66    VMFunctionEnvironment, VMFunctionImport, VMFunctionKind, VMGlobalDefinition, VMGlobalImport,
67    VMLocalFunction, VMMemoryDefinition, VMMemoryImport, VMTableDefinition, VMTableImport,
68    VMTrampoline,
69};
70pub use crate::vmoffsets::{TargetSharedSignatureIndex, VMOffsets};
71#[deprecated(
72    since = "2.1.0",
73    note = "ModuleInfo, ExportsIterator, ImportsIterator should be imported from wasmer_types."
74)]
75pub use wasmer_types::ModuleInfo;
76pub use wasmer_types::VMExternRef;
77
78/// Version number of this crate.
79pub const VERSION: &str = env!("CARGO_PKG_VERSION");