Don't store abstract and interface Klasses in class metaspace

XMLWordPrintable

    • Type: Enhancement
    • Resolution: Fixed
    • Priority: P4
    • 24
    • Affects Version/s: None
    • Component/s: hotspot
    • b15

      Abstract and interface classes can never have an instance, so their compressed representation is never used. These classes can be stored in the non-class metaspace, to save space for encoding more classes in the class metaspace.

      Also these lambdaform classes: java/lang/invoke/LambdaForm$MH are generated only to provide a static function. They're marked ACC_FINAL but if marked with ACC_ABSTRACT, they also can be added to non-class metaspace. Unfortunately, ACC_FINAL and ACC_ABSTRACT cannot be used together because it doesn't make sense, but we need some way to say that these classes are not used for creating instances.

            Assignee:
            Coleen Phillimore
            Reporter:
            Coleen Phillimore
            Votes:
            0 Vote for this issue
            Watchers:
            9 Start watching this issue

              Created:
              Updated:
              Resolved: