On Wed, 28 Aug 2024 15:42:57 GMT, Coleen Phillimore <[email protected]> wrote:
>> This change stores InstanceKlass for interface and abstract classes in the
>> non-class metaspace, since class metaspace will have limits on number of
>> classes that can be represented when Lilliput changes go in. Classes that
>> have no instances created for them don't require compressed class pointers.
>> The generated LambdaForm classes are also AllStatic, and changing them to
>> abstract moves them to non-class metaspace too. It's not technically great
>> to make them abstract and not final but you can't have both. Java classfile
>> access flags have no way of specifying something like AllStatic.
>>
>> Tested with tier1-8.
>
> Coleen Phillimore has updated the pull request incrementally with two
> additional commits since the last revision:
>
> - Merge branch 'anon' of github.com:coleenp/jdk into anon
> - Fix copyright
src/hotspot/share/jfr/recorder/checkpoint/types/traceid/jfrTraceIdKlassQueue.cpp
line 79:
> 77:
> 78: static bool can_compress_element(const Klass* klass) {
> 79: return Metaspace::is_in_class_space(klass) &&
Suggestion:
return (Metaspace::is_in_class_space(klass) ||
Metaspace::is_in_shared_metaspace(klass)) &&
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/19157#discussion_r1735585478