[][src]Module cranelift_codegen::machinst::sections

In-memory representation of compiled machine code, in multiple sections (text, constant pool / rodata, etc). Emission occurs into multiple sections simultaneously, so we buffer the result in memory and hand off to the caller at the end of compilation.

Structs

MachCallSite

A call site record resulting from a compilation.

MachReloc

A relocation resulting from a compilation.

MachSection

A section of output to be emitted to a CodeSink / RelocSink in bulk. Multiple sections may be created with known start offsets in advance; the usual use-case is to create the .text (code) and .rodata (constant pool) at once, after computing the length of the code, so that constant references can use known offsets as instructions are emitted.

MachSectionSize

A MachSectionOutput implementation that records only size.

MachSections

A collection of sections with defined start-offsets.

MachSectionsSrcLocs

An iterator over the srclocs in each section. Returns MachSrcLocs in an order sorted by start location.

MachSrcLoc

A source-location mapping resulting from a compilation.

MachTrap

A trap record resulting from a compilation.

Traits

MachSectionOutput

An abstraction over MachSection and MachSectionSize: some receiver of section data.