public class sun.jvm.hotspot.oops.DataLayout
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.jvm.hotspot.oops.DataLayout
  super_class: java.lang.Object
{
  public static final int noTag;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final int bitDataTag;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int counterDataTag;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int jumpDataTag;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  public static final int receiverTypeDataTag;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  public static final int virtualCallDataTag;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  public static final int retDataTag;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 6

  public static final int branchDataTag;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 7

  public static final int multiBranchDataTag;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  public static final int argInfoDataTag;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 9

  public static final int callTypeDataTag;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 10

  public static final int virtualCallTypeDataTag;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 11

  public static final int parametersTypeDataTag;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 12

  public static final int speculativeTrapDataTag;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 13

  public static final int trapBits;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 32

  public static final int trapMask;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final int firstFlag;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private sun.jvm.hotspot.debugger.Address data;
    descriptor: Lsun/jvm/hotspot/debugger/Address;
    flags: (0x0002) ACC_PRIVATE

  private int offset;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  public static final int counterIncrement;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 57
            bipush 32
            invokestatic sun.jvm.hotspot.utilities.Bits.rightNBits:(I)I
            putstatic sun.jvm.hotspot.oops.DataLayout.trapMask:I
         1: .line 113
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(sun.jvm.hotspot.oops.MethodData, int);
    descriptor: (Lsun/jvm/hotspot/oops/MethodData;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // sun.jvm.hotspot.oops.DataLayout this
        start local 1 // sun.jvm.hotspot.oops.MethodData d
        start local 2 // int o
         0: .line 64
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 65
            aload 0 /* this */
            aload 1 /* d */
            invokevirtual sun.jvm.hotspot.oops.MethodData.getAddress:()Lsun/jvm/hotspot/debugger/Address;
            putfield sun.jvm.hotspot.oops.DataLayout.data:Lsun/jvm/hotspot/debugger/Address;
         2: .line 66
            aload 0 /* this */
            iload 2 /* o */
            putfield sun.jvm.hotspot.oops.DataLayout.offset:I
         3: .line 67
            return
        end local 2 // int o
        end local 1 // sun.jvm.hotspot.oops.MethodData d
        end local 0 // sun.jvm.hotspot.oops.DataLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/jvm/hotspot/oops/DataLayout;
            0    4     1     d  Lsun/jvm/hotspot/oops/MethodData;
            0    4     2     o  I
    MethodParameters:
      Name  Flags
      d     
      o     

  public void <init>(sun.jvm.hotspot.debugger.Address, int);
    descriptor: (Lsun/jvm/hotspot/debugger/Address;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // sun.jvm.hotspot.oops.DataLayout this
        start local 1 // sun.jvm.hotspot.debugger.Address d
        start local 2 // int o
         0: .line 69
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 70
            aload 0 /* this */
            aload 1 /* d */
            putfield sun.jvm.hotspot.oops.DataLayout.data:Lsun/jvm/hotspot/debugger/Address;
         2: .line 71
            aload 0 /* this */
            iload 2 /* o */
            putfield sun.jvm.hotspot.oops.DataLayout.offset:I
         3: .line 72
            return
        end local 2 // int o
        end local 1 // sun.jvm.hotspot.debugger.Address d
        end local 0 // sun.jvm.hotspot.oops.DataLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/jvm/hotspot/oops/DataLayout;
            0    4     1     d  Lsun/jvm/hotspot/debugger/Address;
            0    4     2     o  I
    MethodParameters:
      Name  Flags
      d     
      o     

  public int dp();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.oops.DataLayout this
         0: .line 74
            aload 0 /* this */
            getfield sun.jvm.hotspot.oops.DataLayout.offset:I
            ireturn
        end local 0 // sun.jvm.hotspot.oops.DataLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/oops/DataLayout;

  private int getU11(int);
    descriptor: (I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.jvm.hotspot.oops.DataLayout this
        start local 1 // int at
         0: .line 77
            aload 0 /* this */
            getfield sun.jvm.hotspot.oops.DataLayout.data:Lsun/jvm/hotspot/debugger/Address;
            aload 0 /* this */
            getfield sun.jvm.hotspot.oops.DataLayout.offset:I
            iload 1 /* at */
            iadd
            i2l
            invokeinterface sun.jvm.hotspot.debugger.Address.getJByteAt:(J)B
            sipush 255
            iand
            ireturn
        end local 1 // int at
        end local 0 // sun.jvm.hotspot.oops.DataLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/oops/DataLayout;
            0    1     1    at  I
    MethodParameters:
      Name  Flags
      at    

  private int getU22(int);
    descriptor: (I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.jvm.hotspot.oops.DataLayout this
        start local 1 // int at
         0: .line 81
            aload 0 /* this */
            getfield sun.jvm.hotspot.oops.DataLayout.data:Lsun/jvm/hotspot/debugger/Address;
            aload 0 /* this */
            getfield sun.jvm.hotspot.oops.DataLayout.offset:I
            iload 1 /* at */
            iadd
            i2l
            invokeinterface sun.jvm.hotspot.debugger.Address.getJShortAt:(J)S
            ldc 65535
            iand
            ireturn
        end local 1 // int at
        end local 0 // sun.jvm.hotspot.oops.DataLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/oops/DataLayout;
            0    1     1    at  I
    MethodParameters:
      Name  Flags
      at    

  long cellAt(int);
    descriptor: (I)J
    flags: (0x0000) 
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // sun.jvm.hotspot.oops.DataLayout this
        start local 1 // int index
         0: .line 85
            aload 0 /* this */
            getfield sun.jvm.hotspot.oops.DataLayout.data:Lsun/jvm/hotspot/debugger/Address;
            aload 0 /* this */
            getfield sun.jvm.hotspot.oops.DataLayout.offset:I
            iload 1 /* index */
            invokestatic sun.jvm.hotspot.oops.DataLayout.cellOffset:(I)I
            iadd
            i2l
            getstatic sun.jvm.hotspot.oops.MethodData.cellSize:I
            i2l
            iconst_0
            invokeinterface sun.jvm.hotspot.debugger.Address.getCIntegerAt:(JJZ)J
            lreturn
        end local 1 // int index
        end local 0 // sun.jvm.hotspot.oops.DataLayout this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lsun/jvm/hotspot/oops/DataLayout;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      index  

  public sun.jvm.hotspot.debugger.Address addressAt(int);
    descriptor: (I)Lsun/jvm/hotspot/debugger/Address;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.jvm.hotspot.oops.DataLayout this
        start local 1 // int index
         0: .line 89
            aload 0 /* this */
            getfield sun.jvm.hotspot.oops.DataLayout.data:Lsun/jvm/hotspot/debugger/Address;
            aload 0 /* this */
            getfield sun.jvm.hotspot.oops.DataLayout.offset:I
            iload 1 /* index */
            invokestatic sun.jvm.hotspot.oops.DataLayout.cellOffset:(I)I
            iadd
            i2l
            invokeinterface sun.jvm.hotspot.debugger.Address.getAddressAt:(J)Lsun/jvm/hotspot/debugger/Address;
            areturn
        end local 1 // int index
        end local 0 // sun.jvm.hotspot.oops.DataLayout this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lsun/jvm/hotspot/oops/DataLayout;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      index  

  static boolean needsArrayLen(int);
    descriptor: (I)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int tag
         0: .line 110
            iload 0 /* tag */
            bipush 8
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // int tag
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   tag  I
    MethodParameters:
      Name  Flags
      tag   

  static int headerSizeInBytes();
    descriptor: ()I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 117
            getstatic sun.jvm.hotspot.oops.MethodData.cellSize:I
            invokestatic sun.jvm.hotspot.oops.DataLayout.headerSizeInCells:()I
            imul
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static int headerSizeInCells();
    descriptor: ()I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 120
            invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
            invokevirtual sun.jvm.hotspot.runtime.VM.isLP64:()Z
            ifeq 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_2
      StackMap locals:
      StackMap stack: int
         2: ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static int computeSizeInBytes(int);
    descriptor: (I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // int cellCount
         0: .line 124
            invokestatic sun.jvm.hotspot.oops.DataLayout.headerSizeInBytes:()I
            iload 0 /* cellCount */
            getstatic sun.jvm.hotspot.oops.MethodData.cellSize:I
            imul
            iadd
            ireturn
        end local 0 // int cellCount
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  cellCount  I
    MethodParameters:
           Name  Flags
      cellCount  

  public int tag();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.oops.DataLayout this
         0: .line 132
            aload 0 /* this */
            iconst_0
            invokevirtual sun.jvm.hotspot.oops.DataLayout.getU11:(I)I
            ireturn
        end local 0 // sun.jvm.hotspot.oops.DataLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/oops/DataLayout;

  int trapState();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.oops.DataLayout this
         0: .line 144
            aload 0 /* this */
            getfield sun.jvm.hotspot.oops.DataLayout.data:Lsun/jvm/hotspot/debugger/Address;
            aload 0 /* this */
            getfield sun.jvm.hotspot.oops.DataLayout.offset:I
            iconst_4
            iadd
            i2l
            invokeinterface sun.jvm.hotspot.debugger.Address.getJIntAt:(J)I
            ireturn
        end local 0 // sun.jvm.hotspot.oops.DataLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/oops/DataLayout;

  int flags();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.oops.DataLayout this
         0: .line 148
            aload 0 /* this */
            iconst_1
            invokevirtual sun.jvm.hotspot.oops.DataLayout.getU11:(I)I
            ireturn
        end local 0 // sun.jvm.hotspot.oops.DataLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/oops/DataLayout;

  int bci();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.oops.DataLayout this
         0: .line 152
            aload 0 /* this */
            iconst_2
            invokevirtual sun.jvm.hotspot.oops.DataLayout.getU22:(I)I
            ireturn
        end local 0 // sun.jvm.hotspot.oops.DataLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/oops/DataLayout;

  boolean flagAt(int);
    descriptor: (I)Z
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.jvm.hotspot.oops.DataLayout this
        start local 1 // int flagNumber
         0: .line 157
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.oops.DataLayout.flags:()I
            iconst_1
            iload 1 /* flagNumber */
            ishl
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // int flagNumber
        end local 0 // sun.jvm.hotspot.oops.DataLayout this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lsun/jvm/hotspot/oops/DataLayout;
            0    2     1  flagNumber  I
    MethodParameters:
            Name  Flags
      flagNumber  

  static int headerOffset();
    descriptor: ()I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 162
            iconst_0
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static int tagOffset();
    descriptor: ()I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 165
            iconst_0
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static int flagsOffset();
    descriptor: ()I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 168
            iconst_1
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static int bciOffset();
    descriptor: ()I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 171
            iconst_2
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static int cellOffset(int);
    descriptor: (I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int index
         0: .line 174
            invokestatic sun.jvm.hotspot.oops.DataLayout.headerSizeInCells:()I
            iload 0 /* index */
            iadd
            getstatic sun.jvm.hotspot.oops.MethodData.cellSize:I
            imul
            ireturn
        end local 0 // int index
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  index  I
    MethodParameters:
       Name  Flags
      index  
}
SourceFile: "DataLayout.java"