DynamoRIO
reader_t Class Referenceabstract

#include <reader.h>

Inheritance diagram for reader_t:
memtrace_stream_t

Public Member Functions

uint64_t get_record_ordinal () const override
 
uint64_t get_instruction_ordinal () const override
 
uint64_t get_last_timestamp () const override
 
uint64_t get_first_timestamp () const override
 
uint64_t get_version () const override
 
uint64_t get_filetype () const override
 
uint64_t get_cache_line_size () const override
 
uint64_t get_chunk_instr_count () const override
 
uint64_t get_page_size () const override
 
bool is_record_synthetic () const override
 
- Public Member Functions inherited from memtrace_stream_t
virtual ~memtrace_stream_t ()
 
virtual std::string get_stream_name () const =0
 

Detailed Description

Iterator over memref_t trace entries. This class converts a trace (offline or online) into a stream of memref_t entries. It also provides more information about the trace using the memtrace_stream_t API.

Member Function Documentation

◆ get_cache_line_size()

uint64_t reader_t::get_cache_line_size ( ) const
inlineoverridevirtual

Returns the cache line size from the TRACE_MARKER_TYPE_CACHE_LINE_SIZE record in the trace header.

Implements memtrace_stream_t.

◆ get_chunk_instr_count()

uint64_t reader_t::get_chunk_instr_count ( ) const
inlineoverridevirtual

Returns the chunk instruction count from the TRACE_MARKER_TYPE_CHUNK_INSTR_COUNT record in the trace header.

Implements memtrace_stream_t.

◆ get_filetype()

uint64_t reader_t::get_filetype ( ) const
inlineoverridevirtual

Returns the OFFLINE_FILE_TYPE_* bitfields of type offline_file_type_t identifying the architecture and other key high-level attributes of the trace from the TRACE_MARKER_TYPE_FILETYPE record in the trace header.

Implements memtrace_stream_t.

◆ get_first_timestamp()

uint64_t reader_t::get_first_timestamp ( ) const
inlineoverridevirtual

Returns the value of the first seen TRACE_MARKER_TYPE_TIMESTAMP marker.

Implements memtrace_stream_t.

◆ get_instruction_ordinal()

uint64_t reader_t::get_instruction_ordinal ( ) const
inlineoverridevirtual

Returns the count of instructions from the start of the trace to this point. This includes instructions skipped over and not presented to any tool.

Implements memtrace_stream_t.

◆ get_last_timestamp()

uint64_t reader_t::get_last_timestamp ( ) const
inlineoverridevirtual

Returns the value of the most recently seen TRACE_MARKER_TYPE_TIMESTAMP marker.

Implements memtrace_stream_t.

◆ get_page_size()

uint64_t reader_t::get_page_size ( ) const
inlineoverridevirtual

Returns the page size from the TRACE_MARKER_TYPE_PAGE_SIZE record in the trace header.

Implements memtrace_stream_t.

◆ get_record_ordinal()

uint64_t reader_t::get_record_ordinal ( ) const
inlineoverridevirtual

Returns the count of memref_t records from the start of the trace to this point. This includes records skipped over and not presented to any tool. It does not include synthetic records (see is_record_synthetic()).

Implements memtrace_stream_t.

◆ get_version()

uint64_t reader_t::get_version ( ) const
inlineoverridevirtual

Returns the trace_version_t value from the TRACE_MARKER_TYPE_VERSION record in the trace header.

Implements memtrace_stream_t.

◆ is_record_synthetic()

bool reader_t::is_record_synthetic ( ) const
inlineoverridevirtual

Returns whether the current record was synthesized and inserted into the record stream and was not present in the original stream. This is true for timestamp and cpuid headers duplicated after skipping ahead, as well as cpuid markers inserted for synthetic schedules. Such records do not count toward the record count and get_record_ordinal() will return the value of the prior record.

Reimplemented from memtrace_stream_t.


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