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

    XMLWordPrintable

    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: