[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