RFR: 8024927: Nashorn performance regression with CompressedOops

Coleen Phillimore coleen.phillimore at oracle.com
Thu Oct 24 07:03:35 PDT 2013


On 10/24/2013 9:49 AM, Stefan Karlsson wrote:
>>> OK. Could you change the check to compare LogMinObjAlignmentInBytes 
>>> to 3, or ObjAlignmentInBytes to 8, or OopEncodingHeapMax to 32GB? 
>>> That would be much more clear too me.
>>
>> I don't like constants in code, which is why I picked the symbolic 
>> class alignment name for "3".   I'll add a comment. How about that?
>
> But it's just wrong to use the symbolic class alignment 
> (LogKlassAlignmentInBytes) here. What you need to check for is the 
> heap size and not the klass alignments. Using 
> LogMinObjAlignmentInBytes == LogKlassAlignmentInBytes makes the code 
> hard for me (and probably others) to understand. It might even 
> introduce bugs if someone changes LogKlassAlignmentInBytes to 4 and 
> and uses 16 byte object aligment  (yes, I know other places will break 
> too).

You're right I want OopEncodingHeapMax to be 32*G which it might be 
bigger with ObjectAlignmentInBytes.   I'll just put 32*G since I can't 
find a symbolic constant for it.

Coleen


More information about the hotspot-dev mailing list