Struct cretonne_module::Module [] [src]

pub struct Module<B> where
    B: Backend
{ /* fields omitted */ }

A Module is a utility for collecting functions and data objects, and linking them together.

Methods

impl<B> Module<B> where
    B: Backend
[src]

[src]

Create a new Module.

[src]

Return then pointer type for the current target.

[src]

Declare a function in this module.

[src]

Declare a data object in this module.

[src]

Use this when you're building the IR of a function to reference a function.

TODO: Coalesce redundant decls and signatures. TODO: Look into ways to reduce the risk of using a FuncRef in the wrong function.

[src]

Use this when you're building the IR of a function to reference a data object.

TODO: Same as above.

[src]

TODO: Same as above.

[src]

TODO: Same as above.

[src]

Define a function, producing the function body from the given Context.

[src]

Define a function, producing the data contents from the given DataContext.

[src]

Write the address of what into the data for data at offset. data must refer to a defined data object.

[src]

Write the address of what plus addend into the data for data at offset. data must refer to a defined data object.

[src]

Perform all outstanding relocations on the given function. This requires all Local and Export entities referenced to be defined.

[src]

Perform all outstanding relocations on the given data object. This requires all Local and Export entities referenced to be defined.

[src]

Finalize all functions and data objects. Note that this doesn't return the final artifacts returned from finalize_function or finalize_data.

[src]

Consume the module and return its contained Backend. Some Backend implementations have additional features not available through the Module interface.

Trait Implementations

Auto Trait Implementations

impl<B> Send for Module<B> where
    B: Send,
    <B as Backend>::CompiledData: Send,
    <B as Backend>::CompiledFunction: Send

impl<B> Sync for Module<B> where
    B: Sync,
    <B as Backend>::CompiledData: Sync,
    <B as Backend>::CompiledFunction: Sync