Copyright (C) 1993, Digital Equipment Corporation
|
All rights reserved.
| See the file COPYRIGHT for a full description.
| Last modified on Tue Nov 9 12:17:25 PST 1993 by mcjones
| modified on Tue Jun 8 11:32:19 PDT 1993 by kalsow
| modified on Sun Feb 21 14:28:54 PST 1993 by jdd
| modified on Wed Jul 3 04:15:39 1991 by muller
RTHeap provides access to the layout of data on the heap.
\index{heap}
\index{storage allocator}
\index{allocator}
Each referent on the heap, and the heap data record for each object, is represented as a contiguous sequence of ``data bytes''. Referents and data records may also contain other ``non-data'' bytes like headers, method suite pointers, or open array shapes.
See RTType for related operations on types.
INTERFACERTHeap ; PROCEDURE GetDataAdr(r: REFANY): ADDRESS;
Ifris a traced reference, returns the address ofr^'s data bytes. Ifris a traced object, returns the address of the bytes ofr's data record. It is a checked runtime error ifrisNIL. Note that the address can subsequently change unless object mobility is disabled usingRTCollector.
PROCEDURE GetDataSize(r: REFANY): CARDINAL;
Ifris a traced reference, returns the number ofr^'s data bytes. Ifris a traced object, returns the number of bytes ofr's data record. It is a checked runtime error ifrisNIL.
PROCEDURE GetArrayShape(r: REFANY; VAR s: ARRAY OF INTEGER);
Ifris a traced reference to an open array, returns ins[0 .. n-1]the size of each dimension of the n-dimensional open arrayr^. Ifsis too large, the extra elements are ignored; if it's too small, the extra sizes are discarded. It is a checked runtime error ifrisNIL. Ifris not a reference to an open array,sis unchanged.
END RTHeap.