IndexAssemblerasmjit::Label

asmjit::Label Class Reference [¶]

Inheritance diagram for asmjit::Label:
asmjit::Operand asmjit::Operand_

Label (jump target or data location).

Label represents a location in code typically used as a jump target, but may be also a reference to some data or a static variable. Label has to be explicitly created by BaseEmitter.

Example of using labels:

// Create some emitter (for example x86::Assembler).
// Create Label instance.
Label L1 = a.new_label();
// ... your code ...
// Using label.
a.jump(L1);
// ... your code ...
// Bind label to the current position, see BaseEmitter::bind().
a.bind(L1);

Member Functions

Construction & Destruction

Overloaded Operators

Accessors

Public Member Functions inherited from asmjit::Operand
Public Member Functions inherited from asmjit::Operand_

Additional Inherited Members

Public Attributes inherited from asmjit::Operand_
Static Public Attributes inherited from asmjit::Operand_
Public Types inherited from asmjit::Operand_
Static Public Member Functions inherited from asmjit::Operand_

Label::Label()constexprnoexcept[1/3][¶]

Creates a label operand without ID (you must set the ID to make it valid).

Label::Label(
const Label& other
)constexprnoexcept[2/3][¶]

Creates a cloned label operand of other.

Label::Label(
uint32_t id
)explicitconstexprnoexcept[3/3][¶]

Creates a label operand of the given id.

void Label::reset()constexprnoexcept[¶]

Resets the label, will reset all properties and set its ID to Globals::kInvalidId.

bool Label::is_valid() constnodiscardconstexprnoexcept[¶]

Tests whether the label was created by CodeHolder and/or an attached emitter.

void Label::set_id(
uint32_t id
)constexprnoexcept[¶]

Sets the label id.