[][src]Trait wasmer_runtime_core::codegen::ModuleCodeGenerator

pub trait ModuleCodeGenerator<FCG: FunctionCodeGenerator<E>, RM: RunnableModule, E: Debug> {
    fn new() -> Self;
fn backend_id() -> Backend;
fn feed_import_function(&mut self) -> 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>>
    ) -> Result<&mut FCG, E>;
fn finalize(
        self,
        module_info: &ModuleInfo
    ) -> Result<(RM, Box<dyn CacheGen>), E>;
unsafe fn from_cache(
        cache: Artifact,
        _: Token
    ) -> Result<ModuleInner, CacheError>; fn feed_compiler_config(
        &mut self,
        _config: &CompilerConfig
    ) -> Result<(), E> { ... } }

Required methods

fn new() -> Self

Creates a new module code generator.

fn backend_id() -> Backend

Returns the backend id associated with this MCG.

fn feed_import_function(&mut self) -> Result<(), E>

Adds an import function.

fn feed_signatures(
    &mut self,
    signatures: Map<SigIndex, FuncSig>
) -> Result<(), E>

fn feed_function_signatures(
    &mut self,
    assoc: Map<FuncIndex, SigIndex>
) -> Result<(), E>

Sets function signatures.

fn check_precondition(&mut self, module_info: &ModuleInfo) -> Result<(), E>

Checks the precondition for a module.

fn next_function(
    &mut self,
    module_info: Arc<RwLock<ModuleInfo>>
) -> Result<&mut FCG, E>

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

fn finalize(
    self,
    module_info: &ModuleInfo
) -> Result<(RM, Box<dyn CacheGen>), E>

Finalizes this module.

unsafe fn from_cache(
    cache: Artifact,
    _: Token
) -> Result<ModuleInner, CacheError>

Creates a module from cache.

Loading content...

Provided methods

fn feed_compiler_config(&mut self, _config: &CompilerConfig) -> Result<(), E>

Feeds the compiler config.

Loading content...

Implementors

Loading content...