public class sun.jvm.hotspot.memory.FileMapInfo
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.jvm.hotspot.memory.FileMapInfo
  super_class: java.lang.Object
{
  private static sun.jvm.hotspot.memory.FileMapInfo$FileMapHeader header;
    descriptor: Lsun/jvm/hotspot/memory/FileMapInfo$FileMapHeader;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static sun.jvm.hotspot.debugger.Address headerValue;
    descriptor: Lsun/jvm/hotspot/debugger/Address;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static sun.jvm.hotspot.debugger.Address mdSpaceValue;
    descriptor: Lsun/jvm/hotspot/debugger/Address;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static sun.jvm.hotspot.debugger.Address mdRegionBaseAddress;
    descriptor: Lsun/jvm/hotspot/debugger/Address;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static sun.jvm.hotspot.debugger.Address mdRegionEndAddress;
    descriptor: Lsun/jvm/hotspot/debugger/Address;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.util.Map<sun.jvm.hotspot.debugger.Address, sun.jvm.hotspot.types.Type> vTableTypeMap;
    descriptor: Ljava/util/Map;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/util/Map<Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/types/Type;>;

  private static sun.jvm.hotspot.types.Type[] metadataTypeArray;
    descriptor: [Lsun/jvm/hotspot/types/Type;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 50
            new sun.jvm.hotspot.memory.FileMapInfo$1
            dup
            invokespecial sun.jvm.hotspot.memory.FileMapInfo$1.<init>:()V
            invokestatic sun.jvm.hotspot.runtime.VM.registerVMInitializedObserver:(Ljava/util/Observer;)V
         1: .line 55
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.memory.FileMapInfo this
         0: .line 34
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // sun.jvm.hotspot.memory.FileMapInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/memory/FileMapInfo;

  private static void initialize(sun.jvm.hotspot.types.TypeDataBase);
    descriptor: (Lsun/jvm/hotspot/types/TypeDataBase;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=14, args_size=1
        start local 0 // sun.jvm.hotspot.types.TypeDataBase db
         0: .line 59
            aload 0 /* db */
            ldc "FileMapInfo"
            invokeinterface sun.jvm.hotspot.types.TypeDataBase.lookupType:(Ljava/lang/String;)Lsun/jvm/hotspot/types/Type;
            astore 1 /* type */
        start local 1 // sun.jvm.hotspot.types.Type type
         1: .line 60
            aload 1 /* type */
            ldc "_current_info"
            invokeinterface sun.jvm.hotspot.types.Type.getAddressField:(Ljava/lang/String;)Lsun/jvm/hotspot/types/AddressField;
            astore 2 /* currentInfoField */
        start local 2 // sun.jvm.hotspot.types.AddressField currentInfoField
         2: .line 61
            aload 1 /* type */
            ldc "_header"
            invokeinterface sun.jvm.hotspot.types.Type.getField:(Ljava/lang/String;)Lsun/jvm/hotspot/types/Field;
            invokeinterface sun.jvm.hotspot.types.Field.getOffset:()J
            lstore 3 /* headerFieldOffset */
        start local 3 // long headerFieldOffset
         3: .line 62
            aload 2 /* currentInfoField */
            invokeinterface sun.jvm.hotspot.types.AddressField.getValue:()Lsun/jvm/hotspot/debugger/Address;
            lload 3 /* headerFieldOffset */
            invokeinterface sun.jvm.hotspot.debugger.Address.addOffsetTo:(J)Lsun/jvm/hotspot/debugger/Address;
            astore 5 /* headerAddress */
        start local 5 // sun.jvm.hotspot.debugger.Address headerAddress
         4: .line 63
            aload 5 /* headerAddress */
            lconst_0
            invokeinterface sun.jvm.hotspot.debugger.Address.getAddressAt:(J)Lsun/jvm/hotspot/debugger/Address;
            putstatic sun.jvm.hotspot.memory.FileMapInfo.headerValue:Lsun/jvm/hotspot/debugger/Address;
         5: .line 66
            aload 0 /* db */
            ldc "FileMapHeader"
            invokeinterface sun.jvm.hotspot.types.TypeDataBase.lookupType:(Ljava/lang/String;)Lsun/jvm/hotspot/types/Type;
            astore 1 /* type */
         6: .line 67
            aload 1 /* type */
            ldc "_space[0]"
            invokeinterface sun.jvm.hotspot.types.Type.getAddressField:(Ljava/lang/String;)Lsun/jvm/hotspot/types/AddressField;
            astore 6 /* spaceField */
        start local 6 // sun.jvm.hotspot.types.AddressField spaceField
         7: .line 68
            getstatic sun.jvm.hotspot.memory.FileMapInfo.headerValue:Lsun/jvm/hotspot/debugger/Address;
            aload 1 /* type */
            ldc "_space[0]"
            invokeinterface sun.jvm.hotspot.types.Type.getField:(Ljava/lang/String;)Lsun/jvm/hotspot/types/Field;
            invokeinterface sun.jvm.hotspot.types.Field.getOffset:()J
            invokeinterface sun.jvm.hotspot.debugger.Address.addOffsetTo:(J)Lsun/jvm/hotspot/debugger/Address;
            astore 7 /* spaceValue */
        start local 7 // sun.jvm.hotspot.debugger.Address spaceValue
         8: .line 69
            aload 7 /* spaceValue */
            ldc 3
            aload 6 /* spaceField */
            invokeinterface sun.jvm.hotspot.types.AddressField.getSize:()J
            lmul
            invokeinterface sun.jvm.hotspot.debugger.Address.addOffsetTo:(J)Lsun/jvm/hotspot/debugger/Address;
            putstatic sun.jvm.hotspot.memory.FileMapInfo.mdSpaceValue:Lsun/jvm/hotspot/debugger/Address;
         9: .line 72
            aload 0 /* db */
            ldc "CDSFileMapRegion"
            invokeinterface sun.jvm.hotspot.types.TypeDataBase.lookupType:(Ljava/lang/String;)Lsun/jvm/hotspot/types/Type;
            astore 1 /* type */
        10: .line 73
            aload 1 /* type */
            ldc "_addr._base"
            invokeinterface sun.jvm.hotspot.types.Type.getField:(Ljava/lang/String;)Lsun/jvm/hotspot/types/Field;
            invokeinterface sun.jvm.hotspot.types.Field.getOffset:()J
            lstore 8 /* mdRegionBaseAddressOffset */
        start local 8 // long mdRegionBaseAddressOffset
        11: .line 74
            getstatic sun.jvm.hotspot.memory.FileMapInfo.mdSpaceValue:Lsun/jvm/hotspot/debugger/Address;
            lload 8 /* mdRegionBaseAddressOffset */
            invokeinterface sun.jvm.hotspot.debugger.Address.addOffsetTo:(J)Lsun/jvm/hotspot/debugger/Address;
            lconst_0
            invokeinterface sun.jvm.hotspot.debugger.Address.getAddressAt:(J)Lsun/jvm/hotspot/debugger/Address;
            putstatic sun.jvm.hotspot.memory.FileMapInfo.mdRegionBaseAddress:Lsun/jvm/hotspot/debugger/Address;
        12: .line 75
            aload 1 /* type */
            ldc "_used"
            invokeinterface sun.jvm.hotspot.types.Type.getField:(Ljava/lang/String;)Lsun/jvm/hotspot/types/Field;
            invokeinterface sun.jvm.hotspot.types.Field.getOffset:()J
            lstore 10 /* mdRegionSizeOffset */
        start local 10 // long mdRegionSizeOffset
        13: .line 76
            getstatic sun.jvm.hotspot.memory.FileMapInfo.mdSpaceValue:Lsun/jvm/hotspot/debugger/Address;
            lload 10 /* mdRegionSizeOffset */
            invokeinterface sun.jvm.hotspot.debugger.Address.addOffsetTo:(J)Lsun/jvm/hotspot/debugger/Address;
            lconst_0
            invokeinterface sun.jvm.hotspot.debugger.Address.getAddressAt:(J)Lsun/jvm/hotspot/debugger/Address;
            invokeinterface sun.jvm.hotspot.debugger.Address.asLongValue:()J
            lstore 12 /* mdRegionSize */
        start local 12 // long mdRegionSize
        14: .line 77
            getstatic sun.jvm.hotspot.memory.FileMapInfo.mdRegionBaseAddress:Lsun/jvm/hotspot/debugger/Address;
            lload 12 /* mdRegionSize */
            invokeinterface sun.jvm.hotspot.debugger.Address.addOffsetTo:(J)Lsun/jvm/hotspot/debugger/Address;
            putstatic sun.jvm.hotspot.memory.FileMapInfo.mdRegionEndAddress:Lsun/jvm/hotspot/debugger/Address;
        15: .line 79
            aload 0 /* db */
            invokestatic sun.jvm.hotspot.memory.FileMapInfo.populateMetadataTypeArray:(Lsun/jvm/hotspot/types/TypeDataBase;)V
        16: .line 80
            return
        end local 12 // long mdRegionSize
        end local 10 // long mdRegionSizeOffset
        end local 8 // long mdRegionBaseAddressOffset
        end local 7 // sun.jvm.hotspot.debugger.Address spaceValue
        end local 6 // sun.jvm.hotspot.types.AddressField spaceField
        end local 5 // sun.jvm.hotspot.debugger.Address headerAddress
        end local 3 // long headerFieldOffset
        end local 2 // sun.jvm.hotspot.types.AddressField currentInfoField
        end local 1 // sun.jvm.hotspot.types.Type type
        end local 0 // sun.jvm.hotspot.types.TypeDataBase db
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   17     0                         db  Lsun/jvm/hotspot/types/TypeDataBase;
            1   17     1                       type  Lsun/jvm/hotspot/types/Type;
            2   17     2           currentInfoField  Lsun/jvm/hotspot/types/AddressField;
            3   17     3          headerFieldOffset  J
            4   17     5              headerAddress  Lsun/jvm/hotspot/debugger/Address;
            7   17     6                 spaceField  Lsun/jvm/hotspot/types/AddressField;
            8   17     7                 spaceValue  Lsun/jvm/hotspot/debugger/Address;
           11   17     8  mdRegionBaseAddressOffset  J
           13   17    10         mdRegionSizeOffset  J
           14   17    12               mdRegionSize  J
    MethodParameters:
      Name  Flags
      db    

  private static void populateMetadataTypeArray(sun.jvm.hotspot.types.TypeDataBase);
    descriptor: (Lsun/jvm/hotspot/types/TypeDataBase;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.types.TypeDataBase db
         0: .line 83
            bipush 8
            anewarray sun.jvm.hotspot.types.Type
            putstatic sun.jvm.hotspot.memory.FileMapInfo.metadataTypeArray:[Lsun/jvm/hotspot/types/Type;
         1: .line 85
            getstatic sun.jvm.hotspot.memory.FileMapInfo.metadataTypeArray:[Lsun/jvm/hotspot/types/Type;
            iconst_0
            aload 0 /* db */
            ldc "ConstantPool"
            invokeinterface sun.jvm.hotspot.types.TypeDataBase.lookupType:(Ljava/lang/String;)Lsun/jvm/hotspot/types/Type;
            aastore
         2: .line 86
            getstatic sun.jvm.hotspot.memory.FileMapInfo.metadataTypeArray:[Lsun/jvm/hotspot/types/Type;
            iconst_1
            aload 0 /* db */
            ldc "InstanceKlass"
            invokeinterface sun.jvm.hotspot.types.TypeDataBase.lookupType:(Ljava/lang/String;)Lsun/jvm/hotspot/types/Type;
            aastore
         3: .line 87
            getstatic sun.jvm.hotspot.memory.FileMapInfo.metadataTypeArray:[Lsun/jvm/hotspot/types/Type;
            iconst_2
            aload 0 /* db */
            ldc "InstanceClassLoaderKlass"
            invokeinterface sun.jvm.hotspot.types.TypeDataBase.lookupType:(Ljava/lang/String;)Lsun/jvm/hotspot/types/Type;
            aastore
         4: .line 88
            getstatic sun.jvm.hotspot.memory.FileMapInfo.metadataTypeArray:[Lsun/jvm/hotspot/types/Type;
            iconst_3
            aload 0 /* db */
            ldc "InstanceMirrorKlass"
            invokeinterface sun.jvm.hotspot.types.TypeDataBase.lookupType:(Ljava/lang/String;)Lsun/jvm/hotspot/types/Type;
            aastore
         5: .line 89
            getstatic sun.jvm.hotspot.memory.FileMapInfo.metadataTypeArray:[Lsun/jvm/hotspot/types/Type;
            iconst_4
            aload 0 /* db */
            ldc "InstanceRefKlass"
            invokeinterface sun.jvm.hotspot.types.TypeDataBase.lookupType:(Ljava/lang/String;)Lsun/jvm/hotspot/types/Type;
            aastore
         6: .line 90
            getstatic sun.jvm.hotspot.memory.FileMapInfo.metadataTypeArray:[Lsun/jvm/hotspot/types/Type;
            iconst_5
            aload 0 /* db */
            ldc "Method"
            invokeinterface sun.jvm.hotspot.types.TypeDataBase.lookupType:(Ljava/lang/String;)Lsun/jvm/hotspot/types/Type;
            aastore
         7: .line 91
            getstatic sun.jvm.hotspot.memory.FileMapInfo.metadataTypeArray:[Lsun/jvm/hotspot/types/Type;
            bipush 6
            aload 0 /* db */
            ldc "ObjArrayKlass"
            invokeinterface sun.jvm.hotspot.types.TypeDataBase.lookupType:(Ljava/lang/String;)Lsun/jvm/hotspot/types/Type;
            aastore
         8: .line 92
            getstatic sun.jvm.hotspot.memory.FileMapInfo.metadataTypeArray:[Lsun/jvm/hotspot/types/Type;
            bipush 7
            aload 0 /* db */
            ldc "TypeArrayKlass"
            invokeinterface sun.jvm.hotspot.types.TypeDataBase.lookupType:(Ljava/lang/String;)Lsun/jvm/hotspot/types/Type;
            aastore
         9: .line 93
            return
        end local 0 // sun.jvm.hotspot.types.TypeDataBase db
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0    db  Lsun/jvm/hotspot/types/TypeDataBase;
    MethodParameters:
      Name  Flags
      db    

  public sun.jvm.hotspot.memory.FileMapInfo$FileMapHeader getHeader();
    descriptor: ()Lsun/jvm/hotspot/memory/FileMapInfo$FileMapHeader;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.memory.FileMapInfo this
         0: .line 96
            getstatic sun.jvm.hotspot.memory.FileMapInfo.header:Lsun/jvm/hotspot/memory/FileMapInfo$FileMapHeader;
            ifnonnull 2
         1: .line 97
            ldc Lsun/jvm/hotspot/memory/FileMapInfo$FileMapHeader;
            getstatic sun.jvm.hotspot.memory.FileMapInfo.headerValue:Lsun/jvm/hotspot/debugger/Address;
            invokestatic sun.jvm.hotspot.runtime.VMObjectFactory.newObject:(Ljava/lang/Class;Lsun/jvm/hotspot/debugger/Address;)Ljava/lang/Object;
            checkcast sun.jvm.hotspot.memory.FileMapInfo$FileMapHeader
            putstatic sun.jvm.hotspot.memory.FileMapInfo.header:Lsun/jvm/hotspot/memory/FileMapInfo$FileMapHeader;
         2: .line 99
      StackMap locals:
      StackMap stack:
            getstatic sun.jvm.hotspot.memory.FileMapInfo.header:Lsun/jvm/hotspot/memory/FileMapInfo$FileMapHeader;
            areturn
        end local 0 // sun.jvm.hotspot.memory.FileMapInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/jvm/hotspot/memory/FileMapInfo;

  public boolean inCopiedVtableSpace(sun.jvm.hotspot.debugger.Address);
    descriptor: (Lsun/jvm/hotspot/debugger/Address;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // sun.jvm.hotspot.memory.FileMapInfo this
        start local 1 // sun.jvm.hotspot.debugger.Address vptrAddress
         0: .line 103
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.memory.FileMapInfo.getHeader:()Lsun/jvm/hotspot/memory/FileMapInfo$FileMapHeader;
            astore 2 /* fmHeader */
        start local 2 // sun.jvm.hotspot.memory.FileMapInfo$FileMapHeader fmHeader
         1: .line 104
            aload 2 /* fmHeader */
            aload 1 /* vptrAddress */
            invokevirtual sun.jvm.hotspot.memory.FileMapInfo$FileMapHeader.inCopiedVtableSpace:(Lsun/jvm/hotspot/debugger/Address;)Z
            ireturn
        end local 2 // sun.jvm.hotspot.memory.FileMapInfo$FileMapHeader fmHeader
        end local 1 // sun.jvm.hotspot.debugger.Address vptrAddress
        end local 0 // sun.jvm.hotspot.memory.FileMapInfo this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lsun/jvm/hotspot/memory/FileMapInfo;
            0    2     1  vptrAddress  Lsun/jvm/hotspot/debugger/Address;
            1    2     2     fmHeader  Lsun/jvm/hotspot/memory/FileMapInfo$FileMapHeader;
    MethodParameters:
             Name  Flags
      vptrAddress  

  public sun.jvm.hotspot.types.Type getTypeForVptrAddress(sun.jvm.hotspot.debugger.Address);
    descriptor: (Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/types/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.jvm.hotspot.memory.FileMapInfo this
        start local 1 // sun.jvm.hotspot.debugger.Address vptrAddress
         0: .line 108
            getstatic sun.jvm.hotspot.memory.FileMapInfo.vTableTypeMap:Ljava/util/Map;
            ifnonnull 2
         1: .line 109
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.memory.FileMapInfo.getHeader:()Lsun/jvm/hotspot/memory/FileMapInfo$FileMapHeader;
            invokevirtual sun.jvm.hotspot.memory.FileMapInfo$FileMapHeader.createVtableTypeMapping:()V
         2: .line 111
      StackMap locals:
      StackMap stack:
            getstatic sun.jvm.hotspot.memory.FileMapInfo.vTableTypeMap:Ljava/util/Map;
            aload 1 /* vptrAddress */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.jvm.hotspot.types.Type
            areturn
        end local 1 // sun.jvm.hotspot.debugger.Address vptrAddress
        end local 0 // sun.jvm.hotspot.memory.FileMapInfo this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lsun/jvm/hotspot/memory/FileMapInfo;
            0    3     1  vptrAddress  Lsun/jvm/hotspot/debugger/Address;
    MethodParameters:
             Name  Flags
      vptrAddress  
}
SourceFile: "FileMapInfo.java"
NestMembers:
  sun.jvm.hotspot.memory.FileMapInfo$1  sun.jvm.hotspot.memory.FileMapInfo$FileMapHeader
InnerClasses:
  sun.jvm.hotspot.memory.FileMapInfo$1
  public FileMapHeader = sun.jvm.hotspot.memory.FileMapInfo$FileMapHeader of sun.jvm.hotspot.memory.FileMapInfo