[lworld] [Rev 01] RFR: JDK-8243204 add class load time checking of abstract super classes of…

Harold Seigel hseigel at openjdk.java.net
Fri May 8 15:04:49 UTC 2020


On Thu, 7 May 2020 18:08:31 GMT, Frederic Parain <fparain at openjdk.org> wrote:

>> Harold Seigel has updated the pull request with a new target base due to a merge or a rebase. The pull request now
>> contains three commits:
>>  - Merge branch 'lworld' into abstractSuper
>>  - JDK-8243204 add class load time checking of abstract super classes of inline type
>>  - JDK-8243204 add class load time checking of abstract super classes of inline types
>
> src/hotspot/share/classfile/classFileParser.cpp line 6904:
> 
>> 6903: // does not implement interface java.lang.IdentityObject (checked elsewhere), has
>> 6904: // an empty body-less no-arg constructor, and no synchronized instance methods.
>> 6905: bool ClassFileParser::is_invalid_super_for_inline_type(const InstanceKlass* ik) {
> 
> The comment should be more explicit about the fact that it is performing a local test, without considering super types.
> The final decision taking account super types being performed in `fill_instance_klass()`.

The latest change updates this comment.

> src/hotspot/share/classfile/classFileParser.cpp line 6931:
> 
>> 6930:   return false;
>> 6931: }
>> 6932:
> 
> It seems this method could be made static.

Done.

> src/hotspot/share/oops/instanceKlass.hpp line 262:
> 
>> 261:   bool _invalid_inline_super;   // if true, invalid super type for an inline type.
>> 262:   bool _invalid_identity_super; // if true, invalid super type for an identity type.
>> 263:
> 
> Would it be possible to use two bits from `_misc_flags` instead of adding two bool fields to `InstanceKlass`?

Done.  Thanks for the suggestion!

-------------

PR: https://git.openjdk.java.net/valhalla/pull/34


More information about the valhalla-dev mailing list