DynamoRIO
dynamorio::drmemtrace::_memref_t Union Reference

#include <memref.h>

Data Fields

struct _memref_data_t data
 
struct _memref_instr_t instr
 
struct _memref_flush_t flush
 
struct _memref_thread_exit_t exit
 
struct _memref_marker_t marker
 

Detailed Description

Each trace entry is one of the structures in this union. Each entry identifies the originating process and thread. Although the pc of each data reference is provided, the trace also guarantees that an instruction entry immediately precedes the data references that it is responsible for, with no intervening trace entries (unless it is a trace filtered with an online first-level cache). Offline traces further guarantee that an instruction entry for a branch instruction is always followed by an instruction entry for the branch's target (with any memory references for the branch in between of course) without a thread switch intervening, to make it simpler to identify branch targets (again, unless the trace is filtered by an online first-level cache). Online traces do not currently guarantee this.

Field Documentation

◆ data

struct _memref_data_t dynamorio::drmemtrace::_memref_t::data

A data load or store.

◆ exit

struct _memref_thread_exit_t dynamorio::drmemtrace::_memref_t::exit

A thread exit.

◆ flush

struct _memref_flush_t dynamorio::drmemtrace::_memref_t::flush

A software-initiated cache flush.

◆ instr

struct _memref_instr_t dynamorio::drmemtrace::_memref_t::instr

An instruction fetch.

◆ marker

struct _memref_marker_t dynamorio::drmemtrace::_memref_t::marker

A marker holding metadata.


The documentation for this union was generated from the following file:
  • /home/runner/work/dynamorio/dynamorio/build_release-64/clients/include/drmemtrace/memref.h