On Fri, 23 Aug 2024 20:46:39 GMT, Coleen Phillimore <cole...@openjdk.org> 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 one > additional commit since the last revision: > > Incorporated a set of Thomas Stuefe's comments. Take out AbstractClass > MetaspaceObj::Type. > I renamed this is_in_class_space() with the lower case 'c'. It's still > directing metaspace or indicating where the object was allocated. Your name > is a little better but I think not enough until we want to expand the things > we want allocated in the class space. As we talked about, with Tiny Class > Pointers, class space will have different things in it (not that these new > things need a compressed pointers). But I think we're better off having less > things in the space where their pointers can be compressed since this space > is constrained. How about "needs_class_space" then? ------------- PR Comment: https://git.openjdk.org/jdk/pull/19157#issuecomment-2308353198