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

missing InnerClasses record for StackMap references

XMLWordPrintable

    • b40
    • sparc
    • generic

      The compiler is required to emit an InnerClasses record for every class with a mangled name in the constant pool. However, in some classfiles there are class references from StackMap attributes to the inner classes, but there is no record to tell tools that they have mangled names.

      Enclosed is an example, with an XML and hex dump. In the hex dump, the bytes "00 49" are a constant pool index to Attribute$Layout (index 73), and they only occur in the stack map for getAttribute. There is no InnerClasses record for this class, but there should be.

      The JSR 200 unpacker is enforcing this closure rule for mangled names, and that caused a slight difference in the pre-pack and post-pack contents of this file and similar ones. Since few tools care about both stack maps and inner class manglings, I don't think this is a very important bug.

            gafter Neal Gafter (Inactive)
            jrose John Rose
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: