public class sun.nio.cs.DoubleByte$Decoder_EBCDIC extends sun.nio.cs.DoubleByte$Decoder
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.nio.cs.DoubleByte$Decoder_EBCDIC
  super_class: sun.nio.cs.DoubleByte$Decoder
{
  private static final int SBCS;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

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

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

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

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

  public void <init>(java.nio.charset.Charset, char[][], char[], int, int, boolean);
    descriptor: (Ljava/nio/charset/Charset;[[C[CIIZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=7
        start local 0 // sun.nio.cs.DoubleByte$Decoder_EBCDIC this
        start local 1 // java.nio.charset.Charset cs
        start local 2 // char[][] b2c
        start local 3 // char[] b2cSB
        start local 4 // int b2Min
        start local 5 // int b2Max
        start local 6 // boolean isASCIICompatible
         0: .line 291
            aload 0 /* this */
            aload 1 /* cs */
            aload 2 /* b2c */
            aload 3 /* b2cSB */
            iload 4 /* b2Min */
            iload 5 /* b2Max */
            iload 6 /* isASCIICompatible */
            invokespecial sun.nio.cs.DoubleByte$Decoder.<init>:(Ljava/nio/charset/Charset;[[C[CIIZ)V
         1: .line 292
            return
        end local 6 // boolean isASCIICompatible
        end local 5 // int b2Max
        end local 4 // int b2Min
        end local 3 // char[] b2cSB
        end local 2 // char[][] b2c
        end local 1 // java.nio.charset.Charset cs
        end local 0 // sun.nio.cs.DoubleByte$Decoder_EBCDIC this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Lsun/nio/cs/DoubleByte$Decoder_EBCDIC;
            0    2     1                 cs  Ljava/nio/charset/Charset;
            0    2     2                b2c  [[C
            0    2     3              b2cSB  [C
            0    2     4              b2Min  I
            0    2     5              b2Max  I
            0    2     6  isASCIICompatible  Z
    MethodParameters:
                   Name  Flags
      cs                 
      b2c                
      b2cSB              
      b2Min              
      b2Max              
      isASCIICompatible  

  public void <init>(java.nio.charset.Charset, char[][], char[], int, int);
    descriptor: (Ljava/nio/charset/Charset;[[C[CII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=6
        start local 0 // sun.nio.cs.DoubleByte$Decoder_EBCDIC this
        start local 1 // java.nio.charset.Charset cs
        start local 2 // char[][] b2c
        start local 3 // char[] b2cSB
        start local 4 // int b2Min
        start local 5 // int b2Max
         0: .line 296
            aload 0 /* this */
            aload 1 /* cs */
            aload 2 /* b2c */
            aload 3 /* b2cSB */
            iload 4 /* b2Min */
            iload 5 /* b2Max */
            iconst_0
            invokespecial sun.nio.cs.DoubleByte$Decoder.<init>:(Ljava/nio/charset/Charset;[[C[CIIZ)V
         1: .line 297
            return
        end local 5 // int b2Max
        end local 4 // int b2Min
        end local 3 // char[] b2cSB
        end local 2 // char[][] b2c
        end local 1 // java.nio.charset.Charset cs
        end local 0 // sun.nio.cs.DoubleByte$Decoder_EBCDIC this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lsun/nio/cs/DoubleByte$Decoder_EBCDIC;
            0    2     1     cs  Ljava/nio/charset/Charset;
            0    2     2    b2c  [[C
            0    2     3  b2cSB  [C
            0    2     4  b2Min  I
            0    2     5  b2Max  I
    MethodParameters:
       Name  Flags
      cs     
      b2c    
      b2cSB  
      b2Min  
      b2Max  

  public void implReset();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.nio.cs.DoubleByte$Decoder_EBCDIC this
         0: .line 300
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.DoubleByte$Decoder_EBCDIC.currentState:I
         1: .line 301
            return
        end local 0 // sun.nio.cs.DoubleByte$Decoder_EBCDIC this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/nio/cs/DoubleByte$Decoder_EBCDIC;

  private static boolean isDoubleByte(int, int);
    descriptor: (II)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // int b1
        start local 1 // int b2
         0: .line 316
            bipush 65
            iload 0 /* b1 */
            if_icmpgt 1
            iload 0 /* b1 */
            sipush 254
            if_icmpgt 1
            bipush 65
            iload 1 /* b2 */
            if_icmpgt 1
            iload 1 /* b2 */
            sipush 254
            if_icmple 3
         1: .line 317
      StackMap locals:
      StackMap stack:
            iload 0 /* b1 */
            bipush 64
            if_icmpne 2
            iload 1 /* b2 */
            bipush 64
            if_icmpeq 3
         2: .line 316
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_1
            ireturn
        end local 1 // int b2
        end local 0 // int b1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0    b1  I
            0    4     1    b2  I
    MethodParameters:
      Name  Flags
      b1    
      b2    

  protected java.nio.charset.CoderResult decodeArrayLoop(java.nio.ByteBuffer, java.nio.CharBuffer);
    descriptor: (Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=15, args_size=3
        start local 0 // sun.nio.cs.DoubleByte$Decoder_EBCDIC this
        start local 1 // java.nio.ByteBuffer src
        start local 2 // java.nio.CharBuffer dst
         0: .line 321
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.array:()[B
            astore 3 /* sa */
        start local 3 // byte[] sa
         1: .line 322
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.position:()I
            iadd
            istore 4 /* sp */
        start local 4 // int sp
         2: .line 323
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.limit:()I
            iadd
            istore 5 /* sl */
        start local 5 // int sl
         3: .line 324
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.array:()[C
            astore 6 /* da */
        start local 6 // char[] da
         4: .line 325
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.position:()I
            iadd
            istore 7 /* dp */
        start local 7 // int dp
         5: .line 326
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.limit:()I
            iadd
            istore 8 /* dl */
        start local 8 // int dl
         6: .line 331
            goto 58
         7: .line 332
      StackMap locals: sun.nio.cs.DoubleByte$Decoder_EBCDIC java.nio.ByteBuffer java.nio.CharBuffer byte[] int int char[] int int
      StackMap stack:
            aload 3 /* sa */
            iload 4 /* sp */
            baload
            sipush 255
            iand
            istore 9 /* b1 */
        start local 9 // int b1
         8: .line 333
            iconst_1
            istore 10 /* inSize */
        start local 10 // int inSize
         9: .line 334
            iload 9 /* b1 */
            bipush 14
            if_icmpne 17
        10: .line 335
            aload 0 /* this */
            getfield sun.nio.cs.DoubleByte$Decoder_EBCDIC.currentState:I
            ifeq 15
        11: .line 336
            iconst_1
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 14
        12: .line 371
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        13: .line 372
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        14: .line 336
            aload 14
            areturn
        15: .line 338
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.nio.cs.DoubleByte$Decoder_EBCDIC.currentState:I
        16: .line 339
            goto 57
      StackMap locals:
      StackMap stack:
        17: iload 9 /* b1 */
            bipush 15
            if_icmpne 25
        18: .line 340
            aload 0 /* this */
            getfield sun.nio.cs.DoubleByte$Decoder_EBCDIC.currentState:I
            iconst_1
            if_icmpeq 23
        19: .line 341
            iconst_1
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 14
        20: .line 371
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        21: .line 372
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        22: .line 341
            aload 14
            areturn
        23: .line 343
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.DoubleByte$Decoder_EBCDIC.currentState:I
        24: .line 344
            goto 57
        25: .line 345
      StackMap locals:
      StackMap stack:
            ldc 65533
            istore 11 /* c */
        start local 11 // char c
        26: .line 346
            aload 0 /* this */
            getfield sun.nio.cs.DoubleByte$Decoder_EBCDIC.currentState:I
            ifne 33
        27: .line 347
            aload 0 /* this */
            getfield sun.nio.cs.DoubleByte$Decoder_EBCDIC.b2cSB:[C
            iload 9 /* b1 */
            caload
            istore 11 /* c */
        28: .line 348
            iload 11 /* c */
            ldc 65533
            if_icmpne 51
        29: .line 349
            iconst_1
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 14
        30: .line 371
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        31: .line 372
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        32: .line 349
            aload 14
            areturn
        33: .line 351
      StackMap locals: int
      StackMap stack:
            iload 5 /* sl */
            iload 4 /* sp */
            isub
            iconst_2
            if_icmpge 38
        34: .line 352
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 14
        35: .line 371
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        36: .line 372
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        37: .line 352
            aload 14
            areturn
        38: .line 353
      StackMap locals:
      StackMap stack:
            aload 3 /* sa */
            iload 4 /* sp */
            iconst_1
            iadd
            baload
            sipush 255
            iand
            istore 12 /* b2 */
        start local 12 // int b2
        39: .line 354
            iload 12 /* b2 */
            aload 0 /* this */
            getfield sun.nio.cs.DoubleByte$Decoder_EBCDIC.b2Min:I
            if_icmplt 41
            iload 12 /* b2 */
            aload 0 /* this */
            getfield sun.nio.cs.DoubleByte$Decoder_EBCDIC.b2Max:I
            if_icmpgt 41
        40: .line 355
            aload 0 /* this */
            getfield sun.nio.cs.DoubleByte$Decoder_EBCDIC.b2c:[[C
            iload 9 /* b1 */
            aaload
            iload 12 /* b2 */
            aload 0 /* this */
            getfield sun.nio.cs.DoubleByte$Decoder_EBCDIC.b2Min:I
            isub
            caload
            dup
            istore 11 /* c */
            ldc 65533
            if_icmpne 50
        41: .line 356
      StackMap locals: int
      StackMap stack:
            iload 9 /* b1 */
            iload 12 /* b2 */
            invokestatic sun.nio.cs.DoubleByte$Decoder_EBCDIC.isDoubleByte:(II)Z
            ifne 46
        42: .line 357
            iconst_2
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 14
        43: .line 371
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        44: .line 372
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        45: .line 357
            aload 14
            areturn
        46: .line 358
      StackMap locals:
      StackMap stack:
            iconst_2
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 14
        47: .line 371
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        48: .line 372
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        49: .line 358
            aload 14
            areturn
        50: .line 360
      StackMap locals:
      StackMap stack:
            iinc 10 /* inSize */ 1
        end local 12 // int b2
        51: .line 362
      StackMap locals:
      StackMap stack:
            iload 8 /* dl */
            iload 7 /* dp */
            isub
            iconst_1
            if_icmpge 56
        52: .line 363
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 14
        53: .line 371
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        54: .line 372
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        55: .line 363
            aload 14
            areturn
        56: .line 365
      StackMap locals:
      StackMap stack:
            aload 6 /* da */
            iload 7 /* dp */
            iinc 7 /* dp */ 1
            iload 11 /* c */
            castore
        end local 11 // char c
        57: .line 367
      StackMap locals:
      StackMap stack:
            iload 4 /* sp */
            iload 10 /* inSize */
            iadd
            istore 4 /* sp */
        end local 10 // int inSize
        end local 9 // int b1
        58: .line 331
      StackMap locals:
      StackMap stack:
            iload 4 /* sp */
            iload 5 /* sl */
            if_icmplt 7
        59: .line 369
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 14
        60: .line 371
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        61: .line 372
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        62: .line 369
            aload 14
            areturn
        63: .line 370
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 13
        64: .line 371
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        65: .line 372
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        66: .line 373
            aload 13
            athrow
        end local 8 // int dl
        end local 7 // int dp
        end local 6 // char[] da
        end local 5 // int sl
        end local 4 // int sp
        end local 3 // byte[] sa
        end local 2 // java.nio.CharBuffer dst
        end local 1 // java.nio.ByteBuffer src
        end local 0 // sun.nio.cs.DoubleByte$Decoder_EBCDIC this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   67     0    this  Lsun/nio/cs/DoubleByte$Decoder_EBCDIC;
            0   67     1     src  Ljava/nio/ByteBuffer;
            0   67     2     dst  Ljava/nio/CharBuffer;
            1   67     3      sa  [B
            2   67     4      sp  I
            3   67     5      sl  I
            4   67     6      da  [C
            5   67     7      dp  I
            6   67     8      dl  I
            8   58     9      b1  I
            9   58    10  inSize  I
           26   57    11       c  C
           39   51    12      b2  I
      Exception table:
        from    to  target  type
           6    12      63  any
          15    20      63  any
          23    30      63  any
          33    35      63  any
          38    43      63  any
          46    47      63  any
          50    53      63  any
          56    60      63  any
    MethodParameters:
      Name  Flags
      src   
      dst   

  protected java.nio.charset.CoderResult decodeBufferLoop(java.nio.ByteBuffer, java.nio.CharBuffer);
    descriptor: (Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=10, args_size=3
        start local 0 // sun.nio.cs.DoubleByte$Decoder_EBCDIC this
        start local 1 // java.nio.ByteBuffer src
        start local 2 // java.nio.CharBuffer dst
         0: .line 377
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.position:()I
            istore 3 /* mark */
        start local 3 // int mark
         1: .line 379
            goto 46
         2: .line 380
      StackMap locals: int
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            sipush 255
            iand
            istore 4 /* b1 */
        start local 4 // int b1
         3: .line 381
            iconst_1
            istore 5 /* inSize */
        start local 5 // int inSize
         4: .line 382
            iload 4 /* b1 */
            bipush 14
            if_icmpne 11
         5: .line 383
            aload 0 /* this */
            getfield sun.nio.cs.DoubleByte$Decoder_EBCDIC.currentState:I
            ifeq 9
         6: .line 384
            iconst_1
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 9
         7: .line 420
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
         8: .line 384
            aload 9
            areturn
         9: .line 386
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.nio.cs.DoubleByte$Decoder_EBCDIC.currentState:I
        10: .line 387
            goto 45
      StackMap locals:
      StackMap stack:
        11: iload 4 /* b1 */
            bipush 15
            if_icmpne 18
        12: .line 388
            aload 0 /* this */
            getfield sun.nio.cs.DoubleByte$Decoder_EBCDIC.currentState:I
            iconst_1
            if_icmpeq 16
        13: .line 389
            iconst_1
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 9
        14: .line 420
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        15: .line 389
            aload 9
            areturn
        16: .line 391
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.DoubleByte$Decoder_EBCDIC.currentState:I
        17: .line 392
            goto 45
        18: .line 393
      StackMap locals:
      StackMap stack:
            ldc 65533
            istore 6 /* c */
        start local 6 // char c
        19: .line 394
            aload 0 /* this */
            getfield sun.nio.cs.DoubleByte$Decoder_EBCDIC.currentState:I
            ifne 25
        20: .line 395
            aload 0 /* this */
            getfield sun.nio.cs.DoubleByte$Decoder_EBCDIC.b2cSB:[C
            iload 4 /* b1 */
            caload
            istore 6 /* c */
        21: .line 396
            iload 6 /* c */
            ldc 65533
            if_icmpne 40
        22: .line 397
            iconst_1
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 9
        23: .line 420
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        24: .line 397
            aload 9
            areturn
        25: .line 399
      StackMap locals: int
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_1
            if_icmpge 29
        26: .line 400
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 9
        27: .line 420
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        28: .line 400
            aload 9
            areturn
        29: .line 401
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            sipush 255
            iand
            istore 7 /* b2 */
        start local 7 // int b2
        30: .line 402
            iload 7 /* b2 */
            aload 0 /* this */
            getfield sun.nio.cs.DoubleByte$Decoder_EBCDIC.b2Min:I
            if_icmplt 32
            iload 7 /* b2 */
            aload 0 /* this */
            getfield sun.nio.cs.DoubleByte$Decoder_EBCDIC.b2Max:I
            if_icmpgt 32
        31: .line 403
            aload 0 /* this */
            getfield sun.nio.cs.DoubleByte$Decoder_EBCDIC.b2c:[[C
            iload 4 /* b1 */
            aaload
            iload 7 /* b2 */
            aload 0 /* this */
            getfield sun.nio.cs.DoubleByte$Decoder_EBCDIC.b2Min:I
            isub
            caload
            dup
            istore 6 /* c */
            ldc 65533
            if_icmpne 39
        32: .line 404
      StackMap locals: int
      StackMap stack:
            iload 4 /* b1 */
            iload 7 /* b2 */
            invokestatic sun.nio.cs.DoubleByte$Decoder_EBCDIC.isDoubleByte:(II)Z
            ifne 36
        33: .line 405
            iconst_2
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 9
        34: .line 420
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        35: .line 405
            aload 9
            areturn
        36: .line 406
      StackMap locals:
      StackMap stack:
            iconst_2
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 9
        37: .line 420
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        38: .line 406
            aload 9
            areturn
        39: .line 408
      StackMap locals:
      StackMap stack:
            iinc 5 /* inSize */ 1
        end local 7 // int b2
        40: .line 411
      StackMap locals:
      StackMap stack:
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.remaining:()I
            iconst_1
            if_icmpge 44
        41: .line 412
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 9
        42: .line 420
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        43: .line 412
            aload 9
            areturn
        44: .line 414
      StackMap locals:
      StackMap stack:
            aload 2 /* dst */
            iload 6 /* c */
            invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
            pop
        end local 6 // char c
        45: .line 416
      StackMap locals:
      StackMap stack:
            iload 3 /* mark */
            iload 5 /* inSize */
            iadd
            istore 3 /* mark */
        end local 5 // int inSize
        end local 4 // int b1
        46: .line 379
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 2
        47: .line 418
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 9
        48: .line 420
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        49: .line 418
            aload 9
            areturn
        50: .line 419
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 8
        51: .line 420
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        52: .line 421
            aload 8
            athrow
        end local 3 // int mark
        end local 2 // java.nio.CharBuffer dst
        end local 1 // java.nio.ByteBuffer src
        end local 0 // sun.nio.cs.DoubleByte$Decoder_EBCDIC this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   53     0    this  Lsun/nio/cs/DoubleByte$Decoder_EBCDIC;
            0   53     1     src  Ljava/nio/ByteBuffer;
            0   53     2     dst  Ljava/nio/CharBuffer;
            1   53     3    mark  I
            3   46     4      b1  I
            4   46     5  inSize  I
           19   45     6       c  C
           30   40     7      b2  I
      Exception table:
        from    to  target  type
           1     7      50  any
           9    14      50  any
          16    23      50  any
          25    27      50  any
          29    34      50  any
          36    37      50  any
          39    42      50  any
          44    48      50  any
    MethodParameters:
      Name  Flags
      src   
      dst   

  public int decode(byte[], int, int, char[]);
    descriptor: ([BII[C)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=11, args_size=5
        start local 0 // sun.nio.cs.DoubleByte$Decoder_EBCDIC this
        start local 1 // byte[] src
        start local 2 // int sp
        start local 3 // int len
        start local 4 // char[] dst
         0: .line 426
            iconst_0
            istore 5 /* dp */
        start local 5 // int dp
         1: .line 427
            iload 2 /* sp */
            iload 3 /* len */
            iadd
            istore 6 /* sl */
        start local 6 // int sl
         2: .line 428
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.DoubleByte$Decoder_EBCDIC.currentState:I
         3: .line 429
            aload 0 /* this */
            invokevirtual sun.nio.cs.DoubleByte$Decoder_EBCDIC.replacement:()Ljava/lang/String;
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            istore 7 /* repl */
        start local 7 // char repl
         4: .line 430
            goto 30
         5: .line 431
      StackMap locals: int int int
      StackMap stack:
            aload 1 /* src */
            iload 2 /* sp */
            iinc 2 /* sp */ 1
            baload
            sipush 255
            iand
            istore 8 /* b1 */
        start local 8 // int b1
         6: .line 432
            iload 8 /* b1 */
            bipush 14
            if_icmpne 11
         7: .line 433
            aload 0 /* this */
            getfield sun.nio.cs.DoubleByte$Decoder_EBCDIC.currentState:I
            ifeq 9
         8: .line 434
            aload 4 /* dst */
            iload 5 /* dp */
            iinc 5 /* dp */ 1
            iload 7 /* repl */
            castore
            goto 30
         9: .line 436
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.nio.cs.DoubleByte$Decoder_EBCDIC.currentState:I
        10: .line 437
            goto 30
      StackMap locals:
      StackMap stack:
        11: iload 8 /* b1 */
            bipush 15
            if_icmpne 16
        12: .line 438
            aload 0 /* this */
            getfield sun.nio.cs.DoubleByte$Decoder_EBCDIC.currentState:I
            iconst_1
            if_icmpeq 14
        13: .line 439
            aload 4 /* dst */
            iload 5 /* dp */
            iinc 5 /* dp */ 1
            iload 7 /* repl */
            castore
            goto 30
        14: .line 441
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.DoubleByte$Decoder_EBCDIC.currentState:I
        15: .line 442
            goto 30
        16: .line 443
      StackMap locals:
      StackMap stack:
            ldc 65533
            istore 9 /* c */
        start local 9 // char c
        17: .line 444
            aload 0 /* this */
            getfield sun.nio.cs.DoubleByte$Decoder_EBCDIC.currentState:I
            ifne 22
        18: .line 445
            aload 0 /* this */
            getfield sun.nio.cs.DoubleByte$Decoder_EBCDIC.b2cSB:[C
            iload 8 /* b1 */
            caload
            istore 9 /* c */
        19: .line 446
            iload 9 /* c */
            ldc 65533
            if_icmpne 29
        20: .line 447
            iload 7 /* repl */
            istore 9 /* c */
        21: .line 448
            goto 29
        22: .line 449
      StackMap locals: int
      StackMap stack:
            iload 6 /* sl */
            iload 2 /* sp */
            if_icmpne 25
        23: .line 450
            iload 7 /* repl */
            istore 9 /* c */
        24: .line 451
            goto 29
        25: .line 452
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            iload 2 /* sp */
            iinc 2 /* sp */ 1
            baload
            sipush 255
            iand
            istore 10 /* b2 */
        start local 10 // int b2
        26: .line 453
            iload 10 /* b2 */
            aload 0 /* this */
            getfield sun.nio.cs.DoubleByte$Decoder_EBCDIC.b2Min:I
            if_icmplt 28
            iload 10 /* b2 */
            aload 0 /* this */
            getfield sun.nio.cs.DoubleByte$Decoder_EBCDIC.b2Max:I
            if_icmpgt 28
        27: .line 454
            aload 0 /* this */
            getfield sun.nio.cs.DoubleByte$Decoder_EBCDIC.b2c:[[C
            iload 8 /* b1 */
            aaload
            iload 10 /* b2 */
            aload 0 /* this */
            getfield sun.nio.cs.DoubleByte$Decoder_EBCDIC.b2Min:I
            isub
            caload
            dup
            istore 9 /* c */
            ldc 65533
            if_icmpne 29
        28: .line 455
      StackMap locals: int
      StackMap stack:
            iload 7 /* repl */
            istore 9 /* c */
        end local 10 // int b2
        29: .line 459
      StackMap locals:
      StackMap stack:
            aload 4 /* dst */
            iload 5 /* dp */
            iinc 5 /* dp */ 1
            iload 9 /* c */
            castore
        end local 9 // char c
        end local 8 // int b1
        30: .line 430
      StackMap locals:
      StackMap stack:
            iload 2 /* sp */
            iload 6 /* sl */
            if_icmplt 5
        31: .line 462
            iload 5 /* dp */
            ireturn
        end local 7 // char repl
        end local 6 // int sl
        end local 5 // int dp
        end local 4 // char[] dst
        end local 3 // int len
        end local 2 // int sp
        end local 1 // byte[] src
        end local 0 // sun.nio.cs.DoubleByte$Decoder_EBCDIC this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   32     0  this  Lsun/nio/cs/DoubleByte$Decoder_EBCDIC;
            0   32     1   src  [B
            0   32     2    sp  I
            0   32     3   len  I
            0   32     4   dst  [C
            1   32     5    dp  I
            2   32     6    sl  I
            4   32     7  repl  C
            6   30     8    b1  I
           17   30     9     c  C
           26   29    10    b2  I
    MethodParameters:
      Name  Flags
      src   
      sp    
      len   
      dst   
}
SourceFile: "DoubleByte.java"
NestHost: sun.nio.cs.DoubleByte
InnerClasses:
  public Decoder = sun.nio.cs.DoubleByte$Decoder of sun.nio.cs.DoubleByte
  public Decoder_EBCDIC = sun.nio.cs.DoubleByte$Decoder_EBCDIC of sun.nio.cs.DoubleByte