On Apr 4, 2011, at 11:04, Tony Harminc wrote: >> >>> On 4 April 2011 08:01, Joe Owens <[email protected]> wrote: >>> >>>> One question occurs - must I now use extended save areas, as I am doing >>>> something to the top halves of the GPRs, or will the system take care of >>>> that for me? (There are no amode 64 progs on the calling chain). >>> >> The called routine may have no control over what its caller does or >> does not do. > > I'm sure you're right, but I'm not getting the point. > Chris Blaicher quoted the standards laid out in the Assembler Services Guide. If Joe is modifying an existing subroutine, and callers of that subroutine have coded calls assuming those standards are followed, Joe must not make changes that violate those standards.
I suppose if the caller expects 64-bit registers to be preserved, it's fair to require the caller to supply a 144-byte save area. It can get worse. A calls B, providing a 144-byte save area. B is old-fashioned; uses 72 bytes of the save area, and no instructions that modify high order halves. B calls Joe's subroutine, providing a 72-byte save area ... The suggestion was made here that the caller should save registers. Ugh. -- gil
