Browse Prior Art Database

Automation of Automatic Storage

IP.com Disclosure Number: IPCOM000118792D
Original Publication Date: 1997-Jul-01
Included in the Prior Art Database: 2005-Apr-01
Document File: 4 page(s) / 102K

Publishing Venue

IBM

Related People

Johnson, EL: AUTHOR

Abstract

Automatic Storage (AS) Allocation Scheme.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 52% of the total text.

Automation of Automatic Storage

Automatic Storage (AS) Allocation Scheme:

      The AS macros are designed to work as an extension of PL/X-370
to provide generalized allocation of automatic storage across
PL/X-370 procedures without the need for any shared data definitions.
The scheme  uses general register 13 to locate the AS data areas and
uses the first  word of the register save area to identify AS areas
with the characters  'AS<' or 'AS>'.  ASGET and ASFREE use the
identifier 'AS<' (AS below),  and ASGT31 and ASFR31 use 'AS>' (AS
above).  PL/X-370 puts the register  save area at the beginning of
the automatic storage area.  This can be  relied on since PL/X-370
allows 13 to be used as the base register for  the automatic storage.

      ASGET and ASFREE are preferred when any routines called may be
executing in AMODE 24, even routines of another component.  ASGT31
and ASFR31 perform similarly when it is known that all the routines
called will be executing in AMODE 31.  However, since this method can
share auto storage across components, the entire execution sequence
needs to be examined.

      The AS scheme obtains a 4K page for automatic storage on entry
to an external procedure when it is recognized that the caller of the
procedure is not using the same AS scheme or when the current 4K page
is full (not enough space left for the automatic storage of the
procedure entered).  The beginning of a 4K block is recognized by the
4K boundary address.

      The AS< macros, ASGET and ASFREE, always obtain the storage
below the 16 MB line to avoid the code needed to check the location
requirements and to avoid the need to get another page when a
procedure is entered which requires below-the-line storage.  This
design was chosen with the belief that 4K will be sufficient for most
call sequences  and that there will be a requirement for
below-the-line storage at some  point in many call sequences.

      The AS> macros, ASGT31 and ASFR31, always obtain the storage
above the 16 MB line.  These macros can be used only in routines
which execute in AMODE 31.  In addition, if any routine is called
which executes in AMODE 24, the save area passed to that routine
cannot be in the auto data area of the calling routine and the use of
the current 4K auto data area must be ended.

      Storage is used from the end (highest addresses) of the 4K
first, and each subsequent nested call uses the next lower area until
the beginning of the 4K is reached.  When a procedure returns to its
caller, its storage is available to be reused.  A 4K page is freed on
exit from the procedure which obtained it on entry.

Benefits of the AS Scheme:
  o  Localizes data referenced and, thus, minimizes real storage
      required.
  o  Reduces paging overhead.
  o  Ena...