Processor Simulation Control
API Reference Manual  /  Simulator API  /  Simulator API Functions  / 

Profiling

SIM_iter_next, SIM_iter_addr, SIM_iter_free

Name

SIM_iter_next, SIM_iter_addr, SIM_iter_free — Iterate over address profile counters

Synopsis

C and DML

#include <simics/simulator-api.h> // in C
import "simics/simulator-api.dml"; // in DML

FORCE_INLINE uint64
SIM_iter_next(addr_prof_iter_t *iter);

FORCE_INLINE generic_address_t
SIM_iter_addr(addr_prof_iter_t *iter);

FORCE_INLINE void
SIM_iter_free(addr_prof_iter_t *iter);

EXPERIMENTAL.

While this functionality is expected to be retained in future releases, the interface is likely to change.

An address profile iterator visits some of the counters of an address profiler in some order. It is obtained from the iter function of the address_profiler interface.

SIM_iter_next advances the address profile iterator iter to the next nonzero counter and returns the count. It will return 0 when there are no more counters to visit. Note that the order in which the counters are visited is unspecified.

SIM_iter_addr returns the address of the counter returned by the most recent call to iter_next.

When you are done with the iterator, deallocate it with SIM_iter_free.

Execution Context

Cell Context

Processor Simulation Control