Expand description

Binary machine code emission.

The binemit module contains code for translating Cranelift’s intermediate representation into binary machine code.

Structs

A CodeSink that writes binary machine code directly into memory.
A TrapSink implementation that does nothing, which is convenient when compiling code that does not rely on trapping semantics.
Keep track of diversions in an EBB.

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 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 EBB 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.