public class sun.nio.cs.CharsetMapping
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.nio.cs.CharsetMapping
super_class: java.lang.Object
{
public static final char UNMAPPABLE_DECODING;
descriptor: C
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 65533
public static final int UNMAPPABLE_ENCODING;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 65533
char[] b2cSB;
descriptor: [C
flags: (0x0000)
char[] b2cDB1;
descriptor: [C
flags: (0x0000)
char[] b2cDB2;
descriptor: [C
flags: (0x0000)
int b2Min;
descriptor: I
flags: (0x0000)
int b2Max;
descriptor: I
flags: (0x0000)
int b1MinDB1;
descriptor: I
flags: (0x0000)
int b1MaxDB1;
descriptor: I
flags: (0x0000)
int b1MinDB2;
descriptor: I
flags: (0x0000)
int b1MaxDB2;
descriptor: I
flags: (0x0000)
int dbSegSize;
descriptor: I
flags: (0x0000)
char[] c2b;
descriptor: [C
flags: (0x0000)
char[] c2bIndex;
descriptor: [C
flags: (0x0000)
char[] b2cSupp;
descriptor: [C
flags: (0x0000)
char[] c2bSupp;
descriptor: [C
flags: (0x0000)
sun.nio.cs.CharsetMapping$Entry[] b2cComp;
descriptor: [Lsun/nio/cs/CharsetMapping$Entry;
flags: (0x0000)
sun.nio.cs.CharsetMapping$Entry[] c2bComp;
descriptor: [Lsun/nio/cs/CharsetMapping$Entry;
flags: (0x0000)
static java.util.Comparator<sun.nio.cs.CharsetMapping$Entry> comparatorBytes;
descriptor: Ljava/util/Comparator;
flags: (0x0008) ACC_STATIC
Signature: Ljava/util/Comparator<Lsun/nio/cs/CharsetMapping$Entry;>;
static java.util.Comparator<sun.nio.cs.CharsetMapping$Entry> comparatorCP;
descriptor: Ljava/util/Comparator;
flags: (0x0008) ACC_STATIC
Signature: Ljava/util/Comparator<Lsun/nio/cs/CharsetMapping$Entry;>;
static java.util.Comparator<sun.nio.cs.CharsetMapping$Entry> comparatorComp;
descriptor: Ljava/util/Comparator;
flags: (0x0008) ACC_STATIC
Signature: Ljava/util/Comparator<Lsun/nio/cs/CharsetMapping$Entry;>;
private static final int MAP_SINGLEBYTE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int MAP_DOUBLEBYTE1;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int MAP_DOUBLEBYTE2;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private static final int MAP_SUPPLEMENT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 5
private static final int MAP_SUPPLEMENT_C2B;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 6
private static final int MAP_COMPOSITE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 7
private static final int MAP_INDEXC2B;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8
int off;
descriptor: I
flags: (0x0000)
byte[] bb;
descriptor: [B
flags: (0x0000)
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new sun.nio.cs.CharsetMapping$1
dup
invokespecial sun.nio.cs.CharsetMapping$1.<init>:()V
1: putstatic sun.nio.cs.CharsetMapping.comparatorBytes:Ljava/util/Comparator;
2: new sun.nio.cs.CharsetMapping$2
dup
invokespecial sun.nio.cs.CharsetMapping$2.<init>:()V
3: putstatic sun.nio.cs.CharsetMapping.comparatorCP:Ljava/util/Comparator;
4: new sun.nio.cs.CharsetMapping$3
dup
invokespecial sun.nio.cs.CharsetMapping$3.<init>:()V
5: putstatic sun.nio.cs.CharsetMapping.comparatorComp:Ljava/util/Comparator;
6: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield sun.nio.cs.CharsetMapping.off:I
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/nio/cs/CharsetMapping;
public char decodeSingle(int);
descriptor: (I)C
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.nio.cs.CharsetMapping.b2cSB:[C
iload 1
caload
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/nio/cs/CharsetMapping;
0 1 1 b I
MethodParameters:
Name Flags
b
public char decodeDouble(int, int);
descriptor: (II)C
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 2
aload 0
getfield sun.nio.cs.CharsetMapping.b2Min:I
if_icmplt 8
iload 2
aload 0
getfield sun.nio.cs.CharsetMapping.b2Max:I
if_icmpge 8
1: iload 2
aload 0
getfield sun.nio.cs.CharsetMapping.b2Min:I
isub
istore 2
2: iload 1
aload 0
getfield sun.nio.cs.CharsetMapping.b1MinDB1:I
if_icmplt 5
iload 1
aload 0
getfield sun.nio.cs.CharsetMapping.b1MaxDB1:I
if_icmpgt 5
3: iload 1
aload 0
getfield sun.nio.cs.CharsetMapping.b1MinDB1:I
isub
istore 1
4: aload 0
getfield sun.nio.cs.CharsetMapping.b2cDB1:[C
iload 1
aload 0
getfield sun.nio.cs.CharsetMapping.dbSegSize:I
imul
iload 2
iadd
caload
ireturn
5: StackMap locals:
StackMap stack:
iload 1
aload 0
getfield sun.nio.cs.CharsetMapping.b1MinDB2:I
if_icmplt 8
iload 1
aload 0
getfield sun.nio.cs.CharsetMapping.b1MaxDB2:I
if_icmpgt 8
6: iload 1
aload 0
getfield sun.nio.cs.CharsetMapping.b1MinDB2:I
isub
istore 1
7: aload 0
getfield sun.nio.cs.CharsetMapping.b2cDB2:[C
iload 1
aload 0
getfield sun.nio.cs.CharsetMapping.dbSegSize:I
imul
iload 2
iadd
caload
ireturn
8: StackMap locals:
StackMap stack:
ldc 65533
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/nio/cs/CharsetMapping;
0 9 1 b1 I
0 9 2 b2 I
MethodParameters:
Name Flags
b1
b2
public char[] decodeSurrogate(int, char[]);
descriptor: (I[C)[C
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.nio.cs.CharsetMapping.b2cSupp:[C
arraylength
iconst_2
idiv
istore 3
start local 3 1: aload 0
getfield sun.nio.cs.CharsetMapping.b2cSupp:[C
iconst_0
iload 3
iload 1
i2c
invokestatic java.util.Arrays.binarySearch:([CIIC)I
istore 4
start local 4 2: iload 4
iflt 5
3: aload 0
getfield sun.nio.cs.CharsetMapping.b2cSupp:[C
iload 3
iload 4
iadd
caload
ldc 131072
iadd
aload 2
iconst_0
invokestatic java.lang.Character.toChars:(I[CI)I
pop
4: aload 2
areturn
5: StackMap locals: int int
StackMap stack:
aconst_null
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/nio/cs/CharsetMapping;
0 6 1 db I
0 6 2 cc [C
1 6 3 end I
2 6 4 i I
MethodParameters:
Name Flags
db
cc
public char[] decodeComposite(sun.nio.cs.CharsetMapping$Entry, char[]);
descriptor: (Lsun/nio/cs/CharsetMapping$Entry;[C)[C
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.nio.cs.CharsetMapping.b2cComp:[Lsun/nio/cs/CharsetMapping$Entry;
aload 1
invokestatic sun.nio.cs.CharsetMapping.findBytes:([Lsun/nio/cs/CharsetMapping$Entry;Lsun/nio/cs/CharsetMapping$Entry;)I
istore 3
start local 3 1: iload 3
iflt 5
2: aload 2
iconst_0
aload 0
getfield sun.nio.cs.CharsetMapping.b2cComp:[Lsun/nio/cs/CharsetMapping$Entry;
iload 3
aaload
getfield sun.nio.cs.CharsetMapping$Entry.cp:I
i2c
castore
3: aload 2
iconst_1
aload 0
getfield sun.nio.cs.CharsetMapping.b2cComp:[Lsun/nio/cs/CharsetMapping$Entry;
iload 3
aaload
getfield sun.nio.cs.CharsetMapping$Entry.cp2:I
i2c
castore
4: aload 2
areturn
5: StackMap locals: int
StackMap stack:
aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/nio/cs/CharsetMapping;
0 6 1 comp Lsun/nio/cs/CharsetMapping$Entry;
0 6 2 cc [C
1 6 3 i I
MethodParameters:
Name Flags
comp
cc
public int encodeChar(char);
descriptor: (C)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.nio.cs.CharsetMapping.c2bIndex:[C
iload 1
bipush 8
ishr
caload
istore 2
start local 2 1: iload 2
ldc 65535
if_icmpne 3
2: ldc 65533
ireturn
3: StackMap locals: int
StackMap stack:
aload 0
getfield sun.nio.cs.CharsetMapping.c2b:[C
iload 2
iload 1
sipush 255
iand
iadd
caload
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/nio/cs/CharsetMapping;
0 4 1 ch C
1 4 2 index I
MethodParameters:
Name Flags
ch
public int encodeSurrogate(char, char);
descriptor: (CC)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: iload 1
iload 2
invokestatic java.lang.Character.toCodePoint:(CC)I
istore 3
start local 3 1: iload 3
ldc 131072
if_icmplt 2
iload 3
ldc 196608
if_icmplt 3
2: StackMap locals: int
StackMap stack:
ldc 65533
ireturn
3: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.cs.CharsetMapping.c2bSupp:[C
arraylength
iconst_2
idiv
istore 4
start local 4 4: aload 0
getfield sun.nio.cs.CharsetMapping.c2bSupp:[C
iconst_0
iload 4
iload 3
i2c
invokestatic java.util.Arrays.binarySearch:([CIIC)I
istore 5
start local 5 5: iload 5
iflt 7
6: aload 0
getfield sun.nio.cs.CharsetMapping.c2bSupp:[C
iload 4
iload 5
iadd
caload
ireturn
7: StackMap locals: int int
StackMap stack:
ldc 65533
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/nio/cs/CharsetMapping;
0 8 1 hi C
0 8 2 lo C
1 8 3 cp I
4 8 4 end I
5 8 5 i I
MethodParameters:
Name Flags
hi
lo
public boolean isCompositeBase(sun.nio.cs.CharsetMapping$Entry);
descriptor: (Lsun/nio/cs/CharsetMapping$Entry;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getfield sun.nio.cs.CharsetMapping$Entry.cp:I
sipush 12791
if_icmpgt 3
aload 1
getfield sun.nio.cs.CharsetMapping$Entry.cp:I
sipush 230
if_icmplt 3
1: aload 0
getfield sun.nio.cs.CharsetMapping.c2bComp:[Lsun/nio/cs/CharsetMapping$Entry;
aload 1
invokestatic sun.nio.cs.CharsetMapping.findCP:([Lsun/nio/cs/CharsetMapping$Entry;Lsun/nio/cs/CharsetMapping$Entry;)I
iflt 2
iconst_1
ireturn
StackMap locals:
StackMap stack:
2: iconst_0
ireturn
3: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/nio/cs/CharsetMapping;
0 4 1 comp Lsun/nio/cs/CharsetMapping$Entry;
MethodParameters:
Name Flags
comp
public int encodeComposite(sun.nio.cs.CharsetMapping$Entry);
descriptor: (Lsun/nio/cs/CharsetMapping$Entry;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.nio.cs.CharsetMapping.c2bComp:[Lsun/nio/cs/CharsetMapping$Entry;
aload 1
invokestatic sun.nio.cs.CharsetMapping.findComp:([Lsun/nio/cs/CharsetMapping$Entry;Lsun/nio/cs/CharsetMapping$Entry;)I
istore 2
start local 2 1: iload 2
iflt 3
2: aload 0
getfield sun.nio.cs.CharsetMapping.c2bComp:[Lsun/nio/cs/CharsetMapping$Entry;
iload 2
aaload
getfield sun.nio.cs.CharsetMapping$Entry.bs:I
ireturn
3: StackMap locals: int
StackMap stack:
ldc 65533
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/nio/cs/CharsetMapping;
0 4 1 comp Lsun/nio/cs/CharsetMapping$Entry;
1 4 2 i I
MethodParameters:
Name Flags
comp
public static sun.nio.cs.CharsetMapping get(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)Lsun/nio/cs/CharsetMapping;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new sun.nio.cs.CharsetMapping$4
dup
aload 0
invokespecial sun.nio.cs.CharsetMapping$4.<init>:(Ljava/io/InputStream;)V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast sun.nio.cs.CharsetMapping
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 is Ljava/io/InputStream;
MethodParameters:
Name Flags
is final
static int findBytes(sun.nio.cs.CharsetMapping$Entry[], sun.nio.cs.CharsetMapping$Entry);
descriptor: ([Lsun/nio/cs/CharsetMapping$Entry;Lsun/nio/cs/CharsetMapping$Entry;)I
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_0
aload 0
arraylength
aload 1
getstatic sun.nio.cs.CharsetMapping.comparatorBytes:Ljava/util/Comparator;
invokestatic java.util.Arrays.binarySearch:([Ljava/lang/Object;IILjava/lang/Object;Ljava/util/Comparator;)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 a [Lsun/nio/cs/CharsetMapping$Entry;
0 1 1 k Lsun/nio/cs/CharsetMapping$Entry;
MethodParameters:
Name Flags
a
k
static int findCP(sun.nio.cs.CharsetMapping$Entry[], sun.nio.cs.CharsetMapping$Entry);
descriptor: ([Lsun/nio/cs/CharsetMapping$Entry;Lsun/nio/cs/CharsetMapping$Entry;)I
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_0
aload 0
arraylength
aload 1
getstatic sun.nio.cs.CharsetMapping.comparatorCP:Ljava/util/Comparator;
invokestatic java.util.Arrays.binarySearch:([Ljava/lang/Object;IILjava/lang/Object;Ljava/util/Comparator;)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 a [Lsun/nio/cs/CharsetMapping$Entry;
0 1 1 k Lsun/nio/cs/CharsetMapping$Entry;
MethodParameters:
Name Flags
a
k
static int findComp(sun.nio.cs.CharsetMapping$Entry[], sun.nio.cs.CharsetMapping$Entry);
descriptor: ([Lsun/nio/cs/CharsetMapping$Entry;Lsun/nio/cs/CharsetMapping$Entry;)I
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_0
aload 0
arraylength
aload 1
getstatic sun.nio.cs.CharsetMapping.comparatorComp:Ljava/util/Comparator;
invokestatic java.util.Arrays.binarySearch:([Ljava/lang/Object;IILjava/lang/Object;Ljava/util/Comparator;)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 a [Lsun/nio/cs/CharsetMapping$Entry;
0 1 1 k Lsun/nio/cs/CharsetMapping$Entry;
MethodParameters:
Name Flags
a
k
private static final boolean readNBytes(java.io.InputStream, byte[], int);
descriptor: (Ljava/io/InputStream;[BI)Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: goto 7
2: StackMap locals: int
StackMap stack:
aload 0
aload 1
iload 3
iload 2
invokevirtual java.io.InputStream.read:([BII)I
istore 4
start local 4 3: iload 4
iconst_m1
if_icmpne 5
4: iconst_0
ireturn
5: StackMap locals: int
StackMap stack:
iload 2
iload 4
isub
istore 2
6: iload 3
iload 4
iadd
istore 3
end local 4 7: StackMap locals:
StackMap stack:
iload 2
ifgt 2
8: iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 in Ljava/io/InputStream;
0 9 1 bb [B
0 9 2 N I
1 9 3 off I
3 7 4 n I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
in
bb
N
private char[] readCharArray();
descriptor: ()[C
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=4, args_size=1
start local 0 0: aload 0
getfield sun.nio.cs.CharsetMapping.bb:[B
aload 0
dup
getfield sun.nio.cs.CharsetMapping.off:I
dup_x1
iconst_1
iadd
putfield sun.nio.cs.CharsetMapping.off:I
baload
sipush 255
iand
bipush 8
ishl
aload 0
getfield sun.nio.cs.CharsetMapping.bb:[B
aload 0
dup
getfield sun.nio.cs.CharsetMapping.off:I
dup_x1
iconst_1
iadd
putfield sun.nio.cs.CharsetMapping.off:I
baload
sipush 255
iand
ior
istore 1
start local 1 1: iload 1
newarray 5
astore 2
start local 2 2: iconst_0
istore 3
start local 3 3: goto 6
4: StackMap locals: int char[] int
StackMap stack:
aload 2
iload 3
aload 0
getfield sun.nio.cs.CharsetMapping.bb:[B
aload 0
dup
getfield sun.nio.cs.CharsetMapping.off:I
dup_x1
iconst_1
iadd
putfield sun.nio.cs.CharsetMapping.off:I
baload
sipush 255
iand
bipush 8
ishl
aload 0
getfield sun.nio.cs.CharsetMapping.bb:[B
aload 0
dup
getfield sun.nio.cs.CharsetMapping.off:I
dup_x1
iconst_1
iadd
putfield sun.nio.cs.CharsetMapping.off:I
baload
sipush 255
iand
ior
i2c
castore
5: iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
iload 1
if_icmplt 4
end local 3 7: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/nio/cs/CharsetMapping;
1 8 1 size I
2 8 2 cc [C
3 7 3 i I
void readSINGLEBYTE();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual sun.nio.cs.CharsetMapping.readCharArray:()[C
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 7
3: StackMap locals: char[] int
StackMap stack:
aload 1
iload 2
caload
istore 3
start local 3 4: iload 3
ldc 65533
if_icmpeq 6
5: aload 0
getfield sun.nio.cs.CharsetMapping.c2b:[C
aload 0
getfield sun.nio.cs.CharsetMapping.c2bIndex:[C
iload 3
bipush 8
ishr
caload
iload 3
sipush 255
iand
iadd
iload 2
i2c
castore
end local 3 6: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
7: iload 2
aload 1
arraylength
if_icmplt 3
end local 2 8: aload 0
aload 1
putfield sun.nio.cs.CharsetMapping.b2cSB:[C
9: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/nio/cs/CharsetMapping;
1 10 1 map [C
2 8 2 i I
4 6 3 c C
void readINDEXC2B();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual sun.nio.cs.CharsetMapping.readCharArray:()[C
astore 1
start local 1 1: aload 1
arraylength
iconst_1
isub
istore 2
start local 2 2: goto 8
3: StackMap locals: char[] int
StackMap stack:
aload 0
getfield sun.nio.cs.CharsetMapping.c2b:[C
ifnonnull 7
aload 1
iload 2
caload
iconst_m1
if_icmpeq 7
4: aload 0
aload 1
iload 2
caload
sipush 256
iadd
newarray 5
putfield sun.nio.cs.CharsetMapping.c2b:[C
5: aload 0
getfield sun.nio.cs.CharsetMapping.c2b:[C
ldc 65533
invokestatic java.util.Arrays.fill:([CC)V
6: goto 9
7: StackMap locals:
StackMap stack:
iinc 2 -1
StackMap locals:
StackMap stack:
8: iload 2
ifge 3
end local 2 9: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield sun.nio.cs.CharsetMapping.c2bIndex:[C
10: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/nio/cs/CharsetMapping;
1 11 1 map [C
2 9 2 i I
char[] readDB(int, int, int);
descriptor: (III)[C
flags: (0x0000)
Code:
stack=4, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual sun.nio.cs.CharsetMapping.readCharArray:()[C
astore 4
start local 4 1: iconst_0
istore 5
start local 5 2: goto 10
3: StackMap locals: char[] int
StackMap stack:
aload 4
iload 5
caload
istore 6
start local 6 4: iload 6
ldc 65533
if_icmpeq 9
5: iload 5
iload 3
idiv
istore 7
start local 7 6: iload 5
iload 3
irem
istore 8
start local 8 7: iload 7
iload 1
iadd
sipush 256
imul
iload 8
iload 2
iadd
iadd
istore 9
start local 9 8: aload 0
getfield sun.nio.cs.CharsetMapping.c2b:[C
aload 0
getfield sun.nio.cs.CharsetMapping.c2bIndex:[C
iload 6
bipush 8
ishr
caload
iload 6
sipush 255
iand
iadd
iload 9
i2c
castore
end local 9 end local 8 end local 7 end local 6 9: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
10: iload 5
aload 4
arraylength
if_icmplt 3
end local 5 11: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/nio/cs/CharsetMapping;
0 12 1 b1Min I
0 12 2 b2Min I
0 12 3 segSize I
1 12 4 map [C
2 11 5 i I
4 9 6 c C
6 9 7 b1 I
7 9 8 b2 I
8 9 9 b I
MethodParameters:
Name Flags
b1Min
b2Min
segSize
void readDOUBLEBYTE1();
descriptor: ()V
flags: (0x0000)
Code:
stack=7, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield sun.nio.cs.CharsetMapping.bb:[B
aload 0
dup
getfield sun.nio.cs.CharsetMapping.off:I
dup_x1
iconst_1
iadd
putfield sun.nio.cs.CharsetMapping.off:I
baload
sipush 255
iand
bipush 8
ishl
aload 0
getfield sun.nio.cs.CharsetMapping.bb:[B
aload 0
dup
getfield sun.nio.cs.CharsetMapping.off:I
dup_x1
iconst_1
iadd
putfield sun.nio.cs.CharsetMapping.off:I
baload
sipush 255
iand
ior
putfield sun.nio.cs.CharsetMapping.b1MinDB1:I
1: aload 0
aload 0
getfield sun.nio.cs.CharsetMapping.bb:[B
aload 0
dup
getfield sun.nio.cs.CharsetMapping.off:I
dup_x1
iconst_1
iadd
putfield sun.nio.cs.CharsetMapping.off:I
baload
sipush 255
iand
bipush 8
ishl
aload 0
getfield sun.nio.cs.CharsetMapping.bb:[B
aload 0
dup
getfield sun.nio.cs.CharsetMapping.off:I
dup_x1
iconst_1
iadd
putfield sun.nio.cs.CharsetMapping.off:I
baload
sipush 255
iand
ior
putfield sun.nio.cs.CharsetMapping.b1MaxDB1:I
2: aload 0
aload 0
getfield sun.nio.cs.CharsetMapping.bb:[B
aload 0
dup
getfield sun.nio.cs.CharsetMapping.off:I
dup_x1
iconst_1
iadd
putfield sun.nio.cs.CharsetMapping.off:I
baload
sipush 255
iand
bipush 8
ishl
aload 0
getfield sun.nio.cs.CharsetMapping.bb:[B
aload 0
dup
getfield sun.nio.cs.CharsetMapping.off:I
dup_x1
iconst_1
iadd
putfield sun.nio.cs.CharsetMapping.off:I
baload
sipush 255
iand
ior
putfield sun.nio.cs.CharsetMapping.b2Min:I
3: aload 0
aload 0
getfield sun.nio.cs.CharsetMapping.bb:[B
aload 0
dup
getfield sun.nio.cs.CharsetMapping.off:I
dup_x1
iconst_1
iadd
putfield sun.nio.cs.CharsetMapping.off:I
baload
sipush 255
iand
bipush 8
ishl
aload 0
getfield sun.nio.cs.CharsetMapping.bb:[B
aload 0
dup
getfield sun.nio.cs.CharsetMapping.off:I
dup_x1
iconst_1
iadd
putfield sun.nio.cs.CharsetMapping.off:I
baload
sipush 255
iand
ior
putfield sun.nio.cs.CharsetMapping.b2Max:I
4: aload 0
aload 0
getfield sun.nio.cs.CharsetMapping.b2Max:I
aload 0
getfield sun.nio.cs.CharsetMapping.b2Min:I
isub
iconst_1
iadd
putfield sun.nio.cs.CharsetMapping.dbSegSize:I
5: aload 0
aload 0
aload 0
getfield sun.nio.cs.CharsetMapping.b1MinDB1:I
aload 0
getfield sun.nio.cs.CharsetMapping.b2Min:I
aload 0
getfield sun.nio.cs.CharsetMapping.dbSegSize:I
invokevirtual sun.nio.cs.CharsetMapping.readDB:(III)[C
putfield sun.nio.cs.CharsetMapping.b2cDB1:[C
6: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/nio/cs/CharsetMapping;
void readDOUBLEBYTE2();
descriptor: ()V
flags: (0x0000)
Code:
stack=7, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield sun.nio.cs.CharsetMapping.bb:[B
aload 0
dup
getfield sun.nio.cs.CharsetMapping.off:I
dup_x1
iconst_1
iadd
putfield sun.nio.cs.CharsetMapping.off:I
baload
sipush 255
iand
bipush 8
ishl
aload 0
getfield sun.nio.cs.CharsetMapping.bb:[B
aload 0
dup
getfield sun.nio.cs.CharsetMapping.off:I
dup_x1
iconst_1
iadd
putfield sun.nio.cs.CharsetMapping.off:I
baload
sipush 255
iand
ior
putfield sun.nio.cs.CharsetMapping.b1MinDB2:I
1: aload 0
aload 0
getfield sun.nio.cs.CharsetMapping.bb:[B
aload 0
dup
getfield sun.nio.cs.CharsetMapping.off:I
dup_x1
iconst_1
iadd
putfield sun.nio.cs.CharsetMapping.off:I
baload
sipush 255
iand
bipush 8
ishl
aload 0
getfield sun.nio.cs.CharsetMapping.bb:[B
aload 0
dup
getfield sun.nio.cs.CharsetMapping.off:I
dup_x1
iconst_1
iadd
putfield sun.nio.cs.CharsetMapping.off:I
baload
sipush 255
iand
ior
putfield sun.nio.cs.CharsetMapping.b1MaxDB2:I
2: aload 0
aload 0
getfield sun.nio.cs.CharsetMapping.bb:[B
aload 0
dup
getfield sun.nio.cs.CharsetMapping.off:I
dup_x1
iconst_1
iadd
putfield sun.nio.cs.CharsetMapping.off:I
baload
sipush 255
iand
bipush 8
ishl
aload 0
getfield sun.nio.cs.CharsetMapping.bb:[B
aload 0
dup
getfield sun.nio.cs.CharsetMapping.off:I
dup_x1
iconst_1
iadd
putfield sun.nio.cs.CharsetMapping.off:I
baload
sipush 255
iand
ior
putfield sun.nio.cs.CharsetMapping.b2Min:I
3: aload 0
aload 0
getfield sun.nio.cs.CharsetMapping.bb:[B
aload 0
dup
getfield sun.nio.cs.CharsetMapping.off:I
dup_x1
iconst_1
iadd
putfield sun.nio.cs.CharsetMapping.off:I
baload
sipush 255
iand
bipush 8
ishl
aload 0
getfield sun.nio.cs.CharsetMapping.bb:[B
aload 0
dup
getfield sun.nio.cs.CharsetMapping.off:I
dup_x1
iconst_1
iadd
putfield sun.nio.cs.CharsetMapping.off:I
baload
sipush 255
iand
ior
putfield sun.nio.cs.CharsetMapping.b2Max:I
4: aload 0
aload 0
getfield sun.nio.cs.CharsetMapping.b2Max:I
aload 0
getfield sun.nio.cs.CharsetMapping.b2Min:I
isub
iconst_1
iadd
putfield sun.nio.cs.CharsetMapping.dbSegSize:I
5: aload 0
aload 0
aload 0
getfield sun.nio.cs.CharsetMapping.b1MinDB2:I
aload 0
getfield sun.nio.cs.CharsetMapping.b2Min:I
aload 0
getfield sun.nio.cs.CharsetMapping.dbSegSize:I
invokevirtual sun.nio.cs.CharsetMapping.readDB:(III)[C
putfield sun.nio.cs.CharsetMapping.b2cDB2:[C
6: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/nio/cs/CharsetMapping;
void readCOMPOSITE();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=6, args_size=1
start local 0 0: aload 0
invokevirtual sun.nio.cs.CharsetMapping.readCharArray:()[C
astore 1
start local 1 1: aload 1
arraylength
iconst_3
idiv
istore 2
start local 2 2: aload 0
iload 2
anewarray sun.nio.cs.CharsetMapping$Entry
putfield sun.nio.cs.CharsetMapping.b2cComp:[Lsun/nio/cs/CharsetMapping$Entry;
3: aload 0
iload 2
anewarray sun.nio.cs.CharsetMapping$Entry
putfield sun.nio.cs.CharsetMapping.c2bComp:[Lsun/nio/cs/CharsetMapping$Entry;
4: iconst_0
istore 3
start local 3 5: iconst_0
istore 4
start local 4 6: goto 14
7: StackMap locals: sun.nio.cs.CharsetMapping char[] int int int
StackMap stack:
new sun.nio.cs.CharsetMapping$Entry
dup
invokespecial sun.nio.cs.CharsetMapping$Entry.<init>:()V
astore 5
start local 5 8: aload 5
aload 1
iload 4
iinc 4 1
caload
putfield sun.nio.cs.CharsetMapping$Entry.bs:I
9: aload 5
aload 1
iload 4
iinc 4 1
caload
putfield sun.nio.cs.CharsetMapping$Entry.cp:I
10: aload 5
aload 1
iload 4
iinc 4 1
caload
putfield sun.nio.cs.CharsetMapping$Entry.cp2:I
11: aload 0
getfield sun.nio.cs.CharsetMapping.b2cComp:[Lsun/nio/cs/CharsetMapping$Entry;
iload 3
aload 5
aastore
12: aload 0
getfield sun.nio.cs.CharsetMapping.c2bComp:[Lsun/nio/cs/CharsetMapping$Entry;
iload 3
aload 5
aastore
end local 5 13: iinc 3 1
StackMap locals:
StackMap stack:
14: iload 3
iload 2
if_icmplt 7
end local 4 end local 3 15: aload 0
getfield sun.nio.cs.CharsetMapping.c2bComp:[Lsun/nio/cs/CharsetMapping$Entry;
iconst_0
aload 0
getfield sun.nio.cs.CharsetMapping.c2bComp:[Lsun/nio/cs/CharsetMapping$Entry;
arraylength
getstatic sun.nio.cs.CharsetMapping.comparatorComp:Ljava/util/Comparator;
invokestatic java.util.Arrays.sort:([Ljava/lang/Object;IILjava/util/Comparator;)V
16: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lsun/nio/cs/CharsetMapping;
1 17 1 map [C
2 17 2 mLen I
5 15 3 i I
6 15 4 j I
8 13 5 m Lsun/nio/cs/CharsetMapping$Entry;
sun.nio.cs.CharsetMapping load(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)Lsun/nio/cs/CharsetMapping;
flags: (0x0000)
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.io.InputStream.read:()I
sipush 255
iand
bipush 24
ishl
aload 1
invokevirtual java.io.InputStream.read:()I
sipush 255
iand
bipush 16
ishl
ior
1: aload 1
invokevirtual java.io.InputStream.read:()I
sipush 255
iand
bipush 8
ishl
2: ior
3: aload 1
invokevirtual java.io.InputStream.read:()I
sipush 255
iand
4: ior
istore 2
start local 2 5: aload 0
iload 2
newarray 8
putfield sun.nio.cs.CharsetMapping.bb:[B
6: aload 0
iconst_0
putfield sun.nio.cs.CharsetMapping.off:I
7: aload 1
aload 0
getfield sun.nio.cs.CharsetMapping.bb:[B
iload 2
invokestatic sun.nio.cs.CharsetMapping.readNBytes:(Ljava/io/InputStream;[BI)Z
ifne 9
8: new java.lang.RuntimeException
dup
ldc "Corrupted data file"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals: int
StackMap stack:
aload 1
invokevirtual java.io.InputStream.close:()V
10: goto 28
11: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.cs.CharsetMapping.bb:[B
aload 0
dup
getfield sun.nio.cs.CharsetMapping.off:I
dup_x1
iconst_1
iadd
putfield sun.nio.cs.CharsetMapping.off:I
baload
sipush 255
iand
bipush 8
ishl
aload 0
getfield sun.nio.cs.CharsetMapping.bb:[B
aload 0
dup
getfield sun.nio.cs.CharsetMapping.off:I
dup_x1
iconst_1
iadd
putfield sun.nio.cs.CharsetMapping.off:I
baload
sipush 255
iand
ior
istore 3
start local 3 12: iload 3
tableswitch { // 1 - 8
1: 15
2: 17
3: 19
4: 27
5: 21
6: 23
7: 25
8: 13
default: 27
}
13: StackMap locals: int
StackMap stack:
aload 0
invokevirtual sun.nio.cs.CharsetMapping.readINDEXC2B:()V
14: goto 28
15: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.nio.cs.CharsetMapping.readSINGLEBYTE:()V
16: goto 28
17: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.nio.cs.CharsetMapping.readDOUBLEBYTE1:()V
18: goto 28
19: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.nio.cs.CharsetMapping.readDOUBLEBYTE2:()V
20: goto 28
21: StackMap locals:
StackMap stack:
aload 0
aload 0
invokevirtual sun.nio.cs.CharsetMapping.readCharArray:()[C
putfield sun.nio.cs.CharsetMapping.b2cSupp:[C
22: goto 28
23: StackMap locals:
StackMap stack:
aload 0
aload 0
invokevirtual sun.nio.cs.CharsetMapping.readCharArray:()[C
putfield sun.nio.cs.CharsetMapping.c2bSupp:[C
24: goto 28
25: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.nio.cs.CharsetMapping.readCOMPOSITE:()V
26: goto 28
27: StackMap locals:
StackMap stack:
new java.lang.RuntimeException
dup
ldc "Corrupted data file"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 3 28: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.cs.CharsetMapping.off:I
iload 2
if_icmplt 11
29: aload 0
aconst_null
putfield sun.nio.cs.CharsetMapping.bb:[B
30: aload 0
31: areturn
end local 2 32: StackMap locals: sun.nio.cs.CharsetMapping java.io.InputStream
StackMap stack: java.io.IOException
astore 2
start local 2 33: aload 2
invokevirtual java.io.IOException.printStackTrace:()V
34: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Lsun/nio/cs/CharsetMapping;
0 35 1 in Ljava/io/InputStream;
5 32 2 len I
12 28 3 type I
33 35 2 x Ljava/io/IOException;
Exception table:
from to target type
0 31 32 Class java.io.IOException
MethodParameters:
Name Flags
in
}
SourceFile: "CharsetMapping.java"
NestMembers:
sun.nio.cs.CharsetMapping$1 sun.nio.cs.CharsetMapping$2 sun.nio.cs.CharsetMapping$3 sun.nio.cs.CharsetMapping$4 sun.nio.cs.CharsetMapping$Entry
InnerClasses:
sun.nio.cs.CharsetMapping$1
sun.nio.cs.CharsetMapping$2
sun.nio.cs.CharsetMapping$3
sun.nio.cs.CharsetMapping$4
public Entry = sun.nio.cs.CharsetMapping$Entry of sun.nio.cs.CharsetMapping