public abstract class sun.nio.cs.ext.DoubleByteEncoder extends java.nio.charset.CharsetEncoder
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: sun.nio.cs.ext.DoubleByteEncoder
  super_class: java.nio.charset.CharsetEncoder
{
  private short[] index1;
    descriptor: [S
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String[] index2;
    descriptor: [Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private final sun.nio.cs.Surrogate$Parser sgp;
    descriptor: Lsun/nio/cs/Surrogate$Parser;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  protected void <init>(java.nio.charset.Charset, short[], java.lang.String[]);
    descriptor: (Ljava/nio/charset/Charset;[S[Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // sun.nio.cs.ext.DoubleByteEncoder this
        start local 1 // java.nio.charset.Charset cs
        start local 2 // short[] index1
        start local 3 // java.lang.String[] index2
         0: .line 49
            aload 0 /* this */
            aload 1 /* cs */
            fconst_2
            fconst_2
            invokespecial java.nio.charset.CharsetEncoder.<init>:(Ljava/nio/charset/Charset;FF)V
         1: .line 44
            aload 0 /* this */
            new sun.nio.cs.Surrogate$Parser
            dup
            invokespecial sun.nio.cs.Surrogate$Parser.<init>:()V
            putfield sun.nio.cs.ext.DoubleByteEncoder.sgp:Lsun/nio/cs/Surrogate$Parser;
         2: .line 50
            aload 0 /* this */
            aload 2 /* index1 */
            putfield sun.nio.cs.ext.DoubleByteEncoder.index1:[S
         3: .line 51
            aload 0 /* this */
            aload 3 /* index2 */
            putfield sun.nio.cs.ext.DoubleByteEncoder.index2:[Ljava/lang/String;
         4: .line 52
            return
        end local 3 // java.lang.String[] index2
        end local 2 // short[] index1
        end local 1 // java.nio.charset.Charset cs
        end local 0 // sun.nio.cs.ext.DoubleByteEncoder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lsun/nio/cs/ext/DoubleByteEncoder;
            0    5     1      cs  Ljava/nio/charset/Charset;
            0    5     2  index1  [S
            0    5     3  index2  [Ljava/lang/String;
    MethodParameters:
        Name  Flags
      cs      
      index1  
      index2  

  protected void <init>(java.nio.charset.Charset, short[], java.lang.String[], float, float);
    descriptor: (Ljava/nio/charset/Charset;[S[Ljava/lang/String;FF)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=6, args_size=6
        start local 0 // sun.nio.cs.ext.DoubleByteEncoder this
        start local 1 // java.nio.charset.Charset cs
        start local 2 // short[] index1
        start local 3 // java.lang.String[] index2
        start local 4 // float avg
        start local 5 // float max
         0: .line 58
            aload 0 /* this */
            aload 1 /* cs */
            fload 4 /* avg */
            fload 5 /* max */
            invokespecial java.nio.charset.CharsetEncoder.<init>:(Ljava/nio/charset/Charset;FF)V
         1: .line 44
            aload 0 /* this */
            new sun.nio.cs.Surrogate$Parser
            dup
            invokespecial sun.nio.cs.Surrogate$Parser.<init>:()V
            putfield sun.nio.cs.ext.DoubleByteEncoder.sgp:Lsun/nio/cs/Surrogate$Parser;
         2: .line 59
            aload 0 /* this */
            aload 2 /* index1 */
            putfield sun.nio.cs.ext.DoubleByteEncoder.index1:[S
         3: .line 60
            aload 0 /* this */
            aload 3 /* index2 */
            putfield sun.nio.cs.ext.DoubleByteEncoder.index2:[Ljava/lang/String;
         4: .line 61
            return
        end local 5 // float max
        end local 4 // float avg
        end local 3 // java.lang.String[] index2
        end local 2 // short[] index1
        end local 1 // java.nio.charset.Charset cs
        end local 0 // sun.nio.cs.ext.DoubleByteEncoder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lsun/nio/cs/ext/DoubleByteEncoder;
            0    5     1      cs  Ljava/nio/charset/Charset;
            0    5     2  index1  [S
            0    5     3  index2  [Ljava/lang/String;
            0    5     4     avg  F
            0    5     5     max  F
    MethodParameters:
        Name  Flags
      cs      
      index1  
      index2  
      avg     
      max     

  protected void <init>(java.nio.charset.Charset, short[], java.lang.String[], byte[]);
    descriptor: (Ljava/nio/charset/Charset;[S[Ljava/lang/String;[B)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // sun.nio.cs.ext.DoubleByteEncoder this
        start local 1 // java.nio.charset.Charset cs
        start local 2 // short[] index1
        start local 3 // java.lang.String[] index2
        start local 4 // byte[] repl
         0: .line 66
            aload 0 /* this */
            aload 1 /* cs */
            fconst_2
            fconst_2
            aload 4 /* repl */
            invokespecial java.nio.charset.CharsetEncoder.<init>:(Ljava/nio/charset/Charset;FF[B)V
         1: .line 44
            aload 0 /* this */
            new sun.nio.cs.Surrogate$Parser
            dup
            invokespecial sun.nio.cs.Surrogate$Parser.<init>:()V
            putfield sun.nio.cs.ext.DoubleByteEncoder.sgp:Lsun/nio/cs/Surrogate$Parser;
         2: .line 67
            aload 0 /* this */
            aload 2 /* index1 */
            putfield sun.nio.cs.ext.DoubleByteEncoder.index1:[S
         3: .line 68
            aload 0 /* this */
            aload 3 /* index2 */
            putfield sun.nio.cs.ext.DoubleByteEncoder.index2:[Ljava/lang/String;
         4: .line 69
            return
        end local 4 // byte[] repl
        end local 3 // java.lang.String[] index2
        end local 2 // short[] index1
        end local 1 // java.nio.charset.Charset cs
        end local 0 // sun.nio.cs.ext.DoubleByteEncoder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lsun/nio/cs/ext/DoubleByteEncoder;
            0    5     1      cs  Ljava/nio/charset/Charset;
            0    5     2  index1  [S
            0    5     3  index2  [Ljava/lang/String;
            0    5     4    repl  [B
    MethodParameters:
        Name  Flags
      cs      
      index1  
      index2  
      repl    

  protected void <init>(java.nio.charset.Charset, short[], java.lang.String[], byte[], float, float);
    descriptor: (Ljava/nio/charset/Charset;[S[Ljava/lang/String;[BFF)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=7, args_size=7
        start local 0 // sun.nio.cs.ext.DoubleByteEncoder this
        start local 1 // java.nio.charset.Charset cs
        start local 2 // short[] index1
        start local 3 // java.lang.String[] index2
        start local 4 // byte[] repl
        start local 5 // float avg
        start local 6 // float max
         0: .line 76
            aload 0 /* this */
            aload 1 /* cs */
            fload 5 /* avg */
            fload 6 /* max */
            aload 4 /* repl */
            invokespecial java.nio.charset.CharsetEncoder.<init>:(Ljava/nio/charset/Charset;FF[B)V
         1: .line 44
            aload 0 /* this */
            new sun.nio.cs.Surrogate$Parser
            dup
            invokespecial sun.nio.cs.Surrogate$Parser.<init>:()V
            putfield sun.nio.cs.ext.DoubleByteEncoder.sgp:Lsun/nio/cs/Surrogate$Parser;
         2: .line 77
            aload 0 /* this */
            aload 2 /* index1 */
            putfield sun.nio.cs.ext.DoubleByteEncoder.index1:[S
         3: .line 78
            aload 0 /* this */
            aload 3 /* index2 */
            putfield sun.nio.cs.ext.DoubleByteEncoder.index2:[Ljava/lang/String;
         4: .line 79
            return
        end local 6 // float max
        end local 5 // float avg
        end local 4 // byte[] repl
        end local 3 // java.lang.String[] index2
        end local 2 // short[] index1
        end local 1 // java.nio.charset.Charset cs
        end local 0 // sun.nio.cs.ext.DoubleByteEncoder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lsun/nio/cs/ext/DoubleByteEncoder;
            0    5     1      cs  Ljava/nio/charset/Charset;
            0    5     2  index1  [S
            0    5     3  index2  [Ljava/lang/String;
            0    5     4    repl  [B
            0    5     5     avg  F
            0    5     6     max  F
    MethodParameters:
        Name  Flags
      cs      
      index1  
      index2  
      repl    
      avg     
      max     

  public boolean canEncode(char);
    descriptor: (C)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.nio.cs.ext.DoubleByteEncoder this
        start local 1 // char c
         0: .line 82
            aload 0 /* this */
            iload 1 /* c */
            invokevirtual sun.nio.cs.ext.DoubleByteEncoder.encodeSingle:(C)I
            iconst_m1
            if_icmpne 3
         1: .line 83
            aload 0 /* this */
            iload 1 /* c */
            invokevirtual sun.nio.cs.ext.DoubleByteEncoder.encodeDouble:(C)I
            ifne 3
         2: .line 82
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_1
            ireturn
        end local 1 // char c
        end local 0 // sun.nio.cs.ext.DoubleByteEncoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/nio/cs/ext/DoubleByteEncoder;
            0    4     1     c  C
    MethodParameters:
      Name  Flags
      c     

  private java.nio.charset.CoderResult encodeArrayLoop(java.nio.CharBuffer, java.nio.ByteBuffer);
    descriptor: (Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=14, args_size=3
        start local 0 // sun.nio.cs.ext.DoubleByteEncoder this
        start local 1 // java.nio.CharBuffer src
        start local 2 // java.nio.ByteBuffer dst
         0: .line 87
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.array:()[C
            astore 3 /* sa */
        start local 3 // char[] sa
         1: .line 88
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.position:()I
            iadd
            istore 4 /* sp */
        start local 4 // int sp
         2: .line 89
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.limit:()I
            iadd
            istore 5 /* sl */
        start local 5 // int sl
         3: .line 90
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.array:()[B
            astore 6 /* da */
        start local 6 // byte[] da
         4: .line 91
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.position:()I
            iadd
            istore 7 /* dp */
        start local 7 // int dp
         5: .line 92
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.limit:()I
            iadd
            istore 8 /* dl */
        start local 8 // int dl
         6: .line 95
            goto 66
         7: .line 96
      StackMap locals: sun.nio.cs.ext.DoubleByteEncoder java.nio.CharBuffer java.nio.ByteBuffer char[] int int byte[] int int
      StackMap stack:
            aload 3 /* sa */
            iload 4 /* sp */
            caload
            istore 9 /* c */
        start local 9 // char c
         8: .line 97
            iload 9 /* c */
            invokestatic sun.nio.cs.Surrogate.is:(I)Z
            ifeq 36
         9: .line 98
            aload 0 /* this */
            getfield sun.nio.cs.ext.DoubleByteEncoder.sgp:Lsun/nio/cs/Surrogate$Parser;
            iload 9 /* c */
            aload 3 /* sa */
            iload 4 /* sp */
            iload 5 /* sl */
            invokevirtual sun.nio.cs.Surrogate$Parser.parse:(C[CII)I
            ifge 14
        10: .line 99
            aload 0 /* this */
            getfield sun.nio.cs.ext.DoubleByteEncoder.sgp:Lsun/nio/cs/Surrogate$Parser;
            invokevirtual sun.nio.cs.Surrogate$Parser.error:()Ljava/nio/charset/CoderResult;
            astore 13
        11: .line 144
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        12: .line 145
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        13: .line 99
            aload 13
            areturn
        14: .line 100
      StackMap locals: int
      StackMap stack:
            iload 5 /* sl */
            iload 4 /* sp */
            isub
            iconst_2
            if_icmpge 19
        15: .line 101
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 13
        16: .line 144
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        17: .line 145
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        18: .line 101
            aload 13
            areturn
        19: .line 102
      StackMap locals:
      StackMap stack:
            aload 3 /* sa */
            iload 4 /* sp */
            iconst_1
            iadd
            caload
            istore 10 /* c2 */
        start local 10 // char c2
        20: .line 104
            iconst_2
            newarray 8
            astore 11 /* outputBytes */
        start local 11 // byte[] outputBytes
        21: .line 105
            aload 0 /* this */
            iload 9 /* c */
            iload 10 /* c2 */
            invokevirtual sun.nio.cs.ext.DoubleByteEncoder.encodeSurrogate:(CC)[B
            astore 11 /* outputBytes */
        22: .line 107
            aload 11 /* outputBytes */
            ifnonnull 27
        23: .line 108
            aload 0 /* this */
            getfield sun.nio.cs.ext.DoubleByteEncoder.sgp:Lsun/nio/cs/Surrogate$Parser;
            invokevirtual sun.nio.cs.Surrogate$Parser.unmappableResult:()Ljava/nio/charset/CoderResult;
            astore 13
        24: .line 144
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        25: .line 145
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        26: .line 108
            aload 13
            areturn
        27: .line 111
      StackMap locals: int byte[]
      StackMap stack:
            iload 8 /* dl */
            iload 7 /* dp */
            isub
            iconst_2
            if_icmpge 32
        28: .line 112
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 13
        29: .line 144
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        30: .line 145
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        31: .line 112
            aload 13
            areturn
        32: .line 113
      StackMap locals:
      StackMap stack:
            aload 6 /* da */
            iload 7 /* dp */
            iinc 7 /* dp */ 1
            aload 11 /* outputBytes */
            iconst_0
            baload
            bastore
        33: .line 114
            aload 6 /* da */
            iload 7 /* dp */
            iinc 7 /* dp */ 1
            aload 11 /* outputBytes */
            iconst_1
            baload
            bastore
        34: .line 115
            iinc 4 /* sp */ 2
        35: .line 116
            goto 66
        end local 11 // byte[] outputBytes
        end local 10 // char c2
        36: .line 119
      StackMap locals:
      StackMap stack:
            iload 9 /* c */
            ldc 65534
            if_icmplt 41
        37: .line 120
            iconst_1
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 13
        38: .line 144
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        39: .line 145
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        40: .line 120
            aload 13
            areturn
        41: .line 122
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 9 /* c */
            invokevirtual sun.nio.cs.ext.DoubleByteEncoder.encodeSingle:(C)I
            istore 10 /* b */
        start local 10 // int b
        42: .line 123
            iload 10 /* b */
            iconst_m1
            if_icmpeq 51
        43: .line 124
            iload 8 /* dl */
            iload 7 /* dp */
            isub
            iconst_1
            if_icmpge 48
        44: .line 125
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 13
        45: .line 144
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        46: .line 145
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        47: .line 125
            aload 13
            areturn
        48: .line 126
      StackMap locals: int
      StackMap stack:
            aload 6 /* da */
            iload 7 /* dp */
            iinc 7 /* dp */ 1
            iload 10 /* b */
            i2b
            bastore
        49: .line 127
            iinc 4 /* sp */ 1
        50: .line 128
            goto 66
        51: .line 131
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 9 /* c */
            invokevirtual sun.nio.cs.ext.DoubleByteEncoder.encodeDouble:(C)I
            istore 11 /* ncode */
        start local 11 // int ncode
        52: .line 132
            iload 11 /* ncode */
            ifeq 62
            iload 9 /* c */
            ifeq 62
        53: .line 133
            iload 8 /* dl */
            iload 7 /* dp */
            isub
            iconst_2
            if_icmpge 58
        54: .line 134
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 13
        55: .line 144
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        56: .line 145
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        57: .line 134
            aload 13
            areturn
        58: .line 135
      StackMap locals: int
      StackMap stack:
            aload 6 /* da */
            iload 7 /* dp */
            iinc 7 /* dp */ 1
            iload 11 /* ncode */
            ldc 65280
            iand
            bipush 8
            ishr
            i2b
            bastore
        59: .line 136
            aload 6 /* da */
            iload 7 /* dp */
            iinc 7 /* dp */ 1
            iload 11 /* ncode */
            sipush 255
            iand
            i2b
            bastore
        60: .line 137
            iinc 4 /* sp */ 1
        61: .line 138
            goto 66
        62: .line 140
      StackMap locals:
      StackMap stack:
            iconst_1
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 13
        63: .line 144
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        64: .line 145
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        65: .line 140
            aload 13
            areturn
        end local 11 // int ncode
        end local 10 // int b
        end local 9 // char c
        66: .line 95
      StackMap locals:
      StackMap stack:
            iload 4 /* sp */
            iload 5 /* sl */
            if_icmplt 7
        67: .line 142
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 13
        68: .line 144
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        69: .line 145
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        70: .line 142
            aload 13
            areturn
        71: .line 143
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 12
        72: .line 144
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        73: .line 145
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        74: .line 146
            aload 12
            athrow
        end local 8 // int dl
        end local 7 // int dp
        end local 6 // byte[] da
        end local 5 // int sl
        end local 4 // int sp
        end local 3 // char[] sa
        end local 2 // java.nio.ByteBuffer dst
        end local 1 // java.nio.CharBuffer src
        end local 0 // sun.nio.cs.ext.DoubleByteEncoder this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   75     0         this  Lsun/nio/cs/ext/DoubleByteEncoder;
            0   75     1          src  Ljava/nio/CharBuffer;
            0   75     2          dst  Ljava/nio/ByteBuffer;
            1   75     3           sa  [C
            2   75     4           sp  I
            3   75     5           sl  I
            4   75     6           da  [B
            5   75     7           dp  I
            6   75     8           dl  I
            8   66     9            c  C
           20   36    10           c2  C
           21   36    11  outputBytes  [B
           42   66    10            b  I
           52   66    11        ncode  I
      Exception table:
        from    to  target  type
           6    11      71  any
          14    16      71  any
          19    24      71  any
          27    29      71  any
          32    38      71  any
          41    45      71  any
          48    55      71  any
          58    63      71  any
          66    68      71  any
    MethodParameters:
      Name  Flags
      src   
      dst   

  private java.nio.charset.CoderResult encodeBufferLoop(java.nio.CharBuffer, java.nio.ByteBuffer);
    descriptor: (Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=10, args_size=3
        start local 0 // sun.nio.cs.ext.DoubleByteEncoder this
        start local 1 // java.nio.CharBuffer src
        start local 2 // java.nio.ByteBuffer dst
         0: .line 150
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.position:()I
            istore 3 /* mark */
        start local 3 // int mark
         1: .line 153
            goto 50
         2: .line 154
      StackMap locals: int
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.get:()C
            istore 4 /* c */
        start local 4 // char c
         3: .line 155
            iload 4 /* c */
            invokestatic sun.nio.cs.Surrogate.is:(I)Z
            ifeq 24
         4: .line 157
            aload 0 /* this */
            getfield sun.nio.cs.ext.DoubleByteEncoder.sgp:Lsun/nio/cs/Surrogate$Parser;
            iload 4 /* c */
            aload 1 /* src */
            invokevirtual sun.nio.cs.Surrogate$Parser.parse:(CLjava/nio/CharBuffer;)I
            dup
            istore 5 /* surr */
        start local 5 // int surr
         5: ifge 9
         6: .line 158
            aload 0 /* this */
            getfield sun.nio.cs.ext.DoubleByteEncoder.sgp:Lsun/nio/cs/Surrogate$Parser;
            invokevirtual sun.nio.cs.Surrogate$Parser.error:()Ljava/nio/charset/CoderResult;
            astore 9
         7: .line 201
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
         8: .line 158
            aload 9
            areturn
         9: .line 159
      StackMap locals: int int
      StackMap stack:
            iload 5 /* surr */
            invokestatic sun.nio.cs.Surrogate.low:(I)C
            istore 6 /* c2 */
        start local 6 // char c2
        10: .line 160
            iconst_2
            newarray 8
            astore 7 /* outputBytes */
        start local 7 // byte[] outputBytes
        11: .line 161
            aload 0 /* this */
            iload 4 /* c */
            iload 6 /* c2 */
            invokevirtual sun.nio.cs.ext.DoubleByteEncoder.encodeSurrogate:(CC)[B
            astore 7 /* outputBytes */
        12: .line 163
            aload 7 /* outputBytes */
            ifnonnull 16
        13: .line 164
            aload 0 /* this */
            getfield sun.nio.cs.ext.DoubleByteEncoder.sgp:Lsun/nio/cs/Surrogate$Parser;
            invokevirtual sun.nio.cs.Surrogate$Parser.unmappableResult:()Ljava/nio/charset/CoderResult;
            astore 9
        14: .line 201
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        15: .line 164
            aload 9
            areturn
        16: .line 166
      StackMap locals: int byte[]
      StackMap stack:
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_2
            if_icmpge 20
        17: .line 167
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 9
        18: .line 201
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        19: .line 167
            aload 9
            areturn
        20: .line 168
      StackMap locals:
      StackMap stack:
            iinc 3 /* mark */ 2
        21: .line 169
            aload 2 /* dst */
            aload 7 /* outputBytes */
            iconst_0
            baload
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        22: .line 170
            aload 2 /* dst */
            aload 7 /* outputBytes */
            iconst_1
            baload
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        23: .line 171
            goto 50
        end local 7 // byte[] outputBytes
        end local 6 // char c2
        end local 5 // int surr
        24: .line 174
      StackMap locals:
      StackMap stack:
            iload 4 /* c */
            ldc 65534
            if_icmplt 28
        25: .line 175
            iconst_1
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 9
        26: .line 201
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        27: .line 175
            aload 9
            areturn
        28: .line 176
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* c */
            invokevirtual sun.nio.cs.ext.DoubleByteEncoder.encodeSingle:(C)I
            istore 5 /* b */
        start local 5 // int b
        29: .line 178
            iload 5 /* b */
            iconst_m1
            if_icmpeq 37
        30: .line 179
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_1
            if_icmpge 34
        31: .line 180
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 9
        32: .line 201
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        33: .line 180
            aload 9
            areturn
        34: .line 181
      StackMap locals: int
      StackMap stack:
            iinc 3 /* mark */ 1
        35: .line 182
            aload 2 /* dst */
            iload 5 /* b */
            i2b
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        36: .line 183
            goto 50
        37: .line 187
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* c */
            invokevirtual sun.nio.cs.ext.DoubleByteEncoder.encodeDouble:(C)I
            istore 6 /* ncode */
        start local 6 // int ncode
        38: .line 188
            iload 6 /* ncode */
            ifeq 47
            iload 4 /* c */
            ifeq 47
        39: .line 189
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_2
            if_icmpge 43
        40: .line 190
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 9
        41: .line 201
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        42: .line 190
            aload 9
            areturn
        43: .line 191
      StackMap locals: int
      StackMap stack:
            iinc 3 /* mark */ 1
        44: .line 192
            aload 2 /* dst */
            iload 6 /* ncode */
            ldc 65280
            iand
            bipush 8
            ishr
            i2b
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        45: .line 193
            aload 2 /* dst */
            iload 6 /* ncode */
            i2b
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        46: .line 194
            goto 50
        47: .line 196
      StackMap locals:
      StackMap stack:
            iconst_1
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 9
        48: .line 201
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        49: .line 196
            aload 9
            areturn
        end local 6 // int ncode
        end local 5 // int b
        end local 4 // char c
        50: .line 153
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.hasRemaining:()Z
            ifne 2
        51: .line 199
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 9
        52: .line 201
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        53: .line 199
            aload 9
            areturn
        54: .line 200
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 8
        55: .line 201
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        56: .line 202
            aload 8
            athrow
        end local 3 // int mark
        end local 2 // java.nio.ByteBuffer dst
        end local 1 // java.nio.CharBuffer src
        end local 0 // sun.nio.cs.ext.DoubleByteEncoder this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   57     0         this  Lsun/nio/cs/ext/DoubleByteEncoder;
            0   57     1          src  Ljava/nio/CharBuffer;
            0   57     2          dst  Ljava/nio/ByteBuffer;
            1   57     3         mark  I
            3   50     4            c  C
            5   24     5         surr  I
           10   24     6           c2  C
           11   24     7  outputBytes  [B
           29   50     5            b  I
           38   50     6        ncode  I
      Exception table:
        from    to  target  type
           1     7      54  any
           9    14      54  any
          16    18      54  any
          20    26      54  any
          28    32      54  any
          34    41      54  any
          43    48      54  any
          50    52      54  any
    MethodParameters:
      Name  Flags
      src   
      dst   

  protected java.nio.charset.CoderResult encodeLoop(java.nio.CharBuffer, java.nio.ByteBuffer);
    descriptor: (Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.nio.cs.ext.DoubleByteEncoder this
        start local 1 // java.nio.CharBuffer src
        start local 2 // java.nio.ByteBuffer dst
         0: .line 206
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.hasArray:()Z
            ifeq 2
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.hasArray:()Z
            ifeq 2
         1: .line 207
            aload 0 /* this */
            aload 1 /* src */
            aload 2 /* dst */
            invokevirtual sun.nio.cs.ext.DoubleByteEncoder.encodeArrayLoop:(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
            areturn
         2: .line 209
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* src */
            aload 2 /* dst */
            invokevirtual sun.nio.cs.ext.DoubleByteEncoder.encodeBufferLoop:(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
            areturn
        end local 2 // java.nio.ByteBuffer dst
        end local 1 // java.nio.CharBuffer src
        end local 0 // sun.nio.cs.ext.DoubleByteEncoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/nio/cs/ext/DoubleByteEncoder;
            0    3     1   src  Ljava/nio/CharBuffer;
            0    3     2   dst  Ljava/nio/ByteBuffer;
    MethodParameters:
      Name  Flags
      src   
      dst   

  protected int encodeDouble(char);
    descriptor: (C)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // sun.nio.cs.ext.DoubleByteEncoder this
        start local 1 // char ch
         0: .line 216
            aload 0 /* this */
            getfield sun.nio.cs.ext.DoubleByteEncoder.index1:[S
            iload 1 /* ch */
            ldc 65280
            iand
            bipush 8
            ishr
            saload
            bipush 8
            ishl
            istore 2 /* offset */
        start local 2 // int offset
         1: .line 217
            aload 0 /* this */
            getfield sun.nio.cs.ext.DoubleByteEncoder.index2:[Ljava/lang/String;
            iload 2 /* offset */
            bipush 12
            ishr
            aaload
            iload 2 /* offset */
            sipush 4095
            iand
            iload 1 /* ch */
            sipush 255
            iand
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            ireturn
        end local 2 // int offset
        end local 1 // char ch
        end local 0 // sun.nio.cs.ext.DoubleByteEncoder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lsun/nio/cs/ext/DoubleByteEncoder;
            0    2     1      ch  C
            1    2     2  offset  I
    MethodParameters:
      Name  Flags
      ch    

  protected int encodeSingle(char);
    descriptor: (C)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.nio.cs.ext.DoubleByteEncoder this
        start local 1 // char inputChar
         0: .line 224
            iload 1 /* inputChar */
            sipush 128
            if_icmpge 2
         1: .line 225
            iload 1 /* inputChar */
            i2b
            ireturn
         2: .line 227
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        end local 1 // char inputChar
        end local 0 // sun.nio.cs.ext.DoubleByteEncoder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lsun/nio/cs/ext/DoubleByteEncoder;
            0    3     1  inputChar  C
    MethodParameters:
           Name  Flags
      inputChar  

  protected byte[] encodeSurrogate(char, char);
    descriptor: (CC)[B
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // sun.nio.cs.ext.DoubleByteEncoder this
        start local 1 // char highSurrogate
        start local 2 // char lowSurrogate
         0: .line 238
            aconst_null
            areturn
        end local 2 // char lowSurrogate
        end local 1 // char highSurrogate
        end local 0 // sun.nio.cs.ext.DoubleByteEncoder this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lsun/nio/cs/ext/DoubleByteEncoder;
            0    1     1  highSurrogate  C
            0    1     2   lowSurrogate  C
    MethodParameters:
               Name  Flags
      highSurrogate  
      lowSurrogate   
}
SourceFile: "DoubleByteEncoder.java"
InnerClasses:
  public Parser = sun.nio.cs.Surrogate$Parser of sun.nio.cs.Surrogate