BUG: SystemABI C_LONG and C_LONGLONG are the same

Maurizio Cimadamore maurizio.cimadamore at oracle.com
Fri May 15 11:41:12 UTC 2020

On 15/05/2020 12:23, Ty Young wrote:
> On 5/15/20 5:09 AM, Maurizio Cimadamore wrote:
>> On 15/05/2020 02:27, Ty Young wrote:
>>> The issue with using Constable is that often times the information 
>>> is the same, so I'm going to end up with not only more garbage but a 
>>> really huge struct layout for every struct.
>> Huge in what dimension? Source code? Memory footprint? ... ?
> GC pressure, since ValueLayout instances are immutable. While it won't 
> matter here specifically since it'll be GC'd once and done, I'm 
> worried about cases where a ValueLayout(or any other layout type) 
> needs to be put together on-the-fly very frequently.

Then see the second suggestion I made about declaring your own set of 
(static final) constants with CrossPoint-related info attached once and 
for all.

> If you had the ability to define a group of Constable objects(which 
> can then be made constants), you could then at the very least cut down 
> on the amount of garbage.

I think you are going about it in a very convoluted way :-) - and 
perhaps reading too much into what Constable is. As I said, a Constable 
is a common supertype for all things that can be represented in the 
classfile constant pool. Should you care? Probably not - this is just to 
make sure that whatever layout attribute you stick in, we can reify it 
into the classfile for you (if need arises).

I really think that defining your own set of constants is the simplest 
possible way to support your use case in full (and even better than 
before, probably).


>> Maurizio

More information about the panama-dev mailing list