final class jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler extends jdk.nashorn.internal.runtime.regexp.joni.Compiler
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler
  super_class: jdk.nashorn.internal.runtime.regexp.joni.Compiler
{
  private int[] code;
    descriptor: [I
    flags: (0x0002) ACC_PRIVATE

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

  private char[][] templates;
    descriptor: [[C
    flags: (0x0002) ACC_PRIVATE

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

  private static final int REPEAT_RANGE_ALLOC;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  private static final int QUANTIFIER_EXPAND_LIMIT_SIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 50

  void <init>(jdk.nashorn.internal.runtime.regexp.joni.Analyser);
    descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
        start local 1 // jdk.nashorn.internal.runtime.regexp.joni.Analyser analyser
         0: .line 50
            aload 0 /* this */
            aload 1 /* analyser */
            invokespecial jdk.nashorn.internal.runtime.regexp.joni.Compiler.<init>:(Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;)V
         1: .line 51
            return
        end local 1 // jdk.nashorn.internal.runtime.regexp.joni.Analyser analyser
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
            0    2     1  analyser  Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;
    MethodParameters:
          Name  Flags
      analyser  final

  protected final void prepare();
    descriptor: ()V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
         0: .line 55
            bipush 8
            istore 1 /* codeSize */
        start local 1 // int codeSize
         1: .line 56
            aload 0 /* this */
            iload 1 /* codeSize */
            newarray 10
            putfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.code:[I
         2: .line 57
            aload 0 /* this */
            iconst_0
            putfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.codeLength:I
         3: .line 58
            return
        end local 1 // int codeSize
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
            1    4     1  codeSize  I

  protected final void finish();
    descriptor: ()V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
         0: .line 62
            aload 0 /* this */
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
         1: .line 63
            aload 0 /* this */
            iconst_0
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
         2: .line 65
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.code:[I
            putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.code:[I
         3: .line 66
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.codeLength:I
            putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.codeLength:I
         4: .line 67
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.templates:[[C
            putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.templates:[[C
         5: .line 68
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.templateNum:I
            putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.templateNum:I
         6: .line 69
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getstatic jdk.nashorn.internal.runtime.regexp.joni.MatcherFactory.DEFAULT:Ljdk/nashorn/internal/runtime/regexp/joni/MatcherFactory;
            putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.factory:Ljdk/nashorn/internal/runtime/regexp/joni/MatcherFactory;
         7: .line 70
            return
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;

  protected void compileAltNode(jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode);
    descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
        start local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode node
         0: .line 74
            aload 1 /* node */
            astore 2 /* aln */
        start local 2 // jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode aln
         1: .line 75
            iconst_0
            istore 3 /* len */
        start local 3 // int len
         2: .line 78
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode int
      StackMap stack:
            iload 3 /* len */
            aload 0 /* this */
            aload 2 /* aln */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.car:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileLengthTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
            iadd
            istore 3 /* len */
         3: .line 79
            aload 2 /* aln */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.cdr:Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
            ifnull 5
         4: .line 80
            iinc 3 /* len */ 4
         5: .line 82
      StackMap locals:
      StackMap stack:
            aload 2 /* aln */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.cdr:Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
            dup
            astore 2 /* aln */
            ifnonnull 2
         6: .line 84
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.codeLength:I
            iload 3 /* len */
            iadd
            istore 4 /* pos */
        start local 4 // int pos
         7: .line 86
            aload 1 /* node */
            astore 2 /* aln */
         8: .line 88
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 2 /* aln */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.car:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileLengthTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
            istore 3 /* len */
         9: .line 89
            aload 2 /* aln */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.cdr:Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
            ifnull 11
        10: .line 90
            aload 0 /* this */
            bipush 56
            iload 3 /* len */
            iconst_2
            iadd
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcodeRelAddr:(II)V
        11: .line 92
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* aln */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.car:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)V
        12: .line 93
            aload 2 /* aln */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.cdr:Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
            ifnull 15
        13: .line 94
            iload 4 /* pos */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.codeLength:I
            iconst_2
            iadd
            isub
            istore 3 /* len */
        14: .line 95
            aload 0 /* this */
            bipush 55
            iload 3 /* len */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcodeRelAddr:(II)V
        15: .line 97
      StackMap locals:
      StackMap stack:
            aload 2 /* aln */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.cdr:Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
            dup
            astore 2 /* aln */
            ifnonnull 8
        16: .line 98
            return
        end local 4 // int pos
        end local 3 // int len
        end local 2 // jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode aln
        end local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode node
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   17     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
            0   17     1  node  Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
            1   17     2   aln  Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
            2   17     3   len  I
            7   17     4   pos  I
    MethodParameters:
      Name  Flags
      node  final

  private static boolean isNeedStrLenOpExact(int);
    descriptor: (I)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int op
         0: .line 101
            iload 0 /* op */
            bipush 7
            if_icmpeq 1
            iload 0 /* op */
            bipush 15
            if_icmpeq 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // int op
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0    op  I
    MethodParameters:
      Name  Flags
      op    final

  private static boolean opTemplated(int);
    descriptor: (I)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // int op
         0: .line 105
            iload 0 /* op */
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.isNeedStrLenOpExact:(I)Z
            ireturn
        end local 0 // int op
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    op  I
    MethodParameters:
      Name  Flags
      op    final

  private static int selectStrOpcode(int, boolean);
    descriptor: (IZ)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=3, args_size=2
        start local 0 // int strLength
        start local 1 // boolean ignoreCase
         0: .line 111
            iload 1 /* ignoreCase */
            ifeq 6
         1: .line 112
            iload 0 /* strLength */
            tableswitch { // 1 - 1
                    1: 2
              default: 4
          }
         2: .line 113
      StackMap locals:
      StackMap stack:
            bipush 14
            istore 2 /* op */
        start local 2 // int op
         3: goto 18
        end local 2 // int op
         4: .line 114
      StackMap locals:
      StackMap stack:
            bipush 15
            istore 2 /* op */
        start local 2 // int op
         5: .line 116
            goto 18
        end local 2 // int op
         6: .line 117
      StackMap locals:
      StackMap stack:
            iload 0 /* strLength */
            tableswitch { // 1 - 5
                    1: 7
                    2: 9
                    3: 11
                    4: 13
                    5: 15
              default: 17
          }
         7: .line 118
      StackMap locals:
      StackMap stack:
            iconst_2
            istore 2 /* op */
        start local 2 // int op
         8: goto 18
        end local 2 // int op
         9: .line 119
      StackMap locals:
      StackMap stack:
            iconst_3
            istore 2 /* op */
        start local 2 // int op
        10: goto 18
        end local 2 // int op
        11: .line 120
      StackMap locals:
      StackMap stack:
            iconst_4
            istore 2 /* op */
        start local 2 // int op
        12: goto 18
        end local 2 // int op
        13: .line 121
      StackMap locals:
      StackMap stack:
            iconst_5
            istore 2 /* op */
        start local 2 // int op
        14: goto 18
        end local 2 // int op
        15: .line 122
      StackMap locals:
      StackMap stack:
            bipush 6
            istore 2 /* op */
        start local 2 // int op
        16: goto 18
        end local 2 // int op
        17: .line 123
      StackMap locals:
      StackMap stack:
            bipush 7
            istore 2 /* op */
        start local 2 // int op
        18: .line 126
      StackMap locals: int
      StackMap stack:
            iload 2 /* op */
            ireturn
        end local 2 // int op
        end local 1 // boolean ignoreCase
        end local 0 // int strLength
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   19     0   strLength  I
            0   19     1  ignoreCase  Z
            3    4     2          op  I
            5    6     2          op  I
            8    9     2          op  I
           10   11     2          op  I
           12   13     2          op  I
           14   15     2          op  I
           16   17     2          op  I
           18   19     2          op  I
    MethodParameters:
            Name  Flags
      strLength   final
      ignoreCase  final

  private void compileTreeEmptyCheck(jdk.nashorn.internal.runtime.regexp.joni.ast.Node, int);
    descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
        start local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node node
        start local 2 // int emptyInfo
         0: .line 130
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.numNullCheck:I
            istore 3 /* savedNumNullCheck */
        start local 3 // int savedNumNullCheck
         1: .line 132
            iload 2 /* emptyInfo */
            ifeq 5
         2: .line 133
            aload 0 /* this */
            bipush 66
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
         3: .line 134
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.numNullCheck:I
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addMemNum:(I)V
         4: .line 135
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            dup
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.numNullCheck:I
            iconst_1
            iadd
            putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.numNullCheck:I
         5: .line 138
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* node */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)V
         6: .line 140
            iload 2 /* emptyInfo */
            ifeq 13
         7: .line 141
            iload 2 /* emptyInfo */
            tableswitch { // 1 - 2
                    1: 8
                    2: 10
              default: 12
          }
         8: .line 143
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 67
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
         9: .line 144
            goto 12
        10: .line 146
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 68
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
        11: .line 147
            goto 12
        12: .line 152
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* savedNumNullCheck */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addMemNum:(I)V
        13: .line 154
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int savedNumNullCheck
        end local 2 // int emptyInfo
        end local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node node
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   14     0               this  Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
            0   14     1               node  Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            0   14     2          emptyInfo  I
            1   14     3  savedNumNullCheck  I
    MethodParameters:
           Name  Flags
      node       final
      emptyInfo  final

  private static int addCompileStringlength(char[], int, int, boolean);
    descriptor: ([CIIZ)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=4
        start local 0 // char[] chars
        start local 1 // int p
        start local 2 // int strLength
        start local 3 // boolean ignoreCase
         0: .line 157
            iload 2 /* strLength */
            iload 3 /* ignoreCase */
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.selectStrOpcode:(IZ)I
            istore 4 /* op */
        start local 4 // int op
         1: .line 158
            iconst_1
            istore 5 /* len */
        start local 5 // int len
         2: .line 160
            iload 4 /* op */
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.opTemplated:(I)Z
            ifeq 5
         3: .line 162
            iinc 5 /* len */ 3
         4: .line 163
            goto 8
         5: .line 164
      StackMap locals: int int
      StackMap stack:
            iload 4 /* op */
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.isNeedStrLenOpExact:(I)Z
            ifeq 7
         6: .line 165
            iinc 5 /* len */ 1
         7: .line 167
      StackMap locals:
      StackMap stack:
            iload 5 /* len */
            iload 2 /* strLength */
            iadd
            istore 5 /* len */
         8: .line 169
      StackMap locals:
      StackMap stack:
            iload 5 /* len */
            ireturn
        end local 5 // int len
        end local 4 // int op
        end local 3 // boolean ignoreCase
        end local 2 // int strLength
        end local 1 // int p
        end local 0 // char[] chars
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0       chars  [C
            0    9     1           p  I
            0    9     2   strLength  I
            0    9     3  ignoreCase  Z
            1    9     4          op  I
            2    9     5         len  I
    MethodParameters:
            Name  Flags
      chars       final
      p           final
      strLength   final
      ignoreCase  final

  protected final void addCompileString(char[], int, int, boolean);
    descriptor: ([CIIZ)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=4, locals=6, args_size=5
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
        start local 1 // char[] chars
        start local 2 // int p
        start local 3 // int strLength
        start local 4 // boolean ignoreCase
         0: .line 174
            iload 3 /* strLength */
            iload 4 /* ignoreCase */
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.selectStrOpcode:(IZ)I
            istore 5 /* op */
        start local 5 // int op
         1: .line 175
            aload 0 /* this */
            iload 5 /* op */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
         2: .line 177
            iload 5 /* op */
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.isNeedStrLenOpExact:(I)Z
            ifeq 4
         3: .line 178
            aload 0 /* this */
            iload 3 /* strLength */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addLength:(I)V
         4: .line 181
      StackMap locals: int
      StackMap stack:
            iload 5 /* op */
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.opTemplated:(I)Z
            ifeq 9
         5: .line 182
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.templateNum:I
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addInt:(I)V
         6: .line 183
            aload 0 /* this */
            iload 2 /* p */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addInt:(I)V
         7: .line 184
            aload 0 /* this */
            aload 1 /* chars */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addTemplate:([C)V
         8: .line 185
            goto 10
         9: .line 186
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* chars */
            iload 2 /* p */
            iload 3 /* strLength */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addChars:([CII)V
        10: .line 188
      StackMap locals:
      StackMap stack:
            return
        end local 5 // int op
        end local 4 // boolean ignoreCase
        end local 3 // int strLength
        end local 2 // int p
        end local 1 // char[] chars
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        this  Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
            0   11     1       chars  [C
            0   11     2           p  I
            0   11     3   strLength  I
            0   11     4  ignoreCase  Z
            1   11     5          op  I
    MethodParameters:
            Name  Flags
      chars       final
      p           final
      strLength   final
      ignoreCase  final

  private static int compileLengthStringNode(jdk.nashorn.internal.runtime.regexp.joni.ast.Node);
    descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=10, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node node
         0: .line 191
            aload 0 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
            astore 1 /* sn */
        start local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode sn
         1: .line 192
            aload 1 /* sn */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.length:()I
            ifgt 3
         2: .line 193
            iconst_0
            ireturn
         3: .line 195
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
      StackMap stack:
            aload 1 /* sn */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.isAmbig:()Z
            istore 2 /* ambig */
        start local 2 // boolean ambig
         4: .line 198
            aload 1 /* sn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.p:I
            dup
            istore 4 /* prev */
        start local 4 // int prev
         5: istore 3 /* p */
        start local 3 // int p
         6: .line 199
            aload 1 /* sn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.end:I
            istore 5 /* end */
        start local 5 // int end
         7: .line 200
            aload 1 /* sn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.chars:[C
            astore 6 /* chars */
        start local 6 // char[] chars
         8: .line 201
            iinc 3 /* p */ 1
         9: .line 203
            iconst_1
            istore 7 /* slen */
        start local 7 // int slen
        10: .line 204
            iconst_0
            istore 8 /* rlen */
        start local 8 // int rlen
        11: .line 206
            goto 14
        12: .line 207
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.Node jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode int int int int char[] int int
      StackMap stack:
            iinc 7 /* slen */ 1
        13: .line 208
            iinc 3 /* p */ 1
        14: .line 206
      StackMap locals:
      StackMap stack:
            iload 3 /* p */
            iload 5 /* end */
            if_icmplt 12
        15: .line 210
            aload 6 /* chars */
            iload 4 /* prev */
            iload 7 /* slen */
            iload 2 /* ambig */
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addCompileStringlength:([CIIZ)I
            istore 9 /* r */
        start local 9 // int r
        16: .line 211
            iload 8 /* rlen */
            iload 9 /* r */
            iadd
            istore 8 /* rlen */
        17: .line 212
            iload 8 /* rlen */
            ireturn
        end local 9 // int r
        end local 8 // int rlen
        end local 7 // int slen
        end local 6 // char[] chars
        end local 5 // int end
        end local 4 // int prev
        end local 3 // int p
        end local 2 // boolean ambig
        end local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode sn
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node node
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   18     0   node  Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            1   18     1     sn  Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
            4   18     2  ambig  Z
            6   18     3      p  I
            5   18     4   prev  I
            7   18     5    end  I
            8   18     6  chars  [C
           10   18     7   slen  I
           11   18     8   rlen  I
           16   18     9      r  I
    MethodParameters:
      Name  Flags
      node  final

  private static int compileLengthStringRawNode(jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode);
    descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode sn
         0: .line 216
            aload 0 /* sn */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.length:()I
            ifgt 2
         1: .line 217
            iconst_0
            ireturn
         2: .line 219
      StackMap locals:
      StackMap stack:
            aload 0 /* sn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.chars:[C
            aload 0 /* sn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.p:I
            aload 0 /* sn */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.length:()I
            iconst_0
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addCompileStringlength:([CIIZ)I
            ireturn
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode sn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0    sn  Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
    MethodParameters:
      Name  Flags
      sn    final

  private void addMultiByteCClass(jdk.nashorn.internal.runtime.regexp.joni.CodeRangeBuffer);
    descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/CodeRangeBuffer;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
        start local 1 // jdk.nashorn.internal.runtime.regexp.joni.CodeRangeBuffer mbuf
         0: .line 223
            aload 0 /* this */
            aload 1 /* mbuf */
            getfield jdk.nashorn.internal.runtime.regexp.joni.CodeRangeBuffer.used:I
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addLength:(I)V
         1: .line 224
            aload 0 /* this */
            aload 1 /* mbuf */
            getfield jdk.nashorn.internal.runtime.regexp.joni.CodeRangeBuffer.p:[I
            aload 1 /* mbuf */
            getfield jdk.nashorn.internal.runtime.regexp.joni.CodeRangeBuffer.used:I
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addInts:([II)V
         2: .line 225
            return
        end local 1 // jdk.nashorn.internal.runtime.regexp.joni.CodeRangeBuffer mbuf
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
            0    3     1  mbuf  Ljdk/nashorn/internal/runtime/regexp/joni/CodeRangeBuffer;
    MethodParameters:
      Name  Flags
      mbuf  final

  private static int compileLengthCClassNode(jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode);
    descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/CClassNode;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode cc
         0: .line 228
            aload 0 /* cc */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.isShare:()Z
            ifeq 2
         1: .line 229
            iconst_2
            ireturn
         2: .line 233
      StackMap locals:
      StackMap stack:
            aload 0 /* cc */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.mbuf:Ljdk/nashorn/internal/runtime/regexp/joni/CodeRangeBuffer;
            ifnonnull 5
         3: .line 234
            bipush 9
            istore 1 /* len */
        start local 1 // int len
         4: .line 235
            goto 10
        end local 1 // int len
         5: .line 236
      StackMap locals:
      StackMap stack:
            aload 0 /* cc */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.bs:Ljdk/nashorn/internal/runtime/regexp/joni/BitSet;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.BitSet.isEmpty:()Z
            ifeq 8
         6: .line 237
            iconst_1
            istore 1 /* len */
        start local 1 // int len
         7: .line 238
            goto 9
        end local 1 // int len
         8: .line 239
      StackMap locals:
      StackMap stack:
            bipush 9
            istore 1 /* len */
        start local 1 // int len
         9: .line 242
      StackMap locals: int
      StackMap stack:
            iload 1 /* len */
            iconst_1
            aload 0 /* cc */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.mbuf:Ljdk/nashorn/internal/runtime/regexp/joni/CodeRangeBuffer;
            getfield jdk.nashorn.internal.runtime.regexp.joni.CodeRangeBuffer.used:I
            iadd
            iadd
            istore 1 /* len */
        10: .line 244
      StackMap locals:
      StackMap stack:
            iload 1 /* len */
            ireturn
        end local 1 // int len
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode cc
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0    cc  Ljdk/nashorn/internal/runtime/regexp/joni/ast/CClassNode;
            4    5     1   len  I
            7    8     1   len  I
            9   11     1   len  I
    MethodParameters:
      Name  Flags
      cc    final

  protected void compileCClassNode(jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode);
    descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/CClassNode;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
        start local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode cc
         0: .line 249
            aload 1 /* cc */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.isShare:()Z
            ifeq 4
         1: .line 250
            aload 0 /* this */
            bipush 22
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
         2: .line 251
            aload 0 /* this */
            aload 1 /* cc */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addPointer:(Ljava/lang/Object;)V
         3: .line 252
            return
         4: .line 255
      StackMap locals:
      StackMap stack:
            aload 1 /* cc */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.mbuf:Ljdk/nashorn/internal/runtime/regexp/joni/CodeRangeBuffer;
            ifnonnull 11
         5: .line 256
            aload 1 /* cc */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.isNot:()Z
            ifeq 8
         6: .line 257
            aload 0 /* this */
            bipush 19
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
         7: .line 258
            goto 9
         8: .line 259
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 16
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
         9: .line 261
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* cc */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.bs:Ljdk/nashorn/internal/runtime/regexp/joni/BitSet;
            getfield jdk.nashorn.internal.runtime.regexp.joni.BitSet.bits:[I
            bipush 8
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addInts:([II)V
        10: .line 262
            goto 24
        11: .line 263
      StackMap locals:
      StackMap stack:
            aload 1 /* cc */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.bs:Ljdk/nashorn/internal/runtime/regexp/joni/BitSet;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.BitSet.isEmpty:()Z
            ifeq 18
        12: .line 264
            aload 1 /* cc */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.isNot:()Z
            ifeq 15
        13: .line 265
            aload 0 /* this */
            bipush 20
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
        14: .line 266
            goto 16
        15: .line 267
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 17
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
        16: .line 269
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* cc */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.mbuf:Ljdk/nashorn/internal/runtime/regexp/joni/CodeRangeBuffer;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addMultiByteCClass:(Ljdk/nashorn/internal/runtime/regexp/joni/CodeRangeBuffer;)V
        17: .line 270
            goto 24
        18: .line 271
      StackMap locals:
      StackMap stack:
            aload 1 /* cc */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.isNot:()Z
            ifeq 21
        19: .line 272
            aload 0 /* this */
            bipush 21
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
        20: .line 273
            goto 22
        21: .line 274
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 18
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
        22: .line 277
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* cc */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.bs:Ljdk/nashorn/internal/runtime/regexp/joni/BitSet;
            getfield jdk.nashorn.internal.runtime.regexp.joni.BitSet.bits:[I
            bipush 8
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addInts:([II)V
        23: .line 278
            aload 0 /* this */
            aload 1 /* cc */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.mbuf:Ljdk/nashorn/internal/runtime/regexp/joni/CodeRangeBuffer;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addMultiByteCClass:(Ljdk/nashorn/internal/runtime/regexp/joni/CodeRangeBuffer;)V
        24: .line 281
      StackMap locals:
      StackMap stack:
            return
        end local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode cc
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   25     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
            0   25     1    cc  Ljdk/nashorn/internal/runtime/regexp/joni/ast/CClassNode;
    MethodParameters:
      Name  Flags
      cc    final

  protected void compileAnyCharNode();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
         0: .line 285
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.options:I
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.Option.isMultiline:(I)Z
            ifeq 3
         1: .line 286
            aload 0 /* this */
            bipush 24
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
         2: .line 287
            goto 4
         3: .line 288
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 23
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
         4: .line 290
      StackMap locals:
      StackMap stack:
            return
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;

  protected void compileBackrefNode(jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode);
    descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/BackRefNode;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
        start local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode node
         0: .line 294
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.options:I
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.Option.isIgnoreCase:(I)Z
            ifeq 4
         1: .line 295
            aload 0 /* this */
            bipush 44
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
         2: .line 296
            aload 0 /* this */
            aload 1 /* node */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode.backRef:I
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addMemNum:(I)V
         3: .line 297
            goto 11
         4: .line 298
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode.backRef:I
            tableswitch { // 1 - 2
                    1: 5
                    2: 7
              default: 9
          }
         5: .line 300
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 41
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
         6: .line 301
            goto 11
         7: .line 303
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 42
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
         8: .line 304
            goto 11
         9: .line 306
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 43
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
        10: .line 307
            aload 0 /* this */
            aload 1 /* node */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode.backRef:I
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
        11: .line 311
      StackMap locals:
      StackMap stack:
            return
        end local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode node
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
            0   12     1  node  Ljdk/nashorn/internal/runtime/regexp/joni/ast/BackRefNode;
    MethodParameters:
      Name  Flags
      node  final

  private void entryRepeatRange(int, int, int);
    descriptor: (III)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
        start local 1 // int id
        start local 2 // int lower
        start local 3 // int upper
         0: .line 315
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.repeatRangeLo:[I
            ifnonnull 4
         1: .line 316
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            bipush 8
            newarray 10
            putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.repeatRangeLo:[I
         2: .line 317
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            bipush 8
            newarray 10
            putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.repeatRangeHi:[I
         3: .line 318
            goto 11
      StackMap locals:
      StackMap stack:
         4: iload 1 /* id */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.repeatRangeLo:[I
            arraylength
            if_icmplt 11
         5: .line 319
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.repeatRangeLo:[I
            arraylength
            bipush 8
            iadd
            newarray 10
            astore 4 /* tmp */
        start local 4 // int[] tmp
         6: .line 320
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.repeatRangeLo:[I
            iconst_0
            aload 4 /* tmp */
            iconst_0
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.repeatRangeLo:[I
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         7: .line 321
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            aload 4 /* tmp */
            putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.repeatRangeLo:[I
         8: .line 322
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.repeatRangeHi:[I
            arraylength
            bipush 8
            iadd
            newarray 10
            astore 4 /* tmp */
         9: .line 323
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.repeatRangeHi:[I
            iconst_0
            aload 4 /* tmp */
            iconst_0
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.repeatRangeHi:[I
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        10: .line 324
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            aload 4 /* tmp */
            putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.repeatRangeHi:[I
        end local 4 // int[] tmp
        11: .line 327
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.repeatRangeLo:[I
            iload 1 /* id */
            iload 2 /* lower */
            iastore
        12: .line 328
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.repeatRangeHi:[I
            iload 1 /* id */
            iload 3 /* upper */
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.isRepeatInfinite:(I)Z
            ifeq 13
            ldc 2147483647
            goto 14
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler int int int
      StackMap stack: int[] int
        13: iload 3 /* upper */
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler int int int
      StackMap stack: int[] int int
        14: iastore
        15: .line 329
            return
        end local 3 // int upper
        end local 2 // int lower
        end local 1 // int id
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   16     0   this  Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
            0   16     1     id  I
            0   16     2  lower  I
            0   16     3  upper  I
            6   11     4    tmp  [I
    MethodParameters:
       Name  Flags
      id     final
      lower  final
      upper  final

  private void compileRangeRepeatNode(jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode, int, int);
    descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/QuantifierNode;II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
        start local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode qn
        start local 2 // int targetLen
        start local 3 // int emptyInfo
         0: .line 332
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.numRepeat:I
            istore 4 /* numRepeat */
        start local 4 // int numRepeat
         1: .line 333
            aload 0 /* this */
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.greedy:Z
            ifeq 2
            bipush 60
            goto 3
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode int int int
      StackMap stack: jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler
         2: bipush 61
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode int int int
      StackMap stack: jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler int
         3: invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
         4: .line 334
            aload 0 /* this */
            iload 4 /* numRepeat */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addMemNum:(I)V
         5: .line 335
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            dup
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.numRepeat:I
            iconst_1
            iadd
            putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.numRepeat:I
         6: .line 336
            aload 0 /* this */
            iload 2 /* targetLen */
            iconst_2
            iadd
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addRelAddr:(I)V
         7: .line 338
            aload 0 /* this */
            iload 4 /* numRepeat */
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.upper:I
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.entryRepeatRange:(III)V
         8: .line 340
            aload 0 /* this */
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            iload 3 /* emptyInfo */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileTreeEmptyCheck:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)V
         9: .line 342
            aload 1 /* qn */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.isInRepeat:()Z
            ifeq 14
        10: .line 343
            aload 0 /* this */
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.greedy:Z
            ifeq 11
            bipush 64
            goto 12
      StackMap locals:
      StackMap stack: jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler
        11: bipush 65
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode int int int
      StackMap stack: jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler int
        12: invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
        13: .line 344
            goto 17
        14: .line 345
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.greedy:Z
            ifeq 15
            bipush 62
            goto 16
      StackMap locals:
      StackMap stack: jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler
        15: bipush 63
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode int int int
      StackMap stack: jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler int
        16: invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
        17: .line 348
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* numRepeat */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addMemNum:(I)V
        18: .line 349
            return
        end local 4 // int numRepeat
        end local 3 // int emptyInfo
        end local 2 // int targetLen
        end local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode qn
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   19     0       this  Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
            0   19     1         qn  Ljdk/nashorn/internal/runtime/regexp/joni/ast/QuantifierNode;
            0   19     2  targetLen  I
            0   19     3  emptyInfo  I
            1   19     4  numRepeat  I
    MethodParameters:
           Name  Flags
      qn         final
      targetLen  final
      emptyInfo  final

  private static boolean cknOn(int);
    descriptor: (I)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // int ckn
         0: .line 355
            iload 0 /* ckn */
            ifle 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // int ckn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   ckn  I
    MethodParameters:
      Name  Flags
      ckn   final

  private int compileNonCECLengthQuantifierNode(jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode);
    descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/QuantifierNode;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
        start local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode qn
         0: .line 359
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.upper:I
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.isRepeatInfinite:(I)Z
            istore 2 /* infinite */
        start local 2 // boolean infinite
         1: .line 360
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.targetEmptyInfo:I
            istore 3 /* emptyInfo */
        start local 3 // int emptyInfo
         2: .line 362
            aload 0 /* this */
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileLengthTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
            istore 4 /* tlen */
        start local 4 // int tlen
         3: .line 365
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.Node.getType:()I
            iconst_3
            if_icmpne 8
         4: .line 366
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.greedy:Z
            ifeq 8
            iload 2 /* infinite */
            ifeq 8
         5: .line 367
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.nextHeadExact:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            ifnull 7
         6: .line 368
            iconst_2
            iload 4 /* tlen */
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
            imul
            iadd
            ireturn
         7: .line 370
      StackMap locals: int int int
      StackMap stack:
            iconst_1
            iload 4 /* tlen */
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
            imul
            iadd
            ireturn
         8: .line 374
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* modTLen */
        start local 5 // int modTLen
         9: .line 375
            iload 3 /* emptyInfo */
            ifeq 12
        10: .line 376
            iload 4 /* tlen */
            iconst_4
            iadd
            istore 5 /* modTLen */
        11: .line 377
            goto 13
        12: .line 378
      StackMap locals: int
      StackMap stack:
            iload 4 /* tlen */
            istore 5 /* modTLen */
        13: .line 382
      StackMap locals:
      StackMap stack:
            iload 2 /* infinite */
            ifeq 29
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
            iconst_1
            if_icmple 14
            iload 4 /* tlen */
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
            imul
            bipush 50
            if_icmpgt 29
        14: .line 383
      StackMap locals:
      StackMap stack:
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
            iconst_1
            if_icmpne 17
            iload 4 /* tlen */
            bipush 50
            if_icmple 17
        15: .line 384
            iconst_2
            istore 6 /* len */
        start local 6 // int len
        16: .line 385
            goto 18
        end local 6 // int len
        17: .line 386
      StackMap locals:
      StackMap stack:
            iload 4 /* tlen */
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
            imul
            istore 6 /* len */
        start local 6 // int len
        18: .line 389
      StackMap locals: int
      StackMap stack:
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.greedy:Z
            ifeq 27
        19: .line 390
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.headExact:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            ifnull 22
        20: .line 391
            iload 6 /* len */
            iconst_3
            iload 5 /* modTLen */
            iadd
            iconst_2
            iadd
            iadd
            istore 6 /* len */
        21: .line 392
            goto 41
      StackMap locals:
      StackMap stack:
        22: aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.nextHeadExact:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            ifnull 25
        23: .line 393
            iload 6 /* len */
            iconst_3
            iload 5 /* modTLen */
            iadd
            iconst_2
            iadd
            iadd
            istore 6 /* len */
        24: .line 394
            goto 41
        25: .line 395
      StackMap locals:
      StackMap stack:
            iload 6 /* len */
            iconst_2
            iload 5 /* modTLen */
            iadd
            iconst_2
            iadd
            iadd
            istore 6 /* len */
        26: .line 397
            goto 41
        27: .line 398
      StackMap locals:
      StackMap stack:
            iload 6 /* len */
            iconst_2
            iload 5 /* modTLen */
            iadd
            iconst_2
            iadd
            iadd
            istore 6 /* len */
        28: .line 401
            goto 41
        end local 6 // int len
      StackMap locals:
      StackMap stack:
        29: aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.upper:I
            ifne 32
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.isRefered:Z
            ifeq 32
        30: .line 402
            iconst_2
            iload 4 /* tlen */
            iadd
            istore 6 /* len */
        start local 6 // int len
        31: .line 403
            goto 41
        end local 6 // int len
      StackMap locals:
      StackMap stack:
        32: iload 2 /* infinite */
            ifne 37
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.greedy:Z
            ifeq 37
        33: .line 404
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.upper:I
            iconst_1
            if_icmpeq 34
            iload 4 /* tlen */
            iconst_2
            iadd
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.upper:I
            imul
            bipush 50
            if_icmpgt 37
        34: .line 405
      StackMap locals:
      StackMap stack:
            iload 4 /* tlen */
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
            imul
            istore 6 /* len */
        start local 6 // int len
        35: .line 406
            iload 6 /* len */
            iconst_2
            iload 4 /* tlen */
            iadd
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.upper:I
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
            isub
            imul
            iadd
            istore 6 /* len */
        36: .line 407
            goto 41
        end local 6 // int len
      StackMap locals:
      StackMap stack:
        37: aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.greedy:Z
            ifne 40
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.upper:I
            iconst_1
            if_icmpne 40
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
            ifne 40
        38: .line 408
            iconst_4
            iload 4 /* tlen */
            iadd
            istore 6 /* len */
        start local 6 // int len
        39: .line 409
            goto 41
        end local 6 // int len
        40: .line 410
      StackMap locals:
      StackMap stack:
            iconst_2
            iload 5 /* modTLen */
            iadd
            iconst_1
            iadd
            iconst_1
            iadd
            iconst_1
            iadd
            istore 6 /* len */
        start local 6 // int len
        41: .line 412
      StackMap locals: int
      StackMap stack:
            iload 6 /* len */
            ireturn
        end local 6 // int len
        end local 5 // int modTLen
        end local 4 // int tlen
        end local 3 // int emptyInfo
        end local 2 // boolean infinite
        end local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode qn
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   42     0       this  Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
            0   42     1         qn  Ljdk/nashorn/internal/runtime/regexp/joni/ast/QuantifierNode;
            1   42     2   infinite  Z
            2   42     3  emptyInfo  I
            3   42     4       tlen  I
            9   42     5    modTLen  I
           16   17     6        len  I
           18   29     6        len  I
           31   32     6        len  I
           35   37     6        len  I
           39   40     6        len  I
           41   42     6        len  I
    MethodParameters:
      Name  Flags
      qn    final

  protected void compileNonCECQuantifierNode(jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode);
    descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/QuantifierNode;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
        start local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode qn
         0: .line 417
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.upper:I
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.isRepeatInfinite:(I)Z
            istore 2 /* infinite */
        start local 2 // boolean infinite
         1: .line 418
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.targetEmptyInfo:I
            istore 3 /* emptyInfo */
        start local 3 // int emptyInfo
         2: .line 420
            aload 0 /* this */
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileLengthTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
            istore 4 /* tlen */
        start local 4 // int tlen
         3: .line 422
            aload 1 /* qn */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.isAnyCharStar:()Z
            ifeq 18
         4: .line 423
            aload 0 /* this */
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileTreeNTimes:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)V
         5: .line 424
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.nextHeadExact:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            ifnull 13
         6: .line 425
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.options:I
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.Option.isMultiline:(I)Z
            ifeq 9
         7: .line 426
            aload 0 /* this */
            bipush 28
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
         8: .line 427
            goto 10
         9: .line 428
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            bipush 27
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
        10: .line 430
      StackMap locals:
      StackMap stack:
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.nextHeadExact:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
            astore 5 /* sn */
        start local 5 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode sn
        11: .line 431
            aload 0 /* this */
            aload 5 /* sn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.chars:[C
            aload 5 /* sn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.p:I
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addChars:([CII)V
        12: .line 432
            return
        end local 5 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode sn
        13: .line 434
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.options:I
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.Option.isMultiline:(I)Z
            ifeq 16
        14: .line 435
            aload 0 /* this */
            bipush 26
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
        15: .line 436
            goto 17
        16: .line 437
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 25
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
        17: .line 439
      StackMap locals:
      StackMap stack:
            return
        18: .line 443
      StackMap locals:
      StackMap stack:
            iload 3 /* emptyInfo */
            ifeq 21
        19: .line 444
            iload 4 /* tlen */
            iconst_4
            iadd
            istore 5 /* modTLen */
        start local 5 // int modTLen
        20: .line 445
            goto 22
        end local 5 // int modTLen
        21: .line 446
      StackMap locals:
      StackMap stack:
            iload 4 /* tlen */
            istore 5 /* modTLen */
        start local 5 // int modTLen
        22: .line 448
      StackMap locals: int
      StackMap stack:
            iload 2 /* infinite */
            ifeq 59
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
            iconst_1
            if_icmple 23
            iload 4 /* tlen */
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
            imul
            bipush 50
            if_icmpgt 59
        23: .line 449
      StackMap locals:
      StackMap stack:
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
            iconst_1
            if_icmpne 35
            iload 4 /* tlen */
            bipush 50
            if_icmple 35
        24: .line 450
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.greedy:Z
            ifeq 33
        25: .line 451
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.headExact:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            ifnull 28
        26: .line 452
            aload 0 /* this */
            bipush 55
            iconst_3
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcodeRelAddr:(II)V
        27: .line 453
            goto 36
      StackMap locals:
      StackMap stack:
        28: aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.nextHeadExact:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            ifnull 31
        29: .line 454
            aload 0 /* this */
            bipush 55
            iconst_3
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcodeRelAddr:(II)V
        30: .line 455
            goto 36
        31: .line 456
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 55
            iconst_2
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcodeRelAddr:(II)V
        32: .line 458
            goto 36
        33: .line 459
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 55
            iconst_2
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcodeRelAddr:(II)V
        34: .line 461
            goto 36
        35: .line 462
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileTreeNTimes:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)V
        36: .line 465
      StackMap locals:
      StackMap stack:
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.greedy:Z
            ifeq 55
        37: .line 466
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.headExact:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            ifnull 44
        38: .line 467
            aload 0 /* this */
            bipush 58
            iload 5 /* modTLen */
            iconst_2
            iadd
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcodeRelAddr:(II)V
        39: .line 468
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.headExact:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
            astore 6 /* sn */
        start local 6 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode sn
        40: .line 469
            aload 0 /* this */
            aload 6 /* sn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.chars:[C
            aload 6 /* sn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.p:I
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addChars:([CII)V
        41: .line 470
            aload 0 /* this */
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            iload 3 /* emptyInfo */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileTreeEmptyCheck:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)V
        42: .line 471
            aload 0 /* this */
            bipush 55
            iload 5 /* modTLen */
            iconst_2
            iadd
            iconst_3
            iadd
            ineg
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcodeRelAddr:(II)V
        end local 6 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode sn
        43: .line 472
            goto 80
      StackMap locals:
      StackMap stack:
        44: aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.nextHeadExact:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            ifnull 51
        45: .line 473
            aload 0 /* this */
            bipush 59
            iload 5 /* modTLen */
            iconst_2
            iadd
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcodeRelAddr:(II)V
        46: .line 474
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.nextHeadExact:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
            astore 6 /* sn */
        start local 6 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode sn
        47: .line 475
            aload 0 /* this */
            aload 6 /* sn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.chars:[C
            aload 6 /* sn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.p:I
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addChars:([CII)V
        48: .line 476
            aload 0 /* this */
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            iload 3 /* emptyInfo */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileTreeEmptyCheck:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)V
        49: .line 477
            aload 0 /* this */
            bipush 55
            iload 5 /* modTLen */
            iconst_2
            iadd
            iconst_3
            iadd
            ineg
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcodeRelAddr:(II)V
        end local 6 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode sn
        50: .line 478
            goto 80
        51: .line 479
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 56
            iload 5 /* modTLen */
            iconst_2
            iadd
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcodeRelAddr:(II)V
        52: .line 480
            aload 0 /* this */
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            iload 3 /* emptyInfo */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileTreeEmptyCheck:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)V
        53: .line 481
            aload 0 /* this */
            bipush 55
            iload 5 /* modTLen */
            iconst_2
            iadd
            iconst_2
            iadd
            ineg
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcodeRelAddr:(II)V
        54: .line 483
            goto 80
        55: .line 484
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 55
            iload 5 /* modTLen */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcodeRelAddr:(II)V
        56: .line 485
            aload 0 /* this */
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            iload 3 /* emptyInfo */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileTreeEmptyCheck:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)V
        57: .line 486
            aload 0 /* this */
            bipush 56
            iload 5 /* modTLen */
            iconst_2
            iadd
            ineg
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcodeRelAddr:(II)V
        58: .line 488
            goto 80
      StackMap locals:
      StackMap stack:
        59: aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.upper:I
            ifne 63
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.isRefered:Z
            ifeq 63
        60: .line 489
            aload 0 /* this */
            bipush 55
            iload 4 /* tlen */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcodeRelAddr:(II)V
        61: .line 490
            aload 0 /* this */
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)V
        62: .line 491
            goto 80
      StackMap locals:
      StackMap stack:
        63: iload 2 /* infinite */
            ifne 74
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.greedy:Z
            ifeq 74
        64: .line 492
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.upper:I
            iconst_1
            if_icmpeq 65
            iload 4 /* tlen */
            iconst_2
            iadd
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.upper:I
            imul
            bipush 50
            if_icmpgt 74
        65: .line 493
      StackMap locals:
      StackMap stack:
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.upper:I
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
            isub
            istore 6 /* n */
        start local 6 // int n
        66: .line 494
            aload 0 /* this */
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileTreeNTimes:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)V
        67: .line 496
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        68: goto 72
        69: .line 497
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            bipush 56
            iload 6 /* n */
            iload 7 /* i */
            isub
            iload 4 /* tlen */
            imul
            iload 6 /* n */
            iload 7 /* i */
            isub
            iconst_1
            isub
            iconst_2
            imul
            iadd
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcodeRelAddr:(II)V
        70: .line 498
            aload 0 /* this */
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)V
        71: .line 496
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        72: iload 7 /* i */
            iload 6 /* n */
            if_icmplt 69
        end local 7 // int i
        end local 6 // int n
        73: .line 500
            goto 80
      StackMap locals:
      StackMap stack:
        74: aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.greedy:Z
            ifne 79
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.upper:I
            iconst_1
            if_icmpne 79
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
            ifne 79
        75: .line 501
            aload 0 /* this */
            bipush 56
            iconst_2
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcodeRelAddr:(II)V
        76: .line 502
            aload 0 /* this */
            bipush 55
            iload 4 /* tlen */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcodeRelAddr:(II)V
        77: .line 503
            aload 0 /* this */
            aload 1 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)V
        78: .line 504
            goto 80
        79: .line 505
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* qn */
            iload 5 /* modTLen */
            iload 3 /* emptyInfo */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileRangeRepeatNode:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/QuantifierNode;II)V
        80: .line 507
      StackMap locals:
      StackMap stack:
            return
        end local 5 // int modTLen
        end local 4 // int tlen
        end local 3 // int emptyInfo
        end local 2 // boolean infinite
        end local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode qn
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   81     0       this  Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
            0   81     1         qn  Ljdk/nashorn/internal/runtime/regexp/joni/ast/QuantifierNode;
            1   81     2   infinite  Z
            2   81     3  emptyInfo  I
            3   81     4       tlen  I
           11   13     5         sn  Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
           20   21     5    modTLen  I
           22   81     5    modTLen  I
           40   43     6         sn  Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
           47   50     6         sn  Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
           66   73     6          n  I
           68   73     7          i  I
    MethodParameters:
      Name  Flags
      qn    final

  private int compileLengthOptionNode(jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode);
    descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/EncloseNode;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
        start local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode node
         0: .line 510
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.options:I
            istore 2 /* prev */
        start local 2 // int prev
         1: .line 511
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            aload 1 /* node */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.option:I
            putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.options:I
         2: .line 512
            aload 0 /* this */
            aload 1 /* node */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileLengthTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
            istore 3 /* tlen */
        start local 3 // int tlen
         3: .line 513
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            iload 2 /* prev */
            putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.options:I
         4: .line 515
            iload 2 /* prev */
            aload 1 /* node */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.option:I
            ixor
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.Option.isDynamic:(I)Z
            ifeq 6
         5: .line 516
            iconst_5
            iload 3 /* tlen */
            iadd
            iconst_2
            iadd
            ireturn
         6: .line 518
      StackMap locals: int int
      StackMap stack:
            iload 3 /* tlen */
            ireturn
        end local 3 // int tlen
        end local 2 // int prev
        end local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode node
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
            0    7     1  node  Ljdk/nashorn/internal/runtime/regexp/joni/ast/EncloseNode;
            1    7     2  prev  I
            3    7     3  tlen  I
    MethodParameters:
      Name  Flags
      node  final

  protected void compileOptionNode(jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode);
    descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/EncloseNode;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
        start local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode node
         0: .line 523
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.options:I
            istore 2 /* prev */
        start local 2 // int prev
         1: .line 525
            iload 2 /* prev */
            aload 1 /* node */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.option:I
            ixor
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.Option.isDynamic:(I)Z
            ifeq 5
         2: .line 526
            aload 0 /* this */
            bipush 86
            aload 1 /* node */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.option:I
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcodeOption:(II)V
         3: .line 527
            aload 0 /* this */
            bipush 87
            iload 2 /* prev */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcodeOption:(II)V
         4: .line 528
            aload 0 /* this */
            bipush 54
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
         5: .line 531
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            aload 1 /* node */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.option:I
            putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.options:I
         6: .line 532
            aload 0 /* this */
            aload 1 /* node */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)V
         7: .line 533
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            iload 2 /* prev */
            putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.options:I
         8: .line 535
            iload 2 /* prev */
            aload 1 /* node */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.option:I
            ixor
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.Option.isDynamic:(I)Z
            ifeq 10
         9: .line 536
            aload 0 /* this */
            bipush 87
            iload 2 /* prev */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcodeOption:(II)V
        10: .line 538
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int prev
        end local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode node
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
            0   11     1  node  Ljdk/nashorn/internal/runtime/regexp/joni/ast/EncloseNode;
            1   11     2  prev  I
    MethodParameters:
      Name  Flags
      node  final

  private int compileLengthEncloseNode(jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode);
    descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/EncloseNode;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
        start local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode node
         0: .line 541
            aload 1 /* node */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.isOption:()Z
            ifeq 2
         1: .line 542
            aload 0 /* this */
            aload 1 /* node */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileLengthOptionNode:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/EncloseNode;)I
            ireturn
         2: .line 546
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            ifnull 5
         3: .line 547
            aload 0 /* this */
            aload 1 /* node */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileLengthTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
            istore 2 /* tlen */
        start local 2 // int tlen
         4: .line 548
            goto 6
        end local 2 // int tlen
         5: .line 549
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* tlen */
        start local 2 // int tlen
         6: .line 553
      StackMap locals: int
      StackMap stack:
            aload 1 /* node */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.type:I
            tableswitch { // 1 - 4
                    1: 7
                    2: 22
                    3: 22
                    4: 15
              default: 22
          }
         7: .line 555
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.btMemStart:I
            aload 1 /* node */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.regNum:I
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.BitStatus.bsAt:(II)Z
            ifeq 10
         8: .line 556
            iconst_2
            istore 3 /* len */
        start local 3 // int len
         9: .line 557
            goto 11
        end local 3 // int len
        10: .line 558
      StackMap locals:
      StackMap stack:
            iconst_2
            istore 3 /* len */
        start local 3 // int len
        11: .line 560
      StackMap locals: int
      StackMap stack:
            iload 3 /* len */
            iload 2 /* tlen */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.btMemEnd:I
            aload 1 /* node */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.regNum:I
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.BitStatus.bsAt:(II)Z
            ifeq 12
            iconst_2
            goto 13
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode int int
      StackMap stack: int int
        12: iconst_2
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode int int
      StackMap stack: int int int
        13: iadd
            iadd
            istore 3 /* len */
        14: .line 561
            goto 24
        end local 3 // int len
        15: .line 564
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.isStopBtSimpleRepeat:()Z
            ifeq 20
        16: .line 565
            aload 1 /* node */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode
            astore 4 /* qn */
        start local 4 // jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode qn
        17: .line 566
            aload 0 /* this */
            aload 4 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileLengthTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
            istore 2 /* tlen */
        18: .line 567
            iload 2 /* tlen */
            aload 4 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
            imul
            iconst_2
            iadd
            iload 2 /* tlen */
            iadd
            iconst_1
            iadd
            iconst_2
            iadd
            istore 3 /* len */
        end local 4 // jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode qn
        start local 3 // int len
        19: .line 568
            goto 24
        end local 3 // int len
        20: .line 569
      StackMap locals:
      StackMap stack:
            iconst_1
            iload 2 /* tlen */
            iadd
            iconst_1
            iadd
            istore 3 /* len */
        start local 3 // int len
        21: .line 571
            goto 24
        end local 3 // int len
        22: .line 574
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "internal parser error (bug)"
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.newInternalException:(Ljava/lang/String;)V
        23: .line 575
            iconst_0
            ireturn
        start local 3 // int len
        24: .line 577
      StackMap locals: int
      StackMap stack:
            iload 3 /* len */
            ireturn
        end local 3 // int len
        end local 2 // int tlen
        end local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode node
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   25     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
            0   25     1  node  Ljdk/nashorn/internal/runtime/regexp/joni/ast/EncloseNode;
            4    5     2  tlen  I
            6   25     2  tlen  I
            9   10     3   len  I
           11   15     3   len  I
           19   20     3   len  I
           21   22     3   len  I
           24   25     3   len  I
           17   19     4    qn  Ljdk/nashorn/internal/runtime/regexp/joni/ast/QuantifierNode;
    MethodParameters:
      Name  Flags
      node  final

  protected void compileEncloseNode(jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode);
    descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/EncloseNode;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
        start local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode node
         0: .line 583
            aload 1 /* node */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.type:I
            tableswitch { // 1 - 4
                    1: 1
                    2: 26
                    3: 26
                    4: 13
              default: 26
          }
         1: .line 585
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.btMemStart:I
            aload 1 /* node */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.regNum:I
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.BitStatus.bsAt:(II)Z
            ifeq 4
         2: .line 586
            aload 0 /* this */
            bipush 49
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
         3: .line 587
            goto 5
         4: .line 588
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 48
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
         5: .line 591
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* node */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.regNum:I
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addMemNum:(I)V
         6: .line 592
            aload 0 /* this */
            aload 1 /* node */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)V
         7: .line 594
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.btMemEnd:I
            aload 1 /* node */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.regNum:I
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.BitStatus.bsAt:(II)Z
            ifeq 10
         8: .line 595
            aload 0 /* this */
            bipush 50
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
         9: .line 596
            goto 11
        10: .line 597
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 52
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
        11: .line 599
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* node */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.regNum:I
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addMemNum:(I)V
        12: .line 600
            goto 27
        13: .line 603
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.isStopBtSimpleRepeat:()Z
            ifeq 22
        14: .line 604
            aload 1 /* node */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode
            astore 3 /* qn */
        start local 3 // jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode qn
        15: .line 606
            aload 0 /* this */
            aload 3 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            aload 3 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileTreeNTimes:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)V
        16: .line 608
            aload 0 /* this */
            aload 3 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileLengthTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
            istore 2 /* len */
        start local 2 // int len
        17: .line 609
            aload 0 /* this */
            bipush 56
            iload 2 /* len */
            iconst_1
            iadd
            iconst_2
            iadd
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcodeRelAddr:(II)V
        18: .line 610
            aload 0 /* this */
            aload 3 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)V
        19: .line 611
            aload 0 /* this */
            bipush 57
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
        20: .line 612
            aload 0 /* this */
            bipush 55
            iconst_2
            iload 2 /* len */
            iadd
            iconst_1
            iadd
            iconst_2
            iadd
            ineg
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcodeRelAddr:(II)V
        end local 3 // jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode qn
        21: .line 613
            goto 27
        end local 2 // int len
        22: .line 614
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 74
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
        23: .line 615
            aload 0 /* this */
            aload 1 /* node */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)V
        24: .line 616
            aload 0 /* this */
            bipush 75
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
        25: .line 618
            goto 27
        26: .line 621
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "internal parser error (bug)"
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.newInternalException:(Ljava/lang/String;)V
        27: .line 624
      StackMap locals:
      StackMap stack:
            return
        end local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode node
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   28     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
            0   28     1  node  Ljdk/nashorn/internal/runtime/regexp/joni/ast/EncloseNode;
           17   22     2   len  I
           15   21     3    qn  Ljdk/nashorn/internal/runtime/regexp/joni/ast/QuantifierNode;
    MethodParameters:
      Name  Flags
      node  final

  private int compileLengthAnchorNode(jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode);
    descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/AnchorNode;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
        start local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode node
         0: .line 628
            aload 1 /* node */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            ifnull 3
         1: .line 629
            aload 0 /* this */
            aload 1 /* node */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileLengthTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
            istore 2 /* tlen */
        start local 2 // int tlen
         2: .line 630
            goto 4
        end local 2 // int tlen
         3: .line 631
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* tlen */
        start local 2 // int tlen
         4: .line 635
      StackMap locals: int
      StackMap stack:
            aload 1 /* node */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.type:I
            lookupswitch { // 4
                 1024: 5
                 2048: 7
                 4096: 9
                 8192: 11
              default: 13
          }
         5: .line 637
      StackMap locals:
      StackMap stack:
            iconst_1
            iload 2 /* tlen */
            iadd
            iconst_1
            iadd
            istore 3 /* len */
        start local 3 // int len
         6: .line 638
            goto 14
        end local 3 // int len
         7: .line 641
      StackMap locals:
      StackMap stack:
            iconst_2
            iload 2 /* tlen */
            iadd
            iconst_1
            iadd
            istore 3 /* len */
        start local 3 // int len
         8: .line 642
            goto 14
        end local 3 // int len
         9: .line 645
      StackMap locals:
      StackMap stack:
            iconst_2
            iload 2 /* tlen */
            iadd
            istore 3 /* len */
        start local 3 // int len
        10: .line 646
            goto 14
        end local 3 // int len
        11: .line 649
      StackMap locals:
      StackMap stack:
            iconst_3
            iload 2 /* tlen */
            iadd
            iconst_1
            iadd
            istore 3 /* len */
        start local 3 // int len
        12: .line 650
            goto 14
        end local 3 // int len
        13: .line 653
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 3 /* len */
        start local 3 // int len
        14: .line 656
      StackMap locals: int
      StackMap stack:
            iload 3 /* len */
            ireturn
        end local 3 // int len
        end local 2 // int tlen
        end local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode node
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
            0   15     1  node  Ljdk/nashorn/internal/runtime/regexp/joni/ast/AnchorNode;
            2    3     2  tlen  I
            4   15     2  tlen  I
            6    7     3   len  I
            8    9     3   len  I
           10   11     3   len  I
           12   13     3   len  I
           14   15     3   len  I
    MethodParameters:
      Name  Flags
      node  final

  protected void compileAnchorNode(jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode);
    descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/AnchorNode;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
        start local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode node
         0: .line 664
            aload 1 /* node */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.type:I
            lookupswitch { // 14
                    1: 1
                    2: 3
                    4: 6
                    8: 2
                   16: 5
                   32: 4
                   64: 7
                  128: 9
                  256: 11
                  512: 13
                 1024: 15
                 2048: 19
                 4096: 24
                 8192: 34
              default: 46
          }
         1: .line 665
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 35
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
            goto 47
         2: .line 666
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 36
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
            goto 47
         3: .line 667
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 37
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
            goto 47
         4: .line 668
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 38
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
            goto 47
         5: .line 669
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 39
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
            goto 47
         6: .line 670
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 40
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
            goto 47
         7: .line 673
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 31
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
         8: .line 674
            goto 47
         9: .line 677
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 32
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
        10: .line 678
            goto 47
        11: .line 682
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 33
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
        12: .line 684
            goto 47
        13: .line 688
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 34
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
        14: .line 690
            goto 47
        15: .line 693
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 70
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
        16: .line 694
            aload 0 /* this */
            aload 1 /* node */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)V
        17: .line 695
            aload 0 /* this */
            bipush 71
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
        18: .line 696
            goto 47
        19: .line 699
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* node */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileLengthTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
            istore 2 /* len */
        start local 2 // int len
        20: .line 700
            aload 0 /* this */
            bipush 72
            iload 2 /* len */
            iconst_1
            iadd
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcodeRelAddr:(II)V
        21: .line 701
            aload 0 /* this */
            aload 1 /* node */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)V
        22: .line 702
            aload 0 /* this */
            bipush 73
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
        23: .line 703
            goto 47
        end local 2 // int len
        24: .line 706
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 76
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
        25: .line 707
            aload 1 /* node */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.charLength:I
            ifge 30
        26: .line 708
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.analyser:Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;
            aload 1 /* node */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getCharLengthTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
            istore 3 /* n */
        start local 3 // int n
        27: .line 709
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.analyser:Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.returnCode:I
            ifeq 31
        28: .line 710
            aload 0 /* this */
            ldc "invalid pattern in look-behind"
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.newSyntaxException:(Ljava/lang/String;)V
        29: .line 712
            goto 31
        end local 3 // int n
        30: .line 713
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.charLength:I
            istore 3 /* n */
        start local 3 // int n
        31: .line 715
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode top int
      StackMap stack:
            aload 0 /* this */
            iload 3 /* n */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addLength:(I)V
        32: .line 716
            aload 0 /* this */
            aload 1 /* node */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)V
        33: .line 717
            goto 47
        end local 3 // int n
        34: .line 720
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode
      StackMap stack:
            aload 0 /* this */
            aload 1 /* node */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileLengthTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
            istore 2 /* len */
        start local 2 // int len
        35: .line 721
            aload 0 /* this */
            bipush 77
            iload 2 /* len */
            iconst_1
            iadd
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcodeRelAddr:(II)V
        36: .line 722
            aload 1 /* node */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.charLength:I
            ifge 41
        37: .line 723
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.analyser:Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;
            aload 1 /* node */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getCharLengthTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
            istore 3 /* n */
        start local 3 // int n
        38: .line 724
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.analyser:Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.returnCode:I
            ifeq 42
        39: .line 725
            aload 0 /* this */
            ldc "invalid pattern in look-behind"
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.newSyntaxException:(Ljava/lang/String;)V
        40: .line 727
            goto 42
        end local 3 // int n
        41: .line 728
      StackMap locals: int
      StackMap stack:
            aload 1 /* node */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.charLength:I
            istore 3 /* n */
        start local 3 // int n
        42: .line 730
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 3 /* n */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addLength:(I)V
        43: .line 731
            aload 0 /* this */
            aload 1 /* node */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)V
        44: .line 732
            aload 0 /* this */
            bipush 78
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
        45: .line 733
            goto 47
        end local 3 // int n
        end local 2 // int len
        46: .line 736
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "internal parser error (bug)"
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.newInternalException:(Ljava/lang/String;)V
        47: .line 738
      StackMap locals:
      StackMap stack:
            return
        end local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode node
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   48     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
            0   48     1  node  Ljdk/nashorn/internal/runtime/regexp/joni/ast/AnchorNode;
           20   24     2   len  I
           35   46     2   len  I
           27   30     3     n  I
           31   34     3     n  I
           38   41     3     n  I
           42   46     3     n  I
    MethodParameters:
      Name  Flags
      node  final

  private int compileLengthTree(jdk.nashorn.internal.runtime.regexp.joni.ast.Node);
    descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
        start local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node node
         0: .line 741
            iconst_0
            istore 2 /* len */
        start local 2 // int len
         1: .line 743
            aload 1 /* node */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.Node.getType:()I
            tableswitch { // 0 - 9
                    0: 13
                    1: 19
                    2: 21
                    3: 21
                    4: 23
                    5: 29
                    6: 31
                    7: 33
                    8: 2
                    9: 6
              default: 35
          }
         2: .line 745
      StackMap locals: int
      StackMap stack:
            aload 1 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
            astore 3 /* lin */
        start local 3 // jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode lin
         3: .line 747
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
      StackMap stack:
            iload 2 /* len */
            aload 0 /* this */
            aload 3 /* lin */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.car:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileLengthTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
            iadd
            istore 2 /* len */
         4: .line 748
            aload 3 /* lin */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.cdr:Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
            dup
            astore 3 /* lin */
            ifnonnull 3
         5: .line 749
            goto 36
        end local 3 // jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode lin
         6: .line 752
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
            astore 4 /* aln */
        start local 4 // jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode aln
         7: .line 753
            iconst_0
            istore 5 /* n */
        start local 5 // int n
         8: .line 755
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler jdk.nashorn.internal.runtime.regexp.joni.ast.Node int top jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode int
      StackMap stack:
            iload 2 /* len */
            aload 0 /* this */
            aload 4 /* aln */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.car:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileLengthTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
            iadd
            istore 2 /* len */
         9: .line 756
            iinc 5 /* n */ 1
        10: .line 757
            aload 4 /* aln */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.cdr:Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
            dup
            astore 4 /* aln */
            ifnonnull 8
        11: .line 758
            iload 2 /* len */
            iconst_4
            iload 5 /* n */
            iconst_1
            isub
            imul
            iadd
            istore 2 /* len */
        12: .line 759
            goto 36
        end local 5 // int n
        end local 4 // jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode aln
        13: .line 762
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler jdk.nashorn.internal.runtime.regexp.joni.ast.Node int
      StackMap stack:
            aload 1 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
            astore 6 /* sn */
        start local 6 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode sn
        14: .line 763
            aload 6 /* sn */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.isRaw:()Z
            ifeq 17
        15: .line 764
            aload 6 /* sn */
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileLengthStringRawNode:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;)I
            istore 2 /* len */
        16: .line 765
            goto 36
        17: .line 766
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler jdk.nashorn.internal.runtime.regexp.joni.ast.Node int top top top jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
      StackMap stack:
            aload 6 /* sn */
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileLengthStringNode:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
            istore 2 /* len */
        18: .line 768
            goto 36
        end local 6 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode sn
        19: .line 771
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler jdk.nashorn.internal.runtime.regexp.joni.ast.Node int
      StackMap stack:
            aload 1 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileLengthCClassNode:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/CClassNode;)I
            istore 2 /* len */
        20: .line 772
            goto 36
        21: .line 776
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 2 /* len */
        22: .line 777
            goto 36
        23: .line 780
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode
            astore 7 /* br */
        start local 7 // jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode br
        24: .line 782
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.options:I
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.Option.isIgnoreCase:(I)Z
            ifne 26
            aload 7 /* br */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode.backRef:I
            iconst_2
            if_icmpgt 26
        25: .line 783
            iconst_1
            goto 27
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler jdk.nashorn.internal.runtime.regexp.joni.ast.Node int top top top top jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode
      StackMap stack:
        26: iconst_2
        27: .line 782
      StackMap locals:
      StackMap stack: int
            istore 2 /* len */
        28: .line 784
            goto 36
        end local 7 // jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode br
        29: .line 787
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler jdk.nashorn.internal.runtime.regexp.joni.ast.Node int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileNonCECLengthQuantifierNode:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/QuantifierNode;)I
            istore 2 /* len */
        30: .line 788
            goto 36
        31: .line 791
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileLengthEncloseNode:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/EncloseNode;)I
            istore 2 /* len */
        32: .line 792
            goto 36
        33: .line 795
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileLengthAnchorNode:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/AnchorNode;)I
            istore 2 /* len */
        34: .line 796
            goto 36
        35: .line 799
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "internal parser error (bug)"
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.newInternalException:(Ljava/lang/String;)V
        36: .line 802
      StackMap locals:
      StackMap stack:
            iload 2 /* len */
            ireturn
        end local 2 // int len
        end local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node node
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   37     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
            0   37     1  node  Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            1   37     2   len  I
            3    6     3   lin  Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
            7   13     4   aln  Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
            8   13     5     n  I
           14   19     6    sn  Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
           24   29     7    br  Ljdk/nashorn/internal/runtime/regexp/joni/ast/BackRefNode;
    MethodParameters:
      Name  Flags
      node  final

  private void ensure(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
        start local 1 // int size
         0: .line 806
            iload 1 /* size */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.code:[I
            arraylength
            if_icmplt 8
         1: .line 807
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.code:[I
            arraylength
            iconst_1
            ishl
            istore 2 /* length */
        start local 2 // int length
         2: .line 808
            goto 4
         3: .line 809
      StackMap locals: int
      StackMap stack:
            iload 2 /* length */
            iconst_1
            ishl
            istore 2 /* length */
         4: .line 808
      StackMap locals:
      StackMap stack:
            iload 2 /* length */
            iload 1 /* size */
            if_icmple 3
         5: .line 811
            iload 2 /* length */
            newarray 10
            astore 3 /* tmp */
        start local 3 // int[] tmp
         6: .line 812
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.code:[I
            iconst_0
            aload 3 /* tmp */
            iconst_0
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.code:[I
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         7: .line 813
            aload 0 /* this */
            aload 3 /* tmp */
            putfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.code:[I
        end local 3 // int[] tmp
        end local 2 // int length
         8: .line 815
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int size
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
            0    9     1    size  I
            2    8     2  length  I
            6    8     3     tmp  [I
    MethodParameters:
      Name  Flags
      size  final

  private void addInt(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
        start local 1 // int i
         0: .line 818
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.codeLength:I
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.code:[I
            arraylength
            if_icmplt 4
         1: .line 819
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.code:[I
            arraylength
            iconst_1
            ishl
            newarray 10
            astore 2 /* tmp */
        start local 2 // int[] tmp
         2: .line 820
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.code:[I
            iconst_0
            aload 2 /* tmp */
            iconst_0
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.code:[I
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         3: .line 821
            aload 0 /* this */
            aload 2 /* tmp */
            putfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.code:[I
        end local 2 // int[] tmp
         4: .line 823
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.code:[I
            aload 0 /* this */
            dup
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.codeLength:I
            dup_x1
            iconst_1
            iadd
            putfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.codeLength:I
            iload 1 /* i */
            iastore
         5: .line 824
            return
        end local 1 // int i
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
            0    6     1     i  I
            2    4     2   tmp  [I
    MethodParameters:
      Name  Flags
      i     final

  void setInt(int, int);
    descriptor: (II)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
        start local 1 // int i
        start local 2 // int offset
         0: .line 827
            aload 0 /* this */
            iload 2 /* offset */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.ensure:(I)V
         1: .line 828
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.code:[I
            iload 2 /* offset */
            iload 1 /* i */
            iastore
         2: .line 829
            return
        end local 2 // int offset
        end local 1 // int i
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
            0    3     1       i  I
            0    3     2  offset  I
    MethodParameters:
        Name  Flags
      i       final
      offset  final

  private void addObject(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
        start local 1 // java.lang.Object o
         0: .line 832
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.operands:[Ljava/lang/Object;
            ifnonnull 3
         1: .line 833
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            iconst_4
            anewarray java.lang.Object
            putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.operands:[Ljava/lang/Object;
         2: .line 834
            goto 7
      StackMap locals:
      StackMap stack:
         3: aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.operandLength:I
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.operands:[Ljava/lang/Object;
            arraylength
            if_icmplt 7
         4: .line 835
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.operands:[Ljava/lang/Object;
            arraylength
            iconst_1
            ishl
            anewarray java.lang.Object
            astore 2 /* tmp */
        start local 2 // java.lang.Object[] tmp
         5: .line 836
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.operands:[Ljava/lang/Object;
            iconst_0
            aload 2 /* tmp */
            iconst_0
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.operands:[Ljava/lang/Object;
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         6: .line 837
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            aload 2 /* tmp */
            putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.operands:[Ljava/lang/Object;
        end local 2 // java.lang.Object[] tmp
         7: .line 839
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.operandLength:I
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addInt:(I)V
         8: .line 840
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.operands:[Ljava/lang/Object;
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            dup
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.operandLength:I
            dup_x1
            iconst_1
            iadd
            putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.operandLength:I
            aload 1 /* o */
            aastore
         9: .line 841
            return
        end local 1 // java.lang.Object o
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
            0   10     1     o  Ljava/lang/Object;
            5    7     2   tmp  [Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      o     final

  private void addChars(char[], int, int);
    descriptor: ([CII)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
        start local 1 // char[] chars
        start local 2 // int pp
        start local 3 // int length
         0: .line 844
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.codeLength:I
            iload 3 /* length */
            iadd
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.ensure:(I)V
         1: .line 845
            iload 2 /* pp */
            istore 4 /* p */
        start local 4 // int p
         2: .line 846
            iload 4 /* p */
            iload 3 /* length */
            iadd
            istore 5 /* end */
        start local 5 // int end
         3: .line 848
            goto 5
         4: .line 849
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.code:[I
            aload 0 /* this */
            dup
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.codeLength:I
            dup_x1
            iconst_1
            iadd
            putfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.codeLength:I
            aload 1 /* chars */
            iload 4 /* p */
            iinc 4 /* p */ 1
            caload
            iastore
         5: .line 848
      StackMap locals:
      StackMap stack:
            iload 4 /* p */
            iload 5 /* end */
            if_icmplt 4
         6: .line 851
            return
        end local 5 // int end
        end local 4 // int p
        end local 3 // int length
        end local 2 // int pp
        end local 1 // char[] chars
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
            0    7     1   chars  [C
            0    7     2      pp  I
            0    7     3  length  I
            2    7     4       p  I
            3    7     5     end  I
    MethodParameters:
        Name  Flags
      chars   final
      pp      final
      length  final

  private void addInts(int[], int);
    descriptor: ([II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
        start local 1 // int[] ints
        start local 2 // int length
         0: .line 854
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.codeLength:I
            iload 2 /* length */
            iadd
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.ensure:(I)V
         1: .line 855
            aload 1 /* ints */
            iconst_0
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.code:[I
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.codeLength:I
            iload 2 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 856
            aload 0 /* this */
            dup
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.codeLength:I
            iload 2 /* length */
            iadd
            putfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.codeLength:I
         3: .line 857
            return
        end local 2 // int length
        end local 1 // int[] ints
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
            0    4     1    ints  [I
            0    4     2  length  I
    MethodParameters:
        Name  Flags
      ints    final
      length  final

  private void addOpcode(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
        start local 1 // int opcode
         0: .line 860
            aload 0 /* this */
            iload 1 /* opcode */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addInt:(I)V
         1: .line 862
            iload 1 /* opcode */
            tableswitch { // 25 - 85
                   25: 2
                   26: 2
                   27: 2
                   28: 2
                   29: 4
                   30: 4
                   31: 4
                   32: 4
                   33: 4
                   34: 4
                   35: 4
                   36: 4
                   37: 4
                   38: 4
                   39: 4
                   40: 4
                   41: 4
                   42: 4
                   43: 4
                   44: 4
                   45: 4
                   46: 4
                   47: 4
                   48: 4
                   49: 2
                   50: 2
                   51: 2
                   52: 4
                   53: 2
                   54: 4
                   55: 4
                   56: 2
                   57: 4
                   58: 2
                   59: 2
                   60: 2
                   61: 2
                   62: 4
                   63: 2
                   64: 2
                   65: 2
                   66: 2
                   67: 4
                   68: 4
                   69: 2
                   70: 2
                   71: 4
                   72: 2
                   73: 4
                   74: 2
                   75: 4
                   76: 4
                   77: 2
                   78: 4
                   79: 2
                   80: 2
                   81: 2
                   82: 2
                   83: 2
                   84: 2
                   85: 2
              default: 4
          }
         2: .line 892
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            iconst_1
            putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.stackNeeded:Z
         3: .line 893
            goto 4
         4: .line 897
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int opcode
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
            0    5     1  opcode  I
    MethodParameters:
        Name  Flags
      opcode  final

  private void addStateCheckNum(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
        start local 1 // int num
         0: .line 901
            aload 0 /* this */
            iload 1 /* num */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addInt:(I)V
         1: .line 902
            return
        end local 1 // int num
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
            0    2     1   num  I
    MethodParameters:
      Name  Flags
      num   final

  private void addRelAddr(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
        start local 1 // int addr
         0: .line 905
            aload 0 /* this */
            iload 1 /* addr */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addInt:(I)V
         1: .line 906
            return
        end local 1 // int addr
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
            0    2     1  addr  I
    MethodParameters:
      Name  Flags
      addr  final

  private void addAbsAddr(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
        start local 1 // int addr
         0: .line 910
            aload 0 /* this */
            iload 1 /* addr */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addInt:(I)V
         1: .line 911
            return
        end local 1 // int addr
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
            0    2     1  addr  I
    MethodParameters:
      Name  Flags
      addr  final

  private void addLength(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
        start local 1 // int length
         0: .line 914
            aload 0 /* this */
            iload 1 /* length */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addInt:(I)V
         1: .line 915
            return
        end local 1 // int length
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
            0    2     1  length  I
    MethodParameters:
        Name  Flags
      length  final

  private void addMemNum(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
        start local 1 // int num
         0: .line 918
            aload 0 /* this */
            iload 1 /* num */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addInt:(I)V
         1: .line 919
            return
        end local 1 // int num
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
            0    2     1   num  I
    MethodParameters:
      Name  Flags
      num   final

  private void addPointer(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
        start local 1 // java.lang.Object o
         0: .line 922
            aload 0 /* this */
            aload 1 /* o */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addObject:(Ljava/lang/Object;)V
         1: .line 923
            return
        end local 1 // java.lang.Object o
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
            0    2     1     o  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      o     final

  private void addOption(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
        start local 1 // int option
         0: .line 926
            aload 0 /* this */
            iload 1 /* option */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addInt:(I)V
         1: .line 927
            return
        end local 1 // int option
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
            0    2     1  option  I
    MethodParameters:
        Name  Flags
      option  final

  private void addOpcodeRelAddr(int, int);
    descriptor: (II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
        start local 1 // int opcode
        start local 2 // int addr
         0: .line 930
            aload 0 /* this */
            iload 1 /* opcode */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
         1: .line 931
            aload 0 /* this */
            iload 2 /* addr */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addRelAddr:(I)V
         2: .line 932
            return
        end local 2 // int addr
        end local 1 // int opcode
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
            0    3     1  opcode  I
            0    3     2    addr  I
    MethodParameters:
        Name  Flags
      opcode  final
      addr    final

  private void addOpcodeOption(int, int);
    descriptor: (II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
        start local 1 // int opcode
        start local 2 // int option
         0: .line 935
            aload 0 /* this */
            iload 1 /* opcode */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
         1: .line 936
            aload 0 /* this */
            iload 2 /* option */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOption:(I)V
         2: .line 937
            return
        end local 2 // int option
        end local 1 // int opcode
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
            0    3     1  opcode  I
            0    3     2  option  I
    MethodParameters:
        Name  Flags
      opcode  final
      option  final

  private void addTemplate(char[]);
    descriptor: ([C)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
        start local 1 // char[] chars
         0: .line 940
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.templateNum:I
            ifne 3
         1: .line 941
            aload 0 /* this */
            iconst_2
            anewarray char[]
            putfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.templates:[[C
         2: .line 942
            goto 7
      StackMap locals:
      StackMap stack:
         3: aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.templateNum:I
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.templates:[[C
            arraylength
            if_icmpne 7
         4: .line 943
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.templateNum:I
            iconst_2
            imul
            anewarray char[]
            astore 2 /* tmp */
        start local 2 // char[][] tmp
         5: .line 944
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.templates:[[C
            iconst_0
            aload 2 /* tmp */
            iconst_0
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.templateNum:I
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         6: .line 945
            aload 0 /* this */
            aload 2 /* tmp */
            putfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.templates:[[C
        end local 2 // char[][] tmp
         7: .line 947
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.templates:[[C
            aload 0 /* this */
            dup
            getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.templateNum:I
            dup_x1
            iconst_1
            iadd
            putfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.templateNum:I
            aload 1 /* chars */
            aastore
         8: .line 948
            return
        end local 1 // char[] chars
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
            0    9     1  chars  [C
            5    7     2    tmp  [[C
    MethodParameters:
       Name  Flags
      chars  final
}
SourceFile: "ArrayCompiler.java"