public abstract class jdk.nashorn.internal.runtime.regexp.joni.Matcher extends jdk.nashorn.internal.runtime.regexp.joni.encoding.IntHolder
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: jdk.nashorn.internal.runtime.regexp.joni.Matcher
  super_class: jdk.nashorn.internal.runtime.regexp.joni.encoding.IntHolder
{
  protected final jdk.nashorn.internal.runtime.regexp.joni.Regex regex;
    descriptor: Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final char[] chars;
    descriptor: [C
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final int str;
    descriptor: I
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final int end;
    descriptor: I
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected int msaStart;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected int msaOptions;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected final jdk.nashorn.internal.runtime.regexp.joni.Region msaRegion;
    descriptor: Ljdk/nashorn/internal/runtime/regexp/joni/Region;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected int msaBestLen;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected int msaBestS;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected int msaBegin;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected int msaEnd;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

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

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

  public void <init>(jdk.nashorn.internal.runtime.regexp.joni.Regex, char[]);
    descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/Regex;[C)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.Matcher this
        start local 1 // jdk.nashorn.internal.runtime.regexp.joni.Regex regex
        start local 2 // char[] chars
         0: .line 45
            aload 0 /* this */
            aload 1 /* regex */
            aload 2 /* chars */
            iconst_0
            aload 2 /* chars */
            arraylength
            invokespecial jdk.nashorn.internal.runtime.regexp.joni.Matcher.<init>:(Ljdk/nashorn/internal/runtime/regexp/joni/Regex;[CII)V
         1: .line 46
            return
        end local 2 // char[] chars
        end local 1 // jdk.nashorn.internal.runtime.regexp.joni.Regex regex
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.Matcher this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Ljdk/nashorn/internal/runtime/regexp/joni/Matcher;
            0    2     1  regex  Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            0    2     2  chars  [C
    MethodParameters:
       Name  Flags
      regex  final
      chars  final

  public void <init>(jdk.nashorn.internal.runtime.regexp.joni.Regex, char[], int, int);
    descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/Regex;[CII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.Matcher this
        start local 1 // jdk.nashorn.internal.runtime.regexp.joni.Regex regex
        start local 2 // char[] chars
        start local 3 // int p
        start local 4 // int end
         0: .line 48
            aload 0 /* this */
            invokespecial jdk.nashorn.internal.runtime.regexp.joni.encoding.IntHolder.<init>:()V
         1: .line 49
            aload 0 /* this */
            aload 1 /* regex */
            putfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
         2: .line 51
            aload 0 /* this */
            aload 2 /* chars */
            putfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.chars:[C
         3: .line 52
            aload 0 /* this */
            iload 3 /* p */
            putfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.str:I
         4: .line 53
            aload 0 /* this */
            iload 4 /* end */
            putfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.end:I
         5: .line 55
            aload 0 /* this */
            aload 1 /* regex */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.numMem:I
            ifne 6
            aconst_null
            goto 7
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Matcher jdk.nashorn.internal.runtime.regexp.joni.Regex char[] int int
      StackMap stack: jdk.nashorn.internal.runtime.regexp.joni.Matcher
         6: new jdk.nashorn.internal.runtime.regexp.joni.Region
            dup
            aload 1 /* regex */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.numMem:I
            iconst_1
            iadd
            invokespecial jdk.nashorn.internal.runtime.regexp.joni.Region.<init>:(I)V
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Matcher jdk.nashorn.internal.runtime.regexp.joni.Regex char[] int int
      StackMap stack: jdk.nashorn.internal.runtime.regexp.joni.Matcher jdk.nashorn.internal.runtime.regexp.joni.Region
         7: putfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.msaRegion:Ljdk/nashorn/internal/runtime/regexp/joni/Region;
         8: .line 56
            return
        end local 4 // int end
        end local 3 // int p
        end local 2 // char[] chars
        end local 1 // jdk.nashorn.internal.runtime.regexp.joni.Regex regex
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.Matcher this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Ljdk/nashorn/internal/runtime/regexp/joni/Matcher;
            0    9     1  regex  Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            0    9     2  chars  [C
            0    9     3      p  I
            0    9     4    end  I
    MethodParameters:
       Name  Flags
      regex  final
      chars  final
      p      final
      end    final

  protected abstract int matchAt(int, int, int);
    descriptor: (III)I
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      range   
      sstart  
      sprev   

  public final jdk.nashorn.internal.runtime.regexp.joni.Region getRegion();
    descriptor: ()Ljdk/nashorn/internal/runtime/regexp/joni/Region;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.Matcher this
         0: .line 62
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.msaRegion:Ljdk/nashorn/internal/runtime/regexp/joni/Region;
            areturn
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.Matcher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/Matcher;

  public final int getBegin();
    descriptor: ()I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.Matcher this
         0: .line 66
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.msaBegin:I
            ireturn
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.Matcher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/Matcher;

  public final int getEnd();
    descriptor: ()I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.Matcher this
         0: .line 70
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.msaEnd:I
            ireturn
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.Matcher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/Matcher;

  protected final void msaInit(int, int);
    descriptor: (II)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.Matcher this
        start local 1 // int option
        start local 2 // int start
         0: .line 74
            aload 0 /* this */
            iload 1 /* option */
            putfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.msaOptions:I
         1: .line 75
            aload 0 /* this */
            iload 2 /* start */
            putfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.msaStart:I
         2: .line 77
            aload 0 /* this */
            iconst_m1
            putfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.msaBestLen:I
         3: .line 79
            return
        end local 2 // int start
        end local 1 // int option
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.Matcher this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Ljdk/nashorn/internal/runtime/regexp/joni/Matcher;
            0    4     1  option  I
            0    4     2   start  I
    MethodParameters:
        Name  Flags
      option  final
      start   final

  public final int match(int, int, int);
    descriptor: (III)I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.Matcher this
        start local 1 // int at
        start local 2 // int range
        start local 3 // int option
         0: .line 82
            aload 0 /* this */
            iload 3 /* option */
            iload 1 /* at */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Matcher.msaInit:(II)V
         1: .line 84
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.str:I
            iload 1 /* at */
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.EncodingHelper.prevCharHead:(II)I
            istore 4 /* prev */
        start local 4 // int prev
         2: .line 89
            aload 0 /* this */
            iload 2 /* range */
            iload 1 /* at */
            iload 4 /* prev */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Matcher.matchAt:(III)I
            ireturn
        end local 4 // int prev
        end local 3 // int option
        end local 2 // int range
        end local 1 // int at
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.Matcher this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Ljdk/nashorn/internal/runtime/regexp/joni/Matcher;
            0    3     1      at  I
            0    3     2   range  I
            0    3     3  option  I
            2    3     4    prev  I
    MethodParameters:
        Name  Flags
      at      final
      range   final
      option  final

  private boolean forwardSearchRange(char[], int, int, int, int, jdk.nashorn.internal.runtime.regexp.joni.encoding.IntHolder);
    descriptor: ([CIIIILjdk/nashorn/internal/runtime/regexp/joni/encoding/IntHolder;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=10, args_size=7
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.Matcher this
        start local 1 // char[] ch
        start local 2 // int string
        start local 3 // int e
        start local 4 // int s
        start local 5 // int range
        start local 6 // jdk.nashorn.internal.runtime.regexp.joni.encoding.IntHolder lowPrev
         0: .line 94
            iconst_m1
            istore 7 /* pprev */
        start local 7 // int pprev
         1: .line 95
            iload 4 /* s */
            istore 8 /* p */
        start local 8 // int p
         2: .line 105
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.dMin:I
            ifle 4
         3: .line 106
            iload 8 /* p */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.dMin:I
            iadd
            istore 8 /* p */
         4: .line 110
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.searchAlgorithm:Ljdk/nashorn/internal/runtime/regexp/joni/SearchAlgorithm;
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            aload 1 /* ch */
            iload 8 /* p */
            iload 3 /* e */
            iload 5 /* range */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.SearchAlgorithm.search:(Ljdk/nashorn/internal/runtime/regexp/joni/Regex;[CIII)I
            istore 8 /* p */
         5: .line 112
            iload 8 /* p */
            iconst_m1
            if_icmpeq 51
            iload 8 /* p */
            iload 5 /* range */
            if_icmpge 51
         6: .line 113
            iload 8 /* p */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.dMin:I
            isub
            iload 4 /* s */
            if_icmpge 10
         7: .line 115
            iload 8 /* p */
            istore 7 /* pprev */
         8: .line 116
            iinc 8 /* p */ 1
         9: .line 117
            goto 4
        10: .line 120
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.subAnchor:I
            ifeq 26
        11: .line 121
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.subAnchor:I
            lookupswitch { // 2
                    2: 12
                   32: 20
              default: 26
          }
        12: .line 123
      StackMap locals:
      StackMap stack:
            iload 8 /* p */
            iload 2 /* string */
            if_icmpeq 26
        13: .line 124
            iload 7 /* pprev */
            iconst_m1
            if_icmpeq 14
            iload 7 /* pprev */
            goto 15
      StackMap locals:
      StackMap stack:
        14: iload 2 /* string */
      StackMap locals:
      StackMap stack: int
        15: iload 8 /* p */
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.EncodingHelper.prevCharHead:(II)I
            istore 9 /* prev */
        start local 9 // int prev
        16: .line 125
            aload 1 /* ch */
            iload 9 /* prev */
            iload 3 /* e */
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.EncodingHelper.isNewLine:([CII)Z
            ifne 26
        17: .line 127
            iload 8 /* p */
            istore 7 /* pprev */
        18: .line 128
            iinc 8 /* p */ 1
        19: .line 129
            goto 4
        end local 9 // int prev
        20: .line 135
      StackMap locals:
      StackMap stack:
            iload 8 /* p */
            iload 3 /* e */
            if_icmpne 22
        21: .line 145
            goto 26
      StackMap locals:
      StackMap stack:
        22: aload 1 /* ch */
            iload 8 /* p */
            iload 3 /* e */
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.EncodingHelper.isNewLine:([CII)Z
            ifne 26
        23: .line 148
            iload 8 /* p */
            istore 7 /* pprev */
        24: .line 149
            iinc 8 /* p */ 1
        25: .line 150
            goto 4
        26: .line 159
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.dMax:I
            ifne 36
        27: .line 160
            aload 0 /* this */
            iload 8 /* p */
            putfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.low:I
        28: .line 161
            aload 6 /* lowPrev */
            ifnull 49
        29: .line 162
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.low:I
            iload 4 /* s */
            if_icmple 32
        30: .line 163
            aload 6 /* lowPrev */
            iload 4 /* s */
            iload 8 /* p */
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.EncodingHelper.prevCharHead:(II)I
            putfield jdk.nashorn.internal.runtime.regexp.joni.encoding.IntHolder.value:I
        31: .line 164
            goto 49
        32: .line 165
      StackMap locals:
      StackMap stack:
            aload 6 /* lowPrev */
            iload 7 /* pprev */
            iconst_m1
            if_icmpeq 33
            iload 7 /* pprev */
            goto 34
      StackMap locals:
      StackMap stack: jdk.nashorn.internal.runtime.regexp.joni.encoding.IntHolder
        33: iload 2 /* string */
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Matcher char[] int int int int jdk.nashorn.internal.runtime.regexp.joni.encoding.IntHolder int int
      StackMap stack: jdk.nashorn.internal.runtime.regexp.joni.encoding.IntHolder int
        34: iload 8 /* p */
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.EncodingHelper.prevCharHead:(II)I
            putfield jdk.nashorn.internal.runtime.regexp.joni.encoding.IntHolder.value:I
        35: .line 168
            goto 49
        36: .line 169
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.dMax:I
            ldc 2147483647
            if_icmpeq 49
        37: .line 170
            aload 0 /* this */
            iload 8 /* p */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.dMax:I
            isub
            putfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.low:I
        38: .line 172
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.low:I
            iload 4 /* s */
            if_icmple 45
        39: .line 173
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.low:I
            aload 6 /* lowPrev */
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.EncodingHelper.rightAdjustCharHeadWithPrev:(ILjdk/nashorn/internal/runtime/regexp/joni/encoding/IntHolder;)I
            putfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.low:I
        40: .line 174
            aload 6 /* lowPrev */
            ifnull 49
            aload 6 /* lowPrev */
            getfield jdk.nashorn.internal.runtime.regexp.joni.encoding.IntHolder.value:I
            iconst_m1
            if_icmpne 49
        41: .line 175
            aload 6 /* lowPrev */
            iload 7 /* pprev */
            iconst_m1
            if_icmpeq 42
            iload 7 /* pprev */
            goto 43
      StackMap locals:
      StackMap stack: jdk.nashorn.internal.runtime.regexp.joni.encoding.IntHolder
        42: iload 4 /* s */
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Matcher char[] int int int int jdk.nashorn.internal.runtime.regexp.joni.encoding.IntHolder int int
      StackMap stack: jdk.nashorn.internal.runtime.regexp.joni.encoding.IntHolder int
        43: aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.low:I
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.EncodingHelper.prevCharHead:(II)I
            putfield jdk.nashorn.internal.runtime.regexp.joni.encoding.IntHolder.value:I
        44: .line 177
            goto 49
        45: .line 178
      StackMap locals:
      StackMap stack:
            aload 6 /* lowPrev */
            ifnull 49
        46: .line 179
            aload 6 /* lowPrev */
            iload 7 /* pprev */
            iconst_m1
            if_icmpeq 47
            iload 7 /* pprev */
            goto 48
      StackMap locals:
      StackMap stack: jdk.nashorn.internal.runtime.regexp.joni.encoding.IntHolder
        47: iload 2 /* string */
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Matcher char[] int int int int jdk.nashorn.internal.runtime.regexp.joni.encoding.IntHolder int int
      StackMap stack: jdk.nashorn.internal.runtime.regexp.joni.encoding.IntHolder int
        48: aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.low:I
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.EncodingHelper.prevCharHead:(II)I
            putfield jdk.nashorn.internal.runtime.regexp.joni.encoding.IntHolder.value:I
        49: .line 185
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 8 /* p */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.dMin:I
            isub
            putfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.high:I
        50: .line 195
            iconst_1
            ireturn
        51: .line 198
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 8 // int p
        end local 7 // int pprev
        end local 6 // jdk.nashorn.internal.runtime.regexp.joni.encoding.IntHolder lowPrev
        end local 5 // int range
        end local 4 // int s
        end local 3 // int e
        end local 2 // int string
        end local 1 // char[] ch
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.Matcher this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   52     0     this  Ljdk/nashorn/internal/runtime/regexp/joni/Matcher;
            0   52     1       ch  [C
            0   52     2   string  I
            0   52     3        e  I
            0   52     4        s  I
            0   52     5    range  I
            0   52     6  lowPrev  Ljdk/nashorn/internal/runtime/regexp/joni/encoding/IntHolder;
            1   52     7    pprev  I
            2   52     8        p  I
           16   20     9     prev  I
    MethodParameters:
         Name  Flags
      ch       final
      string   final
      e        final
      s        final
      range    final
      lowPrev  final

  private boolean backwardSearchRange(char[], int, int, int, int, int);
    descriptor: ([CIIIII)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=10, args_size=7
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.Matcher this
        start local 1 // char[] ch
        start local 2 // int string
        start local 3 // int e
        start local 4 // int s
        start local 5 // int range
        start local 6 // int adjrange
         0: .line 204
            iload 5 /* range */
            istore 7 /* r */
        start local 7 // int r
         1: .line 205
            iload 7 /* r */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.dMin:I
            iadd
            istore 7 /* r */
         2: .line 206
            iload 4 /* s */
            istore 8 /* p */
        start local 8 // int p
         3: .line 209
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.searchAlgorithm:Ljdk/nashorn/internal/runtime/regexp/joni/SearchAlgorithm;
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            aload 1 /* ch */
            iload 7 /* r */
            iload 6 /* adjrange */
            iload 3 /* e */
            iload 8 /* p */
            iload 4 /* s */
            iload 7 /* r */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.SearchAlgorithm.searchBackward:(Ljdk/nashorn/internal/runtime/regexp/joni/Regex;[CIIIIII)I
            istore 8 /* p */
         4: .line 211
            iload 8 /* p */
            iconst_m1
            if_icmpeq 22
         5: .line 212
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.subAnchor:I
            ifeq 18
         6: .line 213
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.subAnchor:I
            lookupswitch { // 2
                    2: 7
                   32: 12
              default: 18
          }
         7: .line 215
      StackMap locals:
      StackMap stack:
            iload 8 /* p */
            iload 2 /* string */
            if_icmpeq 18
         8: .line 216
            iload 2 /* string */
            iload 8 /* p */
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.EncodingHelper.prevCharHead:(II)I
            istore 9 /* prev */
        start local 9 // int prev
         9: .line 217
            aload 1 /* ch */
            iload 9 /* prev */
            iload 3 /* e */
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.EncodingHelper.isNewLine:([CII)Z
            ifne 18
        10: .line 218
            iload 9 /* prev */
            istore 8 /* p */
        11: .line 219
            goto 3
        end local 9 // int prev
        12: .line 225
      StackMap locals:
      StackMap stack:
            iload 8 /* p */
            iload 3 /* e */
            if_icmpne 14
        13: .line 236
            goto 18
      StackMap locals:
      StackMap stack:
        14: aload 1 /* ch */
            iload 8 /* p */
            iload 3 /* e */
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.EncodingHelper.isNewLine:([CII)Z
            ifne 18
        15: .line 237
            iload 6 /* adjrange */
            iload 8 /* p */
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.EncodingHelper.prevCharHead:(II)I
            istore 8 /* p */
        16: .line 238
            iload 8 /* p */
            iconst_m1
            if_icmpne 3
        17: .line 239
            iconst_0
            ireturn
        18: .line 251
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.dMax:I
            ldc 2147483647
            if_icmpeq 21
        19: .line 252
            aload 0 /* this */
            iload 8 /* p */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.dMax:I
            isub
            putfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.low:I
        20: .line 253
            aload 0 /* this */
            iload 8 /* p */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.dMin:I
            isub
            putfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.high:I
        21: .line 262
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        22: .line 268
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 8 // int p
        end local 7 // int r
        end local 6 // int adjrange
        end local 5 // int range
        end local 4 // int s
        end local 3 // int e
        end local 2 // int string
        end local 1 // char[] ch
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.Matcher this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   23     0      this  Ljdk/nashorn/internal/runtime/regexp/joni/Matcher;
            0   23     1        ch  [C
            0   23     2    string  I
            0   23     3         e  I
            0   23     4         s  I
            0   23     5     range  I
            0   23     6  adjrange  I
            1   23     7         r  I
            3   23     8         p  I
            9   12     9      prev  I
    MethodParameters:
          Name  Flags
      ch        final
      string    final
      e         final
      s         final
      range     final
      adjrange  final

  private boolean matchCheck(int, int, int);
    descriptor: (III)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.Matcher this
        start local 1 // int upperRange
        start local 2 // int s
        start local 3 // int prev
         0: .line 290
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.end:I
            iload 2 /* s */
            iload 3 /* prev */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Matcher.matchAt:(III)I
            iconst_m1
            if_icmpeq 3
         1: .line 292
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.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.isFindLongest:(I)Z
            ifne 3
         2: .line 293
            iconst_1
            ireturn
         3: .line 303
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // int prev
        end local 2 // int s
        end local 1 // int upperRange
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.Matcher this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Ljdk/nashorn/internal/runtime/regexp/joni/Matcher;
            0    4     1  upperRange  I
            0    4     2           s  I
            0    4     3        prev  I
    MethodParameters:
            Name  Flags
      upperRange  final
      s           final
      prev        final

  public final int search(int, int, int);
    descriptor: (III)I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=7, locals=13, args_size=4
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.Matcher this
        start local 1 // int startp
        start local 2 // int rangep
        start local 3 // int option
         0: .line 307
            iload 1 /* startp */
            istore 4 /* start */
        start local 4 // int start
         1: iload 2 /* rangep */
            istore 5 /* range */
        start local 5 // int range
         2: .line 309
            iload 4 /* start */
            istore 8 /* origStart */
        start local 8 // int origStart
         3: .line 310
            iload 5 /* range */
            istore 9 /* origRange */
        start local 9 // int origRange
         4: .line 320
            iload 4 /* start */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.end:I
            if_icmpgt 5
            iload 4 /* start */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.str:I
            if_icmpge 6
         5: .line 321
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Matcher int int int int int top top int int
      StackMap stack:
            iconst_m1
            ireturn
         6: .line 325
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.anchor:I
            ifeq 46
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.str:I
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.end:I
            if_icmpge 46
         7: .line 328
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.anchor:I
            iconst_4
            iand
            ifeq 13
         8: .line 331
            iload 5 /* range */
            iload 4 /* start */
            if_icmple 11
         9: .line 332
            iload 4 /* start */
            iconst_1
            iadd
            istore 5 /* range */
        10: .line 333
            goto 55
        11: .line 334
      StackMap locals:
      StackMap stack:
            iload 4 /* start */
            istore 5 /* range */
        12: .line 336
            goto 55
      StackMap locals:
      StackMap stack:
        13: aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.anchor:I
            iconst_1
            iand
            ifeq 24
        14: .line 338
            iload 5 /* range */
            iload 4 /* start */
            if_icmple 19
        15: .line 339
            iload 4 /* start */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.str:I
            if_icmpeq 17
        16: .line 341
            iconst_m1
            ireturn
        17: .line 343
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.str:I
            iconst_1
            iadd
            istore 5 /* range */
        18: .line 344
            goto 55
        19: .line 345
      StackMap locals:
      StackMap stack:
            iload 5 /* range */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.str:I
            if_icmpgt 23
        20: .line 346
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.str:I
            istore 4 /* start */
        21: .line 347
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.str:I
            istore 5 /* range */
        22: .line 348
            goto 55
        23: .line 349
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        24: .line 352
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.anchor:I
            bipush 8
            iand
            ifeq 29
        25: .line 353
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.end:I
            dup
            istore 11 /* maxSemiEnd */
        start local 11 // int maxSemiEnd
        26: istore 10 /* minSemiEnd */
        start local 10 // int minSemiEnd
        27: .line 355
            aload 0 /* this */
            iload 4 /* start */
            iload 5 /* range */
            iload 10 /* minSemiEnd */
            iload 11 /* maxSemiEnd */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Matcher.endBuf:(IIII)Z
            ifeq 55
        28: .line 357
            iconst_m1
            ireturn
        end local 11 // int maxSemiEnd
        end local 10 // int minSemiEnd
        29: .line 359
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.anchor:I
            bipush 16
            iand
            ifeq 40
        30: .line 360
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.str:I
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.end:I
            iconst_1
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.EncodingHelper.stepBack:(III)I
            istore 12 /* preEnd */
        start local 12 // int preEnd
        31: .line 361
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.end:I
            istore 11 /* maxSemiEnd */
        start local 11 // int maxSemiEnd
        32: .line 362
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.chars:[C
            iload 12 /* preEnd */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.end:I
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.EncodingHelper.isNewLine:([CII)Z
            ifeq 37
        33: .line 363
            iload 12 /* preEnd */
            istore 10 /* minSemiEnd */
        start local 10 // int minSemiEnd
        34: .line 364
            iload 10 /* minSemiEnd */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.str:I
            if_icmple 55
            iload 4 /* start */
            iload 10 /* minSemiEnd */
            if_icmpgt 55
        35: .line 366
            aload 0 /* this */
            iload 4 /* start */
            iload 5 /* range */
            iload 10 /* minSemiEnd */
            iload 11 /* maxSemiEnd */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Matcher.endBuf:(IIII)Z
            ifeq 55
        36: .line 368
            iconst_m1
            ireturn
        end local 10 // int minSemiEnd
        37: .line 372
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Matcher int int int int int top top int int top int int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.end:I
            istore 10 /* minSemiEnd */
        start local 10 // int minSemiEnd
        38: .line 374
            aload 0 /* this */
            iload 4 /* start */
            iload 5 /* range */
            iload 10 /* minSemiEnd */
            iload 11 /* maxSemiEnd */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Matcher.endBuf:(IIII)Z
            ifeq 55
        39: .line 376
            iconst_m1
            ireturn
        end local 12 // int preEnd
        end local 11 // int maxSemiEnd
        end local 10 // int minSemiEnd
        40: .line 379
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Matcher int int int int int top top int int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.anchor:I
            ldc 32768
            iand
            ifeq 55
        41: .line 381
            iload 5 /* range */
            iload 4 /* start */
            if_icmple 44
        42: .line 382
            iload 4 /* start */
            iconst_1
            iadd
            istore 5 /* range */
        43: .line 383
            goto 55
        44: .line 384
      StackMap locals:
      StackMap stack:
            iload 4 /* start */
            istore 5 /* range */
        45: .line 388
            goto 55
      StackMap locals:
      StackMap stack:
        46: aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.str:I
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.end:I
            if_icmpne 55
        47: .line 394
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.thresholdLength:I
            ifne 54
        48: .line 395
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.str:I
            dup
            istore 4 /* start */
            istore 6 /* s */
        start local 6 // int s
        49: .line 396
            iconst_m1
            istore 7 /* prev */
        start local 7 // int prev
        50: .line 397
            aload 0 /* this */
            iload 3 /* option */
            iload 4 /* start */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Matcher.msaInit:(II)V
        51: .line 399
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.end:I
            iload 6 /* s */
            iload 7 /* prev */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Matcher.matchCheck:(III)Z
            ifeq 53
        52: .line 400
            aload 0 /* this */
            iload 6 /* s */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Matcher.match:(I)I
            ireturn
        53: .line 402
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Matcher int int int int int int int int int
      StackMap stack:
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Matcher.mismatch:()I
            ireturn
        end local 7 // int prev
        end local 6 // int s
        54: .line 404
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Matcher int int int int int top top int int
      StackMap stack:
            iconst_m1
            ireturn
        55: .line 414
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* option */
            iload 8 /* origStart */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Matcher.msaInit:(II)V
        56: .line 416
            iload 4 /* start */
            istore 6 /* s */
        start local 6 // int s
        57: .line 417
            iload 5 /* range */
            iload 4 /* start */
            if_icmple 106
        58: .line 418
            iload 6 /* s */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.str:I
            if_icmple 61
        59: .line 419
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.str:I
            iload 6 /* s */
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.EncodingHelper.prevCharHead:(II)I
            istore 7 /* prev */
        start local 7 // int prev
        60: .line 420
            goto 62
        end local 7 // int prev
        61: .line 421
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Matcher int int int int int int top int int
      StackMap stack:
            iconst_0
            istore 7 /* prev */
        start local 7 // int prev
        62: .line 424
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Matcher int int int int int int int int int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.searchAlgorithm:Ljdk/nashorn/internal/runtime/regexp/joni/SearchAlgorithm;
            getstatic jdk.nashorn.internal.runtime.regexp.joni.SearchAlgorithm.NONE:Ljdk/nashorn/internal/runtime/regexp/joni/SearchAlgorithm;
            if_acmpeq 97
        63: .line 425
            iload 5 /* range */
            istore 10 /* schRange */
        start local 10 // int schRange
        64: .line 426
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.dMax:I
            ifeq 71
        65: .line 427
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.dMax:I
            ldc 2147483647
            if_icmpne 68
        66: .line 428
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.end:I
            istore 10 /* schRange */
        67: .line 429
            goto 71
        68: .line 430
      StackMap locals: int
      StackMap stack:
            iload 10 /* schRange */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.dMax:I
            iadd
            istore 10 /* schRange */
        69: .line 431
            iload 10 /* schRange */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.end:I
            if_icmple 71
        70: .line 432
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.end:I
            istore 10 /* schRange */
        71: .line 436
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.end:I
            iload 4 /* start */
            isub
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.thresholdLength:I
            if_icmpge 73
        72: .line 437
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Matcher.mismatch:()I
            ireturn
        73: .line 440
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.dMax:I
            ldc 2147483647
            if_icmpeq 87
        74: .line 442
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.chars:[C
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.str:I
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.end:I
            iload 6 /* s */
            iload 10 /* schRange */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Matcher.forwardSearchRange:([CIIIILjdk/nashorn/internal/runtime/regexp/joni/encoding/IntHolder;)Z
            ifne 76
        75: .line 443
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Matcher.mismatch:()I
            ireturn
        76: .line 445
      StackMap locals:
      StackMap stack:
            iload 6 /* s */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.low:I
            if_icmpge 84
        77: .line 446
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.low:I
            istore 6 /* s */
        78: .line 447
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.value:I
            istore 7 /* prev */
        79: .line 449
            goto 84
        80: .line 450
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 9 /* origRange */
            iload 6 /* s */
            iload 7 /* prev */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Matcher.matchCheck:(III)Z
            ifeq 82
        81: .line 451
            aload 0 /* this */
            iload 6 /* s */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Matcher.match:(I)I
            ireturn
        82: .line 453
      StackMap locals:
      StackMap stack:
            iload 6 /* s */
            istore 7 /* prev */
        83: .line 454
            iinc 6 /* s */ 1
        84: .line 449
      StackMap locals:
      StackMap stack:
            iload 6 /* s */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.high:I
            if_icmple 80
        85: .line 456
            iload 6 /* s */
            iload 5 /* range */
        86: .line 441
            if_icmplt 74
        87: .line 459
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.chars:[C
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.str:I
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.end:I
            iload 6 /* s */
            iload 10 /* schRange */
            aconst_null
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Matcher.forwardSearchRange:([CIIIILjdk/nashorn/internal/runtime/regexp/joni/encoding/IntHolder;)Z
            ifne 89
        88: .line 460
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Matcher.mismatch:()I
            ireturn
        89: .line 463
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.anchor:I
            sipush 16384
            iand
            ifeq 97
        90: .line 465
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 9 /* origRange */
            iload 6 /* s */
            iload 7 /* prev */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Matcher.matchCheck:(III)Z
            ifeq 92
        91: .line 466
            aload 0 /* this */
            iload 6 /* s */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Matcher.match:(I)I
            ireturn
        92: .line 468
      StackMap locals:
      StackMap stack:
            iload 6 /* s */
            istore 7 /* prev */
        93: .line 469
            iinc 6 /* s */ 1
        94: .line 470
            iload 6 /* s */
            iload 5 /* range */
        95: .line 464
            if_icmplt 90
        96: .line 471
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Matcher.mismatch:()I
            ireturn
        end local 10 // int schRange
        97: .line 476
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 9 /* origRange */
            iload 6 /* s */
            iload 7 /* prev */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Matcher.matchCheck:(III)Z
            ifeq 99
        98: .line 477
            aload 0 /* this */
            iload 6 /* s */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Matcher.match:(I)I
            ireturn
        99: .line 479
      StackMap locals:
      StackMap stack:
            iload 6 /* s */
            istore 7 /* prev */
       100: .line 480
            iinc 6 /* s */ 1
       101: .line 481
            iload 6 /* s */
            iload 5 /* range */
       102: .line 475
            if_icmplt 97
       103: .line 483
            iload 6 /* s */
            iload 5 /* range */
            if_icmpne 146
       104: .line 484
            aload 0 /* this */
            iload 9 /* origRange */
            iload 6 /* s */
            iload 7 /* prev */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Matcher.matchCheck:(III)Z
            ifeq 146
       105: .line 485
            aload 0 /* this */
            iload 6 /* s */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Matcher.match:(I)I
            ireturn
        end local 7 // int prev
       106: .line 495
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Matcher int int int int int int top int int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.searchAlgorithm:Ljdk/nashorn/internal/runtime/regexp/joni/SearchAlgorithm;
            getstatic jdk.nashorn.internal.runtime.regexp.joni.SearchAlgorithm.NONE:Ljdk/nashorn/internal/runtime/regexp/joni/SearchAlgorithm;
            if_acmpeq 140
       107: .line 497
            iload 5 /* range */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.end:I
            if_icmpge 110
       108: .line 498
            iload 5 /* range */
            istore 10 /* adjrange */
        start local 10 // int adjrange
       109: .line 499
            goto 111
        end local 10 // int adjrange
       110: .line 500
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.end:I
            istore 10 /* adjrange */
        start local 10 // int adjrange
       111: .line 502
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.dMax:I
            ldc 2147483647
            if_icmpeq 128
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.end:I
            iload 5 /* range */
            isub
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.thresholdLength:I
            if_icmplt 128
       112: .line 504
      StackMap locals:
      StackMap stack:
            iload 6 /* s */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.dMax:I
            iadd
            istore 11 /* schStart */
        start local 11 // int schStart
       113: .line 505
            iload 11 /* schStart */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.end:I
            if_icmple 115
       114: .line 506
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.end:I
            istore 11 /* schStart */
       115: .line 508
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.chars:[C
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.str:I
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.end:I
            iload 11 /* schStart */
            iload 5 /* range */
            iload 10 /* adjrange */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Matcher.backwardSearchRange:([CIIIII)Z
            ifne 117
       116: .line 510
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Matcher.mismatch:()I
            ireturn
       117: .line 512
      StackMap locals:
      StackMap stack:
            iload 6 /* s */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.high:I
            if_icmple 124
       118: .line 513
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.high:I
            istore 6 /* s */
       119: .line 515
            goto 124
       120: .line 516
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.str:I
            iload 6 /* s */
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.EncodingHelper.prevCharHead:(II)I
            istore 7 /* prev */
        start local 7 // int prev
       121: .line 517
            aload 0 /* this */
            iload 8 /* origStart */
            iload 6 /* s */
            iload 7 /* prev */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Matcher.matchCheck:(III)Z
            ifeq 123
       122: .line 518
            aload 0 /* this */
            iload 6 /* s */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Matcher.match:(I)I
            ireturn
       123: .line 520
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Matcher int int int int int int int int int int int
      StackMap stack:
            iload 7 /* prev */
            istore 6 /* s */
        end local 7 // int prev
       124: .line 515
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Matcher int int int int int int top int int int int
      StackMap stack:
            iload 6 /* s */
            iconst_m1
            if_icmpeq 125
            iload 6 /* s */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.low:I
            if_icmpge 120
        end local 11 // int schStart
       125: .line 522
      StackMap locals:
      StackMap stack:
            iload 6 /* s */
            iload 5 /* range */
       126: .line 503
            if_icmpge 112
       127: .line 523
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Matcher.mismatch:()I
            ireturn
       128: .line 525
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.end:I
            iload 5 /* range */
            isub
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.thresholdLength:I
            if_icmpge 130
       129: .line 526
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Matcher.mismatch:()I
            ireturn
       130: .line 529
      StackMap locals:
      StackMap stack:
            iload 6 /* s */
            istore 11 /* schStart */
        start local 11 // int schStart
       131: .line 530
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.dMax:I
            ifeq 138
       132: .line 531
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.dMax:I
            ldc 2147483647
            if_icmpne 135
       133: .line 532
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.end:I
            istore 11 /* schStart */
       134: .line 533
            goto 138
       135: .line 534
      StackMap locals: int
      StackMap stack:
            iload 11 /* schStart */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.dMax:I
            iadd
            istore 11 /* schStart */
       136: .line 535
            iload 11 /* schStart */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.end:I
            if_icmple 138
       137: .line 536
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.end:I
            istore 11 /* schStart */
       138: .line 540
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.chars:[C
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.str:I
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.end:I
            iload 11 /* schStart */
            iload 5 /* range */
            iload 10 /* adjrange */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Matcher.backwardSearchRange:([CIIIII)Z
            ifne 140
       139: .line 541
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Matcher.mismatch:()I
            ireturn
        end local 11 // int schStart
        end local 10 // int adjrange
       140: .line 546
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.str:I
            iload 6 /* s */
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.EncodingHelper.prevCharHead:(II)I
            istore 7 /* prev */
        start local 7 // int prev
       141: .line 547
            aload 0 /* this */
            iload 8 /* origStart */
            iload 6 /* s */
            iload 7 /* prev */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Matcher.matchCheck:(III)Z
            ifeq 143
       142: .line 548
            aload 0 /* this */
            iload 6 /* s */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Matcher.match:(I)I
            ireturn
       143: .line 550
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Matcher int int int int int int int int int
      StackMap stack:
            iload 7 /* prev */
            istore 6 /* s */
       144: .line 551
            iload 6 /* s */
            iload 5 /* range */
       145: .line 545
            if_icmpge 140
       146: .line 554
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Matcher.mismatch:()I
            ireturn
        end local 9 // int origRange
        end local 8 // int origStart
        end local 7 // int prev
        end local 6 // int s
        end local 5 // int range
        end local 4 // int start
        end local 3 // int option
        end local 2 // int rangep
        end local 1 // int startp
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.Matcher this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0  147     0        this  Ljdk/nashorn/internal/runtime/regexp/joni/Matcher;
            0  147     1      startp  I
            0  147     2      rangep  I
            0  147     3      option  I
            1  147     4       start  I
            2  147     5       range  I
           49   54     6           s  I
           57  147     6           s  I
           50   54     7        prev  I
           60   61     7        prev  I
           62  106     7        prev  I
          121  124     7        prev  I
          141  147     7        prev  I
            3  147     8   origStart  I
            4  147     9   origRange  I
           27   29    10  minSemiEnd  I
           34   37    10  minSemiEnd  I
           38   40    10  minSemiEnd  I
           26   29    11  maxSemiEnd  I
           32   40    11  maxSemiEnd  I
           31   40    12      preEnd  I
           64   97    10    schRange  I
          109  110    10    adjrange  I
          111  140    10    adjrange  I
          113  125    11    schStart  I
          131  140    11    schStart  I
    MethodParameters:
        Name  Flags
      startp  final
      rangep  final
      option  final

  private boolean endBuf(int, int, int, int);
    descriptor: (IIII)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=5
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.Matcher this
        start local 1 // int startp
        start local 2 // int rangep
        start local 3 // int minSemiEnd
        start local 4 // int maxSemiEnd
         0: .line 558
            iload 1 /* startp */
            istore 5 /* start */
        start local 5 // int start
         1: .line 559
            iload 2 /* rangep */
            istore 6 /* range */
        start local 6 // int range
         2: .line 561
            iload 4 /* maxSemiEnd */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.str:I
            isub
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.anchorDmin:I
            if_icmpge 4
         3: .line 562
            iconst_1
            ireturn
         4: .line 565
      StackMap locals: int int
      StackMap stack:
            iload 6 /* range */
            iload 5 /* start */
            if_icmple 13
         5: .line 566
            iload 3 /* minSemiEnd */
            iload 5 /* start */
            isub
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.anchorDmax:I
            if_icmple 9
         6: .line 567
            iload 3 /* minSemiEnd */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.anchorDmax:I
            isub
            istore 5 /* start */
         7: .line 568
            iload 5 /* start */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.end:I
            if_icmplt 9
         8: .line 570
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.str:I
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.end:I
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.EncodingHelper.prevCharHead:(II)I
            istore 5 /* start */
         9: .line 573
      StackMap locals:
      StackMap stack:
            iload 4 /* maxSemiEnd */
            iload 6 /* range */
            iconst_1
            isub
            isub
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.anchorDmin:I
            if_icmpge 11
        10: .line 574
            iload 4 /* maxSemiEnd */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.anchorDmin:I
            isub
            iconst_1
            iadd
            istore 6 /* range */
        11: .line 576
      StackMap locals:
      StackMap stack:
            iload 5 /* start */
            iload 6 /* range */
            if_icmplt 19
        12: .line 578
            iconst_1
            ireturn
        13: .line 581
      StackMap locals:
      StackMap stack:
            iload 3 /* minSemiEnd */
            iload 6 /* range */
            isub
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.anchorDmax:I
            if_icmple 15
        14: .line 582
            iload 3 /* minSemiEnd */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.anchorDmax:I
            isub
            istore 6 /* range */
        15: .line 584
      StackMap locals:
      StackMap stack:
            iload 4 /* maxSemiEnd */
            iload 5 /* start */
            isub
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.anchorDmin:I
            if_icmpge 17
        16: .line 585
            iload 4 /* maxSemiEnd */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.anchorDmin:I
            isub
            istore 5 /* start */
        17: .line 587
      StackMap locals:
      StackMap stack:
            iload 6 /* range */
            iload 5 /* start */
            if_icmple 19
        18: .line 589
            iconst_1
            ireturn
        19: .line 592
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 6 // int range
        end local 5 // int start
        end local 4 // int maxSemiEnd
        end local 3 // int minSemiEnd
        end local 2 // int rangep
        end local 1 // int startp
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.Matcher this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   20     0        this  Ljdk/nashorn/internal/runtime/regexp/joni/Matcher;
            0   20     1      startp  I
            0   20     2      rangep  I
            0   20     3  minSemiEnd  I
            0   20     4  maxSemiEnd  I
            1   20     5       start  I
            2   20     6       range  I
    MethodParameters:
            Name  Flags
      startp      final
      rangep      final
      minSemiEnd  final
      maxSemiEnd  final

  private int match(int);
    descriptor: (I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.Matcher this
        start local 1 // int s
         0: .line 596
            iload 1 /* s */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.str:I
            isub
            ireturn
        end local 1 // int s
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.Matcher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/Matcher;
            0    1     1     s  I
    MethodParameters:
      Name  Flags
      s     final

  private int mismatch();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.Matcher this
         0: .line 601
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.msaBestLen:I
            iflt 3
         1: .line 602
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Matcher.msaBestS:I
            istore 1 /* s */
        start local 1 // int s
         2: .line 603
            aload 0 /* this */
            iload 1 /* s */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Matcher.match:(I)I
            ireturn
        end local 1 // int s
         3: .line 607
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.Matcher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/Matcher;
            2    3     1     s  I
}
SourceFile: "Matcher.java"