memref.h File Reference

DrMemtrace trace entry structures. More...

#include <stdint.h>
#include <stddef.h>
#include "trace_entry.h"

Data Structures

struct  _memref_data_t
struct  _memref_instr_t
struct  _memref_flush_t
struct  _memref_thread_exit_t
struct  _memref_marker_t
union  _memref_t


typedef int_least64_t memref_pid_t
typedef int_least64_t memref_tid_t
typedef union _memref_t memref_t

Detailed Description

DrMemtrace trace entry structures.

Typedef Documentation

◆ memref_pid_t

typedef int_least64_t memref_pid_t

Process id type.

◆ memref_t

typedef union _memref_t memref_t

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.

◆ memref_tid_t

typedef int_least64_t memref_tid_t

Thread id type.