Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
bytecodealliance
GitHub Repository: bytecodealliance/wasmtime
Path: blob/main/crates/environ/src/lib.rs
1691 views
1
//! Internal dependency of the `wasmtime` crate.
2
//!
3
//! This crate is responsible for defining types and basic runtime structures
4
//! used by the `wasmtime` crate. This additionally defines primitives of
5
//! compilation and what compilers are expected to emit.
6
//!
7
//! If you don't already know what this crate is you probably want to use
8
//! `wasmtime`, not this crate.
9
10
#![deny(missing_docs)]
11
#![warn(clippy::cast_sign_loss)]
12
#![no_std]
13
14
#[cfg(feature = "std")]
15
#[macro_use]
16
extern crate std;
17
extern crate alloc;
18
19
pub mod prelude;
20
21
mod address_map;
22
#[macro_use]
23
mod builtin;
24
mod demangling;
25
mod error;
26
mod ext;
27
mod gc;
28
mod hostcall;
29
mod module;
30
mod module_artifacts;
31
mod module_types;
32
pub mod obj;
33
mod ref_bits;
34
mod scopevec;
35
mod stack_map;
36
mod stack_switching;
37
mod trap_encoding;
38
mod tunables;
39
mod types;
40
mod vmoffsets;
41
42
pub use self::ext::*;
43
pub use crate::address_map::*;
44
pub use crate::builtin::*;
45
pub use crate::demangling::*;
46
pub use crate::error::*;
47
pub use crate::gc::*;
48
pub use crate::hostcall::*;
49
pub use crate::module::*;
50
pub use crate::module_artifacts::*;
51
pub use crate::module_types::*;
52
pub use crate::ref_bits::*;
53
pub use crate::scopevec::ScopeVec;
54
pub use crate::stack_map::*;
55
pub use crate::stack_switching::*;
56
pub use crate::trap_encoding::*;
57
pub use crate::tunables::*;
58
pub use crate::types::*;
59
pub use crate::vmoffsets::*;
60
pub use object;
61
62
pub use wasmparser;
63
64
#[cfg(feature = "compile")]
65
mod compile;
66
#[cfg(feature = "compile")]
67
pub use crate::compile::*;
68
69
#[cfg(feature = "component-model")]
70
pub mod component;
71
#[cfg(all(feature = "component-model", feature = "compile"))]
72
pub mod fact;
73
74
// Reexport all of these type-level since they're quite commonly used and it's
75
// much easier to refer to everything through one crate rather than importing
76
// one of three and making sure you're using the right one.
77
pub use cranelift_entity::*;
78
79
/// Version number of this crate.
80
pub const VERSION: &str = env!("CARGO_PKG_VERSION");
81
82