public class sun.jvm.hotspot.code.ScopeDesc
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.jvm.hotspot.code.ScopeDesc
  super_class: java.lang.Object
{
  private sun.jvm.hotspot.code.NMethod code;
    descriptor: Lsun/jvm/hotspot/code/NMethod;
    flags: (0x0002) ACC_PRIVATE

  private sun.jvm.hotspot.oops.Method method;
    descriptor: Lsun/jvm/hotspot/oops/Method;
    flags: (0x0002) ACC_PRIVATE

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

  private boolean reexecute;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

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

  private java.util.List objects;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE

  private void <init>(sun.jvm.hotspot.code.NMethod, int, java.util.List, boolean);
    descriptor: (Lsun/jvm/hotspot/code/NMethod;ILjava/util/List;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=6, args_size=5
        start local 0 // sun.jvm.hotspot.code.ScopeDesc this
        start local 1 // sun.jvm.hotspot.code.NMethod code
        start local 2 // int decodeOffset
        start local 3 // java.util.List objects
        start local 4 // boolean reexecute
         0: .line 54
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 55
            aload 0 /* this */
            aload 1 /* code */
            putfield sun.jvm.hotspot.code.ScopeDesc.code:Lsun/jvm/hotspot/code/NMethod;
         2: .line 56
            aload 0 /* this */
            iload 2 /* decodeOffset */
            putfield sun.jvm.hotspot.code.ScopeDesc.decodeOffset:I
         3: .line 57
            aload 0 /* this */
            aload 3 /* objects */
            putfield sun.jvm.hotspot.code.ScopeDesc.objects:Ljava/util/List;
         4: .line 58
            aload 0 /* this */
            iload 4 /* reexecute */
            putfield sun.jvm.hotspot.code.ScopeDesc.reexecute:Z
         5: .line 61
            aload 0 /* this */
            iload 2 /* decodeOffset */
            invokevirtual sun.jvm.hotspot.code.ScopeDesc.streamAt:(I)Lsun/jvm/hotspot/code/DebugInfoReadStream;
            astore 5 /* stream */
        start local 5 // sun.jvm.hotspot.code.DebugInfoReadStream stream
         6: .line 63
            aload 0 /* this */
            aload 5 /* stream */
            invokevirtual sun.jvm.hotspot.code.DebugInfoReadStream.readInt:()I
            putfield sun.jvm.hotspot.code.ScopeDesc.senderDecodeOffset:I
         7: .line 64
            aload 0 /* this */
            aload 5 /* stream */
            invokevirtual sun.jvm.hotspot.code.DebugInfoReadStream.readMethod:()Lsun/jvm/hotspot/oops/Method;
            putfield sun.jvm.hotspot.code.ScopeDesc.method:Lsun/jvm/hotspot/oops/Method;
         8: .line 65
            aload 0 /* this */
            aload 5 /* stream */
            invokevirtual sun.jvm.hotspot.code.DebugInfoReadStream.readBCI:()I
            putfield sun.jvm.hotspot.code.ScopeDesc.bci:I
         9: .line 67
            aload 0 /* this */
            aload 5 /* stream */
            invokevirtual sun.jvm.hotspot.code.DebugInfoReadStream.readInt:()I
            putfield sun.jvm.hotspot.code.ScopeDesc.localsDecodeOffset:I
        10: .line 68
            aload 0 /* this */
            aload 5 /* stream */
            invokevirtual sun.jvm.hotspot.code.DebugInfoReadStream.readInt:()I
            putfield sun.jvm.hotspot.code.ScopeDesc.expressionsDecodeOffset:I
        11: .line 69
            aload 0 /* this */
            aload 5 /* stream */
            invokevirtual sun.jvm.hotspot.code.DebugInfoReadStream.readInt:()I
            putfield sun.jvm.hotspot.code.ScopeDesc.monitorsDecodeOffset:I
        12: .line 70
            return
        end local 5 // sun.jvm.hotspot.code.DebugInfoReadStream stream
        end local 4 // boolean reexecute
        end local 3 // java.util.List objects
        end local 2 // int decodeOffset
        end local 1 // sun.jvm.hotspot.code.NMethod code
        end local 0 // sun.jvm.hotspot.code.ScopeDesc this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   13     0          this  Lsun/jvm/hotspot/code/ScopeDesc;
            0   13     1          code  Lsun/jvm/hotspot/code/NMethod;
            0   13     2  decodeOffset  I
            0   13     3       objects  Ljava/util/List;
            0   13     4     reexecute  Z
            6   13     5        stream  Lsun/jvm/hotspot/code/DebugInfoReadStream;
    MethodParameters:
              Name  Flags
      code          
      decodeOffset  
      objects       
      reexecute     

  public void <init>(sun.jvm.hotspot.code.NMethod, int, int, boolean);
    descriptor: (Lsun/jvm/hotspot/code/NMethod;IIZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=5
        start local 0 // sun.jvm.hotspot.code.ScopeDesc this
        start local 1 // sun.jvm.hotspot.code.NMethod code
        start local 2 // int decodeOffset
        start local 3 // int objectDecodeOffset
        start local 4 // boolean reexecute
         0: .line 72
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 73
            aload 0 /* this */
            aload 1 /* code */
            putfield sun.jvm.hotspot.code.ScopeDesc.code:Lsun/jvm/hotspot/code/NMethod;
         2: .line 74
            aload 0 /* this */
            iload 2 /* decodeOffset */
            putfield sun.jvm.hotspot.code.ScopeDesc.decodeOffset:I
         3: .line 75
            aload 0 /* this */
            aload 0 /* this */
            iload 3 /* objectDecodeOffset */
            invokevirtual sun.jvm.hotspot.code.ScopeDesc.decodeObjectValues:(I)Ljava/util/List;
            putfield sun.jvm.hotspot.code.ScopeDesc.objects:Ljava/util/List;
         4: .line 76
            aload 0 /* this */
            iload 4 /* reexecute */
            putfield sun.jvm.hotspot.code.ScopeDesc.reexecute:Z
         5: .line 79
            aload 0 /* this */
            iload 2 /* decodeOffset */
            invokevirtual sun.jvm.hotspot.code.ScopeDesc.streamAt:(I)Lsun/jvm/hotspot/code/DebugInfoReadStream;
            astore 5 /* stream */
        start local 5 // sun.jvm.hotspot.code.DebugInfoReadStream stream
         6: .line 81
            aload 0 /* this */
            aload 5 /* stream */
            invokevirtual sun.jvm.hotspot.code.DebugInfoReadStream.readInt:()I
            putfield sun.jvm.hotspot.code.ScopeDesc.senderDecodeOffset:I
         7: .line 82
            aload 0 /* this */
            aload 5 /* stream */
            invokevirtual sun.jvm.hotspot.code.DebugInfoReadStream.readMethod:()Lsun/jvm/hotspot/oops/Method;
            putfield sun.jvm.hotspot.code.ScopeDesc.method:Lsun/jvm/hotspot/oops/Method;
         8: .line 83
            aload 0 /* this */
            aload 5 /* stream */
            invokevirtual sun.jvm.hotspot.code.DebugInfoReadStream.readBCI:()I
            putfield sun.jvm.hotspot.code.ScopeDesc.bci:I
         9: .line 85
            aload 0 /* this */
            aload 5 /* stream */
            invokevirtual sun.jvm.hotspot.code.DebugInfoReadStream.readInt:()I
            putfield sun.jvm.hotspot.code.ScopeDesc.localsDecodeOffset:I
        10: .line 86
            aload 0 /* this */
            aload 5 /* stream */
            invokevirtual sun.jvm.hotspot.code.DebugInfoReadStream.readInt:()I
            putfield sun.jvm.hotspot.code.ScopeDesc.expressionsDecodeOffset:I
        11: .line 87
            aload 0 /* this */
            aload 5 /* stream */
            invokevirtual sun.jvm.hotspot.code.DebugInfoReadStream.readInt:()I
            putfield sun.jvm.hotspot.code.ScopeDesc.monitorsDecodeOffset:I
        12: .line 88
            return
        end local 5 // sun.jvm.hotspot.code.DebugInfoReadStream stream
        end local 4 // boolean reexecute
        end local 3 // int objectDecodeOffset
        end local 2 // int decodeOffset
        end local 1 // sun.jvm.hotspot.code.NMethod code
        end local 0 // sun.jvm.hotspot.code.ScopeDesc this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   13     0                this  Lsun/jvm/hotspot/code/ScopeDesc;
            0   13     1                code  Lsun/jvm/hotspot/code/NMethod;
            0   13     2        decodeOffset  I
            0   13     3  objectDecodeOffset  I
            0   13     4           reexecute  Z
            6   13     5              stream  Lsun/jvm/hotspot/code/DebugInfoReadStream;
    MethodParameters:
                    Name  Flags
      code                
      decodeOffset        
      objectDecodeOffset  
      reexecute           

  public sun.jvm.hotspot.code.NMethod getNMethod();
    descriptor: ()Lsun/jvm/hotspot/code/NMethod;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.code.ScopeDesc this
         0: .line 90
            aload 0 /* this */
            getfield sun.jvm.hotspot.code.ScopeDesc.code:Lsun/jvm/hotspot/code/NMethod;
            areturn
        end local 0 // sun.jvm.hotspot.code.ScopeDesc this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/code/ScopeDesc;

  public sun.jvm.hotspot.oops.Method getMethod();
    descriptor: ()Lsun/jvm/hotspot/oops/Method;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.code.ScopeDesc this
         0: .line 91
            aload 0 /* this */
            getfield sun.jvm.hotspot.code.ScopeDesc.method:Lsun/jvm/hotspot/oops/Method;
            areturn
        end local 0 // sun.jvm.hotspot.code.ScopeDesc this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/code/ScopeDesc;

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

  public boolean getReexecute();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.code.ScopeDesc this
         0: .line 93
            aload 0 /* this */
            getfield sun.jvm.hotspot.code.ScopeDesc.reexecute:Z
            ireturn
        end local 0 // sun.jvm.hotspot.code.ScopeDesc this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/code/ScopeDesc;

  public java.util.List getLocals();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.code.ScopeDesc this
         0: .line 97
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.jvm.hotspot.code.ScopeDesc.localsDecodeOffset:I
            invokevirtual sun.jvm.hotspot.code.ScopeDesc.decodeScopeValues:(I)Ljava/util/List;
            areturn
        end local 0 // sun.jvm.hotspot.code.ScopeDesc this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/code/ScopeDesc;

  public java.util.List getExpressions();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.code.ScopeDesc this
         0: .line 102
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.jvm.hotspot.code.ScopeDesc.expressionsDecodeOffset:I
            invokevirtual sun.jvm.hotspot.code.ScopeDesc.decodeScopeValues:(I)Ljava/util/List;
            areturn
        end local 0 // sun.jvm.hotspot.code.ScopeDesc this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/code/ScopeDesc;

  public java.util.List getMonitors();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.code.ScopeDesc this
         0: .line 107
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.jvm.hotspot.code.ScopeDesc.monitorsDecodeOffset:I
            invokevirtual sun.jvm.hotspot.code.ScopeDesc.decodeMonitorValues:(I)Ljava/util/List;
            areturn
        end local 0 // sun.jvm.hotspot.code.ScopeDesc this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/code/ScopeDesc;

  public java.util.List getObjects();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.code.ScopeDesc this
         0: .line 112
            aload 0 /* this */
            getfield sun.jvm.hotspot.code.ScopeDesc.objects:Ljava/util/List;
            areturn
        end local 0 // sun.jvm.hotspot.code.ScopeDesc this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/code/ScopeDesc;

  public sun.jvm.hotspot.code.ScopeDesc sender();
    descriptor: ()Lsun/jvm/hotspot/code/ScopeDesc;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.code.ScopeDesc this
         0: .line 117
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.code.ScopeDesc.isTop:()Z
            ifeq 2
         1: .line 118
            aconst_null
            areturn
         2: .line 121
      StackMap locals:
      StackMap stack:
            new sun.jvm.hotspot.code.ScopeDesc
            dup
            aload 0 /* this */
            getfield sun.jvm.hotspot.code.ScopeDesc.code:Lsun/jvm/hotspot/code/NMethod;
            aload 0 /* this */
            getfield sun.jvm.hotspot.code.ScopeDesc.senderDecodeOffset:I
            aload 0 /* this */
            getfield sun.jvm.hotspot.code.ScopeDesc.objects:Ljava/util/List;
            iconst_0
            invokespecial sun.jvm.hotspot.code.ScopeDesc.<init>:(Lsun/jvm/hotspot/code/NMethod;ILjava/util/List;Z)V
            areturn
        end local 0 // sun.jvm.hotspot.code.ScopeDesc this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/jvm/hotspot/code/ScopeDesc;

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

  public boolean isTop();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.code.ScopeDesc this
         0: .line 131
            aload 0 /* this */
            getfield sun.jvm.hotspot.code.ScopeDesc.senderDecodeOffset:I
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // sun.jvm.hotspot.code.ScopeDesc this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/jvm/hotspot/code/ScopeDesc;

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // sun.jvm.hotspot.code.ScopeDesc this
        start local 1 // java.lang.Object arg
         0: .line 135
            aload 1 /* arg */
            ifnonnull 2
         1: .line 136
            iconst_0
            ireturn
         2: .line 139
      StackMap locals:
      StackMap stack:
            aload 1 /* arg */
            instanceof sun.jvm.hotspot.code.ScopeDesc
            ifne 4
         3: .line 140
            iconst_0
            ireturn
         4: .line 143
      StackMap locals:
      StackMap stack:
            aload 1 /* arg */
            checkcast sun.jvm.hotspot.code.ScopeDesc
            astore 2 /* sd */
        start local 2 // sun.jvm.hotspot.code.ScopeDesc sd
         5: .line 145
            aload 2 /* sd */
            getfield sun.jvm.hotspot.code.ScopeDesc.method:Lsun/jvm/hotspot/oops/Method;
            aload 0 /* this */
            getfield sun.jvm.hotspot.code.ScopeDesc.method:Lsun/jvm/hotspot/oops/Method;
            invokevirtual sun.jvm.hotspot.oops.Method.equals:(Ljava/lang/Object;)Z
            ifeq 6
            aload 2 /* sd */
            getfield sun.jvm.hotspot.code.ScopeDesc.bci:I
            aload 0 /* this */
            getfield sun.jvm.hotspot.code.ScopeDesc.bci:I
            if_icmpne 6
            iconst_1
            ireturn
      StackMap locals: sun.jvm.hotspot.code.ScopeDesc
      StackMap stack:
         6: iconst_0
            ireturn
        end local 2 // sun.jvm.hotspot.code.ScopeDesc sd
        end local 1 // java.lang.Object arg
        end local 0 // sun.jvm.hotspot.code.ScopeDesc this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lsun/jvm/hotspot/code/ScopeDesc;
            0    7     1   arg  Ljava/lang/Object;
            5    7     2    sd  Lsun/jvm/hotspot/code/ScopeDesc;
    MethodParameters:
      Name  Flags
      arg   

  public void printValue();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.code.ScopeDesc this
         0: .line 149
            aload 0 /* this */
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual sun.jvm.hotspot.code.ScopeDesc.printValueOn:(Ljava/io/PrintStream;)V
         1: .line 150
            return
        end local 0 // sun.jvm.hotspot.code.ScopeDesc this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/jvm/hotspot/code/ScopeDesc;

  public void printValueOn(java.io.PrintStream);
    descriptor: (Ljava/io/PrintStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.jvm.hotspot.code.ScopeDesc this
        start local 1 // java.io.PrintStream tty
         0: .line 153
            aload 1 /* tty */
            ldc "ScopeDesc for "
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
         1: .line 154
            aload 0 /* this */
            getfield sun.jvm.hotspot.code.ScopeDesc.method:Lsun/jvm/hotspot/oops/Method;
            aload 1 /* tty */
            invokevirtual sun.jvm.hotspot.oops.Method.printValueOn:(Ljava/io/PrintStream;)V
         2: .line 155
            aload 1 /* tty */
            new java.lang.StringBuilder
            dup
            ldc " @bci "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.jvm.hotspot.code.ScopeDesc.bci:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
         3: .line 156
            aload 1 /* tty */
            new java.lang.StringBuilder
            dup
            ldc " reexecute="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.jvm.hotspot.code.ScopeDesc.reexecute:Z
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         4: .line 157
            return
        end local 1 // java.io.PrintStream tty
        end local 0 // sun.jvm.hotspot.code.ScopeDesc this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/jvm/hotspot/code/ScopeDesc;
            0    5     1   tty  Ljava/io/PrintStream;
    MethodParameters:
      Name  Flags
      tty   

  private sun.jvm.hotspot.code.DebugInfoReadStream streamAt(int);
    descriptor: (I)Lsun/jvm/hotspot/code/DebugInfoReadStream;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // sun.jvm.hotspot.code.ScopeDesc this
        start local 1 // int decodeOffset
         0: .line 165
            new sun.jvm.hotspot.code.DebugInfoReadStream
            dup
            aload 0 /* this */
            getfield sun.jvm.hotspot.code.ScopeDesc.code:Lsun/jvm/hotspot/code/NMethod;
            iload 1 /* decodeOffset */
            aload 0 /* this */
            getfield sun.jvm.hotspot.code.ScopeDesc.objects:Ljava/util/List;
            invokespecial sun.jvm.hotspot.code.DebugInfoReadStream.<init>:(Lsun/jvm/hotspot/code/NMethod;ILjava/util/List;)V
            areturn
        end local 1 // int decodeOffset
        end local 0 // sun.jvm.hotspot.code.ScopeDesc this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lsun/jvm/hotspot/code/ScopeDesc;
            0    1     1  decodeOffset  I
    MethodParameters:
              Name  Flags
      decodeOffset  

  private java.util.List decodeScopeValues(int);
    descriptor: (I)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // sun.jvm.hotspot.code.ScopeDesc this
        start local 1 // int decodeOffset
         0: .line 170
            iload 1 /* decodeOffset */
            ifne 2
         1: .line 171
            aconst_null
            areturn
         2: .line 173
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* decodeOffset */
            invokevirtual sun.jvm.hotspot.code.ScopeDesc.streamAt:(I)Lsun/jvm/hotspot/code/DebugInfoReadStream;
            astore 2 /* stream */
        start local 2 // sun.jvm.hotspot.code.DebugInfoReadStream stream
         3: .line 174
            aload 2 /* stream */
            invokevirtual sun.jvm.hotspot.code.DebugInfoReadStream.readInt:()I
            istore 3 /* length */
        start local 3 // int length
         4: .line 175
            new java.util.ArrayList
            dup
            iload 3 /* length */
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 4 /* res */
        start local 4 // java.util.List res
         5: .line 176
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         6: goto 9
         7: .line 177
      StackMap locals: sun.jvm.hotspot.code.ScopeDesc int sun.jvm.hotspot.code.DebugInfoReadStream int java.util.List int
      StackMap stack:
            aload 4 /* res */
            aload 2 /* stream */
            invokestatic sun.jvm.hotspot.code.ScopeValue.readFrom:(Lsun/jvm/hotspot/code/DebugInfoReadStream;)Lsun/jvm/hotspot/code/ScopeValue;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         8: .line 176
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 5 /* i */
            iload 3 /* length */
            if_icmplt 7
        end local 5 // int i
        10: .line 179
            aload 4 /* res */
            areturn
        end local 4 // java.util.List res
        end local 3 // int length
        end local 2 // sun.jvm.hotspot.code.DebugInfoReadStream stream
        end local 1 // int decodeOffset
        end local 0 // sun.jvm.hotspot.code.ScopeDesc this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0          this  Lsun/jvm/hotspot/code/ScopeDesc;
            0   11     1  decodeOffset  I
            3   11     2        stream  Lsun/jvm/hotspot/code/DebugInfoReadStream;
            4   11     3        length  I
            5   11     4           res  Ljava/util/List;
            6   10     5             i  I
    MethodParameters:
              Name  Flags
      decodeOffset  

  private java.util.List decodeMonitorValues(int);
    descriptor: (I)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // sun.jvm.hotspot.code.ScopeDesc this
        start local 1 // int decodeOffset
         0: .line 184
            iload 1 /* decodeOffset */
            ifne 2
         1: .line 185
            aconst_null
            areturn
         2: .line 187
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* decodeOffset */
            invokevirtual sun.jvm.hotspot.code.ScopeDesc.streamAt:(I)Lsun/jvm/hotspot/code/DebugInfoReadStream;
            astore 2 /* stream */
        start local 2 // sun.jvm.hotspot.code.DebugInfoReadStream stream
         3: .line 188
            aload 2 /* stream */
            invokevirtual sun.jvm.hotspot.code.DebugInfoReadStream.readInt:()I
            istore 3 /* length */
        start local 3 // int length
         4: .line 189
            new java.util.ArrayList
            dup
            iload 3 /* length */
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 4 /* res */
        start local 4 // java.util.List res
         5: .line 190
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         6: goto 9
         7: .line 191
      StackMap locals: sun.jvm.hotspot.code.ScopeDesc int sun.jvm.hotspot.code.DebugInfoReadStream int java.util.List int
      StackMap stack:
            aload 4 /* res */
            new sun.jvm.hotspot.code.MonitorValue
            dup
            aload 2 /* stream */
            invokespecial sun.jvm.hotspot.code.MonitorValue.<init>:(Lsun/jvm/hotspot/code/DebugInfoReadStream;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         8: .line 190
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 5 /* i */
            iload 3 /* length */
            if_icmplt 7
        end local 5 // int i
        10: .line 193
            aload 4 /* res */
            areturn
        end local 4 // java.util.List res
        end local 3 // int length
        end local 2 // sun.jvm.hotspot.code.DebugInfoReadStream stream
        end local 1 // int decodeOffset
        end local 0 // sun.jvm.hotspot.code.ScopeDesc this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0          this  Lsun/jvm/hotspot/code/ScopeDesc;
            0   11     1  decodeOffset  I
            3   11     2        stream  Lsun/jvm/hotspot/code/DebugInfoReadStream;
            4   11     3        length  I
            5   11     4           res  Ljava/util/List;
            6   10     5             i  I
    MethodParameters:
              Name  Flags
      decodeOffset  

  private java.util.List decodeObjectValues(int);
    descriptor: (I)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // sun.jvm.hotspot.code.ScopeDesc this
        start local 1 // int decodeOffset
         0: .line 198
            iload 1 /* decodeOffset */
            ifne 2
         1: .line 199
            aconst_null
            areturn
         2: .line 201
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* res */
        start local 2 // java.util.List res
         3: .line 202
            new sun.jvm.hotspot.code.DebugInfoReadStream
            dup
            aload 0 /* this */
            getfield sun.jvm.hotspot.code.ScopeDesc.code:Lsun/jvm/hotspot/code/NMethod;
            iload 1 /* decodeOffset */
            aload 2 /* res */
            invokespecial sun.jvm.hotspot.code.DebugInfoReadStream.<init>:(Lsun/jvm/hotspot/code/NMethod;ILjava/util/List;)V
            astore 3 /* stream */
        start local 3 // sun.jvm.hotspot.code.DebugInfoReadStream stream
         4: .line 203
            aload 3 /* stream */
            invokevirtual sun.jvm.hotspot.code.DebugInfoReadStream.readInt:()I
            istore 4 /* length */
        start local 4 // int length
         5: .line 204
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         6: goto 9
         7: .line 207
      StackMap locals: sun.jvm.hotspot.code.ScopeDesc int java.util.List sun.jvm.hotspot.code.DebugInfoReadStream int int
      StackMap stack:
            aload 3 /* stream */
            invokestatic sun.jvm.hotspot.code.ScopeValue.readFrom:(Lsun/jvm/hotspot/code/DebugInfoReadStream;)Lsun/jvm/hotspot/code/ScopeValue;
            pop
         8: .line 204
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 5 /* i */
            iload 4 /* length */
            if_icmplt 7
        end local 5 // int i
        10: .line 210
            aload 2 /* res */
            invokeinterface java.util.List.size:()I
            iload 4 /* length */
            if_icmpne 11
            iconst_1
            goto 12
      StackMap locals:
      StackMap stack:
        11: iconst_0
      StackMap locals:
      StackMap stack: int
        12: ldc "inconsistent debug information"
            invokestatic sun.jvm.hotspot.utilities.Assert.that:(ZLjava/lang/String;)V
        13: .line 211
            aload 2 /* res */
            areturn
        end local 4 // int length
        end local 3 // sun.jvm.hotspot.code.DebugInfoReadStream stream
        end local 2 // java.util.List res
        end local 1 // int decodeOffset
        end local 0 // sun.jvm.hotspot.code.ScopeDesc this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   14     0          this  Lsun/jvm/hotspot/code/ScopeDesc;
            0   14     1  decodeOffset  I
            3   14     2           res  Ljava/util/List;
            4   14     3        stream  Lsun/jvm/hotspot/code/DebugInfoReadStream;
            5   14     4        length  I
            6   10     5             i  I
    MethodParameters:
              Name  Flags
      decodeOffset  
}
SourceFile: "ScopeDesc.java"