Sun Studio 12: Performance Analyzer

Commands That Control Memory Object Lists

Memory object commands are applicable only to hardware counter experiments where aggressive backtracking was specified, and for objects in files that were compiled with the -xhwcprof option, which is available on SPARC platforms. See the Sun Studio 12: Fortran User’s Guide, the Sun Studio 12: C User’s Guide, or the Sun Studio 12: C++ User’s Guide for further information.

Memory objects are components in the memory subsystem, such as cache lines, pages, and memory banks. The object is determined from an index computed from the virtual or physical address as recorded. Memory objects are predefined for virtual and physical pages, for sizes of 8KB, 64KB, 512KB, and 4 MB. You can define others with the mobj_define command.

The following commands control the memory object lists.

memobj mobj_type

Write the list of the memory objects of the given type with the current metrics. Metrics used and sorting as for the data space list. You can also use the name mobj_type directly as the command.

mobj_list

Write the list of known types of memory objects, as used for mobj_type in the memobj command.

mobj_define mobj_type index_exp

Define a new type of memory objects with a mapping of VA/PA to the object given by the index_exp. The syntax of the expression is described in Expression Grammar.

The mobj_type must not already be defined. Its name must be entirely composed of alphanumeric characters or the ’_’ character, and begin with an alphabetic character.

The index_exp must be syntactically correct. If it is not syntactically correct, an error is returned and the definition is ignored.

The <Unknown> memory object has an index of -1, and the expression used to define a new memory object should support recognizing <Unknown>. For example, for VADDR-based objects, the expression should be of the following form:

VADDR>255?expression :-1

and for PADDR-based objects, the expression should be of the following form:

PADDR>0?expression:-1