Trait wasmer_runtime_core_fl::codegen::ModuleCodeGenerator[][src]

pub trait ModuleCodeGenerator<FCG: FunctionCodeGenerator<E>, RM: RunnableModule, E: Debug> {
    fn new() -> Self;
fn new_with_target(
        triple: Option<String>,
        cpu_name: Option<String>,
        cpu_features: Option<String>
    ) -> Self;
fn backend_id() -> &'static str;
fn feed_import_function(&mut self, _sigindex: SigIndex) -> Result<(), E>;
fn feed_signatures(
        &mut self,
        signatures: Map<SigIndex, FuncSig>
    ) -> Result<(), E>;
fn feed_function_signatures(
        &mut self,
        assoc: Map<FuncIndex, SigIndex>
    ) -> Result<(), E>;
fn check_precondition(&mut self, module_info: &ModuleInfo) -> Result<(), E>;
fn next_function(
        &mut self,
        module_info: Arc<RwLock<ModuleInfo>>,
        loc: WasmSpan
    ) -> Result<&mut FCG, E>;
fn finalize(
        self,
        module_info: &ModuleInfo
    ) -> Result<(RM, Option<DebugMetadata>, Box<dyn CacheGen>), E>;
unsafe fn from_cache(
        cache: Artifact,
        _: Token
    ) -> Result<ModuleInner, CacheError>; fn requires_pre_validation() -> bool { ... }
fn feed_compiler_config(
        &mut self,
        _config: &CompilerConfig
    ) -> Result<(), E> { ... } }
Expand description

A trait that represents the functions needed to be implemented to generate code for a module.

Required methods

Creates a new module code generator.

Creates a new module code generator for specified target.

Returns the backend id associated with this MCG.

Adds an import function.

Sets the signatures.

Sets function signatures.

Checks the precondition for a module.

Creates a new function and returns the function-scope code generator for it.

Finalizes this module.

Creates a module from cache.

Provided methods

It sets if the current compiler requires validation before compilation

Feeds the compiler config.

Implementors