Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8147755

ASM should create correct constant tag for invokestatic on handle point to interface static method

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: P3
    • Resolution: Fixed
    • Affects Version/s: 9
    • Fix Version/s: 9
    • Component/s: other-libs
    • Labels:
    • Resolved In Build:
      b112
    • CPU:
      generic
    • OS:
      generic

      Description

      A method handle to interface static method invoked with invokestatic, it generated Methodref in constantpool, which violates
      JVMS-5.4.3.3 Method Resolution:
       " If C is an interface, method resolution throws an IncompatibleClassChangeError."
      JVMS-5.4.3.4 Interface Method Resolution:
       "If C is not an interface, interface method resolution throws an IncompatibleClassChangeError"
      It should generate InterfaceMethodref instead. See bug 8147419.
      Currently 8147419 has a workaround for this, relax check.
      When this problem fixed, the relax in hotspot should be removed.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                ksrini Kumar Srinivasan
                Reporter:
                minqi Yumin Qi
              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: