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:
Alex Crichton
2022-03-30 13:51:25 -05:00
committed by GitHub
parent 5d8dd648d7
commit d1d10dc8da
12 changed files with 43 additions and 42 deletions

View File

@@ -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))
}