public final class org.jruby.runtime.encoding.EncodingService
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.jruby.runtime.encoding.EncodingService
  super_class: java.lang.Object
{
  private final org.jcodings.util.CaseInsensitiveBytesHash<org.jcodings.EncodingDB$Entry> encodings;
    descriptor: Lorg/jcodings/util/CaseInsensitiveBytesHash;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/jcodings/util/CaseInsensitiveBytesHash<Lorg/jcodings/EncodingDB$Entry;>;

  private final org.jcodings.util.CaseInsensitiveBytesHash<org.jcodings.EncodingDB$Entry> aliases;
    descriptor: Lorg/jcodings/util/CaseInsensitiveBytesHash;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/jcodings/util/CaseInsensitiveBytesHash<Lorg/jcodings/EncodingDB$Entry;>;

  private final org.jruby.runtime.builtin.IRubyObject[] encodingList;
    descriptor: [Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private org.jruby.RubyEncoding[] encodingIndex;
    descriptor: [Lorg/jruby/RubyEncoding;
    flags: (0x0002) ACC_PRIVATE

  private final org.jruby.Ruby runtime;
    descriptor: Lorg/jruby/Ruby;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.jcodings.Encoding ascii8bit;
    descriptor: Lorg/jcodings/Encoding;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.jcodings.Encoding javaDefault;
    descriptor: Lorg/jcodings/Encoding;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static final org.jruby.util.ByteList LOCALE_BL;
    descriptor: Lorg/jruby/util/ByteList;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.jruby.util.ByteList EXTERNAL_BL;
    descriptor: Lorg/jruby/util/ByteList;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.jruby.util.ByteList INTERNAL_BL;
    descriptor: Lorg/jruby/util/ByteList;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.jruby.util.ByteList FILESYSTEM_BL;
    descriptor: Lorg/jruby/util/ByteList;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.regex.Pattern MS_CP_PATTERN;
    descriptor: Ljava/util/regex/Pattern;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static org.jruby.util.ByteList defaultCharsetName;
    descriptor: Lorg/jruby/util/ByteList;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 47
            ldc "locale"
            invokestatic org.jruby.util.ByteList.create:(Ljava/lang/CharSequence;)Lorg/jruby/util/ByteList;
            putstatic org.jruby.runtime.encoding.EncodingService.LOCALE_BL:Lorg/jruby/util/ByteList;
         1: .line 48
            ldc "external"
            invokestatic org.jruby.util.ByteList.create:(Ljava/lang/CharSequence;)Lorg/jruby/util/ByteList;
            putstatic org.jruby.runtime.encoding.EncodingService.EXTERNAL_BL:Lorg/jruby/util/ByteList;
         2: .line 49
            ldc "internal"
            invokestatic org.jruby.util.ByteList.create:(Ljava/lang/CharSequence;)Lorg/jruby/util/ByteList;
            putstatic org.jruby.runtime.encoding.EncodingService.INTERNAL_BL:Lorg/jruby/util/ByteList;
         3: .line 50
            ldc "filesystem"
            invokestatic org.jruby.util.ByteList.create:(Ljava/lang/CharSequence;)Lorg/jruby/util/ByteList;
            putstatic org.jruby.runtime.encoding.EncodingService.FILESYSTEM_BL:Lorg/jruby/util/ByteList;
         4: .line 51
            ldc "^MS([0-9]+)$"
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
            putstatic org.jruby.runtime.encoding.EncodingService.MS_CP_PATTERN:Ljava/util/regex/Pattern;
         5: .line 141
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.jruby.Ruby);
    descriptor: (Lorg/jruby/Ruby;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.jruby.runtime.encoding.EncodingService this
        start local 1 // org.jruby.Ruby runtime
         0: .line 53
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 40
            aload 0 /* this */
            iconst_4
            anewarray org.jruby.RubyEncoding
            putfield org.jruby.runtime.encoding.EncodingService.encodingIndex:[Lorg/jruby/RubyEncoding;
         2: .line 54
            aload 0 /* this */
            aload 1 /* runtime */
            putfield org.jruby.runtime.encoding.EncodingService.runtime:Lorg/jruby/Ruby;
         3: .line 55
            aload 0 /* this */
            invokestatic org.jcodings.EncodingDB.getEncodings:()Lorg/jcodings/util/CaseInsensitiveBytesHash;
            putfield org.jruby.runtime.encoding.EncodingService.encodings:Lorg/jcodings/util/CaseInsensitiveBytesHash;
         4: .line 56
            aload 0 /* this */
            invokestatic org.jcodings.EncodingDB.getAliases:()Lorg/jcodings/util/CaseInsensitiveBytesHash;
            putfield org.jruby.runtime.encoding.EncodingService.aliases:Lorg/jcodings/util/CaseInsensitiveBytesHash;
         5: .line 57
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.runtime.encoding.EncodingService.encodings:Lorg/jcodings/util/CaseInsensitiveBytesHash;
            ldc "ASCII-8BIT"
            invokevirtual java.lang.String.getBytes:()[B
            invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.get:([B)Ljava/lang/Object;
            checkcast org.jcodings.EncodingDB$Entry
            invokevirtual org.jcodings.EncodingDB$Entry.getEncoding:()Lorg/jcodings/Encoding;
            putfield org.jruby.runtime.encoding.EncodingService.ascii8bit:Lorg/jcodings/Encoding;
         6: .line 59
            invokestatic java.nio.charset.Charset.defaultCharset:()Ljava/nio/charset/Charset;
            invokevirtual java.nio.charset.Charset.name:()Ljava/lang/String;
            astore 2 /* javaDefaultCharset */
        start local 2 // java.lang.String javaDefaultCharset
         7: .line 60
            aload 0 /* this */
            aload 2 /* javaDefaultCharset */
            invokevirtual java.lang.String.getBytes:()[B
            invokevirtual org.jruby.runtime.encoding.EncodingService.findEncodingOrAliasEntry:([B)Lorg/jcodings/EncodingDB$Entry;
            astore 3 /* javaDefaultEntry */
        start local 3 // org.jcodings.EncodingDB$Entry javaDefaultEntry
         8: .line 61
            aload 0 /* this */
            aload 3 /* javaDefaultEntry */
            ifnonnull 9
            aload 0 /* this */
            getfield org.jruby.runtime.encoding.EncodingService.ascii8bit:Lorg/jcodings/Encoding;
            goto 10
      StackMap locals: org.jruby.runtime.encoding.EncodingService org.jruby.Ruby java.lang.String org.jcodings.EncodingDB$Entry
      StackMap stack: org.jruby.runtime.encoding.EncodingService
         9: aload 3 /* javaDefaultEntry */
            invokevirtual org.jcodings.EncodingDB$Entry.getEncoding:()Lorg/jcodings/Encoding;
      StackMap locals: org.jruby.runtime.encoding.EncodingService org.jruby.Ruby java.lang.String org.jcodings.EncodingDB$Entry
      StackMap stack: org.jruby.runtime.encoding.EncodingService org.jcodings.Encoding
        10: putfield org.jruby.runtime.encoding.EncodingService.javaDefault:Lorg/jcodings/Encoding;
        11: .line 63
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.runtime.encoding.EncodingService.encodings:Lorg/jcodings/util/CaseInsensitiveBytesHash;
            invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.size:()I
            anewarray org.jruby.runtime.builtin.IRubyObject
            putfield org.jruby.runtime.encoding.EncodingService.encodingList:[Lorg/jruby/runtime/builtin/IRubyObject;
        12: .line 64
            return
        end local 3 // org.jcodings.EncodingDB$Entry javaDefaultEntry
        end local 2 // java.lang.String javaDefaultCharset
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.runtime.encoding.EncodingService this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   13     0                this  Lorg/jruby/runtime/encoding/EncodingService;
            0   13     1             runtime  Lorg/jruby/Ruby;
            7   13     2  javaDefaultCharset  Ljava/lang/String;
            8   13     3    javaDefaultEntry  Lorg/jcodings/EncodingDB$Entry;
    MethodParameters:
         Name  Flags
      runtime  

  public org.jcodings.Encoding getConsoleEncoding();
    descriptor: ()Lorg/jcodings/Encoding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // org.jruby.runtime.encoding.EncodingService this
         0: .line 74
            getstatic org.jruby.platform.Platform.IS_WINDOWS:Z
            ifne 1
            aconst_null
            areturn
         1: .line 76
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 1 /* consoleEncoding */
        start local 1 // org.jcodings.Encoding consoleEncoding
         2: .line 78
            invokestatic java.lang.System.console:()Ljava/io/Console;
            astore 2 /* console */
        start local 2 // java.io.Console console
         3: .line 79
            aload 2 /* console */
            ifnull 10
         4: .line 81
            ldc Ljava/io/Console;
            ldc "cs"
            invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
            astore 3 /* fcs */
        start local 3 // java.lang.reflect.Field fcs
         5: .line 82
            aload 3 /* fcs */
            invokestatic org.jruby.javasupport.Java.trySetAccessible:(Ljava/lang/reflect/AccessibleObject;)Z
            pop
         6: .line 83
            aload 3 /* fcs */
            aload 2 /* console */
            invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.nio.charset.Charset
            astore 4 /* cs */
        start local 4 // java.nio.charset.Charset cs
         7: .line 84
            aload 0 /* this */
            aload 4 /* cs */
            invokevirtual java.nio.charset.Charset.name:()Ljava/lang/String;
            invokestatic org.jruby.util.ByteList.create:(Ljava/lang/CharSequence;)Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.runtime.encoding.EncodingService.loadEncoding:(Lorg/jruby/util/ByteList;)Lorg/jcodings/Encoding;
            astore 1 /* consoleEncoding */
        end local 4 // java.nio.charset.Charset cs
        end local 3 // java.lang.reflect.Field fcs
        end local 2 // java.io.Console console
         8: .line 86
            goto 10
      StackMap locals: org.jruby.runtime.encoding.EncodingService org.jcodings.Encoding
      StackMap stack: java.lang.Throwable
         9: pop
        10: .line 89
      StackMap locals:
      StackMap stack:
            aload 1 /* consoleEncoding */
            areturn
        end local 1 // org.jcodings.Encoding consoleEncoding
        end local 0 // org.jruby.runtime.encoding.EncodingService this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   11     0             this  Lorg/jruby/runtime/encoding/EncodingService;
            2   11     1  consoleEncoding  Lorg/jcodings/Encoding;
            3    8     2          console  Ljava/io/Console;
            5    8     3              fcs  Ljava/lang/reflect/Field;
            7    8     4               cs  Ljava/nio/charset/Charset;
      Exception table:
        from    to  target  type
           2     8       9  Class java.lang.Throwable

  public org.jcodings.Encoding getUSAsciiEncoding();
    descriptor: ()Lorg/jcodings/Encoding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.encoding.EncodingService this
         0: .line 94
            getstatic org.jcodings.specific.USASCIIEncoding.INSTANCE:Lorg/jcodings/specific/USASCIIEncoding;
            areturn
        end local 0 // org.jruby.runtime.encoding.EncodingService this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/encoding/EncodingService;

  public org.jcodings.Encoding getAscii8bitEncoding();
    descriptor: ()Lorg/jcodings/Encoding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.encoding.EncodingService this
         0: .line 99
            aload 0 /* this */
            getfield org.jruby.runtime.encoding.EncodingService.ascii8bit:Lorg/jcodings/Encoding;
            areturn
        end local 0 // org.jruby.runtime.encoding.EncodingService this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/encoding/EncodingService;

  public org.jcodings.Encoding getFileSystemEncoding();
    descriptor: ()Lorg/jcodings/Encoding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.runtime.encoding.EncodingService this
         0: .line 104
            getstatic org.jruby.runtime.encoding.EncodingService$SpecialEncoding.FILESYSTEM:Lorg/jruby/runtime/encoding/EncodingService$SpecialEncoding;
            aload 0 /* this */
            getfield org.jruby.runtime.encoding.EncodingService.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.runtime.encoding.EncodingService$SpecialEncoding.toEncoding:(Lorg/jruby/Ruby;)Lorg/jcodings/Encoding;
            areturn
        end local 0 // org.jruby.runtime.encoding.EncodingService this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/encoding/EncodingService;

  public org.jcodings.util.CaseInsensitiveBytesHash<org.jcodings.EncodingDB$Entry> getEncodings();
    descriptor: ()Lorg/jcodings/util/CaseInsensitiveBytesHash;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.encoding.EncodingService this
         0: .line 108
            aload 0 /* this */
            getfield org.jruby.runtime.encoding.EncodingService.encodings:Lorg/jcodings/util/CaseInsensitiveBytesHash;
            areturn
        end local 0 // org.jruby.runtime.encoding.EncodingService this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/encoding/EncodingService;
    Signature: ()Lorg/jcodings/util/CaseInsensitiveBytesHash<Lorg/jcodings/EncodingDB$Entry;>;

  public org.jcodings.util.CaseInsensitiveBytesHash<org.jcodings.EncodingDB$Entry> getAliases();
    descriptor: ()Lorg/jcodings/util/CaseInsensitiveBytesHash;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.encoding.EncodingService this
         0: .line 112
            aload 0 /* this */
            getfield org.jruby.runtime.encoding.EncodingService.aliases:Lorg/jcodings/util/CaseInsensitiveBytesHash;
            areturn
        end local 0 // org.jruby.runtime.encoding.EncodingService this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/encoding/EncodingService;
    Signature: ()Lorg/jcodings/util/CaseInsensitiveBytesHash<Lorg/jcodings/EncodingDB$Entry;>;

  public org.jcodings.EncodingDB$Entry findEncodingEntry(org.jruby.util.ByteList);
    descriptor: (Lorg/jruby/util/ByteList;)Lorg/jcodings/EncodingDB$Entry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.jruby.runtime.encoding.EncodingService this
        start local 1 // org.jruby.util.ByteList bytes
         0: .line 116
            aload 0 /* this */
            getfield org.jruby.runtime.encoding.EncodingService.encodings:Lorg/jcodings/util/CaseInsensitiveBytesHash;
            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.getBegin:()I
            aload 1 /* bytes */
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iadd
            invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.get:([BII)Ljava/lang/Object;
            checkcast org.jcodings.EncodingDB$Entry
            areturn
        end local 1 // org.jruby.util.ByteList bytes
        end local 0 // org.jruby.runtime.encoding.EncodingService this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/jruby/runtime/encoding/EncodingService;
            0    1     1  bytes  Lorg/jruby/util/ByteList;
    MethodParameters:
       Name  Flags
      bytes  

  public org.jcodings.EncodingDB$Entry findEncodingEntry(byte[]);
    descriptor: ([B)Lorg/jcodings/EncodingDB$Entry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.runtime.encoding.EncodingService this
        start local 1 // byte[] bytes
         0: .line 120
            aload 0 /* this */
            getfield org.jruby.runtime.encoding.EncodingService.encodings:Lorg/jcodings/util/CaseInsensitiveBytesHash;
            aload 1 /* bytes */
            invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.get:([B)Ljava/lang/Object;
            checkcast org.jcodings.EncodingDB$Entry
            areturn
        end local 1 // byte[] bytes
        end local 0 // org.jruby.runtime.encoding.EncodingService this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/jruby/runtime/encoding/EncodingService;
            0    1     1  bytes  [B
    MethodParameters:
       Name  Flags
      bytes  

  public org.jcodings.EncodingDB$Entry findAliasEntry(org.jruby.util.ByteList);
    descriptor: (Lorg/jruby/util/ByteList;)Lorg/jcodings/EncodingDB$Entry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.jruby.runtime.encoding.EncodingService this
        start local 1 // org.jruby.util.ByteList bytes
         0: .line 124
            aload 0 /* this */
            getfield org.jruby.runtime.encoding.EncodingService.aliases:Lorg/jcodings/util/CaseInsensitiveBytesHash;
            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.getBegin:()I
            aload 1 /* bytes */
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iadd
            invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.get:([BII)Ljava/lang/Object;
            checkcast org.jcodings.EncodingDB$Entry
            areturn
        end local 1 // org.jruby.util.ByteList bytes
        end local 0 // org.jruby.runtime.encoding.EncodingService this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/jruby/runtime/encoding/EncodingService;
            0    1     1  bytes  Lorg/jruby/util/ByteList;
    MethodParameters:
       Name  Flags
      bytes  

  public org.jcodings.EncodingDB$Entry findAliasEntry(byte[]);
    descriptor: ([B)Lorg/jcodings/EncodingDB$Entry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.runtime.encoding.EncodingService this
        start local 1 // byte[] bytes
         0: .line 128
            aload 0 /* this */
            getfield org.jruby.runtime.encoding.EncodingService.aliases:Lorg/jcodings/util/CaseInsensitiveBytesHash;
            aload 1 /* bytes */
            invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.get:([B)Ljava/lang/Object;
            checkcast org.jcodings.EncodingDB$Entry
            areturn
        end local 1 // byte[] bytes
        end local 0 // org.jruby.runtime.encoding.EncodingService this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/jruby/runtime/encoding/EncodingService;
            0    1     1  bytes  [B
    MethodParameters:
       Name  Flags
      bytes  

  public org.jcodings.EncodingDB$Entry findEncodingOrAliasEntry(org.jruby.util.ByteList);
    descriptor: (Lorg/jruby/util/ByteList;)Lorg/jcodings/EncodingDB$Entry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.runtime.encoding.EncodingService this
        start local 1 // org.jruby.util.ByteList bytes
         0: .line 132
            aload 0 /* this */
            aload 1 /* bytes */
            invokevirtual org.jruby.runtime.encoding.EncodingService.findEncodingEntry:(Lorg/jruby/util/ByteList;)Lorg/jcodings/EncodingDB$Entry;
            astore 2 /* e */
        start local 2 // org.jcodings.EncodingDB$Entry e
         1: .line 133
            aload 2 /* e */
            ifnull 2
            aload 2 /* e */
            goto 3
      StackMap locals: org.jcodings.EncodingDB$Entry
      StackMap stack:
         2: aload 0 /* this */
            aload 1 /* bytes */
            invokevirtual org.jruby.runtime.encoding.EncodingService.findAliasEntry:(Lorg/jruby/util/ByteList;)Lorg/jcodings/EncodingDB$Entry;
      StackMap locals:
      StackMap stack: org.jcodings.EncodingDB$Entry
         3: areturn
        end local 2 // org.jcodings.EncodingDB$Entry e
        end local 1 // org.jruby.util.ByteList bytes
        end local 0 // org.jruby.runtime.encoding.EncodingService this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/jruby/runtime/encoding/EncodingService;
            0    4     1  bytes  Lorg/jruby/util/ByteList;
            1    4     2      e  Lorg/jcodings/EncodingDB$Entry;
    MethodParameters:
       Name  Flags
      bytes  

  public org.jcodings.EncodingDB$Entry findEncodingOrAliasEntry(byte[]);
    descriptor: ([B)Lorg/jcodings/EncodingDB$Entry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.runtime.encoding.EncodingService this
        start local 1 // byte[] bytes
         0: .line 137
            aload 0 /* this */
            aload 1 /* bytes */
            invokevirtual org.jruby.runtime.encoding.EncodingService.findEncodingEntry:([B)Lorg/jcodings/EncodingDB$Entry;
            astore 2 /* e */
        start local 2 // org.jcodings.EncodingDB$Entry e
         1: .line 138
            aload 2 /* e */
            ifnull 2
            aload 2 /* e */
            goto 3
      StackMap locals: org.jcodings.EncodingDB$Entry
      StackMap stack:
         2: aload 0 /* this */
            aload 1 /* bytes */
            invokevirtual org.jruby.runtime.encoding.EncodingService.findAliasEntry:([B)Lorg/jcodings/EncodingDB$Entry;
      StackMap locals:
      StackMap stack: org.jcodings.EncodingDB$Entry
         3: areturn
        end local 2 // org.jcodings.EncodingDB$Entry e
        end local 1 // byte[] bytes
        end local 0 // org.jruby.runtime.encoding.EncodingService this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/jruby/runtime/encoding/EncodingService;
            0    4     1  bytes  [B
            1    4     2      e  Lorg/jcodings/EncodingDB$Entry;
    MethodParameters:
       Name  Flags
      bytes  

  public org.jcodings.Encoding getLocaleEncoding();
    descriptor: ()Lorg/jcodings/Encoding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // org.jruby.runtime.encoding.EncodingService this
         0: .line 145
            aload 0 /* this */
            invokevirtual org.jruby.runtime.encoding.EncodingService.getConsoleEncoding:()Lorg/jcodings/Encoding;
            astore 1 /* consoleEncoding */
        start local 1 // org.jcodings.Encoding consoleEncoding
         1: .line 147
            aload 1 /* consoleEncoding */
            ifnull 3
         2: .line 148
            aload 1 /* consoleEncoding */
            areturn
         3: .line 151
      StackMap locals: org.jcodings.Encoding
      StackMap stack:
            getstatic org.jruby.runtime.encoding.EncodingService.defaultCharsetName:Lorg/jruby/util/ByteList;
            astore 2 /* encName */
        start local 2 // org.jruby.util.ByteList encName
         4: .line 152
            aload 2 /* encName */
            ifnonnull 7
         5: .line 153
            new org.jruby.util.ByteList
            dup
            invokestatic java.nio.charset.Charset.defaultCharset:()Ljava/nio/charset/Charset;
            invokevirtual java.nio.charset.Charset.name:()Ljava/lang/String;
            invokevirtual java.lang.String.getBytes:()[B
            iconst_0
            invokespecial org.jruby.util.ByteList.<init>:([BZ)V
            astore 2 /* encName */
         6: .line 154
            aload 2 /* encName */
            putstatic org.jruby.runtime.encoding.EncodingService.defaultCharsetName:Lorg/jruby/util/ByteList;
         7: .line 157
      StackMap locals: org.jruby.util.ByteList
      StackMap stack:
            aload 0 /* this */
            aload 2 /* encName */
            invokevirtual org.jruby.runtime.encoding.EncodingService.findEncodingOrAliasEntry:(Lorg/jruby/util/ByteList;)Lorg/jcodings/EncodingDB$Entry;
            astore 3 /* entry */
        start local 3 // org.jcodings.EncodingDB$Entry entry
         8: .line 158
            aload 3 /* entry */
            ifnonnull 9
            getstatic org.jcodings.specific.ASCIIEncoding.INSTANCE:Lorg/jcodings/specific/ASCIIEncoding;
            goto 10
      StackMap locals: org.jcodings.EncodingDB$Entry
      StackMap stack:
         9: aload 3 /* entry */
            invokevirtual org.jcodings.EncodingDB$Entry.getEncoding:()Lorg/jcodings/Encoding;
      StackMap locals:
      StackMap stack: org.jcodings.Encoding
        10: areturn
        end local 3 // org.jcodings.EncodingDB$Entry entry
        end local 2 // org.jruby.util.ByteList encName
        end local 1 // org.jcodings.Encoding consoleEncoding
        end local 0 // org.jruby.runtime.encoding.EncodingService this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   11     0             this  Lorg/jruby/runtime/encoding/EncodingService;
            1   11     1  consoleEncoding  Lorg/jcodings/Encoding;
            4   11     2          encName  Lorg/jruby/util/ByteList;
            8   11     3            entry  Lorg/jcodings/EncodingDB$Entry;

  public org.jruby.runtime.builtin.IRubyObject[] getEncodingList();
    descriptor: ()[Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.encoding.EncodingService this
         0: .line 162
            aload 0 /* this */
            getfield org.jruby.runtime.encoding.EncodingService.encodingList:[Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 0 // org.jruby.runtime.encoding.EncodingService this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/encoding/EncodingService;

  public org.jcodings.Encoding loadEncoding(org.jruby.util.ByteList);
    descriptor: (Lorg/jruby/util/ByteList;)Lorg/jcodings/Encoding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.runtime.encoding.EncodingService this
        start local 1 // org.jruby.util.ByteList name
         0: .line 166
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.jruby.runtime.encoding.EncodingService.findEncodingOrAliasEntry:(Lorg/jruby/util/ByteList;)Lorg/jcodings/EncodingDB$Entry;
            astore 2 /* entry */
        start local 2 // org.jcodings.EncodingDB$Entry entry
         1: .line 167
            aload 2 /* entry */
            ifnonnull 2
            aconst_null
            areturn
         2: .line 168
      StackMap locals: org.jcodings.EncodingDB$Entry
      StackMap stack:
            aload 0 /* this */
            aload 2 /* entry */
            invokevirtual org.jruby.runtime.encoding.EncodingService.loadEncodingEntry:(Lorg/jcodings/EncodingDB$Entry;)Lorg/jruby/RubyEncoding;
            pop
         3: .line 169
            aload 2 /* entry */
            invokevirtual org.jcodings.EncodingDB$Entry.getEncoding:()Lorg/jcodings/Encoding;
            areturn
        end local 2 // org.jcodings.EncodingDB$Entry entry
        end local 1 // org.jruby.util.ByteList name
        end local 0 // org.jruby.runtime.encoding.EncodingService this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/jruby/runtime/encoding/EncodingService;
            0    4     1   name  Lorg/jruby/util/ByteList;
            1    4     2  entry  Lorg/jcodings/EncodingDB$Entry;
    MethodParameters:
      Name  Flags
      name  

  private org.jruby.RubyEncoding loadEncodingEntry(org.jcodings.EncodingDB$Entry);
    descriptor: (Lorg/jcodings/EncodingDB$Entry;)Lorg/jruby/RubyEncoding;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.jruby.runtime.encoding.EncodingService this
        start local 1 // org.jcodings.EncodingDB$Entry entry
         0: .line 173
            aload 1 /* entry */
            invokevirtual org.jcodings.EncodingDB$Entry.getEncoding:()Lorg/jcodings/Encoding;
            astore 2 /* enc */
        start local 2 // org.jcodings.Encoding enc
         1: .line 174
            aload 2 /* enc */
            invokevirtual org.jcodings.Encoding.getIndex:()I
            istore 3 /* index */
        start local 3 // int index
         2: .line 175
            aload 0 /* this */
            getfield org.jruby.runtime.encoding.EncodingService.encodingIndex:[Lorg/jruby/RubyEncoding;
            astore 4 /* encodingIndex */
        start local 4 // org.jruby.RubyEncoding[] encodingIndex
         3: .line 176
            iload 3 /* index */
            aload 4 /* encodingIndex */
            arraylength
            if_icmplt 5
         4: .line 177
            aload 0 /* this */
            aload 4 /* encodingIndex */
            iload 3 /* index */
            iconst_4
            iadd
            invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
            checkcast org.jruby.RubyEncoding[]
            dup_x1
            putfield org.jruby.runtime.encoding.EncodingService.encodingIndex:[Lorg/jruby/RubyEncoding;
            astore 4 /* encodingIndex */
         5: .line 179
      StackMap locals: org.jcodings.Encoding int org.jruby.RubyEncoding[]
      StackMap stack:
            aload 4 /* encodingIndex */
            iload 3 /* index */
            aload 0 /* this */
            getfield org.jruby.runtime.encoding.EncodingService.encodingList:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 1 /* entry */
            invokevirtual org.jcodings.EncodingDB$Entry.getIndex:()I
            aaload
            checkcast org.jruby.RubyEncoding
            dup_x2
            aastore
            areturn
        end local 4 // org.jruby.RubyEncoding[] encodingIndex
        end local 3 // int index
        end local 2 // org.jcodings.Encoding enc
        end local 1 // org.jcodings.EncodingDB$Entry entry
        end local 0 // org.jruby.runtime.encoding.EncodingService this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Lorg/jruby/runtime/encoding/EncodingService;
            0    6     1          entry  Lorg/jcodings/EncodingDB$Entry;
            1    6     2            enc  Lorg/jcodings/Encoding;
            2    6     3          index  I
            3    6     4  encodingIndex  [Lorg/jruby/RubyEncoding;
    MethodParameters:
       Name  Flags
      entry  final

  public org.jruby.RubyEncoding getEncoding(org.jcodings.Encoding);
    descriptor: (Lorg/jcodings/Encoding;)Lorg/jruby/RubyEncoding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // org.jruby.runtime.encoding.EncodingService this
        start local 1 // org.jcodings.Encoding enc
         0: .line 183
            aload 1 /* enc */
            invokevirtual org.jcodings.Encoding.getIndex:()I
            istore 2 /* index */
        start local 2 // int index
         1: .line 185
            aload 0 /* this */
            getfield org.jruby.runtime.encoding.EncodingService.encodingIndex:[Lorg/jruby/RubyEncoding;
            astore 4 /* encodingIndex */
        start local 4 // org.jruby.RubyEncoding[] encodingIndex
         2: .line 186
            iload 2 /* index */
            aload 4 /* encodingIndex */
            arraylength
            if_icmpge 5
            aload 4 /* encodingIndex */
            iload 2 /* index */
            aaload
            dup
            astore 3 /* rubyEncoding */
        start local 3 // org.jruby.RubyEncoding rubyEncoding
         3: ifnull 5
         4: .line 187
            aload 3 /* rubyEncoding */
            areturn
        end local 3 // org.jruby.RubyEncoding rubyEncoding
         5: .line 190
      StackMap locals: org.jruby.runtime.encoding.EncodingService org.jcodings.Encoding int top org.jruby.RubyEncoding[]
      StackMap stack:
            aload 0 /* this */
            aload 1 /* enc */
            invokevirtual org.jcodings.Encoding.getName:()[B
            invokevirtual org.jruby.runtime.encoding.EncodingService.findEncodingOrAliasEntry:([B)Lorg/jcodings/EncodingDB$Entry;
            astore 5 /* entry */
        start local 5 // org.jcodings.EncodingDB$Entry entry
         6: .line 191
            aload 0 /* this */
            aload 5 /* entry */
            invokevirtual org.jruby.runtime.encoding.EncodingService.loadEncodingEntry:(Lorg/jcodings/EncodingDB$Entry;)Lorg/jruby/RubyEncoding;
            areturn
        end local 5 // org.jcodings.EncodingDB$Entry entry
        end local 4 // org.jruby.RubyEncoding[] encodingIndex
        end local 2 // int index
        end local 1 // org.jcodings.Encoding enc
        end local 0 // org.jruby.runtime.encoding.EncodingService this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lorg/jruby/runtime/encoding/EncodingService;
            0    7     1            enc  Lorg/jcodings/Encoding;
            1    7     2          index  I
            3    5     3   rubyEncoding  Lorg/jruby/RubyEncoding;
            2    7     4  encodingIndex  [Lorg/jruby/RubyEncoding;
            6    7     5          entry  Lorg/jcodings/EncodingDB$Entry;
    MethodParameters:
      Name  Flags
      enc   

  public void defineEncodings();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=1
        start local 0 // org.jruby.runtime.encoding.EncodingService this
         0: .line 195
            aload 0 /* this */
            getfield org.jruby.runtime.encoding.EncodingService.encodings:Lorg/jcodings/util/CaseInsensitiveBytesHash;
            invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.entryIterator:()Lorg/jcodings/util/CaseInsensitiveBytesHash$CaseInsensitiveBytesHashEntryIterator;
            astore 1 /* hei */
        start local 1 // org.jcodings.util.Hash$HashEntryIterator hei
         1: .line 196
            goto 11
         2: .line 198
      StackMap locals: org.jcodings.util.Hash$HashEntryIterator
      StackMap stack:
            aload 1 /* hei */
            invokevirtual org.jcodings.util.Hash$HashEntryIterator.next:()Lorg/jcodings/util/Hash$HashEntry;
            checkcast org.jcodings.util.CaseInsensitiveBytesHash$CaseInsensitiveBytesHashEntry
         3: .line 197
            astore 2 /* e */
        start local 2 // org.jcodings.util.CaseInsensitiveBytesHash$CaseInsensitiveBytesHashEntry e
         4: .line 199
            aload 2 /* e */
            getfield org.jcodings.util.CaseInsensitiveBytesHash$CaseInsensitiveBytesHashEntry.value:Ljava/lang/Object;
            checkcast org.jcodings.EncodingDB$Entry
            astore 3 /* ee */
        start local 3 // org.jcodings.EncodingDB$Entry ee
         5: .line 201
            aload 0 /* this */
            getfield org.jruby.runtime.encoding.EncodingService.runtime:Lorg/jruby/Ruby;
            aload 2 /* e */
            getfield org.jcodings.util.CaseInsensitiveBytesHash$CaseInsensitiveBytesHashEntry.bytes:[B
            aload 2 /* e */
            getfield org.jcodings.util.CaseInsensitiveBytesHash$CaseInsensitiveBytesHashEntry.p:I
            aload 2 /* e */
            getfield org.jcodings.util.CaseInsensitiveBytesHash$CaseInsensitiveBytesHashEntry.end:I
            aload 3 /* ee */
            invokevirtual org.jcodings.EncodingDB$Entry.isDummy:()Z
            invokestatic org.jruby.RubyEncoding.newEncoding:(Lorg/jruby/Ruby;[BIIZ)Lorg/jruby/RubyEncoding;
            astore 4 /* encoding */
        start local 4 // org.jruby.RubyEncoding encoding
         6: .line 202
            aload 0 /* this */
            getfield org.jruby.runtime.encoding.EncodingService.encodingList:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 3 /* ee */
            invokevirtual org.jcodings.EncodingDB$Entry.getIndex:()I
            aload 4 /* encoding */
            aastore
         7: .line 204
            aload 2 /* e */
            getfield org.jcodings.util.CaseInsensitiveBytesHash$CaseInsensitiveBytesHashEntry.bytes:[B
            aload 2 /* e */
            getfield org.jcodings.util.CaseInsensitiveBytesHash$CaseInsensitiveBytesHashEntry.p:I
            aload 2 /* e */
            getfield org.jcodings.util.CaseInsensitiveBytesHash$CaseInsensitiveBytesHashEntry.end:I
            invokestatic org.jruby.util.io.EncodingUtils.encodingNames:([BII)Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 10
      StackMap locals: org.jruby.runtime.encoding.EncodingService org.jcodings.util.Hash$HashEntryIterator org.jcodings.util.CaseInsensitiveBytesHash$CaseInsensitiveBytesHashEntry org.jcodings.EncodingDB$Entry org.jruby.RubyEncoding top java.util.Iterator
      StackMap stack:
         8: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* constName */
        start local 5 // java.lang.String constName
         9: .line 205
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.runtime.encoding.EncodingService.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            getfield org.jruby.runtime.encoding.EncodingService.encodingList:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 3 /* ee */
            invokevirtual org.jcodings.EncodingDB$Entry.getIndex:()I
            aaload
            checkcast org.jruby.RubyEncoding
            aload 5 /* constName */
            invokevirtual org.jruby.runtime.encoding.EncodingService.defineEncodingConstant:(Lorg/jruby/Ruby;Lorg/jruby/RubyEncoding;Ljava/lang/String;)V
        end local 5 // java.lang.String constName
        10: .line 204
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        end local 4 // org.jruby.RubyEncoding encoding
        end local 3 // org.jcodings.EncodingDB$Entry ee
        end local 2 // org.jcodings.util.CaseInsensitiveBytesHash$CaseInsensitiveBytesHashEntry e
        11: .line 196
      StackMap locals: org.jruby.runtime.encoding.EncodingService org.jcodings.util.Hash$HashEntryIterator
      StackMap stack:
            aload 1 /* hei */
            invokevirtual org.jcodings.util.Hash$HashEntryIterator.hasNext:()Z
            ifne 2
        12: .line 208
            return
        end local 1 // org.jcodings.util.Hash$HashEntryIterator hei
        end local 0 // org.jruby.runtime.encoding.EncodingService this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   13     0       this  Lorg/jruby/runtime/encoding/EncodingService;
            1   13     1        hei  Lorg/jcodings/util/Hash$HashEntryIterator;
            4   11     2          e  Lorg/jcodings/util/CaseInsensitiveBytesHash$CaseInsensitiveBytesHashEntry<Lorg/jcodings/EncodingDB$Entry;>;
            5   11     3         ee  Lorg/jcodings/EncodingDB$Entry;
            6   11     4   encoding  Lorg/jruby/RubyEncoding;
            9   10     5  constName  Ljava/lang/String;

  public void defineAliases();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // org.jruby.runtime.encoding.EncodingService this
         0: .line 211
            aload 0 /* this */
            getfield org.jruby.runtime.encoding.EncodingService.aliases:Lorg/jcodings/util/CaseInsensitiveBytesHash;
            invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.entryIterator:()Lorg/jcodings/util/CaseInsensitiveBytesHash$CaseInsensitiveBytesHashEntryIterator;
            astore 1 /* i */
        start local 1 // org.jcodings.util.Hash$HashEntryIterator i
         1: .line 212
            goto 9
         2: .line 214
      StackMap locals: org.jcodings.util.Hash$HashEntryIterator
      StackMap stack:
            aload 1 /* i */
            invokevirtual org.jcodings.util.Hash$HashEntryIterator.next:()Lorg/jcodings/util/Hash$HashEntry;
            checkcast org.jcodings.util.CaseInsensitiveBytesHash$CaseInsensitiveBytesHashEntry
         3: .line 213
            astore 2 /* e */
        start local 2 // org.jcodings.util.CaseInsensitiveBytesHash$CaseInsensitiveBytesHashEntry e
         4: .line 215
            aload 2 /* e */
            getfield org.jcodings.util.CaseInsensitiveBytesHash$CaseInsensitiveBytesHashEntry.value:Ljava/lang/Object;
            checkcast org.jcodings.EncodingDB$Entry
            astore 3 /* entry */
        start local 3 // org.jcodings.EncodingDB$Entry entry
         5: .line 218
            aload 2 /* e */
            getfield org.jcodings.util.CaseInsensitiveBytesHash$CaseInsensitiveBytesHashEntry.bytes:[B
            aload 2 /* e */
            getfield org.jcodings.util.CaseInsensitiveBytesHash$CaseInsensitiveBytesHashEntry.p:I
            aload 2 /* e */
            getfield org.jcodings.util.CaseInsensitiveBytesHash$CaseInsensitiveBytesHashEntry.end:I
            invokestatic org.jruby.util.io.EncodingUtils.encodingNames:([BII)Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 8
      StackMap locals: org.jruby.runtime.encoding.EncodingService org.jcodings.util.Hash$HashEntryIterator org.jcodings.util.CaseInsensitiveBytesHash$CaseInsensitiveBytesHashEntry org.jcodings.EncodingDB$Entry top java.util.Iterator
      StackMap stack:
         6: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* constName */
        start local 4 // java.lang.String constName
         7: .line 219
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.runtime.encoding.EncodingService.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            getfield org.jruby.runtime.encoding.EncodingService.encodingList:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 3 /* entry */
            invokevirtual org.jcodings.EncodingDB$Entry.getIndex:()I
            aaload
            checkcast org.jruby.RubyEncoding
            aload 4 /* constName */
            invokevirtual org.jruby.runtime.encoding.EncodingService.defineEncodingConstant:(Lorg/jruby/Ruby;Lorg/jruby/RubyEncoding;Ljava/lang/String;)V
        end local 4 // java.lang.String constName
         8: .line 218
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        end local 3 // org.jcodings.EncodingDB$Entry entry
        end local 2 // org.jcodings.util.CaseInsensitiveBytesHash$CaseInsensitiveBytesHashEntry e
         9: .line 212
      StackMap locals: org.jruby.runtime.encoding.EncodingService org.jcodings.util.Hash$HashEntryIterator
      StackMap stack:
            aload 1 /* i */
            invokevirtual org.jcodings.util.Hash$HashEntryIterator.hasNext:()Z
            ifne 2
        10: .line 222
            return
        end local 1 // org.jcodings.util.Hash$HashEntryIterator i
        end local 0 // org.jruby.runtime.encoding.EncodingService this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Lorg/jruby/runtime/encoding/EncodingService;
            1   11     1          i  Lorg/jcodings/util/Hash$HashEntryIterator;
            4    9     2          e  Lorg/jcodings/util/CaseInsensitiveBytesHash$CaseInsensitiveBytesHashEntry<Lorg/jcodings/EncodingDB$Entry;>;
            5    9     3      entry  Lorg/jcodings/EncodingDB$Entry;
            7    8     4  constName  Ljava/lang/String;

  private void defineEncodingConstant(org.jruby.Ruby, org.jruby.RubyEncoding, java.lang.String);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyEncoding;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.jruby.runtime.encoding.EncodingService this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.RubyEncoding encoding
        start local 3 // java.lang.String constName
         0: .line 225
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getEncoding:()Lorg/jruby/RubyClass;
            aload 3 /* constName */
            aload 2 /* encoding */
            invokevirtual org.jruby.RubyClass.defineConstant:(Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)V
         1: .line 226
            return
        end local 3 // java.lang.String constName
        end local 2 // org.jruby.RubyEncoding encoding
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.runtime.encoding.EncodingService this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/jruby/runtime/encoding/EncodingService;
            0    2     1    runtime  Lorg/jruby/Ruby;
            0    2     2   encoding  Lorg/jruby/RubyEncoding;
            0    2     3  constName  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      runtime    
      encoding   
      constName  

  public org.jruby.runtime.builtin.IRubyObject getDefaultExternal();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.jruby.runtime.encoding.EncodingService this
         0: .line 229
            aload 0 /* this */
            getfield org.jruby.runtime.encoding.EncodingService.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getDefaultExternalEncoding:()Lorg/jcodings/Encoding;
            astore 1 /* defaultEncoding */
        start local 1 // org.jcodings.Encoding defaultEncoding
         1: .line 230
            aload 1 /* defaultEncoding */
            ifnonnull 5
         2: .line 232
            ldc "US-ASCII"
            invokestatic org.jruby.util.ByteList.create:(Ljava/lang/CharSequence;)Lorg/jruby/util/ByteList;
            astore 2 /* encodingName */
        start local 2 // org.jruby.util.ByteList encodingName
         3: .line 233
            aload 0 /* this */
            getfield org.jruby.runtime.encoding.EncodingService.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getEncodingService:()Lorg/jruby/runtime/encoding/EncodingService;
            aload 2 /* encodingName */
            invokevirtual org.jruby.runtime.encoding.EncodingService.loadEncoding:(Lorg/jruby/util/ByteList;)Lorg/jcodings/Encoding;
            astore 1 /* defaultEncoding */
         4: .line 235
            aload 0 /* this */
            getfield org.jruby.runtime.encoding.EncodingService.runtime:Lorg/jruby/Ruby;
            aload 1 /* defaultEncoding */
            invokevirtual org.jruby.Ruby.setDefaultExternalEncoding:(Lorg/jcodings/Encoding;)V
        end local 2 // org.jruby.util.ByteList encodingName
         5: .line 237
      StackMap locals: org.jcodings.Encoding
      StackMap stack:
            aload 0 /* this */
            aload 1 /* defaultEncoding */
            invokevirtual org.jruby.runtime.encoding.EncodingService.getEncoding:(Lorg/jcodings/Encoding;)Lorg/jruby/RubyEncoding;
            areturn
        end local 1 // org.jcodings.Encoding defaultEncoding
        end local 0 // org.jruby.runtime.encoding.EncodingService this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    6     0             this  Lorg/jruby/runtime/encoding/EncodingService;
            1    6     1  defaultEncoding  Lorg/jcodings/Encoding;
            3    5     2     encodingName  Lorg/jruby/util/ByteList;

  public org.jruby.runtime.builtin.IRubyObject getDefaultInternal();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.runtime.encoding.EncodingService this
         0: .line 241
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.runtime.encoding.EncodingService.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getDefaultInternalEncoding:()Lorg/jcodings/Encoding;
            invokevirtual org.jruby.runtime.encoding.EncodingService.convertEncodingToRubyEncoding:(Lorg/jcodings/Encoding;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 0 // org.jruby.runtime.encoding.EncodingService this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/encoding/EncodingService;

  public org.jruby.runtime.builtin.IRubyObject convertEncodingToRubyEncoding(org.jcodings.Encoding);
    descriptor: (Lorg/jcodings/Encoding;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.runtime.encoding.EncodingService this
        start local 1 // org.jcodings.Encoding defaultEncoding
         0: .line 245
            aload 1 /* defaultEncoding */
            ifnull 1
            aload 0 /* this */
            aload 1 /* defaultEncoding */
            invokevirtual org.jruby.runtime.encoding.EncodingService.getEncoding:(Lorg/jcodings/Encoding;)Lorg/jruby/RubyEncoding;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield org.jruby.runtime.encoding.EncodingService.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         2: areturn
        end local 1 // org.jcodings.Encoding defaultEncoding
        end local 0 // org.jruby.runtime.encoding.EncodingService this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             this  Lorg/jruby/runtime/encoding/EncodingService;
            0    3     1  defaultEncoding  Lorg/jcodings/Encoding;
    MethodParameters:
                 Name  Flags
      defaultEncoding  

  public org.jruby.runtime.builtin.IRubyObject findEncodingObject(byte[]);
    descriptor: ([B)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.jruby.runtime.encoding.EncodingService this
        start local 1 // byte[] bytes
         0: .line 249
            aload 0 /* this */
            aload 1 /* bytes */
            invokevirtual org.jruby.runtime.encoding.EncodingService.findEncodingEntry:([B)Lorg/jcodings/EncodingDB$Entry;
            astore 2 /* entry */
        start local 2 // org.jcodings.EncodingDB$Entry entry
         1: .line 251
            aload 2 /* entry */
            ifnull 4
         2: .line 252
            aload 2 /* entry */
            invokevirtual org.jcodings.EncodingDB$Entry.getEncoding:()Lorg/jcodings/Encoding;
            astore 3 /* enc */
        start local 3 // org.jcodings.Encoding enc
         3: .line 253
            goto 5
        end local 3 // org.jcodings.Encoding enc
         4: .line 254
      StackMap locals: org.jcodings.EncodingDB$Entry
      StackMap stack:
            getstatic org.jcodings.specific.ASCIIEncoding.INSTANCE:Lorg/jcodings/specific/ASCIIEncoding;
            astore 3 /* enc */
        start local 3 // org.jcodings.Encoding enc
         5: .line 256
      StackMap locals: org.jcodings.Encoding
      StackMap stack:
            aload 0 /* this */
            aload 3 /* enc */
            invokevirtual org.jruby.runtime.encoding.EncodingService.convertEncodingToRubyEncoding:(Lorg/jcodings/Encoding;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jcodings.Encoding enc
        end local 2 // org.jcodings.EncodingDB$Entry entry
        end local 1 // byte[] bytes
        end local 0 // org.jruby.runtime.encoding.EncodingService this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lorg/jruby/runtime/encoding/EncodingService;
            0    6     1  bytes  [B
            1    6     2  entry  Lorg/jcodings/EncodingDB$Entry;
            3    4     3    enc  Lorg/jcodings/Encoding;
            5    6     3    enc  Lorg/jcodings/Encoding;
    MethodParameters:
       Name  Flags
      bytes  

  public org.jcodings.Encoding getJavaDefault();
    descriptor: ()Lorg/jcodings/Encoding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.encoding.EncodingService this
         0: .line 260
            aload 0 /* this */
            getfield org.jruby.runtime.encoding.EncodingService.javaDefault:Lorg/jcodings/Encoding;
            areturn
        end local 0 // org.jruby.runtime.encoding.EncodingService this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/encoding/EncodingService;

  public org.jcodings.Encoding getEncodingFromObject(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jcodings/Encoding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.runtime.encoding.EncodingService this
        start local 1 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 264
            aload 0 /* this */
            aload 1 /* arg */
            iconst_1
            invokevirtual org.jruby.runtime.encoding.EncodingService.getEncodingFromObjectCommon:(Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jcodings/Encoding;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject arg
        end local 0 // org.jruby.runtime.encoding.EncodingService this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/encoding/EncodingService;
            0    1     1   arg  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
      Name  Flags
      arg   

  public org.jcodings.Encoding getEncodingFromObjectNoError(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jcodings/Encoding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.runtime.encoding.EncodingService this
        start local 1 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 269
            aload 0 /* this */
            aload 1 /* arg */
            iconst_0
            invokevirtual org.jruby.runtime.encoding.EncodingService.getEncodingFromObjectCommon:(Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jcodings/Encoding;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject arg
        end local 0 // org.jruby.runtime.encoding.EncodingService this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/encoding/EncodingService;
            0    1     1   arg  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
      Name  Flags
      arg   

  private org.jcodings.Encoding getEncodingFromObjectCommon(org.jruby.runtime.builtin.IRubyObject, boolean);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jcodings/Encoding;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.jruby.runtime.encoding.EncodingService this
        start local 1 // org.jruby.runtime.builtin.IRubyObject arg
        start local 2 // boolean error
         0: .line 273
            aload 1 /* arg */
            ifnonnull 1
            aconst_null
            areturn
         1: .line 275
      StackMap locals:
      StackMap stack:
            aload 1 /* arg */
            instanceof org.jruby.RubyEncoding
            ifeq 3
         2: .line 276
            aload 1 /* arg */
            checkcast org.jruby.RubyEncoding
            invokevirtual org.jruby.RubyEncoding.getEncoding:()Lorg/jcodings/Encoding;
            areturn
         3: .line 278
      StackMap locals:
      StackMap stack:
            aload 1 /* arg */
            instanceof org.jruby.RubyFixnum
            ifeq 7
         4: .line 279
            aload 1 /* arg */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToInteger:()Lorg/jruby/RubyInteger;
            invokevirtual org.jruby.RubyInteger.getLongValue:()J
            l2i
            istore 3 /* id */
        start local 3 // int id
         5: .line 280
            getstatic org.jruby.ext.nkf.RubyNKF.NKFCharsetMap:Ljava/util/Map;
            iload 3 /* id */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* name */
        start local 4 // java.lang.String name
         6: .line 281
            aload 4 /* name */
            ifnull 7
            aload 0 /* this */
            aload 4 /* name */
            invokevirtual org.jruby.runtime.encoding.EncodingService.getEncodingFromNKFName:(Ljava/lang/String;)Lorg/jcodings/Encoding;
            areturn
        end local 4 // java.lang.String name
        end local 3 // int id
         7: .line 283
      StackMap locals:
      StackMap stack:
            aload 1 /* arg */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.checkStringType:()Lorg/jruby/runtime/builtin/IRubyObject;
            dup
            astore 1 /* arg */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifeq 9
         8: .line 284
            aconst_null
            areturn
         9: .line 286
      StackMap locals:
      StackMap stack:
            aload 1 /* arg */
            checkcast org.jruby.RubyString
            invokevirtual org.jruby.RubyString.getEncoding:()Lorg/jcodings/Encoding;
            invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
            ifne 11
        10: .line 287
            aconst_null
            areturn
        11: .line 289
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* arg */
            checkcast org.jruby.RubyString
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            iload 2 /* error */
            invokevirtual org.jruby.runtime.encoding.EncodingService.findEncodingCommon:(Lorg/jruby/util/ByteList;Z)Lorg/jcodings/Encoding;
            areturn
        end local 2 // boolean error
        end local 1 // org.jruby.runtime.builtin.IRubyObject arg
        end local 0 // org.jruby.runtime.encoding.EncodingService this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0   this  Lorg/jruby/runtime/encoding/EncodingService;
            0   12     1    arg  Lorg/jruby/runtime/builtin/IRubyObject;
            0   12     2  error  Z
            5    7     3     id  I
            6    7     4   name  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      arg    
      error  

  private org.jcodings.Encoding getEncodingFromNKFName(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jcodings/Encoding;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // org.jruby.runtime.encoding.EncodingService this
        start local 1 // java.lang.String name
         0: .line 293
            aload 0 /* this */
            getfield org.jruby.runtime.encoding.EncodingService.encodings:Lorg/jcodings/util/CaseInsensitiveBytesHash;
            invokevirtual org.jcodings.util.CaseInsensitiveBytesHash.entryIterator:()Lorg/jcodings/util/CaseInsensitiveBytesHash$CaseInsensitiveBytesHashEntryIterator;
            astore 2 /* hei */
        start local 2 // org.jcodings.util.Hash$HashEntryIterator hei
         1: .line 294
            goto 8
         2: .line 297
      StackMap locals: org.jcodings.util.Hash$HashEntryIterator
      StackMap stack:
            aload 2 /* hei */
            invokevirtual org.jcodings.util.Hash$HashEntryIterator.next:()Lorg/jcodings/util/Hash$HashEntry;
            checkcast org.jcodings.util.CaseInsensitiveBytesHash$CaseInsensitiveBytesHashEntry
         3: .line 296
            astore 3 /* e */
        start local 3 // org.jcodings.util.CaseInsensitiveBytesHash$CaseInsensitiveBytesHashEntry e
         4: .line 298
            aload 3 /* e */
            getfield org.jcodings.util.CaseInsensitiveBytesHash$CaseInsensitiveBytesHashEntry.value:Ljava/lang/Object;
            checkcast org.jcodings.EncodingDB$Entry
            astore 4 /* entry */
        start local 4 // org.jcodings.EncodingDB$Entry entry
         5: .line 299
            aload 4 /* entry */
            invokevirtual org.jcodings.EncodingDB$Entry.getEncodingClass:()Ljava/lang/String;
            astore 5 /* className */
        start local 5 // java.lang.String className
         6: .line 300
            aload 5 /* className */
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 301
            aload 4 /* entry */
            invokevirtual org.jcodings.EncodingDB$Entry.getEncoding:()Lorg/jcodings/Encoding;
            areturn
        end local 5 // java.lang.String className
        end local 4 // org.jcodings.EncodingDB$Entry entry
        end local 3 // org.jcodings.util.CaseInsensitiveBytesHash$CaseInsensitiveBytesHashEntry e
         8: .line 294
      StackMap locals:
      StackMap stack:
            aload 2 /* hei */
            invokevirtual org.jcodings.util.Hash$HashEntryIterator.hasNext:()Z
            ifne 2
         9: .line 304
            aconst_null
            areturn
        end local 2 // org.jcodings.util.Hash$HashEntryIterator hei
        end local 1 // java.lang.String name
        end local 0 // org.jruby.runtime.encoding.EncodingService this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Lorg/jruby/runtime/encoding/EncodingService;
            0   10     1       name  Ljava/lang/String;
            1   10     2        hei  Lorg/jcodings/util/Hash$HashEntryIterator;
            4    8     3          e  Lorg/jcodings/util/CaseInsensitiveBytesHash$CaseInsensitiveBytesHashEntry<Lorg/jcodings/EncodingDB$Entry;>;
            5    8     4      entry  Lorg/jcodings/EncodingDB$Entry;
            6    8     5  className  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  final

  public org.jcodings.Encoding getEncodingFromString(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jcodings/Encoding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.jruby.runtime.encoding.EncodingService this
        start local 1 // java.lang.String string
         0: .line 308
            aload 1 /* string */
            ifnonnull 1
            aconst_null
            areturn
         1: .line 310
      StackMap locals:
      StackMap stack:
            new org.jruby.util.ByteList
            dup
            aload 1 /* string */
            invokestatic org.jruby.util.ByteList.plain:(Ljava/lang/CharSequence;)[B
            iconst_0
            invokespecial org.jruby.util.ByteList.<init>:([BZ)V
            astore 2 /* name */
        start local 2 // org.jruby.util.ByteList name
         2: .line 311
            aload 0 /* this */
            aload 2 /* name */
            invokevirtual org.jruby.runtime.encoding.EncodingService.checkAsciiEncodingName:(Lorg/jruby/util/ByteList;)V
         3: .line 313
            aload 2 /* name */
            invokestatic org.jruby.runtime.encoding.EncodingService$SpecialEncoding.valueOf:(Lorg/jruby/util/ByteList;)Lorg/jruby/runtime/encoding/EncodingService$SpecialEncoding;
            astore 3 /* special */
        start local 3 // org.jruby.runtime.encoding.EncodingService$SpecialEncoding special
         4: .line 314
            aload 3 /* special */
            ifnull 6
         5: .line 315
            aload 3 /* special */
            aload 0 /* this */
            getfield org.jruby.runtime.encoding.EncodingService.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.runtime.encoding.EncodingService$SpecialEncoding.toEncoding:(Lorg/jruby/Ruby;)Lorg/jcodings/Encoding;
            areturn
         6: .line 318
      StackMap locals: org.jruby.util.ByteList org.jruby.runtime.encoding.EncodingService$SpecialEncoding
      StackMap stack:
            aload 0 /* this */
            aload 2 /* name */
            invokevirtual org.jruby.runtime.encoding.EncodingService.findEncodingWithError:(Lorg/jruby/util/ByteList;)Lorg/jcodings/Encoding;
            areturn
        end local 3 // org.jruby.runtime.encoding.EncodingService$SpecialEncoding special
        end local 2 // org.jruby.util.ByteList name
        end local 1 // java.lang.String string
        end local 0 // org.jruby.runtime.encoding.EncodingService this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/jruby/runtime/encoding/EncodingService;
            0    7     1   string  Ljava/lang/String;
            2    7     2     name  Lorg/jruby/util/ByteList;
            4    7     3  special  Lorg/jruby/runtime/encoding/EncodingService$SpecialEncoding;
    MethodParameters:
        Name  Flags
      string  

  public org.jcodings.Encoding findEncoding(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jcodings/Encoding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.runtime.encoding.EncodingService this
        start local 1 // org.jruby.runtime.builtin.IRubyObject str
         0: .line 329
            aload 0 /* this */
            aload 1 /* str */
            iconst_1
            invokevirtual org.jruby.runtime.encoding.EncodingService.findEncodingCommon:(Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jcodings/Encoding;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject str
        end local 0 // org.jruby.runtime.encoding.EncodingService this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/encoding/EncodingService;
            0    1     1   str  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
      Name  Flags
      str   

  public org.jcodings.Encoding findEncodingNoError(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jcodings/Encoding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.runtime.encoding.EncodingService this
        start local 1 // org.jruby.runtime.builtin.IRubyObject str
         0: .line 342
            aload 0 /* this */
            aload 1 /* str */
            iconst_0
            invokevirtual org.jruby.runtime.encoding.EncodingService.findEncodingCommon:(Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jcodings/Encoding;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject str
        end local 0 // org.jruby.runtime.encoding.EncodingService this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/encoding/EncodingService;
            0    1     1   str  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
      Name  Flags
      str   

  public org.jcodings.Encoding findEncodingNoError(org.jruby.util.ByteList);
    descriptor: (Lorg/jruby/util/ByteList;)Lorg/jcodings/Encoding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.runtime.encoding.EncodingService this
        start local 1 // org.jruby.util.ByteList str
         0: .line 346
            aload 0 /* this */
            aload 1 /* str */
            iconst_0
            invokevirtual org.jruby.runtime.encoding.EncodingService.findEncodingCommon:(Lorg/jruby/util/ByteList;Z)Lorg/jcodings/Encoding;
            areturn
        end local 1 // org.jruby.util.ByteList str
        end local 0 // org.jruby.runtime.encoding.EncodingService this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/encoding/EncodingService;
            0    1     1   str  Lorg/jruby/util/ByteList;
    MethodParameters:
      Name  Flags
      str   

  private org.jcodings.Encoding findEncodingCommon(org.jruby.runtime.builtin.IRubyObject, boolean);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Z)Lorg/jcodings/Encoding;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.jruby.runtime.encoding.EncodingService this
        start local 1 // org.jruby.runtime.builtin.IRubyObject str
        start local 2 // boolean error
         0: .line 350
            aload 1 /* str */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            astore 3 /* name */
        start local 3 // org.jruby.util.ByteList name
         1: .line 351
            aload 0 /* this */
            aload 3 /* name */
            iload 2 /* error */
            invokevirtual org.jruby.runtime.encoding.EncodingService.findEncodingCommon:(Lorg/jruby/util/ByteList;Z)Lorg/jcodings/Encoding;
            areturn
        end local 3 // org.jruby.util.ByteList name
        end local 2 // boolean error
        end local 1 // org.jruby.runtime.builtin.IRubyObject str
        end local 0 // org.jruby.runtime.encoding.EncodingService this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/jruby/runtime/encoding/EncodingService;
            0    2     1    str  Lorg/jruby/runtime/builtin/IRubyObject;
            0    2     2  error  Z
            1    2     3   name  Lorg/jruby/util/ByteList;
    MethodParameters:
       Name  Flags
      str    
      error  

  private org.jcodings.Encoding findEncodingCommon(org.jruby.util.ByteList, boolean);
    descriptor: (Lorg/jruby/util/ByteList;Z)Lorg/jcodings/Encoding;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // org.jruby.runtime.encoding.EncodingService this
        start local 1 // org.jruby.util.ByteList name
        start local 2 // boolean error
         0: .line 355
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.jruby.runtime.encoding.EncodingService.checkAsciiEncodingName:(Lorg/jruby/util/ByteList;)V
         1: .line 357
            aload 1 /* name */
            invokestatic org.jruby.runtime.encoding.EncodingService$SpecialEncoding.valueOf:(Lorg/jruby/util/ByteList;)Lorg/jruby/runtime/encoding/EncodingService$SpecialEncoding;
            astore 3 /* special */
        start local 3 // org.jruby.runtime.encoding.EncodingService$SpecialEncoding special
         2: .line 358
            aload 3 /* special */
            ifnull 6
         3: .line 359
            aload 3 /* special */
            aload 0 /* this */
            getfield org.jruby.runtime.encoding.EncodingService.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.runtime.encoding.EncodingService$SpecialEncoding.toEncoding:(Lorg/jruby/Ruby;)Lorg/jcodings/Encoding;
            astore 4 /* specialEncoding */
        start local 4 // org.jcodings.Encoding specialEncoding
         4: .line 360
            aload 4 /* specialEncoding */
            ifnonnull 5
            getstatic org.jcodings.specific.ASCIIEncoding.INSTANCE:Lorg/jcodings/specific/ASCIIEncoding;
            astore 4 /* specialEncoding */
         5: .line 361
      StackMap locals: org.jruby.runtime.encoding.EncodingService$SpecialEncoding org.jcodings.Encoding
      StackMap stack:
            aload 4 /* specialEncoding */
            areturn
        end local 4 // org.jcodings.Encoding specialEncoding
         6: .line 364
      StackMap locals:
      StackMap stack:
            iload 2 /* error */
            ifeq 7
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.jruby.runtime.encoding.EncodingService.findEncodingWithError:(Lorg/jruby/util/ByteList;)Lorg/jcodings/Encoding;
            areturn
         7: .line 366
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.jruby.runtime.encoding.EncodingService.findEncodingOrAliasEntry:(Lorg/jruby/util/ByteList;)Lorg/jcodings/EncodingDB$Entry;
            astore 4 /* e */
        start local 4 // org.jcodings.EncodingDB$Entry e
         8: .line 368
            aload 4 /* e */
            ifnonnull 9
            aconst_null
            areturn
         9: .line 370
      StackMap locals: org.jcodings.EncodingDB$Entry
      StackMap stack:
            aload 4 /* e */
            invokevirtual org.jcodings.EncodingDB$Entry.getEncoding:()Lorg/jcodings/Encoding;
            areturn
        end local 4 // org.jcodings.EncodingDB$Entry e
        end local 3 // org.jruby.runtime.encoding.EncodingService$SpecialEncoding special
        end local 2 // boolean error
        end local 1 // org.jruby.util.ByteList name
        end local 0 // org.jruby.runtime.encoding.EncodingService this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   10     0             this  Lorg/jruby/runtime/encoding/EncodingService;
            0   10     1             name  Lorg/jruby/util/ByteList;
            0   10     2            error  Z
            2   10     3          special  Lorg/jruby/runtime/encoding/EncodingService$SpecialEncoding;
            4    6     4  specialEncoding  Lorg/jcodings/Encoding;
            8   10     4                e  Lorg/jcodings/EncodingDB$Entry;
    MethodParameters:
       Name  Flags
      name   
      error  

  public org.jcodings.EncodingDB$Entry findEntry(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jcodings/EncodingDB$Entry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.jruby.runtime.encoding.EncodingService this
        start local 1 // org.jruby.runtime.builtin.IRubyObject str
         0: .line 381
            aload 1 /* str */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            astore 2 /* name */
        start local 2 // org.jruby.util.ByteList name
         1: .line 382
            aload 0 /* this */
            aload 2 /* name */
            invokevirtual org.jruby.runtime.encoding.EncodingService.checkAsciiEncodingName:(Lorg/jruby/util/ByteList;)V
         2: .line 384
            aload 2 /* name */
            invokestatic org.jruby.runtime.encoding.EncodingService$SpecialEncoding.valueOf:(Lorg/jruby/util/ByteList;)Lorg/jruby/runtime/encoding/EncodingService$SpecialEncoding;
            astore 3 /* special */
        start local 3 // org.jruby.runtime.encoding.EncodingService$SpecialEncoding special
         3: .line 385
            aload 3 /* special */
            ifnull 5
         4: .line 386
            aload 0 /* this */
            aload 3 /* special */
            aload 0 /* this */
            getfield org.jruby.runtime.encoding.EncodingService.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.runtime.encoding.EncodingService$SpecialEncoding.toEncoding:(Lorg/jruby/Ruby;)Lorg/jcodings/Encoding;
            invokevirtual org.jruby.runtime.encoding.EncodingService.findEntryFromEncoding:(Lorg/jcodings/Encoding;)Lorg/jcodings/EncodingDB$Entry;
            areturn
         5: .line 389
      StackMap locals: org.jruby.util.ByteList org.jruby.runtime.encoding.EncodingService$SpecialEncoding
      StackMap stack:
            aload 0 /* this */
            aload 2 /* name */
            invokevirtual org.jruby.runtime.encoding.EncodingService.findEntryWithError:(Lorg/jruby/util/ByteList;)Lorg/jcodings/EncodingDB$Entry;
            areturn
        end local 3 // org.jruby.runtime.encoding.EncodingService$SpecialEncoding special
        end local 2 // org.jruby.util.ByteList name
        end local 1 // org.jruby.runtime.builtin.IRubyObject str
        end local 0 // org.jruby.runtime.encoding.EncodingService this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/jruby/runtime/encoding/EncodingService;
            0    6     1      str  Lorg/jruby/runtime/builtin/IRubyObject;
            1    6     2     name  Lorg/jruby/util/ByteList;
            3    6     3  special  Lorg/jruby/runtime/encoding/EncodingService$SpecialEncoding;
    MethodParameters:
      Name  Flags
      str   

  public org.jruby.runtime.builtin.IRubyObject rubyEncodingFromObject(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.runtime.encoding.EncodingService this
        start local 1 // org.jruby.runtime.builtin.IRubyObject str
         0: .line 393
            aload 1 /* str */
            instanceof org.jruby.RubyEncoding
            ifeq 2
         1: .line 394
            aload 1 /* str */
            areturn
         2: .line 397
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* str */
            invokevirtual org.jruby.runtime.encoding.EncodingService.findEntry:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jcodings/EncodingDB$Entry;
            astore 2 /* entry */
        start local 2 // org.jcodings.EncodingDB$Entry entry
         3: .line 398
            aload 2 /* entry */
            ifnonnull 4
            aload 0 /* this */
            getfield org.jruby.runtime.encoding.EncodingService.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         4: .line 399
      StackMap locals: org.jcodings.EncodingDB$Entry
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.runtime.encoding.EncodingService.getEncodingList:()[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 2 /* entry */
            invokevirtual org.jcodings.EncodingDB$Entry.getIndex:()I
            aaload
            areturn
        end local 2 // org.jcodings.EncodingDB$Entry entry
        end local 1 // org.jruby.runtime.builtin.IRubyObject str
        end local 0 // org.jruby.runtime.encoding.EncodingService this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lorg/jruby/runtime/encoding/EncodingService;
            0    5     1    str  Lorg/jruby/runtime/builtin/IRubyObject;
            3    5     2  entry  Lorg/jcodings/EncodingDB$Entry;
    MethodParameters:
      Name  Flags
      str   

  public java.nio.charset.Charset charsetForEncoding(org.jcodings.Encoding);
    descriptor: (Lorg/jcodings/Encoding;)Ljava/nio/charset/Charset;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.runtime.encoding.EncodingService this
        start local 1 // org.jcodings.Encoding encoding
         0: .line 409
            aload 1 /* encoding */
            getstatic org.jcodings.specific.ASCIIEncoding.INSTANCE:Lorg/jcodings/specific/ASCIIEncoding;
            if_acmpne 2
         1: .line 410
            getstatic org.jruby.RubyEncoding.ISO:Ljava/nio/charset/Charset;
            areturn
         2: .line 413
      StackMap locals:
      StackMap stack:
            aload 1 /* encoding */
            getstatic org.jcodings.specific.ISO8859_16Encoding.INSTANCE:Lorg/jcodings/specific/ISO8859_16Encoding;
            if_acmpne 4
         3: .line 414
            getstatic org.jcodings.spi.ISO_8859_16.INSTANCE:Lorg/jcodings/spi/ISO_8859_16;
            areturn
         4: .line 418
      StackMap locals:
      StackMap stack:
            aload 1 /* encoding */
            invokestatic org.jruby.util.io.EncodingUtils.charsetForEncoding:(Lorg/jcodings/Encoding;)Ljava/nio/charset/Charset;
         5: areturn
         6: .line 419
      StackMap locals:
      StackMap stack: java.nio.charset.UnsupportedCharsetException
            pop
         7: .line 420
            aload 0 /* this */
            getfield org.jruby.runtime.encoding.EncodingService.runtime:Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "no java.nio.charset.Charset found for encoding `"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* encoding */
            invokevirtual org.jcodings.Encoding.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newEncodingCompatibilityError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 1 // org.jcodings.Encoding encoding
        end local 0 // org.jruby.runtime.encoding.EncodingService this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lorg/jruby/runtime/encoding/EncodingService;
            0    8     1  encoding  Lorg/jcodings/Encoding;
      Exception table:
        from    to  target  type
           4     5       6  Class java.nio.charset.UnsupportedCharsetException
    MethodParameters:
          Name  Flags
      encoding  

  private void checkAsciiEncodingName(org.jruby.util.ByteList);
    descriptor: (Lorg/jruby/util/ByteList;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.runtime.encoding.EncodingService this
        start local 1 // org.jruby.util.ByteList name
         0: .line 425
            aload 1 /* name */
            invokevirtual org.jruby.util.ByteList.getEncoding:()Lorg/jcodings/Encoding;
            invokevirtual org.jcodings.Encoding.isAsciiCompatible:()Z
            ifne 2
         1: .line 426
            aload 0 /* this */
            getfield org.jruby.runtime.encoding.EncodingService.runtime:Lorg/jruby/Ruby;
            ldc "invalid name encoding (non ASCII)"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         2: .line 428
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.jruby.util.ByteList name
        end local 0 // org.jruby.runtime.encoding.EncodingService this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/runtime/encoding/EncodingService;
            0    3     1  name  Lorg/jruby/util/ByteList;
    MethodParameters:
      Name  Flags
      name  

  public org.jcodings.Encoding getWindowsFilesystemEncoding(org.jruby.Ruby);
    descriptor: (Lorg/jruby/Ruby;)Lorg/jcodings/Encoding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // org.jruby.runtime.encoding.EncodingService this
        start local 1 // org.jruby.Ruby ruby
         0: .line 431
            ldc "file.encoding"
            ldc "UTF-8"
            invokestatic org.jruby.util.SafePropertyAccessor.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* encoding */
        start local 2 // java.lang.String encoding
         1: .line 432
            aload 0 /* this */
            aload 2 /* encoding */
            invokestatic org.jruby.util.ByteList.create:(Ljava/lang/CharSequence;)Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.runtime.encoding.EncodingService.loadEncoding:(Lorg/jruby/util/ByteList;)Lorg/jcodings/Encoding;
            astore 3 /* filesystemEncoding */
        start local 3 // org.jcodings.Encoding filesystemEncoding
         2: .line 435
            aload 3 /* filesystemEncoding */
            ifnonnull 7
         3: .line 437
            getstatic org.jruby.runtime.encoding.EncodingService.MS_CP_PATTERN:Ljava/util/regex/Pattern;
            aload 2 /* encoding */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            astore 4 /* match */
        start local 4 // java.util.regex.Matcher match
         4: .line 438
            aload 4 /* match */
            invokevirtual java.util.regex.Matcher.find:()Z
            ifeq 7
         5: .line 439
            new java.lang.StringBuilder
            dup
            ldc "CP"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* match */
            iconst_1
            invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* cpEncoding */
        start local 5 // java.lang.String cpEncoding
         6: .line 440
            aload 0 /* this */
            aload 5 /* cpEncoding */
            invokestatic org.jruby.util.ByteList.create:(Ljava/lang/CharSequence;)Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.runtime.encoding.EncodingService.loadEncoding:(Lorg/jruby/util/ByteList;)Lorg/jcodings/Encoding;
            astore 3 /* filesystemEncoding */
        end local 5 // java.lang.String cpEncoding
        end local 4 // java.util.regex.Matcher match
         7: .line 444
      StackMap locals: java.lang.String org.jcodings.Encoding
      StackMap stack:
            aload 3 /* filesystemEncoding */
            ifnonnull 10
         8: .line 445
            aload 1 /* ruby */
            invokevirtual org.jruby.Ruby.getWarnings:()Lorg/jruby/common/RubyWarnings;
            new java.lang.StringBuilder
            dup
            ldc "unrecognized system encoding \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* encoding */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\", using default external"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.common.RubyWarnings.warn:(Ljava/lang/String;)V
         9: .line 446
            aload 1 /* ruby */
            invokevirtual org.jruby.Ruby.getDefaultExternalEncoding:()Lorg/jcodings/Encoding;
            astore 3 /* filesystemEncoding */
        10: .line 449
      StackMap locals:
      StackMap stack:
            aload 3 /* filesystemEncoding */
            areturn
        end local 3 // org.jcodings.Encoding filesystemEncoding
        end local 2 // java.lang.String encoding
        end local 1 // org.jruby.Ruby ruby
        end local 0 // org.jruby.runtime.encoding.EncodingService this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   11     0                this  Lorg/jruby/runtime/encoding/EncodingService;
            0   11     1                ruby  Lorg/jruby/Ruby;
            1   11     2            encoding  Ljava/lang/String;
            2   11     3  filesystemEncoding  Lorg/jcodings/Encoding;
            4    7     4               match  Ljava/util/regex/Matcher;
            6    7     5          cpEncoding  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      ruby  

  public org.jcodings.Encoding findEncodingWithError(org.jruby.util.ByteList);
    descriptor: (Lorg/jruby/util/ByteList;)Lorg/jcodings/Encoding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.runtime.encoding.EncodingService this
        start local 1 // org.jruby.util.ByteList name
         0: .line 490
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.jruby.runtime.encoding.EncodingService.findEntryWithError:(Lorg/jruby/util/ByteList;)Lorg/jcodings/EncodingDB$Entry;
            invokevirtual org.jcodings.EncodingDB$Entry.getEncoding:()Lorg/jcodings/Encoding;
            areturn
        end local 1 // org.jruby.util.ByteList name
        end local 0 // org.jruby.runtime.encoding.EncodingService this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/runtime/encoding/EncodingService;
            0    1     1  name  Lorg/jruby/util/ByteList;
    MethodParameters:
      Name  Flags
      name  

  private org.jcodings.EncodingDB$Entry findEntryWithError(org.jruby.util.ByteList);
    descriptor: (Lorg/jruby/util/ByteList;)Lorg/jcodings/EncodingDB$Entry;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.jruby.runtime.encoding.EncodingService this
        start local 1 // org.jruby.util.ByteList name
         0: .line 500
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.jruby.runtime.encoding.EncodingService.findEncodingOrAliasEntry:(Lorg/jruby/util/ByteList;)Lorg/jcodings/EncodingDB$Entry;
            astore 2 /* e */
        start local 2 // org.jcodings.EncodingDB$Entry e
         1: .line 502
            aload 2 /* e */
            ifnonnull 2
            aload 0 /* this */
            getfield org.jruby.runtime.encoding.EncodingService.runtime:Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "unknown encoding name - "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         2: .line 504
      StackMap locals: org.jcodings.EncodingDB$Entry
      StackMap stack:
            aload 2 /* e */
            areturn
        end local 2 // org.jcodings.EncodingDB$Entry e
        end local 1 // org.jruby.util.ByteList name
        end local 0 // org.jruby.runtime.encoding.EncodingService this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/runtime/encoding/EncodingService;
            0    3     1  name  Lorg/jruby/util/ByteList;
            1    3     2     e  Lorg/jcodings/EncodingDB$Entry;
    MethodParameters:
      Name  Flags
      name  

  private org.jcodings.EncodingDB$Entry findEntryFromEncoding(org.jcodings.Encoding);
    descriptor: (Lorg/jcodings/Encoding;)Lorg/jcodings/EncodingDB$Entry;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.runtime.encoding.EncodingService this
        start local 1 // org.jcodings.Encoding e
         0: .line 508
            aload 1 /* e */
            ifnonnull 1
            aconst_null
            areturn
         1: .line 509
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* e */
            invokevirtual org.jcodings.Encoding.getName:()[B
            invokevirtual org.jruby.runtime.encoding.EncodingService.findEncodingEntry:([B)Lorg/jcodings/EncodingDB$Entry;
            areturn
        end local 1 // org.jcodings.Encoding e
        end local 0 // org.jruby.runtime.encoding.EncodingService this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/runtime/encoding/EncodingService;
            0    2     1     e  Lorg/jcodings/Encoding;
    MethodParameters:
      Name  Flags
      e     

  public org.jcodings.Encoding getFileSystemEncoding(org.jruby.Ruby);
    descriptor: (Lorg/jruby/Ruby;)Lorg/jcodings/Encoding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.jruby.runtime.encoding.EncodingService this
        start local 1 // org.jruby.Ruby runtime
         0: .line 514
            aload 0 /* this */
            invokevirtual org.jruby.runtime.encoding.EncodingService.getFileSystemEncoding:()Lorg/jcodings/Encoding;
            areturn
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.runtime.encoding.EncodingService this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/runtime/encoding/EncodingService;
            0    1     1  runtime  Lorg/jruby/Ruby;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      runtime  
}
SourceFile: "EncodingService.java"
NestMembers:
  org.jruby.runtime.encoding.EncodingService$SpecialEncoding
InnerClasses:
  public final Entry = org.jcodings.EncodingDB$Entry of org.jcodings.EncodingDB
  public final CaseInsensitiveBytesHashEntry = org.jcodings.util.CaseInsensitiveBytesHash$CaseInsensitiveBytesHashEntry of org.jcodings.util.CaseInsensitiveBytesHash
  public CaseInsensitiveBytesHashEntryIterator = org.jcodings.util.CaseInsensitiveBytesHash$CaseInsensitiveBytesHashEntryIterator of org.jcodings.util.CaseInsensitiveBytesHash
  public HashEntry = org.jcodings.util.Hash$HashEntry of org.jcodings.util.Hash
  public HashEntryIterator = org.jcodings.util.Hash$HashEntryIterator of org.jcodings.util.Hash
  private final SpecialEncoding = org.jruby.runtime.encoding.EncodingService$SpecialEncoding of org.jruby.runtime.encoding.EncodingService