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:
@@ -256,7 +256,7 @@ impl wasmtime_environ::Compiler for Compiler {
|
||||
let compiled_trampolines = translation
|
||||
.exported_signatures
|
||||
.iter()
|
||||
.map(|i| self.host_to_wasm_trampoline(&types.wasm_signatures[*i]))
|
||||
.map(|i| self.host_to_wasm_trampoline(&types[*i]))
|
||||
.collect::<Result<Vec<_>, _>>()?;
|
||||
|
||||
let mut func_starts = Vec::with_capacity(funcs.len());
|
||||
|
||||
@@ -1486,7 +1486,7 @@ impl<'module_environment> cranelift_wasm::FuncEnvironment for FuncEnvironment<'m
|
||||
index: TypeIndex,
|
||||
) -> WasmResult<ir::SigRef> {
|
||||
let index = self.module.types[index].unwrap_function();
|
||||
let sig = crate::indirect_signature(self.isa, &self.types.wasm_signatures[index]);
|
||||
let sig = crate::indirect_signature(self.isa, &self.types[index]);
|
||||
Ok(func.import_signature(sig))
|
||||
}
|
||||
|
||||
|
||||
@@ -226,7 +226,7 @@ fn func_signature(
|
||||
_ => wasmtime_call_conv(isa),
|
||||
};
|
||||
let mut sig = blank_sig(isa, call_conv);
|
||||
push_types(isa, &mut sig, &types.wasm_signatures[func.signature]);
|
||||
push_types(isa, &mut sig, &types[func.signature]);
|
||||
return sig;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user