Skip to main content

Module body

Module body 

Source
Expand description

Compiling one function body: statements, expressions and places, with the reference counting that keeps values’ sharing invisible.

An expression gives an Operand that is either owned, which its user must release or hand on, or borrowed from wherever it lives. A borrowed operand is only kept while nothing that could change state runs, so what it borrows from stays alive.

A failing runtime call returns false through the function’s failure block. A failure ends the app, so values the function holds then aren’t released.

Modules§

download 🔒
download(…) and format_bytes(…), which hand their work to the runtime.

Structs§

Alias 🔒
Where a for variable over a place finds its item: a root, then steps whose list positions were worked out when the loop began.
Body 🔒
Operand 🔒
A value an expression gave, and whether the code holding it owns it.
Returns 🔒
How return leaves the function being compiled, if it may.

Enums§

Index 🔒
Where a list position is kept.
Root 🔒
Step 🔒

Constants§

SLOT 🔒
Every slot is 8 bytes.

Functions§

element_type 🔒
int_condition 🔒
is_pure 🔒
Whether working out expr can’t change state or locals, so values borrowed before it stay alive.
offset 🔒
A byte offset as Cranelift takes it.
op_type 🔒
The type op gives when applied to operands.

Type Aliases§

Result 🔒