RFR 8200261: Regression with JVM anonymous class

Lois Foltan lois.foltan at oracle.com
Wed Apr 4 20:50:17 UTC 2018


On 4/4/2018 1:29 PM, harold seigel wrote:

> Hi,
>
> Please review this JDK-11 fix for JDK-8200261.  When the JVM default 
> method processing creates an expanded constant pool, to add overpass 
> methods, for an anonymous class, it needs to ensure that the (eagerly) 
> resolved anonymous class get copied into the new constant pool's 
> klasses array.  Otherwise, the anonymous class will be unable to find 
> its own fields and methods.  This is only needed for anonymous classes 
> because other classes get resolved after default method processing.
>
> Open Webrev: 
> http://cr.openjdk.java.net/~hseigel/bug_8200261/webrev/index.html
>
> JBS Bug:  https://bugs.openjdk.java.net/browse/JDK-8200261

Hi Harold,
Fix looks good.  Two minor clarification questions about the setting & 
retrieving of the index, since this is intended only for anonymous classes:

share/classfile/classFileParser.cpp:
- line #5427 - did you consider calling set_this_class_index from within 
the "if (is_anonymous())" if statement at line #5429
share/oops/instanceKlass.hpp:
- line #521 - should there be asserts in these setter/getter methods to 
check for an anonymous class?

Thanks,
Lois

>
> This fix was tested with Mach5 tiers 1 and 2 tests and builds on all 
> Mach5 platforms, with tiers 3-5 tests on Linux-x64, with JCK-10 Lang 
> and VM tests, and with additional JDK JTReg tests.
>
> Thanks, Harold
>



More information about the hotspot-runtime-dev mailing list