Refactor the TypeTables type (#3971)
* Remove duplicate `TypeTables` type This was once needed historically but it is no longer needed. * Make the internals of `TypeTables` private Instead of reaching internally for the `wasm_signatures` map an `Index` implementation now exists to indirect accesses through the type of the index being accessed. For the component model this table of types will grow a number of other tables and this'll assist in consuming sites not having to worry so much about which map they're reaching into.
This commit is contained in:
@@ -17,7 +17,7 @@ use std::sync::Arc;
|
||||
use thiserror::Error;
|
||||
use wasmtime_environ::{
|
||||
CompileError, DefinedFuncIndex, FuncIndex, FunctionInfo, Module, ModuleTranslation, PrimaryMap,
|
||||
SignatureIndex, StackMapInformation, Trampoline, Tunables, WasmFuncType, ELF_WASMTIME_ADDRMAP,
|
||||
SignatureIndex, StackMapInformation, Trampoline, Tunables, ELF_WASMTIME_ADDRMAP,
|
||||
ELF_WASMTIME_TRAPS,
|
||||
};
|
||||
use wasmtime_runtime::{
|
||||
@@ -358,14 +358,6 @@ pub fn mmap_vec_from_obj(obj: Object) -> Result<MmapVec> {
|
||||
}
|
||||
}
|
||||
|
||||
/// This is intended to mirror the type tables in `wasmtime_environ`, except that
|
||||
/// it doesn't store the native signatures which are no longer needed past compilation.
|
||||
#[derive(Serialize, Deserialize)]
|
||||
#[allow(missing_docs)]
|
||||
pub struct TypeTables {
|
||||
pub wasm_signatures: PrimaryMap<SignatureIndex, WasmFuncType>,
|
||||
}
|
||||
|
||||
/// A compiled wasm module, ready to be instantiated.
|
||||
pub struct CompiledModule {
|
||||
wasm_data: Range<usize>,
|
||||
|
||||
@@ -30,7 +30,7 @@ mod unwind;
|
||||
pub use crate::code_memory::CodeMemory;
|
||||
pub use crate::instantiate::{
|
||||
finish_compile, mmap_vec_from_obj, subslice_range, CompiledModule, CompiledModuleInfo,
|
||||
SetupError, SymbolizeContext, TypeTables,
|
||||
SetupError, SymbolizeContext,
|
||||
};
|
||||
pub use demangling::*;
|
||||
pub use profiling::*;
|
||||
|
||||
Reference in New Issue
Block a user