RFR(S): 8131129: Attempt to define a duplicate BMH$Species class

Peter Levart peter.levart at gmail.com
Mon Nov 9 12:16:46 UTC 2015

Hi all,

Thanks for analysis, reviews and discussion that hopefully beheaded this 

I added an assert to method setSpeciesDataToConcreteBMHClass() that 
verifies the presence of @Stable annotation on the SPECIES_DATA field of 
the generated class. It caught a bug I made when I specified a binary 
class name "java/lang/invoke/Stable" in FieldVisitor.visitAnnotation() 
instead of type signature "Ljava/lang/invoke/Stable;"

The consequence was not drastic - the field was just not being 
interpreted by VM as @Stable.

With that adjustment and successful re-run of jtreg tests, I ask for 
re-confirmation to push the following:


Regards, Peter

On 11/06/2015 01:31 PM, Vladimir Ivanov wrote:
> Peter,
>> http://cr.openjdk.java.net/~plevart/jdk9-dev/BMH.race/webrev.06/
> Looks really good! Reviewed.
>> - the SPECIES_DATA field in generated class can not be static final when
>> it is initialized out of <clinit>. Just static. It was just static
>> before when it was initialized in <clinit> and could be static final. We
>> can make it @Stable at least.
> Not sure it is on hot path, but I'm all for marking the field as @Stable
>> - there's no need for empty <clinit> method now. Removed.
>> Basic java/lang/invoke jtreg tests pass.
> Best regards,
> Vladimir Ivanov

More information about the core-libs-dev mailing list