final class jdk.nashorn.internal.codegen.Label$Stack implements java.lang.Cloneable
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: jdk.nashorn.internal.codegen.Label$Stack
  super_class: java.lang.Object
{
  static final int NON_LOAD;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: -1

  jdk.nashorn.internal.codegen.types.Type[] data;
    descriptor: [Ljdk/nashorn/internal/codegen/types/Type;
    flags: (0x0000) 

  int[] localLoads;
    descriptor: [I
    flags: (0x0000) 

  int sp;
    descriptor: I
    flags: (0x0000) 

  java.util.List<jdk.nashorn.internal.codegen.types.Type> localVariableTypes;
    descriptor: Ljava/util/List;
    flags: (0x0000) 
    Signature: Ljava/util/List<Ljdk/nashorn/internal/codegen/types/Type;>;

  int firstTemp;
    descriptor: I
    flags: (0x0000) 

  java.util.BitSet symbolBoundary;
    descriptor: Ljava/util/BitSet;
    flags: (0x0000) 

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 49
            ldc Ljdk/nashorn/internal/codegen/Label;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic jdk.nashorn.internal.codegen.Label$Stack.$assertionsDisabled:Z
         3: .line 50
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.codegen.Label$Stack this
         0: .line 61
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 62
            aload 0 /* this */
            bipush 8
            anewarray jdk.nashorn.internal.codegen.types.Type
            putfield jdk.nashorn.internal.codegen.Label$Stack.data:[Ljdk/nashorn/internal/codegen/types/Type;
         2: .line 63
            aload 0 /* this */
            bipush 8
            newarray 10
            putfield jdk.nashorn.internal.codegen.Label$Stack.localLoads:[I
         3: .line 64
            aload 0 /* this */
            new java.util.ArrayList
            dup
            bipush 8
            invokespecial java.util.ArrayList.<init>:(I)V
            putfield jdk.nashorn.internal.codegen.Label$Stack.localVariableTypes:Ljava/util/List;
         4: .line 65
            aload 0 /* this */
            new java.util.BitSet
            dup
            invokespecial java.util.BitSet.<init>:()V
            putfield jdk.nashorn.internal.codegen.Label$Stack.symbolBoundary:Ljava/util/BitSet;
         5: .line 66
            return
        end local 0 // jdk.nashorn.internal.codegen.Label$Stack this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljdk/nashorn/internal/codegen/Label$Stack;

  boolean isEmpty();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.codegen.Label$Stack this
         0: .line 69
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.sp:I
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.nashorn.internal.codegen.Label$Stack this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/codegen/Label$Stack;

  int size();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.codegen.Label$Stack this
         0: .line 73
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.sp:I
            ireturn
        end local 0 // jdk.nashorn.internal.codegen.Label$Stack this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/codegen/Label$Stack;

  void clear();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.codegen.Label$Stack this
         0: .line 77
            aload 0 /* this */
            iconst_0
            putfield jdk.nashorn.internal.codegen.Label$Stack.sp:I
         1: .line 78
            return
        end local 0 // jdk.nashorn.internal.codegen.Label$Stack this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/codegen/Label$Stack;

  void push(jdk.nashorn.internal.codegen.types.Type);
    descriptor: (Ljdk/nashorn/internal/codegen/types/Type;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.Label$Stack this
        start local 1 // jdk.nashorn.internal.codegen.types.Type type
         0: .line 81
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.data:[Ljdk/nashorn/internal/codegen/types/Type;
            arraylength
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.sp:I
            if_icmpne 7
         1: .line 82
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.sp:I
            iconst_2
            imul
            anewarray jdk.nashorn.internal.codegen.types.Type
            astore 2 /* newData */
        start local 2 // jdk.nashorn.internal.codegen.types.Type[] newData
         2: .line 83
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.sp:I
            iconst_2
            imul
            newarray 10
            astore 3 /* newLocalLoad */
        start local 3 // int[] newLocalLoad
         3: .line 84
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.data:[Ljdk/nashorn/internal/codegen/types/Type;
            iconst_0
            aload 2 /* newData */
            iconst_0
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.sp:I
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 85
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.localLoads:[I
            iconst_0
            aload 3 /* newLocalLoad */
            iconst_0
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.sp:I
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         5: .line 86
            aload 0 /* this */
            aload 2 /* newData */
            putfield jdk.nashorn.internal.codegen.Label$Stack.data:[Ljdk/nashorn/internal/codegen/types/Type;
         6: .line 87
            aload 0 /* this */
            aload 3 /* newLocalLoad */
            putfield jdk.nashorn.internal.codegen.Label$Stack.localLoads:[I
        end local 3 // int[] newLocalLoad
        end local 2 // jdk.nashorn.internal.codegen.types.Type[] newData
         7: .line 89
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.data:[Ljdk/nashorn/internal/codegen/types/Type;
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.sp:I
            aload 1 /* type */
            aastore
         8: .line 90
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.localLoads:[I
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.sp:I
            iconst_m1
            iastore
         9: .line 91
            aload 0 /* this */
            dup
            getfield jdk.nashorn.internal.codegen.Label$Stack.sp:I
            iconst_1
            iadd
            putfield jdk.nashorn.internal.codegen.Label$Stack.sp:I
        10: .line 92
            return
        end local 1 // jdk.nashorn.internal.codegen.types.Type type
        end local 0 // jdk.nashorn.internal.codegen.Label$Stack this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0          this  Ljdk/nashorn/internal/codegen/Label$Stack;
            0   11     1          type  Ljdk/nashorn/internal/codegen/types/Type;
            2    7     2       newData  [Ljdk/nashorn/internal/codegen/types/Type;
            3    7     3  newLocalLoad  [I
    MethodParameters:
      Name  Flags
      type  final

  jdk.nashorn.internal.codegen.types.Type peek();
    descriptor: ()Ljdk/nashorn/internal/codegen/types/Type;
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.codegen.Label$Stack this
         0: .line 95
            aload 0 /* this */
            iconst_0
            invokevirtual jdk.nashorn.internal.codegen.Label$Stack.peek:(I)Ljdk/nashorn/internal/codegen/types/Type;
            areturn
        end local 0 // jdk.nashorn.internal.codegen.Label$Stack this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/codegen/Label$Stack;

  jdk.nashorn.internal.codegen.types.Type peek(int);
    descriptor: (I)Ljdk/nashorn/internal/codegen/types/Type;
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.Label$Stack this
        start local 1 // int n
         0: .line 99
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.sp:I
            iconst_1
            isub
            iload 1 /* n */
            isub
            istore 2 /* pos */
        start local 2 // int pos
         1: .line 100
            iload 2 /* pos */
            ifge 2
            aconst_null
            goto 3
      StackMap locals: int
      StackMap stack:
         2: aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.data:[Ljdk/nashorn/internal/codegen/types/Type;
            iload 2 /* pos */
            aaload
      StackMap locals:
      StackMap stack: jdk.nashorn.internal.codegen.types.Type
         3: areturn
        end local 2 // int pos
        end local 1 // int n
        end local 0 // jdk.nashorn.internal.codegen.Label$Stack this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljdk/nashorn/internal/codegen/Label$Stack;
            0    4     1     n  I
            1    4     2   pos  I
    MethodParameters:
      Name  Flags
      n     final

  jdk.nashorn.internal.codegen.types.Type[] getTopTypes(int);
    descriptor: (I)[Ljdk/nashorn/internal/codegen/types/Type;
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.Label$Stack this
        start local 1 // int count
         0: .line 110
            iload 1 /* count */
            anewarray jdk.nashorn.internal.codegen.types.Type
            astore 2 /* topTypes */
        start local 2 // jdk.nashorn.internal.codegen.types.Type[] topTypes
         1: .line 111
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.data:[Ljdk/nashorn/internal/codegen/types/Type;
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.sp:I
            iload 1 /* count */
            isub
            aload 2 /* topTypes */
            iconst_0
            iload 1 /* count */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 112
            aload 2 /* topTypes */
            areturn
        end local 2 // jdk.nashorn.internal.codegen.types.Type[] topTypes
        end local 1 // int count
        end local 0 // jdk.nashorn.internal.codegen.Label$Stack this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Ljdk/nashorn/internal/codegen/Label$Stack;
            0    3     1     count  I
            1    3     2  topTypes  [Ljdk/nashorn/internal/codegen/types/Type;
    MethodParameters:
       Name  Flags
      count  final

  int[] getLocalLoads(int, int);
    descriptor: (II)[I
    flags: (0x0000) 
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // jdk.nashorn.internal.codegen.Label$Stack this
        start local 1 // int from
        start local 2 // int to
         0: .line 116
            iload 2 /* to */
            iload 1 /* from */
            isub
            istore 3 /* count */
        start local 3 // int count
         1: .line 117
            iload 3 /* count */
            newarray 10
            astore 4 /* topLocalLoads */
        start local 4 // int[] topLocalLoads
         2: .line 118
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.localLoads:[I
            iload 1 /* from */
            aload 4 /* topLocalLoads */
            iconst_0
            iload 3 /* count */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         3: .line 119
            aload 4 /* topLocalLoads */
            areturn
        end local 4 // int[] topLocalLoads
        end local 3 // int count
        end local 2 // int to
        end local 1 // int from
        end local 0 // jdk.nashorn.internal.codegen.Label$Stack this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Ljdk/nashorn/internal/codegen/Label$Stack;
            0    4     1           from  I
            0    4     2             to  I
            1    4     3          count  I
            2    4     4  topLocalLoads  [I
    MethodParameters:
      Name  Flags
      from  final
      to    final

  int getUsedSlotsWithLiveTemporaries();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // jdk.nashorn.internal.codegen.Label$Stack this
         0: .line 128
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.firstTemp:I
            istore 1 /* usedSlots */
        start local 1 // int usedSlots
         1: .line 130
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.sp:I
            istore 2 /* i */
        start local 2 // int i
         2: goto 8
         3: .line 131
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.localLoads:[I
            iload 2 /* i */
            iaload
            istore 3 /* slot */
        start local 3 // int slot
         4: .line 132
            iload 3 /* slot */
            iconst_m1
            if_icmpeq 8
         5: .line 133
            iload 3 /* slot */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.localVariableTypes:Ljava/util/List;
            iload 3 /* slot */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast jdk.nashorn.internal.codegen.types.Type
            invokevirtual jdk.nashorn.internal.codegen.types.Type.getSlots:()I
            iadd
            istore 4 /* afterSlot */
        start local 4 // int afterSlot
         6: .line 134
            iload 4 /* afterSlot */
            iload 1 /* usedSlots */
            if_icmple 8
         7: .line 135
            iload 4 /* afterSlot */
            istore 1 /* usedSlots */
        end local 4 // int afterSlot
        end local 3 // int slot
         8: .line 130
      StackMap locals:
      StackMap stack:
            iload 2 /* i */
            iinc 2 /* i */ -1
            ifgt 3
        end local 2 // int i
         9: .line 139
            iload 1 /* usedSlots */
            ireturn
        end local 1 // int usedSlots
        end local 0 // jdk.nashorn.internal.codegen.Label$Stack this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Ljdk/nashorn/internal/codegen/Label$Stack;
            1   10     1  usedSlots  I
            2    9     2          i  I
            4    8     3       slot  I
            6    8     4  afterSlot  I

  void joinFrom(jdk.nashorn.internal.codegen.Label$Stack, boolean);
    descriptor: (Ljdk/nashorn/internal/codegen/Label$Stack;Z)V
    flags: (0x0000) 
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // jdk.nashorn.internal.codegen.Label$Stack this
        start local 1 // jdk.nashorn.internal.codegen.Label$Stack joinOrigin
        start local 2 // boolean breakTarget
         0: .line 147
            getstatic jdk.nashorn.internal.codegen.Label$Stack.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            aload 1 /* joinOrigin */
            invokevirtual jdk.nashorn.internal.codegen.Label$Stack.isStackCompatible:(Ljdk/nashorn/internal/codegen/Label$Stack;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 148
      StackMap locals:
      StackMap stack:
            iload 2 /* breakTarget */
            ifeq 4
         2: .line 151
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.firstTemp:I
            aload 1 /* joinOrigin */
            getfield jdk.nashorn.internal.codegen.Label$Stack.firstTemp:I
            invokestatic java.lang.Math.min:(II)I
            putfield jdk.nashorn.internal.codegen.Label$Stack.firstTemp:I
         3: .line 152
            goto 5
         4: .line 153
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.internal.codegen.Label$Stack.$assertionsDisabled:Z
            ifne 5
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.firstTemp:I
            aload 1 /* joinOrigin */
            getfield jdk.nashorn.internal.codegen.Label$Stack.firstTemp:I
            if_icmpeq 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 155
      StackMap locals:
      StackMap stack:
            aload 1 /* joinOrigin */
            getfield jdk.nashorn.internal.codegen.Label$Stack.localLoads:[I
            astore 3 /* otherLoads */
        start local 3 // int[] otherLoads
         6: .line 156
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.firstTemp:I
            istore 4 /* firstDeadTemp */
        start local 4 // int firstDeadTemp
         7: .line 157
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         8: goto 16
         9: .line 158
      StackMap locals: int[] int int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.localLoads:[I
            iload 5 /* i */
            iaload
            istore 6 /* localLoad */
        start local 6 // int localLoad
        10: .line 159
            iload 6 /* localLoad */
            aload 3 /* otherLoads */
            iload 5 /* i */
            iaload
            if_icmpeq 13
        11: .line 160
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.localLoads:[I
            iload 5 /* i */
            iconst_m1
            iastore
        12: .line 161
            goto 15
      StackMap locals: int
      StackMap stack:
        13: iload 6 /* localLoad */
            iload 4 /* firstDeadTemp */
            if_icmplt 15
        14: .line 162
            iload 6 /* localLoad */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.localVariableTypes:Ljava/util/List;
            iload 6 /* localLoad */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast jdk.nashorn.internal.codegen.types.Type
            invokevirtual jdk.nashorn.internal.codegen.types.Type.getSlots:()I
            iadd
            istore 4 /* firstDeadTemp */
        end local 6 // int localLoad
        15: .line 157
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 5 /* i */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.sp:I
            if_icmplt 9
        end local 5 // int i
        17: .line 166
            aload 0 /* this */
            iload 4 /* firstDeadTemp */
            iconst_0
            invokevirtual jdk.nashorn.internal.codegen.Label$Stack.undefineLocalVariables:(IZ)V
        18: .line 167
            getstatic jdk.nashorn.internal.codegen.Label$Stack.$assertionsDisabled:Z
            ifne 19
            aload 0 /* this */
            aload 1 /* joinOrigin */
            iload 4 /* firstDeadTemp */
            invokevirtual jdk.nashorn.internal.codegen.Label$Stack.isVariablePartitioningEqual:(Ljdk/nashorn/internal/codegen/Label$Stack;I)Z
            ifne 19
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        19: .line 168
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* joinOrigin */
            iload 4 /* firstDeadTemp */
            invokevirtual jdk.nashorn.internal.codegen.Label$Stack.mergeVariableTypes:(Ljdk/nashorn/internal/codegen/Label$Stack;I)V
        20: .line 169
            return
        end local 4 // int firstDeadTemp
        end local 3 // int[] otherLoads
        end local 2 // boolean breakTarget
        end local 1 // jdk.nashorn.internal.codegen.Label$Stack joinOrigin
        end local 0 // jdk.nashorn.internal.codegen.Label$Stack this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   21     0           this  Ljdk/nashorn/internal/codegen/Label$Stack;
            0   21     1     joinOrigin  Ljdk/nashorn/internal/codegen/Label$Stack;
            0   21     2    breakTarget  Z
            6   21     3     otherLoads  [I
            7   21     4  firstDeadTemp  I
            8   17     5              i  I
           10   15     6      localLoad  I
    MethodParameters:
             Name  Flags
      joinOrigin   final
      breakTarget  final

  private void mergeVariableTypes(jdk.nashorn.internal.codegen.Label$Stack, int);
    descriptor: (Ljdk/nashorn/internal/codegen/Label$Stack;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=8, args_size=3
        start local 0 // jdk.nashorn.internal.codegen.Label$Stack this
        start local 1 // jdk.nashorn.internal.codegen.Label$Stack joinOrigin
        start local 2 // int toSlot
         0: .line 172
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.localVariableTypes:Ljava/util/List;
            invokeinterface java.util.List.listIterator:()Ljava/util/ListIterator;
            astore 3 /* it1 */
        start local 3 // java.util.ListIterator it1
         1: .line 173
            aload 1 /* joinOrigin */
            getfield jdk.nashorn.internal.codegen.Label$Stack.localVariableTypes:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4 /* it2 */
        start local 4 // java.util.Iterator it2
         2: .line 175
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         3: goto 15
         4: .line 176
      StackMap locals: java.util.ListIterator java.util.Iterator int
      StackMap stack:
            aload 3 /* it1 */
            invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.codegen.types.Type
            astore 6 /* thisType */
        start local 6 // jdk.nashorn.internal.codegen.types.Type thisType
         5: .line 177
            aload 4 /* it2 */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.codegen.types.Type
            astore 7 /* otherType */
        start local 7 // jdk.nashorn.internal.codegen.types.Type otherType
         6: .line 178
            aload 7 /* otherType */
            getstatic jdk.nashorn.internal.codegen.types.Type.UNKNOWN:Ljdk/nashorn/internal/codegen/types/Type;
            if_acmpne 9
         7: .line 180
            aload 3 /* it1 */
            getstatic jdk.nashorn.internal.codegen.types.Type.UNKNOWN:Ljdk/nashorn/internal/codegen/types/Type;
            invokeinterface java.util.ListIterator.set:(Ljava/lang/Object;)V
         8: .line 181
            goto 14
      StackMap locals: jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.codegen.types.Type
      StackMap stack:
         9: aload 6 /* thisType */
            aload 7 /* otherType */
            if_acmpeq 14
        10: .line 182
            aload 6 /* thisType */
            invokevirtual jdk.nashorn.internal.codegen.types.Type.isObject:()Z
            ifeq 13
            aload 7 /* otherType */
            invokevirtual jdk.nashorn.internal.codegen.types.Type.isObject:()Z
            ifeq 13
        11: .line 185
            aload 3 /* it1 */
            getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
            invokeinterface java.util.ListIterator.set:(Ljava/lang/Object;)V
        12: .line 186
            goto 14
        13: .line 187
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.internal.codegen.Label$Stack.$assertionsDisabled:Z
            ifne 14
            aload 6 /* thisType */
            getstatic jdk.nashorn.internal.codegen.types.Type.UNKNOWN:Ljdk/nashorn/internal/codegen/types/Type;
            if_acmpeq 14
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 7 // jdk.nashorn.internal.codegen.types.Type otherType
        end local 6 // jdk.nashorn.internal.codegen.types.Type thisType
        14: .line 175
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 5 /* i */
            iload 2 /* toSlot */
            if_icmplt 4
        end local 5 // int i
        16: .line 191
            return
        end local 4 // java.util.Iterator it2
        end local 3 // java.util.ListIterator it1
        end local 2 // int toSlot
        end local 1 // jdk.nashorn.internal.codegen.Label$Stack joinOrigin
        end local 0 // jdk.nashorn.internal.codegen.Label$Stack this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0        this  Ljdk/nashorn/internal/codegen/Label$Stack;
            0   17     1  joinOrigin  Ljdk/nashorn/internal/codegen/Label$Stack;
            0   17     2      toSlot  I
            1   17     3         it1  Ljava/util/ListIterator<Ljdk/nashorn/internal/codegen/types/Type;>;
            2   17     4         it2  Ljava/util/Iterator<Ljdk/nashorn/internal/codegen/types/Type;>;
            3   16     5           i  I
            5   14     6    thisType  Ljdk/nashorn/internal/codegen/types/Type;
            6   14     7   otherType  Ljdk/nashorn/internal/codegen/types/Type;
    MethodParameters:
            Name  Flags
      joinOrigin  final
      toSlot      final

  void joinFromTry(jdk.nashorn.internal.codegen.Label$Stack);
    descriptor: (Ljdk/nashorn/internal/codegen/Label$Stack;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.Label$Stack this
        start local 1 // jdk.nashorn.internal.codegen.Label$Stack joinOrigin
         0: .line 196
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.firstTemp:I
            aload 1 /* joinOrigin */
            getfield jdk.nashorn.internal.codegen.Label$Stack.firstTemp:I
            invokestatic java.lang.Math.min:(II)I
            putfield jdk.nashorn.internal.codegen.Label$Stack.firstTemp:I
         1: .line 197
            getstatic jdk.nashorn.internal.codegen.Label$Stack.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            aload 1 /* joinOrigin */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.firstTemp:I
            invokevirtual jdk.nashorn.internal.codegen.Label$Stack.isVariablePartitioningEqual:(Ljdk/nashorn/internal/codegen/Label$Stack;I)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 198
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* joinOrigin */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.firstTemp:I
            invokevirtual jdk.nashorn.internal.codegen.Label$Stack.mergeVariableTypes:(Ljdk/nashorn/internal/codegen/Label$Stack;I)V
         3: .line 199
            return
        end local 1 // jdk.nashorn.internal.codegen.Label$Stack joinOrigin
        end local 0 // jdk.nashorn.internal.codegen.Label$Stack this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Ljdk/nashorn/internal/codegen/Label$Stack;
            0    4     1  joinOrigin  Ljdk/nashorn/internal/codegen/Label$Stack;
    MethodParameters:
            Name  Flags
      joinOrigin  final

  private int getFirstDeadLocal(java.util.List<jdk.nashorn.internal.codegen.types.Type>);
    descriptor: (Ljava/util/List;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.Label$Stack this
        start local 1 // java.util.List types
         0: .line 202
            aload 1 /* types */
            invokeinterface java.util.List.size:()I
            istore 2 /* i */
        start local 2 // int i
         1: .line 203
            aload 1 /* types */
            iload 2 /* i */
            invokeinterface java.util.List.listIterator:(I)Ljava/util/ListIterator;
            astore 3 /* it */
        start local 3 // java.util.ListIterator it
         2: .line 204
            goto 4
         3: .line 205
      StackMap locals: int java.util.ListIterator
      StackMap stack:
            iinc 2 /* i */ -1
         4: .line 204
      StackMap locals:
      StackMap stack:
            aload 3 /* it */
            invokeinterface java.util.ListIterator.hasPrevious:()Z
            ifeq 7
            aload 3 /* it */
            invokeinterface java.util.ListIterator.previous:()Ljava/lang/Object;
            getstatic jdk.nashorn.internal.codegen.types.Type.UNKNOWN:Ljdk/nashorn/internal/codegen/types/Type;
            if_acmpeq 3
        end local 3 // java.util.ListIterator it
         5: .line 210
            goto 7
         6: .line 211
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
         7: .line 210
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.symbolBoundary:Ljava/util/BitSet;
            iload 2 /* i */
            iconst_1
            isub
            invokevirtual java.util.BitSet.get:(I)Z
            ifeq 6
         8: .line 213
            iload 2 /* i */
            ireturn
        end local 2 // int i
        end local 1 // java.util.List types
        end local 0 // jdk.nashorn.internal.codegen.Label$Stack this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Ljdk/nashorn/internal/codegen/Label$Stack;
            0    9     1  types  Ljava/util/List<Ljdk/nashorn/internal/codegen/types/Type;>;
            1    9     2      i  I
            2    5     3     it  Ljava/util/ListIterator<Ljdk/nashorn/internal/codegen/types/Type;>;
    Signature: (Ljava/util/List<Ljdk/nashorn/internal/codegen/types/Type;>;)I
    MethodParameters:
       Name  Flags
      types  final

  private boolean isStackCompatible(jdk.nashorn.internal.codegen.Label$Stack);
    descriptor: (Ljdk/nashorn/internal/codegen/Label$Stack;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.Label$Stack this
        start local 1 // jdk.nashorn.internal.codegen.Label$Stack other
         0: .line 217
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.sp:I
            aload 1 /* other */
            getfield jdk.nashorn.internal.codegen.Label$Stack.sp:I
            if_icmpeq 2
         1: .line 218
            iconst_0
            ireturn
         2: .line 220
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: goto 7
         4: .line 221
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.data:[Ljdk/nashorn/internal/codegen/types/Type;
            iload 2 /* i */
            aaload
            aload 1 /* other */
            getfield jdk.nashorn.internal.codegen.Label$Stack.data:[Ljdk/nashorn/internal/codegen/types/Type;
            iload 2 /* i */
            aaload
            invokevirtual jdk.nashorn.internal.codegen.types.Type.isEquivalentTo:(Ljdk/nashorn/internal/codegen/types/Type;)Z
            ifne 6
         5: .line 222
            iconst_0
            ireturn
         6: .line 220
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.sp:I
            if_icmplt 4
        end local 2 // int i
         8: .line 225
            iconst_1
            ireturn
        end local 1 // jdk.nashorn.internal.codegen.Label$Stack other
        end local 0 // jdk.nashorn.internal.codegen.Label$Stack this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Ljdk/nashorn/internal/codegen/Label$Stack;
            0    9     1  other  Ljdk/nashorn/internal/codegen/Label$Stack;
            3    8     2      i  I
    MethodParameters:
       Name  Flags
      other  final

  private boolean isVariablePartitioningEqual(jdk.nashorn.internal.codegen.Label$Stack, int);
    descriptor: (Ljdk/nashorn/internal/codegen/Label$Stack;I)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // jdk.nashorn.internal.codegen.Label$Stack this
        start local 1 // jdk.nashorn.internal.codegen.Label$Stack other
        start local 2 // int toSlot
         0: .line 230
            aload 1 /* other */
            invokevirtual jdk.nashorn.internal.codegen.Label$Stack.getSymbolBoundaryCopy:()Ljava/util/BitSet;
            astore 3 /* diff */
        start local 3 // java.util.BitSet diff
         1: .line 231
            aload 3 /* diff */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.symbolBoundary:Ljava/util/BitSet;
            invokevirtual java.util.BitSet.xor:(Ljava/util/BitSet;)V
         2: .line 232
            aload 3 /* diff */
            iload 2 /* toSlot */
            iconst_1
            isub
            invokevirtual java.util.BitSet.previousSetBit:(I)I
            iconst_m1
            if_icmpne 3
            iconst_1
            ireturn
      StackMap locals: java.util.BitSet
      StackMap stack:
         3: iconst_0
            ireturn
        end local 3 // java.util.BitSet diff
        end local 2 // int toSlot
        end local 1 // jdk.nashorn.internal.codegen.Label$Stack other
        end local 0 // jdk.nashorn.internal.codegen.Label$Stack this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Ljdk/nashorn/internal/codegen/Label$Stack;
            0    4     1   other  Ljdk/nashorn/internal/codegen/Label$Stack;
            0    4     2  toSlot  I
            1    4     3    diff  Ljava/util/BitSet;
    MethodParameters:
        Name  Flags
      other   final
      toSlot  final

  void markDeadLocalVariables(int, int);
    descriptor: (II)V
    flags: (0x0000) 
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // jdk.nashorn.internal.codegen.Label$Stack this
        start local 1 // int fromSlot
        start local 2 // int slotCount
         0: .line 236
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.localVariableTypes:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 3 /* localCount */
        start local 3 // int localCount
         1: .line 237
            iload 1 /* fromSlot */
            iload 3 /* localCount */
            if_icmplt 3
         2: .line 238
            return
         3: .line 240
      StackMap locals: int
      StackMap stack:
            iload 1 /* fromSlot */
            iload 2 /* slotCount */
            iadd
            iload 3 /* localCount */
            invokestatic java.lang.Math.min:(II)I
            istore 4 /* toSlot */
        start local 4 // int toSlot
         4: .line 241
            aload 0 /* this */
            iload 1 /* fromSlot */
            iload 4 /* toSlot */
            invokevirtual jdk.nashorn.internal.codegen.Label$Stack.invalidateLocalLoadsOnStack:(II)V
         5: .line 242
            iload 1 /* fromSlot */
            istore 5 /* i */
        start local 5 // int i
         6: goto 9
         7: .line 243
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.localVariableTypes:Ljava/util/List;
            iload 5 /* i */
            getstatic jdk.nashorn.internal.codegen.types.Type.UNKNOWN:Ljdk/nashorn/internal/codegen/types/Type;
            invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 242
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 5 /* i */
            iload 4 /* toSlot */
            if_icmplt 7
        end local 5 // int i
        10: .line 245
            return
        end local 4 // int toSlot
        end local 3 // int localCount
        end local 2 // int slotCount
        end local 1 // int fromSlot
        end local 0 // jdk.nashorn.internal.codegen.Label$Stack this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        this  Ljdk/nashorn/internal/codegen/Label$Stack;
            0   11     1    fromSlot  I
            0   11     2   slotCount  I
            1   11     3  localCount  I
            4   11     4      toSlot  I
            6   10     5           i  I
    MethodParameters:
           Name  Flags
      fromSlot   final
      slotCount  final

  java.util.List<jdk.nashorn.internal.codegen.types.Type> getLocalVariableTypesCopy();
    descriptor: ()Ljava/util/List;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.codegen.Label$Stack this
         0: .line 249
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.localVariableTypes:Ljava/util/List;
            checkcast java.util.ArrayList
            invokevirtual java.util.ArrayList.clone:()Ljava/lang/Object;
            checkcast java.util.List
            areturn
        end local 0 // jdk.nashorn.internal.codegen.Label$Stack this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/codegen/Label$Stack;
    Signature: ()Ljava/util/List<Ljdk/nashorn/internal/codegen/types/Type;>;

  java.util.BitSet getSymbolBoundaryCopy();
    descriptor: ()Ljava/util/BitSet;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.codegen.Label$Stack this
         0: .line 253
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.symbolBoundary:Ljava/util/BitSet;
            invokevirtual java.util.BitSet.clone:()Ljava/lang/Object;
            checkcast java.util.BitSet
            areturn
        end local 0 // jdk.nashorn.internal.codegen.Label$Stack this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/codegen/Label$Stack;

  java.util.List<jdk.nashorn.internal.codegen.types.Type> getWidestLiveLocals(java.util.List<jdk.nashorn.internal.codegen.types.Type>);
    descriptor: (Ljava/util/List;)Ljava/util/List;
    flags: (0x0000) 
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.Label$Stack this
        start local 1 // java.util.List lvarTypes
         0: .line 262
            new java.util.ArrayList
            dup
            aload 1 /* lvarTypes */
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 2 /* widestLiveLocals */
        start local 2 // java.util.List widestLiveLocals
         1: .line 263
            iconst_1
            istore 3 /* keepNextValue */
        start local 3 // boolean keepNextValue
         2: .line 264
            aload 2 /* widestLiveLocals */
            invokeinterface java.util.List.size:()I
            istore 4 /* size */
        start local 4 // int size
         3: .line 265
            iload 4 /* size */
            iconst_1
            isub
            istore 5 /* i */
        start local 5 // int i
         4: goto 14
         5: .line 266
      StackMap locals: jdk.nashorn.internal.codegen.Label$Stack java.util.List java.util.List int int int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.symbolBoundary:Ljava/util/BitSet;
            iload 5 /* i */
            invokevirtual java.util.BitSet.get:(I)Z
            ifeq 7
         6: .line 267
            iconst_1
            istore 3 /* keepNextValue */
         7: .line 269
      StackMap locals:
      StackMap stack:
            aload 2 /* widestLiveLocals */
            iload 5 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast jdk.nashorn.internal.codegen.types.Type
            astore 6 /* t */
        start local 6 // jdk.nashorn.internal.codegen.types.Type t
         8: .line 270
            aload 6 /* t */
            getstatic jdk.nashorn.internal.codegen.types.Type.UNKNOWN:Ljdk/nashorn/internal/codegen/types/Type;
            if_acmpeq 14
         9: .line 271
            iload 3 /* keepNextValue */
            ifeq 13
        10: .line 272
            aload 6 /* t */
            getstatic jdk.nashorn.internal.codegen.types.Type.SLOT_2:Ljdk/nashorn/internal/codegen/types/Type;
            if_acmpeq 14
        11: .line 273
            iconst_0
            istore 3 /* keepNextValue */
        12: .line 275
            goto 14
        13: .line 276
      StackMap locals: jdk.nashorn.internal.codegen.types.Type
      StackMap stack:
            aload 2 /* widestLiveLocals */
            iload 5 /* i */
            getstatic jdk.nashorn.internal.codegen.types.Type.UNKNOWN:Ljdk/nashorn/internal/codegen/types/Type;
            invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
        end local 6 // jdk.nashorn.internal.codegen.types.Type t
        14: .line 265
      StackMap locals:
      StackMap stack:
            iload 5 /* i */
            iinc 5 /* i */ -1
            ifgt 5
        end local 5 // int i
        15: .line 280
            aload 2 /* widestLiveLocals */
            aload 0 /* this */
            aload 2 /* widestLiveLocals */
            invokevirtual jdk.nashorn.internal.codegen.Label$Stack.getFirstDeadLocal:(Ljava/util/List;)I
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.firstTemp:I
            invokestatic java.lang.Math.max:(II)I
            aload 2 /* widestLiveLocals */
            invokeinterface java.util.List.size:()I
            invokeinterface java.util.List.subList:(II)Ljava/util/List;
            invokeinterface java.util.List.clear:()V
        16: .line 281
            aload 2 /* widestLiveLocals */
            areturn
        end local 4 // int size
        end local 3 // boolean keepNextValue
        end local 2 // java.util.List widestLiveLocals
        end local 1 // java.util.List lvarTypes
        end local 0 // jdk.nashorn.internal.codegen.Label$Stack this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   17     0              this  Ljdk/nashorn/internal/codegen/Label$Stack;
            0   17     1         lvarTypes  Ljava/util/List<Ljdk/nashorn/internal/codegen/types/Type;>;
            1   17     2  widestLiveLocals  Ljava/util/List<Ljdk/nashorn/internal/codegen/types/Type;>;
            2   17     3     keepNextValue  Z
            3   17     4              size  I
            4   15     5                 i  I
            8   14     6                 t  Ljdk/nashorn/internal/codegen/types/Type;
    Signature: (Ljava/util/List<Ljdk/nashorn/internal/codegen/types/Type;>;)Ljava/util/List<Ljdk/nashorn/internal/codegen/types/Type;>;
    MethodParameters:
           Name  Flags
      lvarTypes  final

  java.lang.String markSymbolBoundariesInLvarTypesDescriptor(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.Label$Stack this
        start local 1 // java.lang.String lvarDescriptor
         0: .line 285
            aload 1 /* lvarDescriptor */
            invokevirtual java.lang.String.toCharArray:()[C
            astore 2 /* chars */
        start local 2 // char[] chars
         1: .line 286
            iconst_0
            istore 3 /* j */
        start local 3 // int j
         2: .line 287
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 10
         4: .line 288
      StackMap locals: char[] int int
      StackMap stack:
            aload 2 /* chars */
            iload 4 /* i */
            caload
            istore 5 /* c */
        start local 5 // char c
         5: .line 289
            iload 3 /* j */
            iload 5 /* c */
            invokestatic jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getTypeForSlotDescriptor:(C)Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.types.Type.getSlots:()I
            iadd
            istore 6 /* nextj */
        start local 6 // int nextj
         6: .line 290
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.symbolBoundary:Ljava/util/BitSet;
            iload 6 /* nextj */
            iconst_1
            isub
            invokevirtual java.util.BitSet.get:(I)Z
            ifne 8
         7: .line 291
            aload 2 /* chars */
            iload 4 /* i */
            iload 5 /* c */
            invokestatic java.lang.Character.toLowerCase:(C)C
            castore
         8: .line 293
      StackMap locals: int int
      StackMap stack:
            iload 6 /* nextj */
            istore 3 /* j */
        end local 6 // int nextj
        end local 5 // char c
         9: .line 287
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 4 /* i */
            aload 2 /* chars */
            arraylength
            if_icmplt 4
        end local 4 // int i
        11: .line 295
            new java.lang.String
            dup
            aload 2 /* chars */
            invokespecial java.lang.String.<init>:([C)V
            areturn
        end local 3 // int j
        end local 2 // char[] chars
        end local 1 // java.lang.String lvarDescriptor
        end local 0 // jdk.nashorn.internal.codegen.Label$Stack this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   12     0            this  Ljdk/nashorn/internal/codegen/Label$Stack;
            0   12     1  lvarDescriptor  Ljava/lang/String;
            1   12     2           chars  [C
            2   12     3               j  I
            3   11     4               i  I
            5    9     5               c  C
            6    9     6           nextj  I
    MethodParameters:
                Name  Flags
      lvarDescriptor  final

  jdk.nashorn.internal.codegen.types.Type pop();
    descriptor: ()Ljdk/nashorn/internal/codegen/types/Type;
    flags: (0x0000) 
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.codegen.Label$Stack this
         0: .line 299
            getstatic jdk.nashorn.internal.codegen.Label$Stack.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.sp:I
            ifgt 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 300
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.data:[Ljdk/nashorn/internal/codegen/types/Type;
            aload 0 /* this */
            dup
            getfield jdk.nashorn.internal.codegen.Label$Stack.sp:I
            iconst_1
            isub
            dup_x1
            putfield jdk.nashorn.internal.codegen.Label$Stack.sp:I
            aaload
            areturn
        end local 0 // jdk.nashorn.internal.codegen.Label$Stack this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/codegen/Label$Stack;

  public jdk.nashorn.internal.codegen.Label$Stack clone();
    descriptor: ()Ljdk/nashorn/internal/codegen/Label$Stack;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // jdk.nashorn.internal.codegen.Label$Stack this
         0: .line 306
            aload 0 /* this */
            invokespecial java.lang.Object.clone:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.codegen.Label$Stack
            astore 1 /* clone */
        start local 1 // jdk.nashorn.internal.codegen.Label$Stack clone
         1: .line 307
            aload 1 /* clone */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.data:[Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.types.Type[].clone:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.codegen.types.Type[]
            putfield jdk.nashorn.internal.codegen.Label$Stack.data:[Ljdk/nashorn/internal/codegen/types/Type;
         2: .line 308
            aload 1 /* clone */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.localLoads:[I
            invokevirtual int[].clone:()Ljava/lang/Object;
            checkcast int[]
            putfield jdk.nashorn.internal.codegen.Label$Stack.localLoads:[I
         3: .line 309
            aload 1 /* clone */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.codegen.Label$Stack.getSymbolBoundaryCopy:()Ljava/util/BitSet;
            putfield jdk.nashorn.internal.codegen.Label$Stack.symbolBoundary:Ljava/util/BitSet;
         4: .line 310
            aload 1 /* clone */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.codegen.Label$Stack.getLocalVariableTypesCopy:()Ljava/util/List;
            putfield jdk.nashorn.internal.codegen.Label$Stack.localVariableTypes:Ljava/util/List;
         5: .line 311
            aload 1 /* clone */
         6: areturn
        end local 1 // jdk.nashorn.internal.codegen.Label$Stack clone
         7: .line 312
      StackMap locals:
      StackMap stack: java.lang.CloneNotSupportedException
            astore 1 /* e */
        start local 1 // java.lang.CloneNotSupportedException e
         8: .line 313
            new java.lang.AssertionError
            dup
            ldc ""
            aload 1 /* e */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.lang.CloneNotSupportedException e
        end local 0 // jdk.nashorn.internal.codegen.Label$Stack this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Ljdk/nashorn/internal/codegen/Label$Stack;
            1    7     1  clone  Ljdk/nashorn/internal/codegen/Label$Stack;
            8    9     1      e  Ljava/lang/CloneNotSupportedException;
      Exception table:
        from    to  target  type
           0     6       7  Class java.lang.CloneNotSupportedException

  private jdk.nashorn.internal.codegen.Label$Stack cloneWithEmptyStack();
    descriptor: ()Ljdk/nashorn/internal/codegen/Label$Stack;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // jdk.nashorn.internal.codegen.Label$Stack this
         0: .line 318
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.codegen.Label$Stack.clone:()Ljdk/nashorn/internal/codegen/Label$Stack;
            astore 1 /* stack */
        start local 1 // jdk.nashorn.internal.codegen.Label$Stack stack
         1: .line 319
            aload 1 /* stack */
            iconst_0
            putfield jdk.nashorn.internal.codegen.Label$Stack.sp:I
         2: .line 320
            aload 1 /* stack */
            areturn
        end local 1 // jdk.nashorn.internal.codegen.Label$Stack stack
        end local 0 // jdk.nashorn.internal.codegen.Label$Stack this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Ljdk/nashorn/internal/codegen/Label$Stack;
            1    3     1  stack  Ljdk/nashorn/internal/codegen/Label$Stack;

  int getTopLocalLoad();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.codegen.Label$Stack this
         0: .line 324
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.localLoads:[I
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.sp:I
            iconst_1
            isub
            iaload
            ireturn
        end local 0 // jdk.nashorn.internal.codegen.Label$Stack this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/codegen/Label$Stack;

  void markLocalLoad(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.Label$Stack this
        start local 1 // int slot
         0: .line 328
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.localLoads:[I
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.sp:I
            iconst_1
            isub
            iload 1 /* slot */
            iastore
         1: .line 329
            return
        end local 1 // int slot
        end local 0 // jdk.nashorn.internal.codegen.Label$Stack this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/codegen/Label$Stack;
            0    2     1  slot  I
    MethodParameters:
      Name  Flags
      slot  final

  void onLocalStore(jdk.nashorn.internal.codegen.types.Type, int, boolean);
    descriptor: (Ljdk/nashorn/internal/codegen/types/Type;IZ)V
    flags: (0x0000) 
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // jdk.nashorn.internal.codegen.Label$Stack this
        start local 1 // jdk.nashorn.internal.codegen.types.Type type
        start local 2 // int slot
        start local 3 // boolean onlySymbolLiveValue
         0: .line 339
            iload 3 /* onlySymbolLiveValue */
            ifeq 12
         1: .line 340
            iload 2 /* slot */
            ifne 2
            iconst_0
            goto 3
      StackMap locals:
      StackMap stack:
         2: aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.symbolBoundary:Ljava/util/BitSet;
            iload 2 /* slot */
            iconst_1
            isub
            invokevirtual java.util.BitSet.previousSetBit:(I)I
            iconst_1
            iadd
      StackMap locals:
      StackMap stack: int
         3: istore 4 /* fromSlot */
        start local 4 // int fromSlot
         4: .line 341
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.symbolBoundary:Ljava/util/BitSet;
            iload 2 /* slot */
            invokevirtual java.util.BitSet.nextSetBit:(I)I
            iconst_1
            iadd
            istore 5 /* toSlot */
        start local 5 // int toSlot
         5: .line 342
            iload 4 /* fromSlot */
            istore 6 /* i */
        start local 6 // int i
         6: goto 9
         7: .line 343
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.localVariableTypes:Ljava/util/List;
            iload 6 /* i */
            getstatic jdk.nashorn.internal.codegen.types.Type.UNKNOWN:Ljdk/nashorn/internal/codegen/types/Type;
            invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 342
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 6 /* i */
            iload 5 /* toSlot */
            if_icmplt 7
        end local 6 // int i
        10: .line 345
            aload 0 /* this */
            iload 4 /* fromSlot */
            iload 5 /* toSlot */
            invokevirtual jdk.nashorn.internal.codegen.Label$Stack.invalidateLocalLoadsOnStack:(II)V
        end local 5 // int toSlot
        end local 4 // int fromSlot
        11: .line 346
            goto 13
        12: .line 347
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* slot */
            iload 2 /* slot */
            aload 1 /* type */
            invokevirtual jdk.nashorn.internal.codegen.types.Type.getSlots:()I
            iadd
            invokevirtual jdk.nashorn.internal.codegen.Label$Stack.invalidateLocalLoadsOnStack:(II)V
        13: .line 350
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.localVariableTypes:Ljava/util/List;
            iload 2 /* slot */
            aload 1 /* type */
            invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
        14: .line 351
            aload 1 /* type */
            invokevirtual jdk.nashorn.internal.codegen.types.Type.isCategory2:()Z
            ifeq 16
        15: .line 352
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.localVariableTypes:Ljava/util/List;
            iload 2 /* slot */
            iconst_1
            iadd
            getstatic jdk.nashorn.internal.codegen.types.Type.SLOT_2:Ljdk/nashorn/internal/codegen/types/Type;
            invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
        16: .line 354
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean onlySymbolLiveValue
        end local 2 // int slot
        end local 1 // jdk.nashorn.internal.codegen.types.Type type
        end local 0 // jdk.nashorn.internal.codegen.Label$Stack this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   17     0                 this  Ljdk/nashorn/internal/codegen/Label$Stack;
            0   17     1                 type  Ljdk/nashorn/internal/codegen/types/Type;
            0   17     2                 slot  I
            0   17     3  onlySymbolLiveValue  Z
            4   11     4             fromSlot  I
            5   11     5               toSlot  I
            6   10     6                    i  I
    MethodParameters:
                     Name  Flags
      type                 final
      slot                 final
      onlySymbolLiveValue  final

  private void invalidateLocalLoadsOnStack(int, int);
    descriptor: (II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // jdk.nashorn.internal.codegen.Label$Stack this
        start local 1 // int fromSlot
        start local 2 // int toSlot
         0: .line 363
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         1: goto 6
         2: .line 364
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.localLoads:[I
            iload 3 /* i */
            iaload
            istore 4 /* localLoad */
        start local 4 // int localLoad
         3: .line 365
            iload 4 /* localLoad */
            iload 1 /* fromSlot */
            if_icmplt 5
            iload 4 /* localLoad */
            iload 2 /* toSlot */
            if_icmpge 5
         4: .line 366
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.localLoads:[I
            iload 3 /* i */
            iconst_m1
            iastore
        end local 4 // int localLoad
         5: .line 363
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.sp:I
            if_icmplt 2
        end local 3 // int i
         7: .line 369
            return
        end local 2 // int toSlot
        end local 1 // int fromSlot
        end local 0 // jdk.nashorn.internal.codegen.Label$Stack this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Ljdk/nashorn/internal/codegen/Label$Stack;
            0    8     1   fromSlot  I
            0    8     2     toSlot  I
            1    7     3          i  I
            3    5     4  localLoad  I
    MethodParameters:
          Name  Flags
      fromSlot  final
      toSlot    final

  void defineBlockLocalVariable(int, int);
    descriptor: (II)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.codegen.Label$Stack this
        start local 1 // int fromSlot
        start local 2 // int toSlot
         0: .line 378
            aload 0 /* this */
            iload 1 /* fromSlot */
            iload 2 /* toSlot */
            invokevirtual jdk.nashorn.internal.codegen.Label$Stack.defineLocalVariable:(II)V
         1: .line 379
            getstatic jdk.nashorn.internal.codegen.Label$Stack.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.firstTemp:I
            iload 2 /* toSlot */
            if_icmplt 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 380
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* toSlot */
            putfield jdk.nashorn.internal.codegen.Label$Stack.firstTemp:I
         3: .line 381
            return
        end local 2 // int toSlot
        end local 1 // int fromSlot
        end local 0 // jdk.nashorn.internal.codegen.Label$Stack this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Ljdk/nashorn/internal/codegen/Label$Stack;
            0    4     1  fromSlot  I
            0    4     2    toSlot  I
    MethodParameters:
          Name  Flags
      fromSlot  final
      toSlot    final

  int defineTemporaryLocalVariable(int);
    descriptor: (I)I
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.Label$Stack this
        start local 1 // int width
         0: .line 389
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.codegen.Label$Stack.getUsedSlotsWithLiveTemporaries:()I
            istore 2 /* fromSlot */
        start local 2 // int fromSlot
         1: .line 390
            aload 0 /* this */
            iload 2 /* fromSlot */
            iload 2 /* fromSlot */
            iload 1 /* width */
            iadd
            invokevirtual jdk.nashorn.internal.codegen.Label$Stack.defineLocalVariable:(II)V
         2: .line 391
            iload 2 /* fromSlot */
            ireturn
        end local 2 // int fromSlot
        end local 1 // int width
        end local 0 // jdk.nashorn.internal.codegen.Label$Stack this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Ljdk/nashorn/internal/codegen/Label$Stack;
            0    3     1     width  I
            1    3     2  fromSlot  I
    MethodParameters:
       Name  Flags
      width  final

  void defineTemporaryLocalVariable(int, int);
    descriptor: (II)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.codegen.Label$Stack this
        start local 1 // int fromSlot
        start local 2 // int toSlot
         0: .line 401
            aload 0 /* this */
            iload 1 /* fromSlot */
            iload 2 /* toSlot */
            invokevirtual jdk.nashorn.internal.codegen.Label$Stack.defineLocalVariable:(II)V
         1: .line 402
            return
        end local 2 // int toSlot
        end local 1 // int fromSlot
        end local 0 // jdk.nashorn.internal.codegen.Label$Stack this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Ljdk/nashorn/internal/codegen/Label$Stack;
            0    2     1  fromSlot  I
            0    2     2    toSlot  I
    MethodParameters:
          Name  Flags
      fromSlot  final
      toSlot    final

  private void defineLocalVariable(int, int);
    descriptor: (II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // jdk.nashorn.internal.codegen.Label$Stack this
        start local 1 // int fromSlot
        start local 2 // int toSlot
         0: .line 405
            getstatic jdk.nashorn.internal.codegen.Label$Stack.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            iload 1 /* fromSlot */
            iload 2 /* toSlot */
            invokevirtual jdk.nashorn.internal.codegen.Label$Stack.hasLoadsOnStack:(II)Z
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 406
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.internal.codegen.Label$Stack.$assertionsDisabled:Z
            ifne 2
            iload 1 /* fromSlot */
            iload 2 /* toSlot */
            if_icmplt 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 407
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.symbolBoundary:Ljava/util/BitSet;
            iload 1 /* fromSlot */
            iload 2 /* toSlot */
            iconst_1
            isub
            invokevirtual java.util.BitSet.clear:(II)V
         3: .line 408
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.symbolBoundary:Ljava/util/BitSet;
            iload 2 /* toSlot */
            iconst_1
            isub
            invokevirtual java.util.BitSet.set:(I)V
         4: .line 409
            iload 2 /* toSlot */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.localVariableTypes:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            invokestatic java.lang.Math.min:(II)I
            istore 3 /* lastExisting */
        start local 3 // int lastExisting
         5: .line 410
            iload 1 /* fromSlot */
            istore 4 /* i */
        start local 4 // int i
         6: goto 9
         7: .line 411
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.localVariableTypes:Ljava/util/List;
            iload 4 /* i */
            getstatic jdk.nashorn.internal.codegen.types.Type.UNKNOWN:Ljdk/nashorn/internal/codegen/types/Type;
            invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 410
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 4 /* i */
            iload 3 /* lastExisting */
            if_icmplt 7
        end local 4 // int i
        10: .line 413
            iload 3 /* lastExisting */
            istore 4 /* i */
        start local 4 // int i
        11: goto 14
        12: .line 414
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.localVariableTypes:Ljava/util/List;
            iload 4 /* i */
            getstatic jdk.nashorn.internal.codegen.types.Type.UNKNOWN:Ljdk/nashorn/internal/codegen/types/Type;
            invokeinterface java.util.List.add:(ILjava/lang/Object;)V
        13: .line 413
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 4 /* i */
            iload 2 /* toSlot */
            if_icmplt 12
        end local 4 // int i
        15: .line 416
            return
        end local 3 // int lastExisting
        end local 2 // int toSlot
        end local 1 // int fromSlot
        end local 0 // jdk.nashorn.internal.codegen.Label$Stack this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   16     0          this  Ljdk/nashorn/internal/codegen/Label$Stack;
            0   16     1      fromSlot  I
            0   16     2        toSlot  I
            5   16     3  lastExisting  I
            6   10     4             i  I
           11   15     4             i  I
    MethodParameters:
          Name  Flags
      fromSlot  final
      toSlot    final

  void undefineLocalVariables(int, boolean);
    descriptor: (IZ)V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // jdk.nashorn.internal.codegen.Label$Stack this
        start local 1 // int fromSlot
        start local 2 // boolean canTruncateSymbol
         0: .line 426
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.localVariableTypes:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 3 /* lvarCount */
        start local 3 // int lvarCount
         1: .line 427
            getstatic jdk.nashorn.internal.codegen.Label$Stack.$assertionsDisabled:Z
            ifne 2
            iload 3 /* lvarCount */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.symbolBoundary:Ljava/util/BitSet;
            invokevirtual java.util.BitSet.length:()I
            if_icmpeq 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 428
      StackMap locals: int
      StackMap stack:
            getstatic jdk.nashorn.internal.codegen.Label$Stack.$assertionsDisabled:Z
            ifne 3
            aload 0 /* this */
            iload 1 /* fromSlot */
            iload 3 /* lvarCount */
            invokevirtual jdk.nashorn.internal.codegen.Label$Stack.hasLoadsOnStack:(II)Z
            ifeq 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 429
      StackMap locals:
      StackMap stack:
            iload 2 /* canTruncateSymbol */
            ifeq 7
         4: .line 430
            iload 1 /* fromSlot */
            ifle 8
         5: .line 431
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.symbolBoundary:Ljava/util/BitSet;
            iload 1 /* fromSlot */
            iconst_1
            isub
            invokevirtual java.util.BitSet.set:(I)V
         6: .line 433
            goto 8
         7: .line 434
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.internal.codegen.Label$Stack.$assertionsDisabled:Z
            ifne 8
            iload 1 /* fromSlot */
            ifeq 8
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.symbolBoundary:Ljava/util/BitSet;
            iload 1 /* fromSlot */
            iconst_1
            isub
            invokevirtual java.util.BitSet.get:(I)Z
            ifne 8
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         8: .line 436
      StackMap locals:
      StackMap stack:
            iload 1 /* fromSlot */
            iload 3 /* lvarCount */
            if_icmpge 11
         9: .line 437
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.symbolBoundary:Ljava/util/BitSet;
            iload 1 /* fromSlot */
            iload 3 /* lvarCount */
            invokevirtual java.util.BitSet.clear:(II)V
        10: .line 438
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.localVariableTypes:Ljava/util/List;
            iload 1 /* fromSlot */
            iload 3 /* lvarCount */
            invokeinterface java.util.List.subList:(II)Ljava/util/List;
            invokeinterface java.util.List.clear:()V
        11: .line 440
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* fromSlot */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.firstTemp:I
            invokestatic java.lang.Math.min:(II)I
            putfield jdk.nashorn.internal.codegen.Label$Stack.firstTemp:I
        12: .line 441
            getstatic jdk.nashorn.internal.codegen.Label$Stack.$assertionsDisabled:Z
            ifne 13
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.symbolBoundary:Ljava/util/BitSet;
            invokevirtual java.util.BitSet.length:()I
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.localVariableTypes:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmpeq 13
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        13: .line 442
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.internal.codegen.Label$Stack.$assertionsDisabled:Z
            ifne 14
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.symbolBoundary:Ljava/util/BitSet;
            invokevirtual java.util.BitSet.length:()I
            iload 1 /* fromSlot */
            if_icmpeq 14
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        14: .line 443
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int lvarCount
        end local 2 // boolean canTruncateSymbol
        end local 1 // int fromSlot
        end local 0 // jdk.nashorn.internal.codegen.Label$Stack this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   15     0               this  Ljdk/nashorn/internal/codegen/Label$Stack;
            0   15     1           fromSlot  I
            0   15     2  canTruncateSymbol  Z
            1   15     3          lvarCount  I
    MethodParameters:
                   Name  Flags
      fromSlot           final
      canTruncateSymbol  final

  private void markAsOptimisticCatchHandler(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.Label$Stack this
        start local 1 // int liveLocalCount
         0: .line 447
            aload 0 /* this */
            iload 1 /* liveLocalCount */
            iconst_1
            invokevirtual jdk.nashorn.internal.codegen.Label$Stack.undefineLocalVariables:(IZ)V
         1: .line 449
            aload 0 /* this */
            iload 1 /* liveLocalCount */
            putfield jdk.nashorn.internal.codegen.Label$Stack.firstTemp:I
         2: .line 451
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.localVariableTypes:Ljava/util/List;
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.firstTemp:I
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.localVariableTypes:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            invokeinterface java.util.List.subList:(II)Ljava/util/List;
            invokeinterface java.util.List.clear:()V
         3: .line 452
            getstatic jdk.nashorn.internal.codegen.Label$Stack.$assertionsDisabled:Z
            ifne 4
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.symbolBoundary:Ljava/util/BitSet;
            invokevirtual java.util.BitSet.length:()I
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.firstTemp:I
            if_icmpeq 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 454
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.localVariableTypes:Ljava/util/List;
            invokeinterface java.util.List.listIterator:()Ljava/util/ListIterator;
            astore 2 /* it */
        start local 2 // java.util.ListIterator it
         5: goto 12
         6: .line 455
      StackMap locals: java.util.ListIterator
      StackMap stack:
            aload 2 /* it */
            invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.codegen.types.Type
            astore 3 /* type */
        start local 3 // jdk.nashorn.internal.codegen.types.Type type
         7: .line 456
            aload 3 /* type */
            getstatic jdk.nashorn.internal.codegen.types.Type.BOOLEAN:Ljdk/nashorn/internal/codegen/types/Type;
            if_acmpne 10
         8: .line 457
            aload 2 /* it */
            getstatic jdk.nashorn.internal.codegen.types.Type.INT:Ljdk/nashorn/internal/codegen/types/BitwiseType;
            invokeinterface java.util.ListIterator.set:(Ljava/lang/Object;)V
         9: .line 458
            goto 12
      StackMap locals: jdk.nashorn.internal.codegen.types.Type
      StackMap stack:
        10: aload 3 /* type */
            invokevirtual jdk.nashorn.internal.codegen.types.Type.isObject:()Z
            ifeq 12
            aload 3 /* type */
            getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
            if_acmpeq 12
        11: .line 459
            aload 2 /* it */
            getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
            invokeinterface java.util.ListIterator.set:(Ljava/lang/Object;)V
        end local 3 // jdk.nashorn.internal.codegen.types.Type type
        12: .line 454
      StackMap locals:
      StackMap stack:
            aload 2 /* it */
            invokeinterface java.util.ListIterator.hasNext:()Z
            ifne 6
        end local 2 // java.util.ListIterator it
        13: .line 462
            return
        end local 1 // int liveLocalCount
        end local 0 // jdk.nashorn.internal.codegen.Label$Stack this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   14     0            this  Ljdk/nashorn/internal/codegen/Label$Stack;
            0   14     1  liveLocalCount  I
            5   13     2              it  Ljava/util/ListIterator<Ljdk/nashorn/internal/codegen/types/Type;>;
            7   12     3            type  Ljdk/nashorn/internal/codegen/types/Type;
    MethodParameters:
                Name  Flags
      liveLocalCount  final

  boolean hasLoadsOnStack(int, int);
    descriptor: (II)Z
    flags: (0x0000) 
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // jdk.nashorn.internal.codegen.Label$Stack this
        start local 1 // int fromSlot
        start local 2 // int toSlot
         0: .line 471
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         1: goto 6
         2: .line 472
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.localLoads:[I
            iload 3 /* i */
            iaload
            istore 4 /* load */
        start local 4 // int load
         3: .line 473
            iload 4 /* load */
            iload 1 /* fromSlot */
            if_icmplt 5
            iload 4 /* load */
            iload 2 /* toSlot */
            if_icmpge 5
         4: .line 474
            iconst_1
            ireturn
        end local 4 // int load
         5: .line 471
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.sp:I
            if_icmplt 2
        end local 3 // int i
         7: .line 477
            iconst_0
            ireturn
        end local 2 // int toSlot
        end local 1 // int fromSlot
        end local 0 // jdk.nashorn.internal.codegen.Label$Stack this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Ljdk/nashorn/internal/codegen/Label$Stack;
            0    8     1  fromSlot  I
            0    8     2    toSlot  I
            1    7     3         i  I
            3    5     4      load  I
    MethodParameters:
          Name  Flags
      fromSlot  final
      toSlot    final

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.codegen.Label$Stack this
         0: .line 482
            new java.lang.StringBuilder
            dup
            ldc "stack="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.data:[Ljdk/nashorn/internal/codegen/types/Type;
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.sp:I
            invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
            invokestatic java.util.Arrays.toString:([Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         1: .line 483
            ldc ", symbolBoundaries="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.symbolBoundary:Ljava/util/BitSet;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 484
            ldc ", firstTemp="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.firstTemp:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         3: .line 485
            ldc ", localTypes="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Label$Stack.localVariableTypes:Ljava/util/List;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 482
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // jdk.nashorn.internal.codegen.Label$Stack this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljdk/nashorn/internal/codegen/Label$Stack;

  public java.lang.Object clone();
    descriptor: ()Ljava/lang/Object;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual jdk.nashorn.internal.codegen.Label$Stack.clone:()Ljdk/nashorn/internal/codegen/Label$Stack;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.CloneNotSupportedException
}
SourceFile: "Label.java"
NestHost: jdk.nashorn.internal.codegen.Label
InnerClasses:
  final Stack = jdk.nashorn.internal.codegen.Label$Stack of jdk.nashorn.internal.codegen.Label