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.