[−][src]Module cranelift_codegen::binemit
Binary machine code emission.
The binemit
module contains code for translating Cranelift's intermediate representation into
binary machine code.
Structs
CodeInfo | Container for information about a vector of compiled code and its supporting read-only data. |
MemoryCodeSink | A |
NullRelocSink | A |
NullStackmapSink | Placeholder StackmapSink that does nothing. |
NullTrapSink | A |
RegDiversions | Keep track of diversions in a block. |
Stackmap | A stack map is a bitmap with one bit per machine word on the stack. Stack
maps are created at |
Enums
FrameUnwindKind | Type of the frame unwind information. |
Reloc | Relocation kinds for every ISA |
Traits
CodeSink | Abstract interface for adding bytes to the code segment. |
FrameUnwindSink | Sink for frame unwind information. |
RelocSink | A trait for receiving relocations for code that is emitted directly into memory. |
StackmapSink | A trait for emitting stackmaps. |
TrapSink | A trait for receiving trap codes and offsets. |
Functions
bad_encoding | Report a bad encoding error. |
emit_function | Emit a function to |
relax_branches | Relax branches and compute the final layout of block headers in |
shrink_instructions | Pick the smallest valid encodings for instructions. |
Type Definitions
Addend | Addend to add to the symbol value. |
CodeOffset | Offset in bytes from the beginning of the function. |
FrameUnwindOffset | Offset in frame unwind information buffer. |