Add 15 bytes to whatever length you are asking for and copy the
pointer. 'And' the last nibble to 0. Voila! quad-aligned pointer. :)


In article 
<CA+AiZz2Zac=k_i_yT4hPEN-GNw5B3NtMi3udvsuhRUO-OsL=z...@mail.gmail.com> you 
wrote:
> Thanks Peter,
> fwiw, the buffer pool stuff is combined (not packed) into a structure
> obtained with __malloc31().  I'll have to research whether Metal C provides
> a way to get Quad-word alignment.
> sas
> On Tue, Jul 17, 2018 at 12:18 PM, Peter Relson <[email protected]> wrote:
> > <snip>
> > But who's at fault here... I'm just
> > trying to use the service, and the book says nothing about Q-word aligning
> > anything.  AND, it's been working fine for almost 3 years... have I just
> > been lucky that my cell pool getmains were Q-aligned until today?
> > </snip>
> >
> > I'd say that it's our fault for not documenting, but it's a to-do for you.
> >
> > The AMODE 31 variants require doubleword alignment as they do CDS.
> > The AMODE 64 variants requires quadword alignment as they do CDSG
> >
> > The example in the assembler services guide shows using IARV64 which will
> > naturally get storage that accommodates the requirement.
> >
> > As to have you been lucky? I guess so. You didn't show how you obtained
> > the extent area. Depending on size, some flavors of getmain will naturally
> > land on a page boundary. But others won't and would then have the default
> > of doubleword alignment.
> >
> > Peter Relson
> > z/OS Core Technology Design

-- 
Don Poitras - SAS Development  -  SAS Institute Inc. - SAS Campus Drive
[email protected]           (919) 531-5637                Cary, NC 27513

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to