Module cranelift_codegen::binemit
source · [−]Expand description
Binary machine code emission.
The binemit
module contains code for translating Cranelift’s intermediate representation into
binary machine code.
Structs
Container for information about a vector of compiled code and its supporting read-only data.
A CodeSink
that writes binary machine code directly into memory.
A RelocSink
implementation that does nothing, which is convenient when
compiling code that does not relocate anything.
Placeholder StackMapSink that does nothing.
A TrapSink
implementation that does nothing, which is convenient when
compiling code that does not rely on trapping semantics.
Keep track of diversions in a block.
Stack maps record which words in a stack frame contain live GC references at a given instruction pointer.
Enums
Relocation kinds for every ISA
Traits
Abstract interface for adding bytes to the code segment.
A trait for receiving relocations for code that is emitted directly into memory.
A trait for emitting stack maps.
A trait for receiving trap codes and offsets.
Functions
Report a bad encoding error.
Emit a function to sink
, given an instruction emitter function.
Relax branches and compute the final layout of block headers in func
.
Pick the smallest valid encodings for instructions.
Type Definitions
Addend to add to the symbol value.
Offset in bytes from the beginning of the function.