public class sun.jvm.hotspot.gc.z.ZForwardingTable extends sun.jvm.hotspot.runtime.VMObject
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.jvm.hotspot.gc.z.ZForwardingTable
  super_class: sun.jvm.hotspot.runtime.VMObject
{
  private static sun.jvm.hotspot.types.AddressField tableField;
    descriptor: Lsun/jvm/hotspot/types/AddressField;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static sun.jvm.hotspot.types.CIntegerField sizeField;
    descriptor: Lsun/jvm/hotspot/types/CIntegerField;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 40
            invokedynamic update()Ljava/util/Observer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/util/Observable;Ljava/lang/Object;)V
                  sun/jvm/hotspot/gc/z/ZForwardingTable.lambda$0(Ljava/util/Observable;Ljava/lang/Object;)V (6)
                  (Ljava/util/Observable;Ljava/lang/Object;)V
            invokestatic sun.jvm.hotspot.runtime.VM.registerVMInitializedObserver:(Ljava/util/Observer;)V
         1: .line 41
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static synchronized void initialize(sun.jvm.hotspot.types.TypeDataBase);
    descriptor: (Lsun/jvm/hotspot/types/TypeDataBase;)V
    flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // sun.jvm.hotspot.types.TypeDataBase db
         0: .line 44
            aload 0 /* db */
            ldc "ZForwardingTable"
            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 46
            aload 1 /* type */
            ldc "_table"
            invokeinterface sun.jvm.hotspot.types.Type.getAddressField:(Ljava/lang/String;)Lsun/jvm/hotspot/types/AddressField;
            putstatic sun.jvm.hotspot.gc.z.ZForwardingTable.tableField:Lsun/jvm/hotspot/types/AddressField;
         2: .line 47
            aload 1 /* type */
            ldc "_size"
            invokeinterface sun.jvm.hotspot.types.Type.getCIntegerField:(Ljava/lang/String;)Lsun/jvm/hotspot/types/CIntegerField;
            putstatic sun.jvm.hotspot.gc.z.ZForwardingTable.sizeField:Lsun/jvm/hotspot/types/CIntegerField;
         3: .line 48
            return
        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    4     0    db  Lsun/jvm/hotspot/types/TypeDataBase;
            1    4     1  type  Lsun/jvm/hotspot/types/Type;
    MethodParameters:
      Name  Flags
      db    

  public void <init>(sun.jvm.hotspot.debugger.Address);
    descriptor: (Lsun/jvm/hotspot/debugger/Address;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.jvm.hotspot.gc.z.ZForwardingTable this
        start local 1 // sun.jvm.hotspot.debugger.Address addr
         0: .line 51
            aload 0 /* this */
            aload 1 /* addr */
            invokespecial sun.jvm.hotspot.runtime.VMObject.<init>:(Lsun/jvm/hotspot/debugger/Address;)V
         1: .line 52
            return
        end local 1 // sun.jvm.hotspot.debugger.Address addr
        end local 0 // sun.jvm.hotspot.gc.z.ZForwardingTable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/jvm/hotspot/gc/z/ZForwardingTable;
            0    2     1  addr  Lsun/jvm/hotspot/debugger/Address;
    MethodParameters:
      Name  Flags
      addr  

  sun.jvm.hotspot.debugger.Address table();
    descriptor: ()Lsun/jvm/hotspot/debugger/Address;
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.gc.z.ZForwardingTable this
         0: .line 55
            getstatic sun.jvm.hotspot.gc.z.ZForwardingTable.tableField:Lsun/jvm/hotspot/types/AddressField;
            aload 0 /* this */
            getfield sun.jvm.hotspot.gc.z.ZForwardingTable.addr:Lsun/jvm/hotspot/debugger/Address;
            invokeinterface sun.jvm.hotspot.types.AddressField.getAddress:(Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/debugger/Address;
            areturn
        end local 0 // sun.jvm.hotspot.gc.z.ZForwardingTable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/gc/z/ZForwardingTable;

  long size();
    descriptor: ()J
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.gc.z.ZForwardingTable this
         0: .line 59
            getstatic sun.jvm.hotspot.gc.z.ZForwardingTable.sizeField:Lsun/jvm/hotspot/types/CIntegerField;
            aload 0 /* this */
            getfield sun.jvm.hotspot.gc.z.ZForwardingTable.addr:Lsun/jvm/hotspot/debugger/Address;
            invokeinterface sun.jvm.hotspot.types.CIntegerField.getJLong:(Lsun/jvm/hotspot/debugger/Address;)J
            lreturn
        end local 0 // sun.jvm.hotspot.gc.z.ZForwardingTable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/gc/z/ZForwardingTable;

  sun.jvm.hotspot.gc.z.ZForwardingTableEntry at(sun.jvm.hotspot.gc.z.ZForwardingTableCursor);
    descriptor: (Lsun/jvm/hotspot/gc/z/ZForwardingTableCursor;)Lsun/jvm/hotspot/gc/z/ZForwardingTableEntry;
    flags: (0x0000) 
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // sun.jvm.hotspot.gc.z.ZForwardingTable this
        start local 1 // sun.jvm.hotspot.gc.z.ZForwardingTableCursor cursor
         0: .line 63
            new sun.jvm.hotspot.gc.z.ZForwardingTableEntry
            dup
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.gc.z.ZForwardingTable.table:()Lsun/jvm/hotspot/debugger/Address;
            aload 1 /* cursor */
            getfield sun.jvm.hotspot.gc.z.ZForwardingTableCursor._value:J
            invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
            invokevirtual sun.jvm.hotspot.runtime.VM.getBytesPerLong:()I
            i2l
            lmul
            invokeinterface sun.jvm.hotspot.debugger.Address.getAddressAt:(J)Lsun/jvm/hotspot/debugger/Address;
            invokespecial sun.jvm.hotspot.gc.z.ZForwardingTableEntry.<init>:(Lsun/jvm/hotspot/debugger/Address;)V
            areturn
        end local 1 // sun.jvm.hotspot.gc.z.ZForwardingTableCursor cursor
        end local 0 // sun.jvm.hotspot.gc.z.ZForwardingTable this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lsun/jvm/hotspot/gc/z/ZForwardingTable;
            0    1     1  cursor  Lsun/jvm/hotspot/gc/z/ZForwardingTableCursor;
    MethodParameters:
        Name  Flags
      cursor  

  sun.jvm.hotspot.gc.z.ZForwardingTableEntry first(long, sun.jvm.hotspot.gc.z.ZForwardingTableCursor);
    descriptor: (JLsun/jvm/hotspot/gc/z/ZForwardingTableCursor;)Lsun/jvm/hotspot/gc/z/ZForwardingTableEntry;
    flags: (0x0000) 
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // sun.jvm.hotspot.gc.z.ZForwardingTable this
        start local 1 // long from_index
        start local 3 // sun.jvm.hotspot.gc.z.ZForwardingTableCursor cursor
         0: .line 67
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.gc.z.ZForwardingTable.size:()J
            lconst_1
            lsub
            lstore 4 /* mask */
        start local 4 // long mask
         1: .line 68
            lload 1 /* from_index */
            invokestatic sun.jvm.hotspot.gc.z.ZHash.uint32_to_uint32:(J)J
            lstore 6 /* hash */
        start local 6 // long hash
         2: .line 69
            aload 3 /* cursor */
            lload 6 /* hash */
            lload 4 /* mask */
            land
            putfield sun.jvm.hotspot.gc.z.ZForwardingTableCursor._value:J
         3: .line 70
            aload 0 /* this */
            aload 3 /* cursor */
            invokevirtual sun.jvm.hotspot.gc.z.ZForwardingTable.at:(Lsun/jvm/hotspot/gc/z/ZForwardingTableCursor;)Lsun/jvm/hotspot/gc/z/ZForwardingTableEntry;
            areturn
        end local 6 // long hash
        end local 4 // long mask
        end local 3 // sun.jvm.hotspot.gc.z.ZForwardingTableCursor cursor
        end local 1 // long from_index
        end local 0 // sun.jvm.hotspot.gc.z.ZForwardingTable this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lsun/jvm/hotspot/gc/z/ZForwardingTable;
            0    4     1  from_index  J
            0    4     3      cursor  Lsun/jvm/hotspot/gc/z/ZForwardingTableCursor;
            1    4     4        mask  J
            2    4     6        hash  J
    MethodParameters:
            Name  Flags
      from_index  
      cursor      

  sun.jvm.hotspot.gc.z.ZForwardingTableEntry next(sun.jvm.hotspot.gc.z.ZForwardingTableCursor);
    descriptor: (Lsun/jvm/hotspot/gc/z/ZForwardingTableCursor;)Lsun/jvm/hotspot/gc/z/ZForwardingTableEntry;
    flags: (0x0000) 
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // sun.jvm.hotspot.gc.z.ZForwardingTable this
        start local 1 // sun.jvm.hotspot.gc.z.ZForwardingTableCursor cursor
         0: .line 74
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.gc.z.ZForwardingTable.size:()J
            lconst_1
            lsub
            lstore 2 /* mask */
        start local 2 // long mask
         1: .line 75
            aload 1 /* cursor */
            aload 1 /* cursor */
            getfield sun.jvm.hotspot.gc.z.ZForwardingTableCursor._value:J
            lconst_1
            ladd
            lload 2 /* mask */
            land
            putfield sun.jvm.hotspot.gc.z.ZForwardingTableCursor._value:J
         2: .line 76
            aload 0 /* this */
            aload 1 /* cursor */
            invokevirtual sun.jvm.hotspot.gc.z.ZForwardingTable.at:(Lsun/jvm/hotspot/gc/z/ZForwardingTableCursor;)Lsun/jvm/hotspot/gc/z/ZForwardingTableEntry;
            areturn
        end local 2 // long mask
        end local 1 // sun.jvm.hotspot.gc.z.ZForwardingTableCursor cursor
        end local 0 // sun.jvm.hotspot.gc.z.ZForwardingTable this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lsun/jvm/hotspot/gc/z/ZForwardingTable;
            0    3     1  cursor  Lsun/jvm/hotspot/gc/z/ZForwardingTableCursor;
            1    3     2    mask  J
    MethodParameters:
        Name  Flags
      cursor  

  sun.jvm.hotspot.gc.z.ZForwardingTableEntry find(long, sun.jvm.hotspot.gc.z.ZForwardingTableCursor);
    descriptor: (JLsun/jvm/hotspot/gc/z/ZForwardingTableCursor;)Lsun/jvm/hotspot/gc/z/ZForwardingTableEntry;
    flags: (0x0000) 
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // sun.jvm.hotspot.gc.z.ZForwardingTable this
        start local 1 // long from_index
        start local 3 // sun.jvm.hotspot.gc.z.ZForwardingTableCursor cursor
         0: .line 83
            aload 0 /* this */
            lload 1 /* from_index */
            aload 3 /* cursor */
            invokevirtual sun.jvm.hotspot.gc.z.ZForwardingTable.first:(JLsun/jvm/hotspot/gc/z/ZForwardingTableCursor;)Lsun/jvm/hotspot/gc/z/ZForwardingTableEntry;
            astore 4 /* entry */
        start local 4 // sun.jvm.hotspot.gc.z.ZForwardingTableEntry entry
         1: .line 84
            goto 5
         2: .line 85
      StackMap locals: sun.jvm.hotspot.gc.z.ZForwardingTableEntry
      StackMap stack:
            aload 4 /* entry */
            invokevirtual sun.jvm.hotspot.gc.z.ZForwardingTableEntry.from_index:()J
            lload 1 /* from_index */
            lcmp
            ifne 4
         3: .line 87
            aload 4 /* entry */
            areturn
         4: .line 90
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* cursor */
            invokevirtual sun.jvm.hotspot.gc.z.ZForwardingTable.next:(Lsun/jvm/hotspot/gc/z/ZForwardingTableCursor;)Lsun/jvm/hotspot/gc/z/ZForwardingTableEntry;
            astore 4 /* entry */
         5: .line 84
      StackMap locals:
      StackMap stack:
            aload 4 /* entry */
            invokevirtual sun.jvm.hotspot.gc.z.ZForwardingTableEntry.is_empty:()Z
            ifeq 2
         6: .line 94
            aload 4 /* entry */
            areturn
        end local 4 // sun.jvm.hotspot.gc.z.ZForwardingTableEntry entry
        end local 3 // sun.jvm.hotspot.gc.z.ZForwardingTableCursor cursor
        end local 1 // long from_index
        end local 0 // sun.jvm.hotspot.gc.z.ZForwardingTable this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lsun/jvm/hotspot/gc/z/ZForwardingTable;
            0    7     1  from_index  J
            0    7     3      cursor  Lsun/jvm/hotspot/gc/z/ZForwardingTableCursor;
            1    7     4       entry  Lsun/jvm/hotspot/gc/z/ZForwardingTableEntry;
    MethodParameters:
            Name  Flags
      from_index  
      cursor      

  sun.jvm.hotspot.gc.z.ZForwardingTableEntry find(long);
    descriptor: (J)Lsun/jvm/hotspot/gc/z/ZForwardingTableEntry;
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // sun.jvm.hotspot.gc.z.ZForwardingTable this
        start local 1 // long from_index
         0: .line 98
            new sun.jvm.hotspot.gc.z.ZForwardingTableCursor
            dup
            invokespecial sun.jvm.hotspot.gc.z.ZForwardingTableCursor.<init>:()V
            astore 3 /* dummy */
        start local 3 // sun.jvm.hotspot.gc.z.ZForwardingTableCursor dummy
         1: .line 99
            aload 0 /* this */
            lload 1 /* from_index */
            aload 3 /* dummy */
            invokevirtual sun.jvm.hotspot.gc.z.ZForwardingTable.find:(JLsun/jvm/hotspot/gc/z/ZForwardingTableCursor;)Lsun/jvm/hotspot/gc/z/ZForwardingTableEntry;
            areturn
        end local 3 // sun.jvm.hotspot.gc.z.ZForwardingTableCursor dummy
        end local 1 // long from_index
        end local 0 // sun.jvm.hotspot.gc.z.ZForwardingTable this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lsun/jvm/hotspot/gc/z/ZForwardingTable;
            0    2     1  from_index  J
            1    2     3       dummy  Lsun/jvm/hotspot/gc/z/ZForwardingTableCursor;
    MethodParameters:
            Name  Flags
      from_index  

  void dump();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=8, locals=11, args_size=1
        start local 0 // sun.jvm.hotspot.gc.z.ZForwardingTable this
         0: .line 103
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.gc.z.ZForwardingTable.size:()J
            lstore 1 /* s */
        start local 1 // long s
         1: .line 104
            lconst_0
            lstore 3 /* count */
        start local 3 // long count
         2: .line 105
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Dumping ZForwardingTable["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 1 /* s */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc "]:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         3: .line 106
            new sun.jvm.hotspot.gc.z.ZForwardingTableCursor
            dup
            invokespecial sun.jvm.hotspot.gc.z.ZForwardingTableCursor.<init>:()V
            astore 5 /* cursor */
        start local 5 // sun.jvm.hotspot.gc.z.ZForwardingTableCursor cursor
         4: .line 107
            lconst_0
            lstore 6 /* i */
        start local 6 // long i
         5: goto 13
         6: .line 108
      StackMap locals: sun.jvm.hotspot.gc.z.ZForwardingTable long long sun.jvm.hotspot.gc.z.ZForwardingTableCursor long
      StackMap stack:
            aload 5 /* cursor */
            lload 6 /* i */
            putfield sun.jvm.hotspot.gc.z.ZForwardingTableCursor._value:J
         7: .line 109
            aload 0 /* this */
            aload 5 /* cursor */
            invokevirtual sun.jvm.hotspot.gc.z.ZForwardingTable.at:(Lsun/jvm/hotspot/gc/z/ZForwardingTableCursor;)Lsun/jvm/hotspot/gc/z/ZForwardingTableEntry;
            astore 8 /* entry */
        start local 8 // sun.jvm.hotspot.gc.z.ZForwardingTableEntry entry
         8: .line 110
            aload 8 /* entry */
            invokevirtual sun.jvm.hotspot.gc.z.ZForwardingTableEntry.is_empty:()Z
            ifne 12
         9: .line 111
            aload 8 /* entry */
            invokevirtual sun.jvm.hotspot.gc.z.ZForwardingTableEntry.from_index:()J
            invokestatic sun.jvm.hotspot.gc.z.ZHash.uint32_to_uint32:(J)J
            lstore 9 /* hash */
        start local 9 // long hash
        10: .line 112
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            lload 6 /* i */
            invokestatic java.lang.String.valueOf:(J)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 3 /* count */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 8 /* entry */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " hash: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 9 /* hash */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc " masked_hash: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 9 /* hash */
            lload 1 /* s */
            lconst_1
            lsub
            land
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        11: .line 113
            lload 3 /* count */
            lconst_1
            ladd
            lstore 3 /* count */
        end local 9 // long hash
        end local 8 // sun.jvm.hotspot.gc.z.ZForwardingTableEntry entry
        12: .line 107
      StackMap locals:
      StackMap stack:
            lload 6 /* i */
            lconst_1
            ladd
            lstore 6 /* i */
      StackMap locals:
      StackMap stack:
        13: lload 6 /* i */
            lload 1 /* s */
            lcmp
            iflt 6
        end local 6 // long i
        14: .line 116
            return
        end local 5 // sun.jvm.hotspot.gc.z.ZForwardingTableCursor cursor
        end local 3 // long count
        end local 1 // long s
        end local 0 // sun.jvm.hotspot.gc.z.ZForwardingTable this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   15     0    this  Lsun/jvm/hotspot/gc/z/ZForwardingTable;
            1   15     1       s  J
            2   15     3   count  J
            4   15     5  cursor  Lsun/jvm/hotspot/gc/z/ZForwardingTableCursor;
            5   14     6       i  J
            8   12     8   entry  Lsun/jvm/hotspot/gc/z/ZForwardingTableEntry;
           10   12     9    hash  J

  private static void lambda$0(java.util.Observable, java.lang.Object);
    descriptor: (Ljava/util/Observable;Ljava/lang/Object;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // java.util.Observable o
        start local 1 // java.lang.Object d
         0: .line 40
            invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
            invokevirtual sun.jvm.hotspot.runtime.VM.getTypeDataBase:()Lsun/jvm/hotspot/types/TypeDataBase;
            invokestatic sun.jvm.hotspot.gc.z.ZForwardingTable.initialize:(Lsun/jvm/hotspot/types/TypeDataBase;)V
            return
        end local 1 // java.lang.Object d
        end local 0 // java.util.Observable o
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     o  Ljava/util/Observable;
            0    1     1     d  Ljava/lang/Object;
}
SourceFile: "ZForwardingTable.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles