near_vm_vm/
lib.rs

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