This is the mail archive of the
mailing list for the Java project.
Re: Alpha vs. new ABI
Jeff> Isn't that the reason gcj now enforces a minimum of ptr
Jeff> alignment on the data member of arrays? I know Alex made that
Jeff> change for the new ABI, but I don't remember exactly why.
I didn't realize a change had been made here recently. Alex, what
>> In the runtime we could implement this by putting
>> __attribute__((aligned (something))) on the `data' field.
>> `something' would be chosen to be maximal alignment for the platform.
>> Maybe just `8' would suffice for now.
Jeff> That'll waste 4 bytes on x86.
Interesting -- I didn't realize that doubles only had to be aligned on
a 4 byte boundary there.
Last time this came up people seemed indifferent to the space wasted
by forcing maximal alignment for every array. Maybe another 4 bytes
Of course if it is easy I'd prefer to find a solution that does the
right thing on each platform. I don't know if you can use
`__alignof__' inside an attribute though.
Jeff> Whatever the case, the alignment specified in array.h should
Jeff> _exactly_ match the behavior in the frontend. Right now it
Definitely. And I think we need to fix this before gcc 3.0, since it
is the only thing keeping the alpha port from working. Alex said
today that he'd look into it.