Final RFR: 8005232 (JEP-149) Class Instance size reduction

Mandy Chung mandy.chung at
Thu Jan 10 01:25:03 UTC 2013

On 1/6/2013 2:46 PM, David Holmes wrote:

This looks good to me. David - besides the footprint performance data,
do you observe any performance difference in your performance testing
(I think refworkload is what you ran)?

On 01/09/2013 01:19 PM, Aleksey Shipilev wrote:
> On 01/09/2013 05:04 PM, Peter Levart wrote:
>> Strictly speaking, CAS is actually not needed here. Since we keep
>> classRedefinedCount snapshot inside the ReflectionData, any races that
>> would install "older" ReflectionData over "newer", would be quickly
>> caught at next invocation to reflectionData(). So if there are any
>> objections to usage of Unsafe, it can be removed and replaced by simple
>> volatile write.
> Yes, I think that would be more clear without any adverse impacts on
> performance. Also, that better expresses the intent of requiring the
> visibility, not the atomicity of cache update.

I agree with Alekesey that it'd be simpler and clearer if CAS is replaced
with the simple volatile write.  But this change will require another round
of performance measurement to determine its impact.  I'd suggest to follow
up this cleanup in a separate bug and changeset.


More information about the core-libs-dev mailing list