This commit introduces the `winch-environ` crate. This crate's responsibility is to provide a shared implementatation of the `winch_codegen::FuncEnv` trait, which is Winch's function compilation environment, used to resolve module and runtime specific information needed by the code generation, such as resolving all the details about a callee in a WebAssembly module, or resolving specific information from the `VMContext`. As of this change, the implementation only includes the necessary pieces to resolve a function callee in a WebAssembly module. The idea is to evolve the `winch_codegen::FuncEnv` trait as we evolve Winch's code generation.
20 lines
481 B
Rust
20 lines
481 B
Rust
//! Code generation library for Winch.
|
|
|
|
// Unless this library is compiled with `all-arch`, the rust compiler
|
|
// is going to emit dead code warnings. This directive is fine as long
|
|
// as we configure to run CI at least once with the `all-arch` feature
|
|
// enabled.
|
|
#![cfg_attr(not(feature = "all-arch"), allow(dead_code))]
|
|
|
|
mod abi;
|
|
mod codegen;
|
|
pub use codegen::{Callee, FuncEnv};
|
|
mod frame;
|
|
pub mod isa;
|
|
pub use isa::*;
|
|
mod masm;
|
|
mod regalloc;
|
|
mod regset;
|
|
mod stack;
|
|
mod visitor;
|