Public Member Functions
register_state_intel_x64 Class Reference
Inheritance diagram for register_state_intel_x64:
register_state

Public Member Functions

 register_state_intel_x64 (const registers_intel_x64_t &registers)
 
 ~register_state_intel_x64 () override=default
 
 register_state_intel_x64 (register_state_intel_x64 &&) noexcept=default
 
 register_state_intel_x64 (const register_state_intel_x64 &)=default
 
register_state_intel_x64operator= (register_state_intel_x64 &&) noexcept=default
 
register_state_intel_x64operator= (const register_state_intel_x64 &)=default
 
uint64_t get_ip () const override
 
register_stateset_ip (uint64_t value) override
 
uint64_t get (uint64_t index) const override
 
register_stateset (uint64_t index, uint64_t value) override
 
void commit () override
 
void commit (uint64_t cfa) override
 
void resume () override
 
uint64_t max_num_registers () const override
 
const char * name (uint64_t index) const override
 
void dump () const override
 
- Public Member Functions inherited from register_state
 register_state ()=default
 
virtual ~register_state ()=default
 
 register_state (register_state &&) noexcept=default
 
 register_state (const register_state &)=default
 
register_stateoperator= (register_state &&) noexcept=default
 
register_stateoperator= (const register_state &)=default
 

Detailed Description

Definition at line 90 of file registers_intel_x64.h.

Constructor & Destructor Documentation

◆ register_state_intel_x64() [1/3]

register_state_intel_x64::register_state_intel_x64 ( const registers_intel_x64_t registers)
inline

Definition at line 93 of file registers_intel_x64.h.

◆ ~register_state_intel_x64()

register_state_intel_x64::~register_state_intel_x64 ( )
overridedefault

◆ register_state_intel_x64() [2/3]

register_state_intel_x64::register_state_intel_x64 ( register_state_intel_x64 &&  )
defaultnoexcept

◆ register_state_intel_x64() [3/3]

register_state_intel_x64::register_state_intel_x64 ( const register_state_intel_x64 )
default

Member Function Documentation

◆ operator=() [1/2]

register_state_intel_x64& register_state_intel_x64::operator= ( register_state_intel_x64 &&  )
defaultnoexcept

◆ operator=() [2/2]

register_state_intel_x64& register_state_intel_x64::operator= ( const register_state_intel_x64 )
default

◆ get_ip()

uint64_t register_state_intel_x64::get_ip ( ) const
inlineoverridevirtual

Get Instruction Pointer

Returns
returns the instruction pointer value

Reimplemented from register_state.

Definition at line 107 of file registers_intel_x64.h.

◆ set_ip()

register_state& register_state_intel_x64::set_ip ( uint64_t  value)
inlineoverridevirtual

Set Instruction Pointer

Note: the write is staged and must be committed using the commit function

Parameters
valuethe value to set the instruction pointer to
Returns
returns this register state for chaining

Reimplemented from register_state.

Definition at line 110 of file registers_intel_x64.h.

◆ get()

uint64_t register_state_intel_x64::get ( uint64_t  index) const
inlineoverridevirtual

Get General Purpose Register

Parameters
indexthe general purpose register to get
Returns
returns the value of the general purpose register requested

Reimplemented from register_state.

Definition at line 116 of file registers_intel_x64.h.

◆ set()

register_state& register_state_intel_x64::set ( uint64_t  index,
uint64_t  value 
)
inlineoverridevirtual

Set General Purpose Register

Note: the write is staged and must be committed using the commit function

Parameters
indexthe general purpose register to set
valuethe value to set the general purpose register to
Returns
returns this register state for chaining

Reimplemented from register_state.

Definition at line 124 of file registers_intel_x64.h.

◆ commit() [1/2]

void register_state_intel_x64::commit ( )
inlineoverridevirtual

Commit

Commits any pending changes to the register state

Reimplemented from register_state.

Definition at line 134 of file registers_intel_x64.h.

◆ commit() [2/2]

void register_state_intel_x64::commit ( uint64_t  cfa)
inlineoverridevirtual

Commit with CFA

Commits any pending changes to the register state, and saves the provided cfa in the stack register

Parameters
cfathe canonical frame address to save to the stack register

Reimplemented from register_state.

Definition at line 137 of file registers_intel_x64.h.

◆ resume()

void register_state_intel_x64::resume ( )
inlineoverridevirtual

Resume

Restores the register state. Note that this function does not return.

Reimplemented from register_state.

Definition at line 143 of file registers_intel_x64.h.

◆ max_num_registers()

uint64_t register_state_intel_x64::max_num_registers ( ) const
inlineoverridevirtual

Max Number of Registers

Returns
returns the maximum number of registers that this register state stores. This is usually defined by the associated ABI

Reimplemented from register_state.

Definition at line 146 of file registers_intel_x64.h.

◆ name()

const char* register_state_intel_x64::name ( uint64_t  index) const
inlineoverridevirtual

Register Name

Parameters
indexthe index of the register to get the name for
Returns
returns the name of the register requested

Reimplemented from register_state.

Definition at line 149 of file registers_intel_x64.h.

◆ dump()

void register_state_intel_x64::dump ( ) const
inlineoverridevirtual

Dump

Prints the value of each register. Make sure that logging is enabled before using this function

Reimplemented from register_state.

Definition at line 177 of file registers_intel_x64.h.


The documentation for this class was generated from the following file: