runtime/src/common/RTutils.i3


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.