pub struct LoweredFunction {
pub id: FunctionId,
pub symbol: String,
pub signature: Signature,
pub clif: Function,
pub entry_points: Vec<u32>,
pub helpers: Vec<Helper>,
pub capture_count: u32,
}Expand description
One lowered function: its Cranelift IR plus the metadata a backend needs to compile and link it without re-deriving anything.
Fields§
§id: FunctionIdThe bytecode function this lowering corresponds to.
symbol: StringThe linker symbol for this function.
signature: SignatureThe native-entry signature (frame, out) -> tag.
clif: FunctionThe verified Cranelift IR.
entry_points: Vec<u32>The resume-dispatch tokens the entry accepts (0 plus each P + 1).
helpers: Vec<Helper>The runtime helpers this function imports, in a stable order.
capture_count: u32The count of leading capture-cell registers the runtime seeds from a
CreateClosure captures array before parameters (from
bamts_bytecode::Function::capture_count). Codegen surfaces it as
metadata; the entry-init copy is a runtime concern.
Trait Implementations§
Source§impl Clone for LoweredFunction
impl Clone for LoweredFunction
Source§fn clone(&self) -> LoweredFunction
fn clone(&self) -> LoweredFunction
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for LoweredFunction
impl RefUnwindSafe for LoweredFunction
impl Send for LoweredFunction
impl Sync for LoweredFunction
impl Unpin for LoweredFunction
impl UnsafeUnpin for LoweredFunction
impl UnwindSafe for LoweredFunction
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more