On Jan 20, 2011, at 11:57, McKown, John wrote:
> ...
> 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.
>
Have you ever read a 1976 paper:
Michael J. Spier: Software Malpractice-A Distasteful experience.
? (not freely available online)
The summary was that the construct worked well, but it was
subsequently abused by maintainers who didn't understand it,
leading to disaster.
-- gil