Copyright (C) 1994, Digital Equipment Corp.
RTutils
provides information on the heap. This interface is subject
to change without notice.
INTERFACE RTutils;
TYPE
HeapPresentation = { ByTypecode, ByNumber, ByByteCount };
PROCEDURE Heap (suppressZeros := FALSE;
presentation := HeapPresentation.ByTypecode;
byTypeHierarchy := FALSE;
window := LAST(INTEGER));
This prints a table of all the known types and some simple statistics
about them (count, total size in bytes for all such objects, average
size). If suppressZeros
is true, then nothing will be printed for a
type that has no instances in the heap. The presentation
argument controls the order in which types appear: ByTypeCode
indicates that types are printed in ascending typecode order,
ByNumber
indicates they are presented in order of decreasing
count, and ByByteCount
indicates that they are printed in order
of decreasing space usage. The byTypeHierarchy
controls whether
a separate report detailing the contents of the heap by the subtype
relation is printed. That is, if object types B
and C
are (the
only) subtypes of A
, this report would include a line for A
aggregating the numbers for B
and C
. The window
arguments
limits how many types are printed. The table is printed on stderr
using RTIO.
PROCEDURE NewHeap (suppressZeros := TRUE;
presentation := HeapPresentation.ByTypecode;
byTypeHierarchy := FALSE;
window := LAST(INTEGER));
This prints only the incremental information since the last call to Heap
or NewHeap. The arguments have the same meaning as in Heap.
END RTutils.