On Thu, 20 Jan 2011 13:57:20 -0600 Chris Craddock <[email protected]>
wrote:

:>> I'm wondering if the following is a good idea. I've been reading again. If 
I have a routine which does the following:

:>> ...
:>>            CALL MYSUB,(PARMS,...),VL
:>>            L   R13,4(,R13)
:>>            RETURN (14,12),T,RC=(15)

:>> and I'm using standard calling conventions and save areas, is there any 
reason why I shouldn't just:

:>>       L        R13,4(,R13)
:>>       LM     R14,R12,12(R13)
:>>       CALL MYSUB,(PARAMS,...),LINKOP='15,15',LINKINST=BCR,VL

:>> The above call replaces the normal BALR 14,15 with BCR 15,15 and so goes to 
MYSUB, but removes the current program from the savearea chain. OK, so 
effectively it only saves one branch instruction. I guess I'm "over optimizing" 
again.

:>It is perfectly ok and not even particularly uncommon. The only down side is 
that since your "current" program is effectively removed from the call chain it 
can be extremely difficult to identify and diagnose any program errors arising 
from whatever your code did before transferring control.

One questions how there would be addressability to either the VCON or the
parms.

--
Binyamin Dissen <[email protected]>
http://www.dissensoftware.com

Director, Dissen Software, Bar & Grill - Israel


Should you use the mailblocks package and expect a response from me,
you should preauthorize the dissensoftware.com domain.

I very rarely bother responding to challenge/response systems,
especially those from irresponsible companies.

Reply via email to