Bad idea if MYSUB abends.  You've effectively lost the evidence that would have been in the back chain.  Also, if you're in an LE environment, you have the danger that something your program is passing will be walked on by MYSUB, because you are now giving MYSUB your program's DSA to do with as he sees fit.
David de Jongh


Jan 20, 2011 07:03:37 PM, [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.

This is almost like doing an XCTL instead of a LINK followed by a RETURN.

John McKown
Systems Engineer IV
IT

Administrative Services Group

HealthMarkets(r)

9151 Boulevard 26 * N. Richland Hills * TX 76010
(817) 255-3225 phone *
[email protected] * www.HealthMarkets.com

Confidentiality Notice: This e-mail message may contain confidential or proprietary information. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message. HealthMarkets(r) is the brand name for products underwritten and issued by the insurance subsidiaries of HealthMarkets, Inc. -The Chesapeake Life Insurance Company(r), Mid-West National Life Insurance Company of TennesseeSM and The MEGA Life and Health Insurance Company.SM

Reply via email to