BackbuttonHeap Vector

A Heap Vector is a Dope Vector initialized from the CodeFile, loaded using a Read With Tags operation. 

The Fortran77 Compiler generates a Heap Vector. See EMIT_HEAP_VECTOR at 55933690.

A Heap Vector is created by calling ArrayDec and setting the HeapVectF Flag.

In ArrayDec at  4714725, the PBITHEAPVF flag is set on the call to TBIT, which causes a Read with Tags Read Operation to be performed.

IF ARRAYTYPE.HEAPVECTF THEN
     BEGIN
     IF NOT TOUCHED (WORD VIA SIRW_TO_MOM) THEN
          TBIT (SIRW_TO_MOM,
                FALSE,
                0 & 1         PBITUSERF
                  & 1         PBITSAVEF
                  & 1         PBITHEAPVF);
     EXIT;
     END;

The PBITSAVEF flag results in Save memory being allocated. The PBITUSERF forces an RSVP and possible DS if there is no memory available.

The ASD_SPACEUSAGE field is set to DOPEVECT at 5027812.

The Multi Dimension Array Flag MDTOGF must be set in the environment which contains the MOM for the Heap Vector.

The MOM Descriptor for the Heap Vector is Not Segmented, No Read-Only,Not Indexed,Single Precision CodeFile Initialized Array (See Fortran77 at 55934026)

Since the Array is Code File Initialized the Non Extended Array Descriptor Format must be used. This Table was created from the definitions in Fortran77 at 10949330 MarkID 35.075.253.

Tag 5 - UnTouched DataDesc 
Field Name Description
[47:1] PresentF 0
[46:1] CopyF 0
[45:1] IndexedF Also called NEW_FORMATF and indicates the new format Untouched DataDesc if set to 1.
[44:1] SegmentedF  
[43:1] ReadOnlyF ReadOnly Flag.
[42:3] SizeF The size of the elements of the Array:
 SINGLE = 0
 DOUBLE = 1
 HEX = 2
 EBCDIC = 4
[39:20] LengthF  
[19:1] OlayFileF 0
[18:1] CodeFileF CodeFile Initialized
[17:18] AddressF Sector Address