asmjit::FuncArgsAssignment Class Reference [¶]
A helper class that can be used to assign a physical register for each function argument. The assignment is passed to BaseEmitter::emit_args_assignment() function.
A helper class that can be used to assign a physical register for each function argument. The assignment is passed to BaseEmitter::emit_args_assignment() function.
Creates either a default initialized FuncArgsAssignment
or to assignment that links to fd
, if non-null.
Copy constructor.
Resets this FuncArgsAssignment
to either default constructed state or to assignment that links to fd
, if non-null.
Copy assignment.
Returns the associated FuncDetail of this FuncArgsAssignment
.
Associates FuncDetail with this FuncArgsAssignment
.
Returns whether a register to access stack arguments is available.
Returns a physical ID of a register that can access stack arguments.
Sets a physical ID of a register that can access stack arguments.
Resets a physical ID of a register that can access stack arguments.
Returns assigned argument at arg_index
and value_index
.
arg_index
refers to he function argument and value_index
refers to a value pack (in case multiple values are passed as a single argument).
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Tests whether argument at arg_index
and value_index
has been assigned.
Assigns register at arg_index
and value index of 0 to reg
and an optional type_id
.
Assigns register at arg_index
and value index of 0 to reg_type
, reg_id
, and an optional type_id
.
Assigns stack at arg_index
and value index of 0 to offset
and an optional type_id
.
Assigns register at arg_index
and value_index
to reg
and an optional type_id
.
Assigns register at arg_index
and value_index
to reg_type
, reg_id
, and an optional type_id
.
Assigns stack at arg_index
and value_index
to offset
and an optional type_id
.
Assigns all argument at once.
This function can be only used if the arguments don't contain value packs (multiple values per argument).
Update FuncFrame
based on function's arguments assignment.
This function must be called in order to use BaseEmitter::emit_args_assignment()
, otherwise the FuncFrame would not contain the information necessary to assign all arguments into the registers and/or stack specified.
Function detail.
Register that can be used to access arguments passed by stack.
Reserved for future use.
Mapping of each function argument.