SIM_iter_next, SIM_iter_addr, SIM_iter_free — Iterate over address profile counters
#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);
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.
Cell Context