RFR: 8338526: Don't store abstract and interface Klasses in class metaspace
Coleen Phillimore
coleenp at openjdk.org
Wed Aug 21 16:38:16 UTC 2024
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.
-------------
Commit messages:
- 8338526: Don't store abstract and interface Klasses in class metaspace
Changes: https://git.openjdk.org/jdk/pull/19157/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=19157&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8338526
Stats: 71 lines in 17 files changed: 31 ins; 6 del; 34 mod
Patch: https://git.openjdk.org/jdk/pull/19157.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/19157/head:pull/19157
PR: https://git.openjdk.org/jdk/pull/19157
More information about the core-libs-dev
mailing list