This commit adds lots of plumbing to get the type section from the module linking proposal plumbed all the way through to the `wasmtime` crate and the `wasmtime-c-api` crate. This isn't all that useful right now because Wasmtime doesn't support imported/exported modules/instances, but this is all necessary groundwork to getting that exported at some point. I've added some light tests but I suspect the bulk of the testing will come in a future commit. One major change in this commit is that `SignatureIndex` no longer follows type type index space in a wasm module. Instead a new `TypeIndex` type is used to track that. Function signatures, still indexed by `SignatureIndex`, are then packed together tightly.
29 lines
755 B
Rust
29 lines
755 B
Rust
#![doc(hidden)]
|
|
|
|
pub mod ir {
|
|
pub use cranelift_codegen::binemit::{Reloc, StackMap};
|
|
pub use cranelift_codegen::ir::{
|
|
types, AbiParam, ArgumentPurpose, JumpTableOffsets, LibCall, Signature, SourceLoc,
|
|
StackSlots, TrapCode, Type, ValueLabel, ValueLoc,
|
|
};
|
|
pub use cranelift_codegen::{ValueLabelsRanges, ValueLocRange};
|
|
}
|
|
|
|
pub mod settings {
|
|
pub use cranelift_codegen::settings::{builder, Builder, Configurable, Flags, SetError};
|
|
}
|
|
|
|
pub mod isa {
|
|
pub use cranelift_codegen::isa::{
|
|
unwind, Builder, CallConv, RegUnit, TargetFrontendConfig, TargetIsa,
|
|
};
|
|
}
|
|
|
|
pub mod entity {
|
|
pub use cranelift_entity::{packed_option, BoxedSlice, EntityRef, PrimaryMap};
|
|
}
|
|
|
|
pub mod wasm {
|
|
pub use cranelift_wasm::*;
|
|
}
|