public class org.jruby.util.RegexpSupport
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jruby.util.RegexpSupport
  super_class: java.lang.Object
{
  private static volatile int[] $SWITCH_TABLE$org$jruby$util$RegexpSupport$ErrorMode;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.util.RegexpSupport this
         0: .line 35
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.jruby.util.RegexpSupport this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/util/RegexpSupport;

  public static org.jruby.util.ByteList preprocess(org.jruby.Ruby, org.jruby.util.ByteList, org.jcodings.Encoding, org.jcodings.Encoding[], org.jruby.util.RegexpSupport$ErrorMode);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Lorg/jcodings/Encoding;[Lorg/jcodings/Encoding;Lorg/jruby/util/RegexpSupport$ErrorMode;)Lorg/jruby/util/ByteList;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=9, locals=7, args_size=5
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.util.ByteList str
        start local 2 // org.jcodings.Encoding enc
        start local 3 // org.jcodings.Encoding[] fixedEnc
        start local 4 // org.jruby.util.RegexpSupport$ErrorMode mode
         0: .line 54
            new org.jruby.util.ByteList
            dup
            aload 1 /* str */
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            invokespecial org.jruby.util.ByteList.<init>:(I)V
            astore 5 /* to */
        start local 5 // org.jruby.util.ByteList to
         1: .line 56
            aload 2 /* enc */
            invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
            ifeq 4
         2: .line 57
            aload 3 /* fixedEnc */
            iconst_0
            aconst_null
            aastore
         3: .line 58
            goto 6
         4: .line 59
      StackMap locals: org.jruby.util.ByteList
      StackMap stack:
            aload 3 /* fixedEnc */
            iconst_0
            aload 2 /* enc */
            aastore
         5: .line 60
            aload 5 /* to */
            aload 2 /* enc */
            invokevirtual org.jruby.util.ByteList.setEncoding:(Lorg/jcodings/Encoding;)V
         6: .line 63
      StackMap locals:
      StackMap stack:
            aload 0 /* runtime */
            aload 5 /* to */
            aload 1 /* str */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            aload 1 /* str */
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            aload 1 /* str */
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            aload 1 /* str */
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iadd
            aload 2 /* enc */
            aload 3 /* fixedEnc */
            aload 1 /* str */
            aload 4 /* mode */
            invokestatic org.jruby.util.RegexpSupport.unescapeNonAscii:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;[BIILorg/jcodings/Encoding;[Lorg/jcodings/Encoding;Lorg/jruby/util/ByteList;Lorg/jruby/util/RegexpSupport$ErrorMode;)Z
            istore 6 /* hasProperty */
        start local 6 // boolean hasProperty
         7: .line 64
            iload 6 /* hasProperty */
            ifeq 8
            aload 3 /* fixedEnc */
            iconst_0
            aaload
            ifnonnull 8
            aload 3 /* fixedEnc */
            iconst_0
            aload 2 /* enc */
            aastore
         8: .line 65
      StackMap locals: int
      StackMap stack:
            aload 3 /* fixedEnc */
            iconst_0
            aaload
            ifnull 9
            aload 5 /* to */
            aload 3 /* fixedEnc */
            iconst_0
            aaload
            invokevirtual org.jruby.util.ByteList.setEncoding:(Lorg/jcodings/Encoding;)V
         9: .line 66
      StackMap locals:
      StackMap stack:
            aload 5 /* to */
            areturn
        end local 6 // boolean hasProperty
        end local 5 // org.jruby.util.ByteList to
        end local 4 // org.jruby.util.RegexpSupport$ErrorMode mode
        end local 3 // org.jcodings.Encoding[] fixedEnc
        end local 2 // org.jcodings.Encoding enc
        end local 1 // org.jruby.util.ByteList str
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0      runtime  Lorg/jruby/Ruby;
            0   10     1          str  Lorg/jruby/util/ByteList;
            0   10     2          enc  Lorg/jcodings/Encoding;
            0   10     3     fixedEnc  [Lorg/jcodings/Encoding;
            0   10     4         mode  Lorg/jruby/util/RegexpSupport$ErrorMode;
            1   10     5           to  Lorg/jruby/util/ByteList;
            7   10     6  hasProperty  Z
    MethodParameters:
          Name  Flags
      runtime   
      str       
      enc       
      fixedEnc  
      mode      

  public static boolean unescapeNonAscii(org.jruby.Ruby, org.jruby.util.ByteList, byte[], int, int, org.jcodings.Encoding, org.jcodings.Encoding[], org.jruby.util.ByteList, org.jruby.util.RegexpSupport$ErrorMode);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;[BIILorg/jcodings/Encoding;[Lorg/jcodings/Encoding;Lorg/jruby/util/ByteList;Lorg/jruby/util/RegexpSupport$ErrorMode;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=9, locals=14, args_size=9
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.util.ByteList to
        start local 2 // byte[] bytes
        start local 3 // int p
        start local 4 // int end
        start local 5 // org.jcodings.Encoding enc
        start local 6 // org.jcodings.Encoding[] encp
        start local 7 // org.jruby.util.ByteList str
        start local 8 // org.jruby.util.RegexpSupport$ErrorMode mode
         0: .line 85
            iconst_0
            istore 9 /* hasProperty */
        start local 9 // boolean hasProperty
         1: .line 86
            aconst_null
            astore 10 /* buf */
        start local 10 // byte[] buf
         2: .line 88
            goto 48
         3: .line 89
      StackMap locals: int byte[]
      StackMap stack:
            aload 5 /* enc */
            aload 2 /* bytes */
            iload 3 /* p */
            iload 4 /* end */
            invokestatic org.jruby.util.StringSupport.preciseLength:(Lorg/jcodings/Encoding;[BII)I
            istore 11 /* cl */
        start local 11 // int cl
         4: .line 90
            iload 11 /* cl */
            ifgt 5
            aload 0 /* runtime */
            aload 7 /* str */
            ldc "invalid multibyte character"
            aload 8 /* mode */
            invokestatic org.jruby.util.RegexpSupport.raisePreprocessError:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Ljava/lang/String;Lorg/jruby/util/RegexpSupport$ErrorMode;)I
            pop
         5: .line 91
      StackMap locals: int
      StackMap stack:
            iload 11 /* cl */
            iconst_1
            if_icmpgt 6
            aload 2 /* bytes */
            iload 3 /* p */
            baload
            sipush 128
            iand
            ifeq 14
         6: .line 92
      StackMap locals:
      StackMap stack:
            aload 1 /* to */
            ifnull 7
            aload 1 /* to */
            aload 2 /* bytes */
            iload 3 /* p */
            iload 11 /* cl */
            invokevirtual org.jruby.util.ByteList.append:([BII)V
         7: .line 93
      StackMap locals:
      StackMap stack:
            iload 3 /* p */
            iload 11 /* cl */
            iadd
            istore 3 /* p */
         8: .line 94
            aload 6 /* encp */
            iconst_0
            aaload
            ifnonnull 11
         9: .line 95
            aload 6 /* encp */
            iconst_0
            aload 5 /* enc */
            aastore
        10: .line 96
            goto 48
      StackMap locals:
      StackMap stack:
        11: aload 6 /* encp */
            iconst_0
            aaload
            aload 5 /* enc */
            if_acmpeq 48
        12: .line 97
            aload 0 /* runtime */
            aload 7 /* str */
            ldc "non ASCII character in UTF-8 regexp"
            aload 8 /* mode */
            invokestatic org.jruby.util.RegexpSupport.raisePreprocessError:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Ljava/lang/String;Lorg/jruby/util/RegexpSupport$ErrorMode;)I
            pop
        13: .line 99
            goto 48
        14: .line 102
      StackMap locals:
      StackMap stack:
            aload 2 /* bytes */
            iload 3 /* p */
            iinc 3 /* p */ 1
            baload
            sipush 255
            iand
            dup
            istore 12 /* c */
        start local 12 // int c
        15: tableswitch { // 92 - 92
                   92: 16
              default: 47
          }
        16: .line 104
      StackMap locals: int
      StackMap stack:
            iload 3 /* p */
            iload 4 /* end */
            if_icmpne 17
            aload 0 /* runtime */
            aload 7 /* str */
            ldc "too short escape sequence"
            aload 8 /* mode */
            invokestatic org.jruby.util.RegexpSupport.raisePreprocessError:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Ljava/lang/String;Lorg/jruby/util/RegexpSupport$ErrorMode;)I
            pop
        17: .line 106
      StackMap locals:
      StackMap stack:
            aload 2 /* bytes */
            iload 3 /* p */
            iinc 3 /* p */ 1
            baload
            sipush 255
            iand
            dup
            istore 12 /* c */
            lookupswitch { // 14
                   48: 21
                   49: 18
                   50: 18
                   51: 18
                   52: 18
                   53: 18
                   54: 18
                   55: 18
                   67: 21
                   77: 21
                   99: 21
                  112: 42
                  117: 33
                  120: 21
              default: 45
          }
        18: .line 109
      StackMap locals:
      StackMap stack:
            aload 2 /* bytes */
            iload 3 /* p */
            iconst_1
            isub
            iload 4 /* end */
            iload 3 /* p */
            iconst_1
            isub
            isub
            invokestatic org.jruby.util.StringSupport.scanOct:([BII)I
            bipush 127
            if_icmpgt 21
        19: .line 110
            aload 1 /* to */
            ifnull 48
            aload 1 /* to */
            bipush 92
            invokevirtual org.jruby.util.ByteList.append:(I)Lorg/jruby/util/ByteList;
            iload 12 /* c */
            invokevirtual org.jruby.util.ByteList.append:(I)Lorg/jruby/util/ByteList;
            pop
        20: .line 111
            goto 48
        21: .line 119
      StackMap locals:
      StackMap stack:
            iinc 3 /* p */ -2
        22: .line 120
            aload 5 /* enc */
            getstatic org.jcodings.specific.USASCIIEncoding.INSTANCE:Lorg/jcodings/specific/USASCIIEncoding;
            if_acmpne 31
        23: .line 121
            aload 10 /* buf */
            ifnonnull 24
            iconst_1
            newarray 8
            astore 10 /* buf */
        24: .line 122
      StackMap locals:
      StackMap stack:
            iload 3 /* p */
            istore 13 /* pbeg */
        start local 13 // int pbeg
        25: .line 123
            aload 0 /* runtime */
            aload 10 /* buf */
            iconst_0
            aload 2 /* bytes */
            iload 3 /* p */
            iload 4 /* end */
            aload 7 /* str */
            aload 8 /* mode */
            invokestatic org.jruby.util.RegexpSupport.readEscapedByte:(Lorg/jruby/Ruby;[BI[BIILorg/jruby/util/ByteList;Lorg/jruby/util/RegexpSupport$ErrorMode;)I
            istore 3 /* p */
        26: .line 124
            aload 10 /* buf */
            iconst_0
            baload
            istore 12 /* c */
        27: .line 125
            iload 12 /* c */
            ldc 65535
            if_icmpne 28
            iconst_0
            ireturn
        28: .line 126
      StackMap locals: int
      StackMap stack:
            aload 1 /* to */
            ifnull 48
        29: .line 127
            aload 1 /* to */
            aload 2 /* bytes */
            iload 13 /* pbeg */
            iload 3 /* p */
            iload 13 /* pbeg */
            isub
            invokevirtual org.jruby.util.ByteList.append:([BII)V
        end local 13 // int pbeg
        30: .line 129
            goto 48
        31: .line 131
      StackMap locals:
      StackMap stack:
            aload 0 /* runtime */
            aload 1 /* to */
            aload 2 /* bytes */
            iload 3 /* p */
            iload 4 /* end */
            aload 5 /* enc */
            aload 6 /* encp */
            aload 7 /* str */
            aload 8 /* mode */
            invokestatic org.jruby.util.RegexpSupport.unescapeEscapedNonAscii:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;[BIILorg/jcodings/Encoding;[Lorg/jcodings/Encoding;Lorg/jruby/util/ByteList;Lorg/jruby/util/RegexpSupport$ErrorMode;)I
            istore 3 /* p */
        32: .line 133
            goto 48
        33: .line 136
      StackMap locals:
      StackMap stack:
            iload 3 /* p */
            iload 4 /* end */
            if_icmpne 34
            aload 0 /* runtime */
            aload 7 /* str */
            ldc "too short escape sequence"
            aload 8 /* mode */
            invokestatic org.jruby.util.RegexpSupport.raisePreprocessError:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Ljava/lang/String;Lorg/jruby/util/RegexpSupport$ErrorMode;)I
            pop
        34: .line 137
      StackMap locals:
      StackMap stack:
            aload 2 /* bytes */
            iload 3 /* p */
            baload
            bipush 123
            if_icmpne 40
        35: .line 138
            iinc 3 /* p */ 1
        36: .line 139
            aload 0 /* runtime */
            aload 1 /* to */
            aload 2 /* bytes */
            iload 3 /* p */
            iload 4 /* end */
            aload 6 /* encp */
            aload 7 /* str */
            aload 8 /* mode */
            invokestatic org.jruby.util.RegexpSupport.unescapeUnicodeList:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;[BII[Lorg/jcodings/Encoding;Lorg/jruby/util/ByteList;Lorg/jruby/util/RegexpSupport$ErrorMode;)I
            istore 3 /* p */
        37: .line 140
            iload 3 /* p */
            iload 4 /* end */
            if_icmpeq 38
            aload 2 /* bytes */
            iload 3 /* p */
            iinc 3 /* p */ 1
            baload
            bipush 125
            if_icmpeq 48
      StackMap locals:
      StackMap stack:
        38: aload 0 /* runtime */
            aload 7 /* str */
            ldc "invalid Unicode list"
            aload 8 /* mode */
            invokestatic org.jruby.util.RegexpSupport.raisePreprocessError:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Ljava/lang/String;Lorg/jruby/util/RegexpSupport$ErrorMode;)I
            pop
        39: .line 141
            goto 48
        40: .line 142
      StackMap locals:
      StackMap stack:
            aload 0 /* runtime */
            aload 1 /* to */
            aload 2 /* bytes */
            iload 3 /* p */
            iload 4 /* end */
            aload 6 /* encp */
            aload 7 /* str */
            aload 8 /* mode */
            invokestatic org.jruby.util.RegexpSupport.unescapeUnicodeBmp:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;[BII[Lorg/jcodings/Encoding;Lorg/jruby/util/ByteList;Lorg/jruby/util/RegexpSupport$ErrorMode;)I
            istore 3 /* p */
        41: .line 144
            goto 48
        42: .line 146
      StackMap locals:
      StackMap stack:
            aload 6 /* encp */
            iconst_0
            aaload
            ifnonnull 43
            iconst_1
            istore 9 /* hasProperty */
        43: .line 147
      StackMap locals:
      StackMap stack:
            aload 1 /* to */
            ifnull 48
            aload 1 /* to */
            bipush 92
            invokevirtual org.jruby.util.ByteList.append:(I)Lorg/jruby/util/ByteList;
            iload 12 /* c */
            invokevirtual org.jruby.util.ByteList.append:(I)Lorg/jruby/util/ByteList;
            pop
        44: .line 148
            goto 48
        45: .line 151
      StackMap locals:
      StackMap stack:
            aload 1 /* to */
            ifnull 48
            aload 1 /* to */
            bipush 92
            invokevirtual org.jruby.util.ByteList.append:(I)Lorg/jruby/util/ByteList;
            iload 12 /* c */
            invokevirtual org.jruby.util.ByteList.append:(I)Lorg/jruby/util/ByteList;
            pop
        46: .line 154
            goto 48
        47: .line 157
      StackMap locals:
      StackMap stack:
            aload 1 /* to */
            ifnull 48
            aload 1 /* to */
            iload 12 /* c */
            invokevirtual org.jruby.util.ByteList.append:(I)Lorg/jruby/util/ByteList;
            pop
        end local 12 // int c
        end local 11 // int cl
        48: .line 88
      StackMap locals:
      StackMap stack:
            iload 3 /* p */
            iload 4 /* end */
            if_icmplt 3
        49: .line 160
            iload 9 /* hasProperty */
            ireturn
        end local 10 // byte[] buf
        end local 9 // boolean hasProperty
        end local 8 // org.jruby.util.RegexpSupport$ErrorMode mode
        end local 7 // org.jruby.util.ByteList str
        end local 6 // org.jcodings.Encoding[] encp
        end local 5 // org.jcodings.Encoding enc
        end local 4 // int end
        end local 3 // int p
        end local 2 // byte[] bytes
        end local 1 // org.jruby.util.ByteList to
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   50     0      runtime  Lorg/jruby/Ruby;
            0   50     1           to  Lorg/jruby/util/ByteList;
            0   50     2        bytes  [B
            0   50     3            p  I
            0   50     4          end  I
            0   50     5          enc  Lorg/jcodings/Encoding;
            0   50     6         encp  [Lorg/jcodings/Encoding;
            0   50     7          str  Lorg/jruby/util/ByteList;
            0   50     8         mode  Lorg/jruby/util/RegexpSupport$ErrorMode;
            1   50     9  hasProperty  Z
            2   50    10          buf  [B
            4   48    11           cl  I
           15   48    12            c  I
           25   30    13         pbeg  I
    MethodParameters:
         Name  Flags
      runtime  
      to       
      bytes    
      p        
      end      
      enc      
      encp     
      str      
      mode     

  public static int raisePreprocessError(org.jruby.Ruby, org.jruby.util.ByteList, java.lang.String, org.jruby.util.RegexpSupport$ErrorMode);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Ljava/lang/String;Lorg/jruby/util/RegexpSupport$ErrorMode;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.util.ByteList str
        start local 2 // java.lang.String err
        start local 3 // org.jruby.util.RegexpSupport$ErrorMode mode
         0: .line 164
            invokestatic org.jruby.util.RegexpSupport.$SWITCH_TABLE$org$jruby$util$RegexpSupport$ErrorMode:()[I
            aload 3 /* mode */
            invokevirtual org.jruby.util.RegexpSupport$ErrorMode.ordinal:()I
            iaload
            tableswitch { // 1 - 3
                    1: 1
                    2: 2
                    3: 3
              default: 3
          }
         1: .line 166
      StackMap locals:
      StackMap stack:
            aload 0 /* runtime */
            aload 1 /* str */
            aload 1 /* str */
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            getstatic org.jruby.util.RegexpOptions.NULL_OPTIONS:Lorg/jruby/util/RegexpOptions;
            aload 2 /* err */
            invokestatic org.jruby.util.RegexpSupport.raiseRegexpError19:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Lorg/jcodings/Encoding;Lorg/jruby/util/RegexpOptions;Ljava/lang/String;)V
         2: .line 168
      StackMap locals:
      StackMap stack:
            aload 0 /* runtime */
            new java.lang.StringBuilder
            dup
            ldc "regexp preprocess failed: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* err */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         3: .line 172
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // org.jruby.util.RegexpSupport$ErrorMode mode
        end local 2 // java.lang.String err
        end local 1 // org.jruby.util.ByteList str
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0  runtime  Lorg/jruby/Ruby;
            0    4     1      str  Lorg/jruby/util/ByteList;
            0    4     2      err  Ljava/lang/String;
            0    4     3     mode  Lorg/jruby/util/RegexpSupport$ErrorMode;
    MethodParameters:
         Name  Flags
      runtime  
      str      
      err      
      mode     

  public static void raiseRegexpError19(org.jruby.Ruby, org.jruby.util.ByteList, org.jcodings.Encoding, org.jruby.util.RegexpOptions, java.lang.String);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Lorg/jcodings/Encoding;Lorg/jruby/util/RegexpOptions;Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.util.ByteList bytes
        start local 2 // org.jcodings.Encoding enc
        start local 3 // org.jruby.util.RegexpOptions options
        start local 4 // java.lang.String err
         0: .line 178
            aload 0 /* runtime */
            new java.lang.StringBuilder
            dup
            aload 4 /* err */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* runtime */
            aload 1 /* bytes */
            aload 3 /* options */
            aload 2 /* enc */
            invokestatic org.jruby.util.RegexpSupport.regexpDescription19:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Lorg/jruby/util/RegexpOptions;Lorg/jcodings/Encoding;)Lorg/jruby/util/ByteList;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newRegexpError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 4 // java.lang.String err
        end local 3 // org.jruby.util.RegexpOptions options
        end local 2 // org.jcodings.Encoding enc
        end local 1 // org.jruby.util.ByteList bytes
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  runtime  Lorg/jruby/Ruby;
            0    1     1    bytes  Lorg/jruby/util/ByteList;
            0    1     2      enc  Lorg/jcodings/Encoding;
            0    1     3  options  Lorg/jruby/util/RegexpOptions;
            0    1     4      err  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      runtime  
      bytes    
      enc      
      options  
      err      

  public static org.jruby.util.ByteList regexpDescription19(org.jruby.Ruby, org.jruby.util.ByteList, org.jruby.util.RegexpOptions, org.jcodings.Encoding);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Lorg/jruby/util/RegexpOptions;Lorg/jcodings/Encoding;)Lorg/jruby/util/ByteList;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.util.ByteList bytes
        start local 2 // org.jruby.util.RegexpOptions options
        start local 3 // org.jcodings.Encoding enc
         0: .line 183
            aload 0 /* runtime */
            aload 1 /* bytes */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            aload 1 /* bytes */
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            aload 1 /* bytes */
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            aload 2 /* options */
            aload 3 /* enc */
            invokestatic org.jruby.util.RegexpSupport.regexpDescription19:(Lorg/jruby/Ruby;[BIILorg/jruby/util/RegexpOptions;Lorg/jcodings/Encoding;)Lorg/jruby/util/ByteList;
            areturn
        end local 3 // org.jcodings.Encoding enc
        end local 2 // org.jruby.util.RegexpOptions options
        end local 1 // org.jruby.util.ByteList bytes
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  runtime  Lorg/jruby/Ruby;
            0    1     1    bytes  Lorg/jruby/util/ByteList;
            0    1     2  options  Lorg/jruby/util/RegexpOptions;
            0    1     3      enc  Lorg/jcodings/Encoding;
    MethodParameters:
         Name  Flags
      runtime  
      bytes    
      options  
      enc      

  private static org.jruby.util.ByteList regexpDescription19(org.jruby.Ruby, byte[], int, int, org.jruby.util.RegexpOptions, org.jcodings.Encoding);
    descriptor: (Lorg/jruby/Ruby;[BIILorg/jruby/util/RegexpOptions;Lorg/jcodings/Encoding;)Lorg/jruby/util/ByteList;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=8, args_size=6
        start local 0 // org.jruby.Ruby runtime
        start local 1 // byte[] s
        start local 2 // int start
        start local 3 // int len
        start local 4 // org.jruby.util.RegexpOptions options
        start local 5 // org.jcodings.Encoding enc
         0: .line 187
            new org.jruby.util.ByteList
            dup
            invokespecial org.jruby.util.ByteList.<init>:()V
            astore 6 /* description */
        start local 6 // org.jruby.util.ByteList description
         1: .line 188
            aload 6 /* description */
            aload 5 /* enc */
            invokevirtual org.jruby.util.ByteList.setEncoding:(Lorg/jcodings/Encoding;)V
         2: .line 189
            aload 6 /* description */
            bipush 47
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
         3: .line 190
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getDefaultInternalEncoding:()Lorg/jcodings/Encoding;
            astore 7 /* resultEnc */
        start local 7 // org.jcodings.Encoding resultEnc
         4: .line 191
            aload 7 /* resultEnc */
            ifnonnull 5
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getDefaultExternalEncoding:()Lorg/jcodings/Encoding;
            astore 7 /* resultEnc */
         5: .line 193
      StackMap locals: org.jruby.util.ByteList org.jcodings.Encoding
      StackMap stack:
            aload 0 /* runtime */
            aload 6 /* description */
            aload 1 /* s */
            iload 2 /* start */
            iload 3 /* len */
            aload 5 /* enc */
            aload 7 /* resultEnc */
            invokestatic org.jruby.util.RegexpSupport.appendRegexpString19:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;[BIILorg/jcodings/Encoding;Lorg/jcodings/Encoding;)V
         6: .line 194
            aload 6 /* description */
            bipush 47
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
         7: .line 195
            aload 6 /* description */
            aload 4 /* options */
            invokestatic org.jruby.util.RegexpSupport.appendOptions:(Lorg/jruby/util/ByteList;Lorg/jruby/util/RegexpOptions;)V
         8: .line 196
            aload 4 /* options */
            invokevirtual org.jruby.util.RegexpOptions.isEncodingNone:()Z
            ifeq 9
            aload 6 /* description */
            bipush 110
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
         9: .line 197
      StackMap locals:
      StackMap stack:
            aload 6 /* description */
            areturn
        end local 7 // org.jcodings.Encoding resultEnc
        end local 6 // org.jruby.util.ByteList description
        end local 5 // org.jcodings.Encoding enc
        end local 4 // org.jruby.util.RegexpOptions options
        end local 3 // int len
        end local 2 // int start
        end local 1 // byte[] s
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0      runtime  Lorg/jruby/Ruby;
            0   10     1            s  [B
            0   10     2        start  I
            0   10     3          len  I
            0   10     4      options  Lorg/jruby/util/RegexpOptions;
            0   10     5          enc  Lorg/jcodings/Encoding;
            1   10     6  description  Lorg/jruby/util/ByteList;
            4   10     7    resultEnc  Lorg/jcodings/Encoding;
    MethodParameters:
         Name  Flags
      runtime  
      s        
      start    
      len      
      options  
      enc      

  public static void appendRegexpString19(org.jruby.Ruby, org.jruby.util.ByteList, byte[], int, int, org.jcodings.Encoding, org.jcodings.Encoding);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;[BIILorg/jcodings/Encoding;Lorg/jcodings/Encoding;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=15, args_size=7
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.util.ByteList to
        start local 2 // byte[] bytes
        start local 3 // int start
        start local 4 // int len
        start local 5 // org.jcodings.Encoding enc
        start local 6 // org.jcodings.Encoding resEnc
         0: .line 201
            iload 3 /* start */
            istore 7 /* p */
        start local 7 // int p
         1: .line 202
            iload 7 /* p */
            iload 4 /* len */
            iadd
            istore 8 /* end */
        start local 8 // int end
         2: .line 203
            iconst_0
            istore 9 /* needEscape */
        start local 9 // boolean needEscape
         3: .line 204
            goto 18
         4: .line 207
      StackMap locals: int int int
      StackMap stack:
            aload 5 /* enc */
            invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
            ifeq 8
         5: .line 208
            iconst_1
            istore 11 /* cl */
        start local 11 // int cl
         6: .line 209
            aload 2 /* bytes */
            iload 7 /* p */
            baload
            sipush 255
            iand
            istore 10 /* c */
        start local 10 // int c
         7: .line 210
            goto 10
        end local 11 // int cl
        end local 10 // int c
         8: .line 211
      StackMap locals:
      StackMap stack:
            aload 5 /* enc */
            aload 2 /* bytes */
            iload 7 /* p */
            iload 8 /* end */
            invokestatic org.jruby.util.StringSupport.preciseLength:(Lorg/jcodings/Encoding;[BII)I
            istore 11 /* cl */
        start local 11 // int cl
         9: .line 212
            aload 5 /* enc */
            aload 2 /* bytes */
            iload 7 /* p */
            iload 8 /* end */
            invokevirtual org.jcodings.Encoding.mbcToCode:([BII)I
            istore 10 /* c */
        start local 10 // int c
        10: .line 215
      StackMap locals: int int
      StackMap stack:
            iload 10 /* c */
            invokestatic org.jcodings.Encoding.isAscii:(I)Z
            ifne 13
        11: .line 216
            iload 7 /* p */
            aload 5 /* enc */
            aload 2 /* bytes */
            iload 7 /* p */
            iload 8 /* end */
            invokestatic org.jruby.util.StringSupport.length:(Lorg/jcodings/Encoding;[BII)I
            iadd
            istore 7 /* p */
        12: .line 217
            goto 18
      StackMap locals:
      StackMap stack:
        13: iload 10 /* c */
            bipush 47
            if_icmpeq 16
            aload 5 /* enc */
            iload 10 /* c */
            invokevirtual org.jcodings.Encoding.isPrint:(I)Z
            ifeq 16
        14: .line 218
            iload 7 /* p */
            iload 11 /* cl */
            iadd
            istore 7 /* p */
        15: .line 219
            goto 18
        16: .line 220
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 9 /* needEscape */
        17: .line 221
            goto 19
        end local 11 // int cl
        end local 10 // int c
        18: .line 204
      StackMap locals:
      StackMap stack:
            iload 7 /* p */
            iload 8 /* end */
            if_icmplt 4
        19: .line 224
      StackMap locals:
      StackMap stack:
            iload 9 /* needEscape */
            ifne 22
        20: .line 225
            aload 1 /* to */
            aload 2 /* bytes */
            iload 3 /* start */
            iload 4 /* len */
            invokevirtual org.jruby.util.ByteList.append:([BII)V
        21: .line 226
            goto 62
        22: .line 227
      StackMap locals:
      StackMap stack:
            aload 5 /* enc */
            invokevirtual org.jcodings.Encoding.isUnicode:()Z
            istore 10 /* isUnicode */
        start local 10 // boolean isUnicode
        23: .line 228
            iload 3 /* start */
            istore 7 /* p */
        24: .line 229
            goto 61
        25: .line 232
      StackMap locals: int
      StackMap stack:
            aload 5 /* enc */
            invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
            ifeq 29
        26: .line 233
            iconst_1
            istore 12 /* cl */
        start local 12 // int cl
        27: .line 234
            aload 2 /* bytes */
            iload 7 /* p */
            baload
            sipush 255
            iand
            istore 11 /* c */
        start local 11 // int c
        28: .line 235
            goto 31
        end local 12 // int cl
        end local 11 // int c
        29: .line 236
      StackMap locals:
      StackMap stack:
            aload 5 /* enc */
            aload 2 /* bytes */
            iload 7 /* p */
            iload 8 /* end */
            invokestatic org.jruby.util.StringSupport.preciseLength:(Lorg/jcodings/Encoding;[BII)I
            istore 12 /* cl */
        start local 12 // int cl
        30: .line 237
            aload 5 /* enc */
            aload 2 /* bytes */
            iload 7 /* p */
            iload 8 /* end */
            invokevirtual org.jcodings.Encoding.mbcToCode:([BII)I
            istore 11 /* c */
        start local 11 // int c
        31: .line 240
      StackMap locals: int int
      StackMap stack:
            iload 11 /* c */
            bipush 92
            if_icmpne 36
            iload 7 /* p */
            iload 12 /* cl */
            iadd
            iload 8 /* end */
            if_icmpge 36
        32: .line 241
            iload 12 /* cl */
            aload 5 /* enc */
            aload 2 /* bytes */
            iload 7 /* p */
            iload 12 /* cl */
            iadd
            iload 8 /* end */
            invokestatic org.jruby.util.StringSupport.length:(Lorg/jcodings/Encoding;[BII)I
            iadd
            istore 13 /* n */
        start local 13 // int n
        33: .line 242
            aload 1 /* to */
            aload 2 /* bytes */
            iload 7 /* p */
            iload 13 /* n */
            invokevirtual org.jruby.util.ByteList.append:([BII)V
        34: .line 243
            iload 7 /* p */
            iload 13 /* n */
            iadd
            istore 7 /* p */
        35: .line 244
            goto 61
        end local 13 // int n
        36: .line 245
      StackMap locals:
      StackMap stack:
            iload 11 /* c */
            bipush 47
            if_icmpne 40
        37: .line 246
            aload 1 /* to */
            bipush 92
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
        38: .line 247
            aload 1 /* to */
            aload 2 /* bytes */
            iload 7 /* p */
            iload 12 /* cl */
            invokevirtual org.jruby.util.ByteList.append:([BII)V
        39: .line 248
            goto 60
      StackMap locals:
      StackMap stack:
        40: iload 11 /* c */
            invokestatic org.jcodings.Encoding.isAscii:(I)Z
            ifne 53
        41: .line 249
            aload 5 /* enc */
            aload 2 /* bytes */
            iload 7 /* p */
            iload 8 /* end */
            invokestatic org.jruby.util.StringSupport.preciseLength:(Lorg/jcodings/Encoding;[BII)I
            istore 13 /* l */
        start local 13 // int l
        42: .line 250
            iload 13 /* l */
            ifgt 46
        43: .line 251
            iconst_1
            istore 13 /* l */
        44: .line 252
            aload 0 /* runtime */
            aload 1 /* to */
            ldc "\\x%02X"
            iload 11 /* c */
            invokestatic org.jruby.util.Sprintf.sprintf:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Ljava/lang/CharSequence;I)Z
            pop
        45: .line 253
            goto 51
      StackMap locals: int
      StackMap stack:
        46: aload 6 /* resEnc */
            ifnull 50
        47: .line 254
            aload 5 /* enc */
            aload 2 /* bytes */
            iload 7 /* p */
            iload 8 /* end */
            invokevirtual org.jcodings.Encoding.mbcToCode:([BII)I
            istore 14 /* code */
        start local 14 // int code
        48: .line 255
            aload 0 /* runtime */
            aload 1 /* to */
            iload 14 /* code */
            iload 10 /* isUnicode */
            invokestatic org.jruby.util.StringSupport.escapedCharFormat:(IZ)Ljava/lang/String;
            iload 14 /* code */
            invokestatic org.jruby.util.Sprintf.sprintf:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Ljava/lang/CharSequence;I)Z
            pop
        end local 14 // int code
        49: .line 256
            goto 51
        50: .line 257
      StackMap locals:
      StackMap stack:
            aload 1 /* to */
            aload 2 /* bytes */
            iload 7 /* p */
            iload 13 /* l */
            invokevirtual org.jruby.util.ByteList.append:([BII)V
        51: .line 259
      StackMap locals:
      StackMap stack:
            iload 7 /* p */
            iload 13 /* l */
            iadd
            istore 7 /* p */
        52: .line 261
            goto 61
        end local 13 // int l
        53: .line 262
      StackMap locals:
      StackMap stack:
            aload 5 /* enc */
            iload 11 /* c */
            invokevirtual org.jcodings.Encoding.isPrint:(I)Z
            ifeq 56
        54: .line 263
            aload 1 /* to */
            aload 2 /* bytes */
            iload 7 /* p */
            iload 12 /* cl */
            invokevirtual org.jruby.util.ByteList.append:([BII)V
        55: .line 264
            goto 60
      StackMap locals:
      StackMap stack:
        56: aload 5 /* enc */
            iload 11 /* c */
            invokevirtual org.jcodings.Encoding.isSpace:(I)Z
            ifne 59
        57: .line 265
            aload 0 /* runtime */
            aload 1 /* to */
            ldc "\\x%02X"
            iload 11 /* c */
            invokestatic org.jruby.util.Sprintf.sprintf:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Ljava/lang/CharSequence;I)Z
            pop
        58: .line 266
            goto 60
        59: .line 267
      StackMap locals:
      StackMap stack:
            aload 1 /* to */
            aload 2 /* bytes */
            iload 7 /* p */
            iload 12 /* cl */
            invokevirtual org.jruby.util.ByteList.append:([BII)V
        60: .line 269
      StackMap locals:
      StackMap stack:
            iload 7 /* p */
            iload 12 /* cl */
            iadd
            istore 7 /* p */
        end local 12 // int cl
        end local 11 // int c
        61: .line 229
      StackMap locals:
      StackMap stack:
            iload 7 /* p */
            iload 8 /* end */
            if_icmplt 25
        end local 10 // boolean isUnicode
        62: .line 272
      StackMap locals:
      StackMap stack:
            return
        end local 9 // boolean needEscape
        end local 8 // int end
        end local 7 // int p
        end local 6 // org.jcodings.Encoding resEnc
        end local 5 // org.jcodings.Encoding enc
        end local 4 // int len
        end local 3 // int start
        end local 2 // byte[] bytes
        end local 1 // org.jruby.util.ByteList to
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   63     0     runtime  Lorg/jruby/Ruby;
            0   63     1          to  Lorg/jruby/util/ByteList;
            0   63     2       bytes  [B
            0   63     3       start  I
            0   63     4         len  I
            0   63     5         enc  Lorg/jcodings/Encoding;
            0   63     6      resEnc  Lorg/jcodings/Encoding;
            1   63     7           p  I
            2   63     8         end  I
            3   63     9  needEscape  Z
            7    8    10           c  I
           10   18    10           c  I
            6    8    11          cl  I
            9   18    11          cl  I
           23   62    10   isUnicode  Z
           28   29    11           c  I
           31   61    11           c  I
           27   29    12          cl  I
           30   61    12          cl  I
           33   36    13           n  I
           42   53    13           l  I
           48   49    14        code  I
    MethodParameters:
         Name  Flags
      runtime  
      to       
      bytes    
      start    
      len      
      enc      
      resEnc   

  public static void appendOptions(org.jruby.util.ByteList, org.jruby.util.RegexpOptions);
    descriptor: (Lorg/jruby/util/ByteList;Lorg/jruby/util/RegexpOptions;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.util.ByteList to
        start local 1 // org.jruby.util.RegexpOptions options
         0: .line 276
            aload 1 /* options */
            invokevirtual org.jruby.util.RegexpOptions.isMultiline:()Z
            ifeq 1
            aload 0 /* to */
            bipush 109
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
         1: .line 277
      StackMap locals:
      StackMap stack:
            aload 1 /* options */
            invokevirtual org.jruby.util.RegexpOptions.isIgnorecase:()Z
            ifeq 2
            aload 0 /* to */
            bipush 105
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
         2: .line 278
      StackMap locals:
      StackMap stack:
            aload 1 /* options */
            invokevirtual org.jruby.util.RegexpOptions.isExtended:()Z
            ifeq 3
            aload 0 /* to */
            bipush 120
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
         3: .line 279
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.jruby.util.RegexpOptions options
        end local 0 // org.jruby.util.ByteList to
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0       to  Lorg/jruby/util/ByteList;
            0    4     1  options  Lorg/jruby/util/RegexpOptions;
    MethodParameters:
         Name  Flags
      to       
      options  

  public static int readEscapedByte(org.jruby.Ruby, byte[], int, byte[], int, int, org.jruby.util.ByteList, org.jruby.util.RegexpSupport$ErrorMode);
    descriptor: (Lorg/jruby/Ruby;[BI[BIILorg/jruby/util/ByteList;Lorg/jruby/util/RegexpSupport$ErrorMode;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=14, args_size=8
        start local 0 // org.jruby.Ruby runtime
        start local 1 // byte[] to
        start local 2 // int toP
        start local 3 // byte[] bytes
        start local 4 // int p
        start local 5 // int end
        start local 6 // org.jruby.util.ByteList str
        start local 7 // org.jruby.util.RegexpSupport$ErrorMode mode
         0: .line 282
            iload 4 /* p */
            iload 5 /* end */
            if_icmpeq 1
            aload 3 /* bytes */
            iload 4 /* p */
            iinc 4 /* p */ 1
            baload
            bipush 92
            if_icmpeq 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* runtime */
            aload 6 /* str */
            ldc "too short escaped multibyte character"
            aload 7 /* mode */
            invokestatic org.jruby.util.RegexpSupport.raisePreprocessError:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Ljava/lang/String;Lorg/jruby/util/RegexpSupport$ErrorMode;)I
            pop
         2: .line 284
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 8 /* metaPrefix */
        start local 8 // boolean metaPrefix
         3: iconst_0
            istore 9 /* ctrlPrefix */
        start local 9 // boolean ctrlPrefix
         4: .line 285
            iconst_0
            istore 10 /* code */
        start local 10 // int code
         5: .line 287
      StackMap locals: int int int
      StackMap stack:
            iload 4 /* p */
            iload 5 /* end */
            if_icmpne 6
            aload 0 /* runtime */
            aload 6 /* str */
            ldc "too short escape sequence"
            aload 7 /* mode */
            invokestatic org.jruby.util.RegexpSupport.raisePreprocessError:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Ljava/lang/String;Lorg/jruby/util/RegexpSupport$ErrorMode;)I
            pop
         6: .line 289
      StackMap locals:
      StackMap stack:
            aload 3 /* bytes */
            iload 4 /* p */
            iinc 4 /* p */ 1
            baload
            lookupswitch { // 20
                   48: 15
                   49: 15
                   50: 15
                   51: 15
                   52: 15
                   53: 15
                   54: 15
                   55: 15
                   67: 39
                   77: 30
                   92: 7
                   97: 13
                   99: 41
                  101: 14
                  102: 11
                  110: 8
                  114: 10
                  116: 9
                  118: 12
                  120: 22
              default: 50
          }
         7: .line 290
      StackMap locals:
      StackMap stack:
            bipush 92
            istore 10 /* code */
            goto 51
         8: .line 291
      StackMap locals:
      StackMap stack:
            bipush 10
            istore 10 /* code */
            goto 51
         9: .line 292
      StackMap locals:
      StackMap stack:
            bipush 9
            istore 10 /* code */
            goto 51
        10: .line 293
      StackMap locals:
      StackMap stack:
            bipush 13
            istore 10 /* code */
            goto 51
        11: .line 294
      StackMap locals:
      StackMap stack:
            bipush 12
            istore 10 /* code */
            goto 51
        12: .line 295
      StackMap locals:
      StackMap stack:
            bipush 11
            istore 10 /* code */
            goto 51
        13: .line 296
      StackMap locals:
      StackMap stack:
            bipush 7
            istore 10 /* code */
            goto 51
        14: .line 297
      StackMap locals:
      StackMap stack:
            bipush 27
            istore 10 /* code */
            goto 51
        15: .line 302
      StackMap locals:
      StackMap stack:
            iinc 4 /* p */ -1
        16: .line 303
            iload 5 /* end */
            iload 4 /* p */
            iconst_3
            iadd
            if_icmpge 17
            iload 5 /* end */
            iload 4 /* p */
            isub
            goto 18
      StackMap locals:
      StackMap stack:
        17: iconst_3
      StackMap locals:
      StackMap stack: int
        18: istore 11 /* olen */
        start local 11 // int olen
        19: .line 304
            aload 3 /* bytes */
            iload 4 /* p */
            iload 11 /* olen */
            invokestatic org.jruby.util.StringSupport.scanOct:([BII)I
            istore 10 /* code */
        20: .line 305
            iload 4 /* p */
            aload 3 /* bytes */
            iload 4 /* p */
            iload 11 /* olen */
            invokestatic org.jruby.util.StringSupport.octLength:([BII)I
            iadd
            istore 4 /* p */
        21: .line 306
            goto 51
        end local 11 // int olen
        22: .line 309
      StackMap locals:
      StackMap stack:
            iload 5 /* end */
            iload 4 /* p */
            iconst_2
            iadd
            if_icmpge 23
            iload 5 /* end */
            iload 4 /* p */
            isub
            goto 24
      StackMap locals:
      StackMap stack:
        23: iconst_2
      StackMap locals:
      StackMap stack: int
        24: istore 12 /* hlen */
        start local 12 // int hlen
        25: .line 310
            aload 3 /* bytes */
            iload 4 /* p */
            iload 12 /* hlen */
            invokestatic org.jruby.util.StringSupport.scanHex:([BII)I
            istore 10 /* code */
        26: .line 311
            aload 3 /* bytes */
            iload 4 /* p */
            iload 12 /* hlen */
            invokestatic org.jruby.util.StringSupport.hexLength:([BII)I
            istore 13 /* len */
        start local 13 // int len
        27: .line 312
            iload 13 /* len */
            iconst_1
            if_icmpge 28
            aload 0 /* runtime */
            aload 6 /* str */
            ldc "invalid hex escape"
            aload 7 /* mode */
            invokestatic org.jruby.util.RegexpSupport.raisePreprocessError:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Ljava/lang/String;Lorg/jruby/util/RegexpSupport$ErrorMode;)I
            pop
        28: .line 313
      StackMap locals: org.jruby.Ruby byte[] int byte[] int int org.jruby.util.ByteList org.jruby.util.RegexpSupport$ErrorMode int int int top int int
      StackMap stack:
            iload 4 /* p */
            iload 13 /* len */
            iadd
            istore 4 /* p */
        29: .line 314
            goto 51
        end local 13 // int len
        end local 12 // int hlen
        30: .line 317
      StackMap locals: org.jruby.Ruby byte[] int byte[] int int org.jruby.util.ByteList org.jruby.util.RegexpSupport$ErrorMode int int int
      StackMap stack:
            iload 8 /* metaPrefix */
            ifeq 31
            aload 0 /* runtime */
            aload 6 /* str */
            ldc "duplicate meta escape"
            aload 7 /* mode */
            invokestatic org.jruby.util.RegexpSupport.raisePreprocessError:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Ljava/lang/String;Lorg/jruby/util/RegexpSupport$ErrorMode;)I
            pop
        31: .line 318
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 8 /* metaPrefix */
        32: .line 319
            iload 4 /* p */
            iconst_1
            iadd
            iload 5 /* end */
            if_icmpge 38
            aload 3 /* bytes */
            iload 4 /* p */
            iinc 4 /* p */ 1
            baload
            bipush 45
            if_icmpne 38
            aload 3 /* bytes */
            iload 4 /* p */
            baload
            sipush 128
            iand
            ifne 38
        33: .line 320
            aload 3 /* bytes */
            iload 4 /* p */
            baload
            bipush 92
            if_icmpne 36
        34: .line 321
            iinc 4 /* p */ 1
        35: .line 322
            goto 5
        36: .line 324
      StackMap locals:
      StackMap stack:
            aload 3 /* bytes */
            iload 4 /* p */
            iinc 4 /* p */ 1
            baload
            sipush 255
            iand
            istore 10 /* code */
        37: .line 325
            goto 51
        38: .line 328
      StackMap locals:
      StackMap stack:
            aload 0 /* runtime */
            aload 6 /* str */
            ldc "too short meta escape"
            aload 7 /* mode */
            invokestatic org.jruby.util.RegexpSupport.raisePreprocessError:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Ljava/lang/String;Lorg/jruby/util/RegexpSupport$ErrorMode;)I
            pop
        39: .line 331
      StackMap locals:
      StackMap stack:
            iload 4 /* p */
            iload 5 /* end */
            if_icmpeq 40
            aload 3 /* bytes */
            iload 4 /* p */
            iinc 4 /* p */ 1
            baload
            bipush 45
            if_icmpeq 41
      StackMap locals:
      StackMap stack:
        40: aload 0 /* runtime */
            aload 6 /* str */
            ldc "too short control escape"
            aload 7 /* mode */
            invokestatic org.jruby.util.RegexpSupport.raisePreprocessError:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Ljava/lang/String;Lorg/jruby/util/RegexpSupport$ErrorMode;)I
            pop
        41: .line 334
      StackMap locals:
      StackMap stack:
            iload 9 /* ctrlPrefix */
            ifeq 42
            aload 0 /* runtime */
            aload 6 /* str */
            ldc "duplicate control escape"
            aload 7 /* mode */
            invokestatic org.jruby.util.RegexpSupport.raisePreprocessError:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Ljava/lang/String;Lorg/jruby/util/RegexpSupport$ErrorMode;)I
            pop
        42: .line 335
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 9 /* ctrlPrefix */
        43: .line 336
            iload 4 /* p */
            iload 5 /* end */
            if_icmpge 49
            aload 3 /* bytes */
            iload 4 /* p */
            baload
            sipush 128
            iand
            ifne 49
        44: .line 337
            aload 3 /* bytes */
            iload 4 /* p */
            baload
            bipush 92
            if_icmpne 47
        45: .line 338
            iinc 4 /* p */ 1
        46: .line 339
            goto 5
        47: .line 341
      StackMap locals:
      StackMap stack:
            aload 3 /* bytes */
            iload 4 /* p */
            iinc 4 /* p */ 1
            baload
            sipush 255
            iand
            istore 10 /* code */
        48: .line 342
            goto 51
        49: .line 345
      StackMap locals:
      StackMap stack:
            aload 0 /* runtime */
            aload 6 /* str */
            ldc "too short control escape"
            aload 7 /* mode */
            invokestatic org.jruby.util.RegexpSupport.raisePreprocessError:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Ljava/lang/String;Lorg/jruby/util/RegexpSupport$ErrorMode;)I
            pop
        50: .line 347
      StackMap locals:
      StackMap stack:
            aload 0 /* runtime */
            aload 6 /* str */
            ldc "unexpected escape sequence"
            aload 7 /* mode */
            invokestatic org.jruby.util.RegexpSupport.raisePreprocessError:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Ljava/lang/String;Lorg/jruby/util/RegexpSupport$ErrorMode;)I
            pop
        51: .line 350
      StackMap locals:
      StackMap stack:
            iload 10 /* code */
            iflt 52
            iload 10 /* code */
            sipush 255
            if_icmple 53
      StackMap locals:
      StackMap stack:
        52: aload 0 /* runtime */
            aload 6 /* str */
            ldc "invalid escape code"
            aload 7 /* mode */
            invokestatic org.jruby.util.RegexpSupport.raisePreprocessError:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Ljava/lang/String;Lorg/jruby/util/RegexpSupport$ErrorMode;)I
            pop
        53: .line 352
      StackMap locals:
      StackMap stack:
            iload 9 /* ctrlPrefix */
            ifeq 54
            iload 10 /* code */
            bipush 31
            iand
            istore 10 /* code */
        54: .line 353
      StackMap locals:
      StackMap stack:
            iload 8 /* metaPrefix */
            ifeq 55
            iload 10 /* code */
            sipush 128
            ior
            istore 10 /* code */
        55: .line 355
      StackMap locals:
      StackMap stack:
            aload 1 /* to */
            iload 2 /* toP */
            iload 10 /* code */
            i2b
            bastore
        56: .line 356
            iload 4 /* p */
            ireturn
        end local 10 // int code
        end local 9 // boolean ctrlPrefix
        end local 8 // boolean metaPrefix
        end local 7 // org.jruby.util.RegexpSupport$ErrorMode mode
        end local 6 // org.jruby.util.ByteList str
        end local 5 // int end
        end local 4 // int p
        end local 3 // byte[] bytes
        end local 2 // int toP
        end local 1 // byte[] to
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   57     0     runtime  Lorg/jruby/Ruby;
            0   57     1          to  [B
            0   57     2         toP  I
            0   57     3       bytes  [B
            0   57     4           p  I
            0   57     5         end  I
            0   57     6         str  Lorg/jruby/util/ByteList;
            0   57     7        mode  Lorg/jruby/util/RegexpSupport$ErrorMode;
            3   57     8  metaPrefix  Z
            4   57     9  ctrlPrefix  Z
            5   57    10        code  I
           19   22    11        olen  I
           25   30    12        hlen  I
           27   30    13         len  I
    MethodParameters:
         Name  Flags
      runtime  
      to       
      toP      
      bytes    
      p        
      end      
      str      
      mode     

  private static int unescapeEscapedNonAscii(org.jruby.Ruby, org.jruby.util.ByteList, byte[], int, int, org.jcodings.Encoding, org.jcodings.Encoding[], org.jruby.util.ByteList, org.jruby.util.RegexpSupport$ErrorMode);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;[BIILorg/jcodings/Encoding;[Lorg/jcodings/Encoding;Lorg/jruby/util/ByteList;Lorg/jruby/util/RegexpSupport$ErrorMode;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=12, args_size=9
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.util.ByteList to
        start local 2 // byte[] bytes
        start local 3 // int p
        start local 4 // int end
        start local 5 // org.jcodings.Encoding enc
        start local 6 // org.jcodings.Encoding[] encp
        start local 7 // org.jruby.util.ByteList str
        start local 8 // org.jruby.util.RegexpSupport$ErrorMode mode
         0: .line 377
            aload 5 /* enc */
            invokevirtual org.jcodings.Encoding.maxLength:()I
            newarray 8
            astore 9 /* chBuf */
        start local 9 // byte[] chBuf
         1: .line 378
            iconst_0
            istore 10 /* chLen */
        start local 10 // int chLen
         2: .line 380
            aload 0 /* runtime */
            aload 9 /* chBuf */
            iload 10 /* chLen */
            iinc 10 /* chLen */ 1
            aload 2 /* bytes */
            iload 3 /* p */
            iload 4 /* end */
            aload 7 /* str */
            aload 8 /* mode */
            invokestatic org.jruby.util.RegexpSupport.readEscapedByte:(Lorg/jruby/Ruby;[BI[BIILorg/jruby/util/ByteList;Lorg/jruby/util/RegexpSupport$ErrorMode;)I
            istore 3 /* p */
         3: .line 381
            goto 5
         4: .line 382
      StackMap locals: byte[] int
      StackMap stack:
            aload 0 /* runtime */
            aload 9 /* chBuf */
            iload 10 /* chLen */
            iinc 10 /* chLen */ 1
            aload 2 /* bytes */
            iload 3 /* p */
            iload 4 /* end */
            aload 7 /* str */
            aload 8 /* mode */
            invokestatic org.jruby.util.RegexpSupport.readEscapedByte:(Lorg/jruby/Ruby;[BI[BIILorg/jruby/util/ByteList;Lorg/jruby/util/RegexpSupport$ErrorMode;)I
            istore 3 /* p */
         5: .line 381
      StackMap locals:
      StackMap stack:
            iload 10 /* chLen */
            aload 5 /* enc */
            invokevirtual org.jcodings.Encoding.maxLength:()I
            if_icmpge 6
            aload 5 /* enc */
            aload 9 /* chBuf */
            iconst_0
            iload 10 /* chLen */
            invokestatic org.jruby.util.StringSupport.preciseLength:(Lorg/jcodings/Encoding;[BII)I
            invokestatic org.jruby.util.StringSupport.MBCLEN_NEEDMORE_P:(I)Z
            ifne 4
         6: .line 385
      StackMap locals:
      StackMap stack:
            aload 5 /* enc */
            aload 9 /* chBuf */
            iconst_0
            iload 10 /* chLen */
            invokestatic org.jruby.util.StringSupport.preciseLength:(Lorg/jcodings/Encoding;[BII)I
            istore 11 /* cl */
        start local 11 // int cl
         7: .line 386
            iload 11 /* cl */
            iconst_m1
            if_icmpne 9
         8: .line 387
            aload 0 /* runtime */
            aload 7 /* str */
            ldc "invalid multibyte escape"
            aload 8 /* mode */
            invokestatic org.jruby.util.RegexpSupport.raisePreprocessError:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Ljava/lang/String;Lorg/jruby/util/RegexpSupport$ErrorMode;)I
            pop
         9: .line 390
      StackMap locals: int
      StackMap stack:
            iload 10 /* chLen */
            iconst_1
            if_icmpgt 10
            aload 9 /* chBuf */
            iconst_0
            baload
            sipush 128
            iand
            ifeq 17
        10: .line 391
      StackMap locals:
      StackMap stack:
            aload 1 /* to */
            ifnull 11
            aload 1 /* to */
            aload 9 /* chBuf */
            iconst_0
            iload 10 /* chLen */
            invokevirtual org.jruby.util.ByteList.append:([BII)V
        11: .line 393
      StackMap locals:
      StackMap stack:
            aload 6 /* encp */
            iconst_0
            aaload
            ifnonnull 14
        12: .line 394
            aload 6 /* encp */
            iconst_0
            aload 5 /* enc */
            aastore
        13: .line 395
            goto 18
      StackMap locals:
      StackMap stack:
        14: aload 6 /* encp */
            iconst_0
            aaload
            aload 5 /* enc */
            if_acmpeq 18
        15: .line 396
            aload 0 /* runtime */
            aload 7 /* str */
            ldc "escaped non ASCII character in UTF-8 regexp"
            aload 8 /* mode */
            invokestatic org.jruby.util.RegexpSupport.raisePreprocessError:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Ljava/lang/String;Lorg/jruby/util/RegexpSupport$ErrorMode;)I
            pop
        16: .line 398
            goto 18
        17: .line 399
      StackMap locals:
      StackMap stack:
            aload 1 /* to */
            ifnull 18
            aload 0 /* runtime */
            aload 1 /* to */
            ldc "\\x%02X"
            aload 9 /* chBuf */
            iconst_0
            baload
            sipush 255
            iand
            invokestatic org.jruby.util.Sprintf.sprintf:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Ljava/lang/CharSequence;I)Z
            pop
        18: .line 401
      StackMap locals:
      StackMap stack:
            iload 3 /* p */
            ireturn
        end local 11 // int cl
        end local 10 // int chLen
        end local 9 // byte[] chBuf
        end local 8 // org.jruby.util.RegexpSupport$ErrorMode mode
        end local 7 // org.jruby.util.ByteList str
        end local 6 // org.jcodings.Encoding[] encp
        end local 5 // org.jcodings.Encoding enc
        end local 4 // int end
        end local 3 // int p
        end local 2 // byte[] bytes
        end local 1 // org.jruby.util.ByteList to
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   19     0  runtime  Lorg/jruby/Ruby;
            0   19     1       to  Lorg/jruby/util/ByteList;
            0   19     2    bytes  [B
            0   19     3        p  I
            0   19     4      end  I
            0   19     5      enc  Lorg/jcodings/Encoding;
            0   19     6     encp  [Lorg/jcodings/Encoding;
            0   19     7      str  Lorg/jruby/util/ByteList;
            0   19     8     mode  Lorg/jruby/util/RegexpSupport$ErrorMode;
            1   19     9    chBuf  [B
            2   19    10    chLen  I
            7   19    11       cl  I
    MethodParameters:
         Name  Flags
      runtime  
      to       
      bytes    
      p        
      end      
      enc      
      encp     
      str      
      mode     

  private static int unescapeUnicodeList(org.jruby.Ruby, org.jruby.util.ByteList, byte[], int, int, org.jcodings.Encoding[], org.jruby.util.ByteList, org.jruby.util.RegexpSupport$ErrorMode);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;[BII[Lorg/jcodings/Encoding;Lorg/jruby/util/ByteList;Lorg/jruby/util/RegexpSupport$ErrorMode;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=11, args_size=8
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.util.ByteList to
        start local 2 // byte[] bytes
        start local 3 // int p
        start local 4 // int end
        start local 5 // org.jcodings.Encoding[] encp
        start local 6 // org.jruby.util.ByteList str
        start local 7 // org.jruby.util.RegexpSupport$ErrorMode mode
         0: .line 419
            goto 2
      StackMap locals:
      StackMap stack:
         1: iinc 3 /* p */ 1
      StackMap locals:
      StackMap stack:
         2: iload 3 /* p */
            iload 4 /* end */
            if_icmpge 3
            getstatic org.jcodings.specific.ASCIIEncoding.INSTANCE:Lorg/jcodings/specific/ASCIIEncoding;
            aload 2 /* bytes */
            iload 3 /* p */
            baload
            sipush 255
            iand
            invokevirtual org.jcodings.specific.ASCIIEncoding.isSpace:(I)Z
            ifne 1
         3: .line 421
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 8 /* hasUnicode */
        start local 8 // boolean hasUnicode
         4: .line 423
      StackMap locals: int
      StackMap stack:
            aload 2 /* bytes */
            iload 3 /* p */
            iload 4 /* end */
            iload 3 /* p */
            isub
            invokestatic org.jruby.util.StringSupport.scanHex:([BII)I
            istore 9 /* code */
        start local 9 // int code
         5: .line 424
            aload 2 /* bytes */
            iload 3 /* p */
            iload 4 /* end */
            iload 3 /* p */
            isub
            invokestatic org.jruby.util.StringSupport.hexLength:([BII)I
            istore 10 /* len */
        start local 10 // int len
         6: .line 425
            iload 10 /* len */
            ifne 7
            goto 15
         7: .line 426
      StackMap locals: int int
      StackMap stack:
            iload 10 /* len */
            bipush 6
            if_icmple 8
            aload 0 /* runtime */
            aload 6 /* str */
            ldc "invalid Unicode range"
            aload 7 /* mode */
            invokestatic org.jruby.util.RegexpSupport.raisePreprocessError:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Ljava/lang/String;Lorg/jruby/util/RegexpSupport$ErrorMode;)I
            pop
         8: .line 427
      StackMap locals:
      StackMap stack:
            iload 3 /* p */
            iload 10 /* len */
            iadd
            istore 3 /* p */
         9: .line 428
            aload 1 /* to */
            ifnull 10
            aload 0 /* runtime */
            aload 1 /* to */
            iload 9 /* code */
            aload 5 /* encp */
            aload 6 /* str */
            aload 7 /* mode */
            invokestatic org.jruby.util.RegexpSupport.appendUtf8:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;I[Lorg/jcodings/Encoding;Lorg/jruby/util/ByteList;Lorg/jruby/util/RegexpSupport$ErrorMode;)V
        10: .line 429
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 8 /* hasUnicode */
        11: .line 430
            goto 13
      StackMap locals:
      StackMap stack:
        12: iinc 3 /* p */ 1
      StackMap locals:
      StackMap stack:
        13: iload 3 /* p */
            iload 4 /* end */
            if_icmpge 4
            getstatic org.jcodings.specific.ASCIIEncoding.INSTANCE:Lorg/jcodings/specific/ASCIIEncoding;
            aload 2 /* bytes */
            iload 3 /* p */
            baload
            sipush 255
            iand
            invokevirtual org.jcodings.specific.ASCIIEncoding.isSpace:(I)Z
            ifne 12
        end local 10 // int len
        end local 9 // int code
        14: .line 422
            goto 4
        15: .line 433
      StackMap locals:
      StackMap stack:
            iload 8 /* hasUnicode */
            ifne 16
            aload 0 /* runtime */
            aload 6 /* str */
            ldc "invalid Unicode list"
            aload 7 /* mode */
            invokestatic org.jruby.util.RegexpSupport.raisePreprocessError:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Ljava/lang/String;Lorg/jruby/util/RegexpSupport$ErrorMode;)I
            pop
        16: .line 434
      StackMap locals:
      StackMap stack:
            iload 3 /* p */
            ireturn
        end local 8 // boolean hasUnicode
        end local 7 // org.jruby.util.RegexpSupport$ErrorMode mode
        end local 6 // org.jruby.util.ByteList str
        end local 5 // org.jcodings.Encoding[] encp
        end local 4 // int end
        end local 3 // int p
        end local 2 // byte[] bytes
        end local 1 // org.jruby.util.ByteList to
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0     runtime  Lorg/jruby/Ruby;
            0   17     1          to  Lorg/jruby/util/ByteList;
            0   17     2       bytes  [B
            0   17     3           p  I
            0   17     4         end  I
            0   17     5        encp  [Lorg/jcodings/Encoding;
            0   17     6         str  Lorg/jruby/util/ByteList;
            0   17     7        mode  Lorg/jruby/util/RegexpSupport$ErrorMode;
            4   17     8  hasUnicode  Z
            5   14     9        code  I
            6   14    10         len  I
    MethodParameters:
         Name  Flags
      runtime  
      to       
      bytes    
      p        
      end      
      encp     
      str      
      mode     

  private static int unescapeUnicodeBmp(org.jruby.Ruby, org.jruby.util.ByteList, byte[], int, int, org.jcodings.Encoding[], org.jruby.util.ByteList, org.jruby.util.RegexpSupport$ErrorMode);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;[BII[Lorg/jcodings/Encoding;Lorg/jruby/util/ByteList;Lorg/jruby/util/RegexpSupport$ErrorMode;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=10, args_size=8
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.util.ByteList to
        start local 2 // byte[] bytes
        start local 3 // int p
        start local 4 // int end
        start local 5 // org.jcodings.Encoding[] encp
        start local 6 // org.jruby.util.ByteList str
        start local 7 // org.jruby.util.RegexpSupport$ErrorMode mode
         0: .line 452
            iload 3 /* p */
            iconst_4
            iadd
            iload 4 /* end */
            if_icmple 1
            aload 0 /* runtime */
            aload 6 /* str */
            ldc "invalid Unicode escape"
            aload 7 /* mode */
            invokestatic org.jruby.util.RegexpSupport.raisePreprocessError:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Ljava/lang/String;Lorg/jruby/util/RegexpSupport$ErrorMode;)I
            pop
         1: .line 453
      StackMap locals:
      StackMap stack:
            aload 2 /* bytes */
            iload 3 /* p */
            iconst_4
            invokestatic org.jruby.util.StringSupport.scanHex:([BII)I
            istore 8 /* code */
        start local 8 // int code
         2: .line 454
            aload 2 /* bytes */
            iload 3 /* p */
            iconst_4
            invokestatic org.jruby.util.StringSupport.hexLength:([BII)I
            istore 9 /* len */
        start local 9 // int len
         3: .line 455
            iload 9 /* len */
            iconst_4
            if_icmpeq 4
            aload 0 /* runtime */
            aload 6 /* str */
            ldc "invalid Unicode escape"
            aload 7 /* mode */
            invokestatic org.jruby.util.RegexpSupport.raisePreprocessError:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Ljava/lang/String;Lorg/jruby/util/RegexpSupport$ErrorMode;)I
            pop
         4: .line 456
      StackMap locals: int int
      StackMap stack:
            aload 0 /* runtime */
            aload 1 /* to */
            iload 8 /* code */
            aload 5 /* encp */
            aload 6 /* str */
            aload 7 /* mode */
            invokestatic org.jruby.util.RegexpSupport.appendUtf8:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;I[Lorg/jcodings/Encoding;Lorg/jruby/util/ByteList;Lorg/jruby/util/RegexpSupport$ErrorMode;)V
         5: .line 457
            iload 3 /* p */
            iconst_4
            iadd
            ireturn
        end local 9 // int len
        end local 8 // int code
        end local 7 // org.jruby.util.RegexpSupport$ErrorMode mode
        end local 6 // org.jruby.util.ByteList str
        end local 5 // org.jcodings.Encoding[] encp
        end local 4 // int end
        end local 3 // int p
        end local 2 // byte[] bytes
        end local 1 // org.jruby.util.ByteList to
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0  runtime  Lorg/jruby/Ruby;
            0    6     1       to  Lorg/jruby/util/ByteList;
            0    6     2    bytes  [B
            0    6     3        p  I
            0    6     4      end  I
            0    6     5     encp  [Lorg/jcodings/Encoding;
            0    6     6      str  Lorg/jruby/util/ByteList;
            0    6     7     mode  Lorg/jruby/util/RegexpSupport$ErrorMode;
            2    6     8     code  I
            3    6     9      len  I
    MethodParameters:
         Name  Flags
      runtime  
      to       
      bytes    
      p        
      end      
      encp     
      str      
      mode     

  private static void appendUtf8(org.jruby.Ruby, org.jruby.util.ByteList, int, org.jcodings.Encoding[], org.jruby.util.ByteList, org.jruby.util.RegexpSupport$ErrorMode);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;I[Lorg/jcodings/Encoding;Lorg/jruby/util/ByteList;Lorg/jruby/util/RegexpSupport$ErrorMode;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=6, args_size=6
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.util.ByteList to
        start local 2 // int code
        start local 3 // org.jcodings.Encoding[] enc
        start local 4 // org.jruby.util.ByteList str
        start local 5 // org.jruby.util.RegexpSupport$ErrorMode mode
         0: .line 472
            aload 0 /* runtime */
            iload 2 /* code */
            aload 4 /* str */
            getstatic org.jruby.util.RegexpSupport$ErrorMode.PREPROCESS:Lorg/jruby/util/RegexpSupport$ErrorMode;
            invokestatic org.jruby.util.RegexpSupport.checkUnicodeRange:(Lorg/jruby/Ruby;ILorg/jruby/util/ByteList;Lorg/jruby/util/RegexpSupport$ErrorMode;)V
         1: .line 474
            iload 2 /* code */
            sipush 128
            if_icmpge 4
         2: .line 475
            aload 1 /* to */
            ifnull 12
            aload 0 /* runtime */
            aload 1 /* to */
            ldc "\\x%02X"
            iload 2 /* code */
            invokestatic org.jruby.util.Sprintf.sprintf:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Ljava/lang/CharSequence;I)Z
            pop
         3: .line 476
            goto 12
         4: .line 477
      StackMap locals:
      StackMap stack:
            aload 1 /* to */
            ifnull 7
         5: .line 478
            aload 1 /* to */
            aload 1 /* to */
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            bipush 6
            iadd
            invokevirtual org.jruby.util.ByteList.ensure:(I)V
         6: .line 479
            aload 1 /* to */
            aload 1 /* to */
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            aload 0 /* runtime */
            aload 1 /* to */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            aload 1 /* to */
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            aload 1 /* to */
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iadd
            iload 2 /* code */
            invokestatic org.jruby.util.Pack.utf8Decode:(Lorg/jruby/Ruby;[BII)I
            iadd
            invokevirtual org.jruby.util.ByteList.setRealSize:(I)V
         7: .line 481
      StackMap locals:
      StackMap stack:
            aload 3 /* enc */
            iconst_0
            aaload
            ifnonnull 10
         8: .line 482
            aload 3 /* enc */
            iconst_0
            getstatic org.jcodings.specific.UTF8Encoding.INSTANCE:Lorg/jcodings/specific/UTF8Encoding;
            aastore
         9: .line 483
            goto 12
      StackMap locals:
      StackMap stack:
        10: aload 3 /* enc */
            iconst_0
            aaload
            invokevirtual org.jcodings.Encoding.isUTF8:()Z
            ifne 12
        11: .line 484
            aload 0 /* runtime */
            aload 4 /* str */
            ldc "UTF-8 character in non UTF-8 regexp"
            aload 5 /* mode */
            invokestatic org.jruby.util.RegexpSupport.raisePreprocessError:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Ljava/lang/String;Lorg/jruby/util/RegexpSupport$ErrorMode;)I
            pop
        12: .line 487
      StackMap locals:
      StackMap stack:
            return
        end local 5 // org.jruby.util.RegexpSupport$ErrorMode mode
        end local 4 // org.jruby.util.ByteList str
        end local 3 // org.jcodings.Encoding[] enc
        end local 2 // int code
        end local 1 // org.jruby.util.ByteList to
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0  runtime  Lorg/jruby/Ruby;
            0   13     1       to  Lorg/jruby/util/ByteList;
            0   13     2     code  I
            0   13     3      enc  [Lorg/jcodings/Encoding;
            0   13     4      str  Lorg/jruby/util/ByteList;
            0   13     5     mode  Lorg/jruby/util/RegexpSupport$ErrorMode;
    MethodParameters:
         Name  Flags
      runtime  
      to       
      code     
      enc      
      str      
      mode     

  private static void checkUnicodeRange(org.jruby.Ruby, int, org.jruby.util.ByteList, org.jruby.util.RegexpSupport$ErrorMode);
    descriptor: (Lorg/jruby/Ruby;ILorg/jruby/util/ByteList;Lorg/jruby/util/RegexpSupport$ErrorMode;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.Ruby runtime
        start local 1 // int code
        start local 2 // org.jruby.util.ByteList str
        start local 3 // org.jruby.util.RegexpSupport$ErrorMode mode
         0: .line 491
            ldc 55296
            iload 1 /* code */
            if_icmpgt 1
            iload 1 /* code */
            ldc 57343
            if_icmple 2
      StackMap locals:
      StackMap stack:
         1: ldc 1114111
            iload 1 /* code */
            if_icmpge 3
         2: .line 492
      StackMap locals:
      StackMap stack:
            aload 0 /* runtime */
            aload 2 /* str */
            ldc "invalid Unicode range"
            aload 3 /* mode */
            invokestatic org.jruby.util.RegexpSupport.raisePreprocessError:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Ljava/lang/String;Lorg/jruby/util/RegexpSupport$ErrorMode;)I
            pop
         3: .line 494
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.jruby.util.RegexpSupport$ErrorMode mode
        end local 2 // org.jruby.util.ByteList str
        end local 1 // int code
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0  runtime  Lorg/jruby/Ruby;
            0    4     1     code  I
            0    4     2      str  Lorg/jruby/util/ByteList;
            0    4     3     mode  Lorg/jruby/util/RegexpSupport$ErrorMode;
    MethodParameters:
         Name  Flags
      runtime  
      code     
      str      
      mode     

  static int[] $SWITCH_TABLE$org$jruby$util$RegexpSupport$ErrorMode();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 35
            getstatic org.jruby.util.RegexpSupport.$SWITCH_TABLE$org$jruby$util$RegexpSupport$ErrorMode:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.jruby.util.RegexpSupport$ErrorMode.values:()[Lorg/jruby/util/RegexpSupport$ErrorMode;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.jruby.util.RegexpSupport$ErrorMode.DESC:Lorg/jruby/util/RegexpSupport$ErrorMode;
            invokevirtual org.jruby.util.RegexpSupport$ErrorMode.ordinal:()I
            iconst_3
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic org.jruby.util.RegexpSupport$ErrorMode.PREPROCESS:Lorg/jruby/util/RegexpSupport$ErrorMode;
            invokevirtual org.jruby.util.RegexpSupport$ErrorMode.ordinal:()I
            iconst_2
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.jruby.util.RegexpSupport$ErrorMode.RAISE:Lorg/jruby/util/RegexpSupport$ErrorMode;
            invokevirtual org.jruby.util.RegexpSupport$ErrorMode.ordinal:()I
            iconst_1
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            dup
            putstatic org.jruby.util.RegexpSupport.$SWITCH_TABLE$org$jruby$util$RegexpSupport$ErrorMode:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
}
SourceFile: "RegexpSupport.java"
NestMembers:
  org.jruby.util.RegexpSupport$ErrorMode
InnerClasses:
  public final ErrorMode = org.jruby.util.RegexpSupport$ErrorMode of org.jruby.util.RegexpSupport