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 for specified target.
fn backend_id() -> &'static str
fn backend_id() -> &'static str
Returns the backend id associated with this MCG.
fn feed_import_function(&mut self, _sigindex: SigIndex) -> Result<(), E>
fn feed_import_function(&mut self, _sigindex: SigIndex) -> Result<(), E>
Adds an import function.
Sets the signatures.
Sets function signatures.
fn check_precondition(&mut self, module_info: &ModuleInfo) -> Result<(), E>
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>>,
loc: WasmSpan
) -> Result<&mut FCG, E>
fn next_function(
&mut self,
module_info: Arc<RwLock<ModuleInfo>>,
loc: WasmSpan
) -> 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, Option<DebugMetadata>, Box<dyn CacheGen>), E>
fn finalize(
self,
module_info: &ModuleInfo
) -> Result<(RM, Option<DebugMetadata>, Box<dyn CacheGen>), E>
Finalizes this module.
unsafe fn from_cache(
cache: Artifact,
_: Token
) -> Result<ModuleInner, CacheError>
unsafe fn from_cache(
cache: Artifact,
_: Token
) -> Result<ModuleInner, CacheError>
Creates a module from cache.
Provided methods
fn requires_pre_validation() -> bool
fn requires_pre_validation() -> bool
It sets if the current compiler requires validation before compilation
fn feed_compiler_config(&mut self, _config: &CompilerConfig) -> Result<(), E>
fn feed_compiler_config(&mut self, _config: &CompilerConfig) -> Result<(), E>
Feeds the compiler config.