On Wed, 26 Jun 2013 18:28:08 -0400, John Gilmore wrote:

>Tom and I differ about this, profoundly.

Maybe yes, maybe no.

>My view, which I have already tried to make clear, is that a routine
>[or a routine entry and its associated code path] must [almost always]
>follow the conventions of the environment in which it is  to be
>invoked and executed and that failure to do so [almost always] has
>untoward consequences.

I agree completely with this.

>His view is different.  So be it.

I read Mr. Gilmore's statement above as a suggestion that I do not 
believe that it is important to follow conventions.  Nothing could be 
further from the truth

In my previous post, which I am including below, I pointed out that 
the linkage conventions explicitly allow any program to use the 
Linkage Stack to save its caller's registers.  Indeed, from the 
introduction of ESA until 2010, when the z/OS 1.12 edition of the 
Assembler Services guide was published, the only documented 
convention for an AR-mode program to save its caller's registers 
was to use the Linkage Stack.

Please do not misinterpret this.  The conventions also allow 
Primary-mode program to use the Linkage Stack to save its caller's 
registers.  That was why I pointed out that the statement quoted 
again below, "There is, however, something of an obligation to use 
a caller-/invoker-supplied save area when one is in fact supplied." 
was incorrect.  There is no such obligation.

There is a requirement that a primary-mode program provide a save 
area for use by the programs that it calls.  The linkage conventions 
give the called program the choice of whether to use that save 
area or to use the Linkage stack.

-- 
Tom Marchant

On Wed, 26 Jun 2013 17:14:34 -0500, Tom Marchant  wrote:

>On Wed, 26 Jun 2013 12:34:45 -0400, John Gilmore wrote:
>
>>Tom  Marchant wrote:
>>
>><begin extract>
>>That is one way to save the caller's registers, not the only
>>documented Linkage convention.
>></end extract>
>>
>>and this is formally correct.  There is, however, something of an
>>obligation to use a caller-/invoker-supplied save area when one is in
>>fact supplied.
>
>No there isn't.  Certainly the Linkage Conventions chapter in the 
>Assembler Services Guide does not say that.  It is perfectly 
>legitimate, for example, to use BAKR to save your caller's registers.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to