C has a stack which does this.  There are some places where you cannot get
storage (some exits) so we had to pass it on as part of the userparm


On Fri, Mar 28, 2025, 15:49 Richard Zierdt <
[email protected]> wrote:

> When coding reentrant modules, one practice is to Obtain Storage (Getmain,
> etc) and setup shop.  This is well and good.
>
> But another technique would have the *caller*, who may be reentrant or
> not, *provide* the savearea / workarea and pass the address of that area
> through typical R1 / address list linkage stuff.
>
> This would save Obtain / Getmain / Freemain calls.   For a program that
> gets called thousands of times, the overhead would add up.   Yes, the
> caller has to provide a workarea, and that may cost one Getmain, but it's
> only once.
>
> Say Program A calls reentrant Program B 10,000 times.  If A provides the
> workarea, that saves 10,000  Getmain/Freemains in B.
>
> The concept seems to be used by the IEAMSXMP  "POST" macro, which wants a
> 512-byte WORKAREA=.  Well, why not get it yourself, IBM?   Answer might be
> to save overhead.  (Yes, there may be other reasons).
>
> Any program could be reentrant without Getmains if callers provided
> save/work areas (and the programs were written accordingly).
>
> Just a thought
>
> Richard Zierdt
>
> Confidentiality Warning/Avertissement de confidentialité:
>
> This message is intended only for the named recipients. This message may
> contain information that is privileged or confidential. If you are not the
> named recipient, its employee or its agent, please notify us immediately
> and permanently destroy this message and any copies you may have. Ce
> message est destiné uniquement aux destinataires dûment nommés. Il peut
> contenir de l'information privilégiée ou confidentielle. Si vous n'êtes pas
> le destinataire dûment nommé, son employé ou son mandataire, veuillez nous
> aviser sans tarder et supprimer ce message ainsi que toute copie qui peut
> en avoir été faite.
>
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to [email protected] with the message: INFO IBM-MAIN
>

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to