Unloaded signature classes in DirectMethodHandles

XMLWordPrintable

    • Type: Enhancement
    • Resolution: Fixed
    • Priority: P4
    • 23
    • Affects Version/s: 23
    • Component/s: core-libs
    • None

      JVM installs loader constraints for unloaded signature classes when method resolution occurs. MethodHandle resolution took a different route and eagerly resolves signature classes instead (see sun.invoke.util.VerifyAccess::isTypeVisible). There's a micro-optimization which bypasses that logic for java.* classes. The downside is that java.* classes can show up as unloaded signature classes. It manifests as inlining failures during JIT-compilation and may cause severe performance issues.

            Assignee:
            Vladimir Ivanov
            Reporter:
            Vladimir Ivanov
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: