winch: Introduce winch-environ (#6017)

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.
This commit is contained in:
Saúl Cabrera
2023-03-14 15:59:15 -04:00
committed by GitHub
parent e4d9bb7c5a
commit 80bfb35072
12 changed files with 119 additions and 29 deletions

11
Cargo.lock generated
View File

@@ -4031,6 +4031,15 @@ dependencies = [
"wasmparser",
]
[[package]]
name = "winch-environ"
version = "0.6.0"
dependencies = [
"wasmparser",
"wasmtime-environ",
"winch-codegen",
]
[[package]]
name = "winch-filetests"
version = "0.0.0"
@@ -4045,6 +4054,7 @@ dependencies = [
"wasmtime-environ",
"wat",
"winch-codegen",
"winch-environ",
"winch-test-macros",
]
@@ -4075,6 +4085,7 @@ dependencies = [
"wasmtime-environ",
"wat",
"winch-codegen",
"winch-environ",
"winch-filetests",
"winch-test-macros",
]