[][src]Module dynasmrt::components

This module provides several reusable compoments for implementing assemblers

Structs

LabelRegistry

A registry of labels. Contains all necessessities for keeping track of dynasm labels. This is useful when implementing your own assembler and can also be used to query assemblers for the offsets of labels.

LitPool

Literal pool implementation. One can programmatically push items in this literal pool and retrieve offsets to them in the pool. Then later, the pool will be encoded into the instruction stream and items can be retrieved using the address of the literal pool. and the previously emitted offsets. Values are always at least aligned to their size.

ManagedRelocs

A registry of relocations that have been encoded previously, but need to be adjusted when the address of the buffer they reside in changes.

MemoryManager

This struct implements a protection-swapping assembling buffer

PatchLoc

An abstraction of a relocation of type R, located at location.

RelocRegistry

A registry of relocations and the respective labels they point towards.