CommonLib
Loading...
Searching...
No Matches
mem_x86.inl File Reference
#include "ut/preprocessor.h"

Go to the source code of this file.

Namespaces

namespace  hedgedev
namespace  hedgedev::csl
namespace  hedgedev::csl::mem

Enumerations

enum class  hedgedev::csl::mem::branch_type {
  hedgedev::csl::mem::conditional , hedgedev::csl::mem::jump , hedgedev::csl::mem::call , hedgedev::csl::mem::conditional ,
  hedgedev::csl::mem::jump , hedgedev::csl::mem::call
}
enum class  hedgedev::csl::mem::branch_distance {
  hedgedev::csl::mem::short_branch , hedgedev::csl::mem::near_branch , hedgedev::csl::mem::far_branch , hedgedev::csl::mem::short_branch ,
  hedgedev::csl::mem::near_branch , hedgedev::csl::mem::far_branch
}
enum class  hedgedev::csl::mem::branch_condition {
  hedgedev::csl::mem::overflow , hedgedev::csl::mem::not_overflow , hedgedev::csl::mem::below , hedgedev::csl::mem::not_below ,
  hedgedev::csl::mem::equal , hedgedev::csl::mem::not_equal , hedgedev::csl::mem::below_or_equal , hedgedev::csl::mem::above ,
  hedgedev::csl::mem::sign , hedgedev::csl::mem::not_sign , hedgedev::csl::mem::parity , hedgedev::csl::mem::not_parity ,
  hedgedev::csl::mem::less , hedgedev::csl::mem::not_less , hedgedev::csl::mem::not_greater , hedgedev::csl::mem::greater ,
  hedgedev::csl::mem::overflow , hedgedev::csl::mem::not_overflow , hedgedev::csl::mem::below , hedgedev::csl::mem::not_below ,
  hedgedev::csl::mem::equal , hedgedev::csl::mem::not_equal , hedgedev::csl::mem::below_or_equal , hedgedev::csl::mem::above ,
  hedgedev::csl::mem::sign , hedgedev::csl::mem::not_sign , hedgedev::csl::mem::parity , hedgedev::csl::mem::not_parity ,
  hedgedev::csl::mem::less , hedgedev::csl::mem::not_less , hedgedev::csl::mem::not_greater , hedgedev::csl::mem::greater
}
enum class  hedgedev::csl::mem::branch_type {
  hedgedev::csl::mem::conditional , hedgedev::csl::mem::jump , hedgedev::csl::mem::call , hedgedev::csl::mem::conditional ,
  hedgedev::csl::mem::jump , hedgedev::csl::mem::call
}
enum class  hedgedev::csl::mem::branch_distance {
  hedgedev::csl::mem::short_branch , hedgedev::csl::mem::near_branch , hedgedev::csl::mem::far_branch , hedgedev::csl::mem::short_branch ,
  hedgedev::csl::mem::near_branch , hedgedev::csl::mem::far_branch
}
enum class  hedgedev::csl::mem::branch_condition {
  hedgedev::csl::mem::overflow , hedgedev::csl::mem::not_overflow , hedgedev::csl::mem::below , hedgedev::csl::mem::not_below ,
  hedgedev::csl::mem::equal , hedgedev::csl::mem::not_equal , hedgedev::csl::mem::below_or_equal , hedgedev::csl::mem::above ,
  hedgedev::csl::mem::sign , hedgedev::csl::mem::not_sign , hedgedev::csl::mem::parity , hedgedev::csl::mem::not_parity ,
  hedgedev::csl::mem::less , hedgedev::csl::mem::not_less , hedgedev::csl::mem::not_greater , hedgedev::csl::mem::greater ,
  hedgedev::csl::mem::overflow , hedgedev::csl::mem::not_overflow , hedgedev::csl::mem::below , hedgedev::csl::mem::not_below ,
  hedgedev::csl::mem::equal , hedgedev::csl::mem::not_equal , hedgedev::csl::mem::below_or_equal , hedgedev::csl::mem::above ,
  hedgedev::csl::mem::sign , hedgedev::csl::mem::not_sign , hedgedev::csl::mem::parity , hedgedev::csl::mem::not_parity ,
  hedgedev::csl::mem::less , hedgedev::csl::mem::not_less , hedgedev::csl::mem::not_greater , hedgedev::csl::mem::greater
}

Functions

bool hedgedev::csl::mem::is_nop (void *in_address)
branch_info hedgedev::csl::mem::get_branch_info (void *in_address)
template<typename T>
void * hedgedev::csl::mem::read_instr_address (void *in_address, ptrdiff_t in_offset, size_t in_stride)
void * hedgedev::csl::mem::read_call (void *in_address)
void * hedgedev::csl::mem::read_jump (void *in_address)
bool hedgedev::csl::mem::write_call (void *in_address, void *in_destination)
bool hedgedev::csl::mem::write_jump (void *in_address, void *in_destination, bool in_call=false)
bool hedgedev::csl::mem::write_nop (void *in_address, size_t in_count=1)