Struct wasmparser_nostd::FuncToValidate
source · pub struct FuncToValidate<T> {
pub resources: T,
pub index: u32,
pub ty: u32,
pub features: WasmFeatures,
}
Expand description
Resources necessary to perform validation of a function.
This structure is created by
Validator::code_section_entry
and
is created per-function in a WebAssembly module. This structure is suitable
for sending to other threads while the original
Validator
continues processing other functions.
Fields§
§resources: T
The reusable heap allocated resources required for Wasm validation.
index: u32
The function index within the Wasm module.
ty: u32
The type index of the function.
features: WasmFeatures
The Wasm features used for validating the function.
Implementations§
source§impl<T: WasmModuleResources> FuncToValidate<T>
impl<T: WasmModuleResources> FuncToValidate<T>
sourcepub fn new(
index: u32,
ty: u32,
resources: T,
features: &WasmFeatures
) -> FuncToValidate<T>
pub fn new( index: u32, ty: u32, resources: T, features: &WasmFeatures ) -> FuncToValidate<T>
Creates a new function to validate which will have the specified configuration parameters:
index
- the core wasm function index being validatedty
- the core wasm type index of the function being validated, defining the results and parameters to the function.resources
- metadata and type information about the module that this function is validated within.features
- enabled WebAssembly features.
sourcepub fn into_validator(
self,
allocs: FuncValidatorAllocations
) -> FuncValidator<T>
pub fn into_validator( self, allocs: FuncValidatorAllocations ) -> FuncValidator<T>
Converts this FuncToValidate
into a FuncValidator
using the
allocs
provided.
This method, in conjunction with FuncValidator::into_allocations
,
provides a means to reuse allocations across validation of each
individual function. Note that it is also sufficient to call this
method with Default::default()
if no prior allocations are
available.
§Panics
If a FuncToValidate
was created with an invalid ty
index then this
function will panic.