class sun.font.CCharToGlyphMapper$Cache$SparseBitShiftingTwoLayerArray
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.font.CCharToGlyphMapper$Cache$SparseBitShiftingTwoLayerArray
super_class: java.lang.Object
{
final int[][] cache;
descriptor: [[I
flags: (0x0010) ACC_FINAL
final int shift;
descriptor: I
flags: (0x0010) ACC_FINAL
final int secondLayerLength;
descriptor: I
flags: (0x0010) ACC_FINAL
final sun.font.CCharToGlyphMapper$Cache this$1;
descriptor: Lsun/font/CCharToGlyphMapper$Cache;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
public void <init>(sun.font.CCharToGlyphMapper$Cache, int, int);
descriptor: (Lsun/font/CCharToGlyphMapper$Cache;II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 2 start local 3 0: aload 0
aload 1
putfield sun.font.CCharToGlyphMapper$Cache$SparseBitShiftingTwoLayerArray.this$1:Lsun/font/CCharToGlyphMapper$Cache;
1: aload 0
invokespecial java.lang.Object.<init>:()V
2: aload 0
iload 3
putfield sun.font.CCharToGlyphMapper$Cache$SparseBitShiftingTwoLayerArray.shift:I
3: aload 0
iconst_1
iload 3
ishl
anewarray int[]
putfield sun.font.CCharToGlyphMapper$Cache$SparseBitShiftingTwoLayerArray.cache:[[I
4: aload 0
iload 2
iload 3
ishr
putfield sun.font.CCharToGlyphMapper$Cache$SparseBitShiftingTwoLayerArray.secondLayerLength:I
5: return
end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/font/CCharToGlyphMapper$Cache$SparseBitShiftingTwoLayerArray;
0 6 2 size I
0 6 3 shift I
MethodParameters:
Name Flags
this$0 final
size final
shift final
public int get(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: iload 1
aload 0
getfield sun.font.CCharToGlyphMapper$Cache$SparseBitShiftingTwoLayerArray.shift:I
ishr
istore 2
start local 2 1: aload 0
getfield sun.font.CCharToGlyphMapper$Cache$SparseBitShiftingTwoLayerArray.cache:[[I
iload 2
aaload
astore 3
start local 3 2: aload 3
ifnonnull 3
iconst_0
ireturn
3: StackMap locals: int int[]
StackMap stack:
aload 3
iload 1
iload 2
iconst_1
aload 0
getfield sun.font.CCharToGlyphMapper$Cache$SparseBitShiftingTwoLayerArray.shift:I
ishl
imul
isub
iaload
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/font/CCharToGlyphMapper$Cache$SparseBitShiftingTwoLayerArray;
0 4 1 index I
1 4 2 firstIndex I
2 4 3 firstLayerRow [I
MethodParameters:
Name Flags
index final
public void put(int, int);
descriptor: (II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: iload 1
aload 0
getfield sun.font.CCharToGlyphMapper$Cache$SparseBitShiftingTwoLayerArray.shift:I
ishr
istore 3
start local 3 1: aload 0
getfield sun.font.CCharToGlyphMapper$Cache$SparseBitShiftingTwoLayerArray.cache:[[I
iload 3
aaload
astore 4
start local 4 2: aload 4
ifnonnull 4
3: aload 0
getfield sun.font.CCharToGlyphMapper$Cache$SparseBitShiftingTwoLayerArray.cache:[[I
iload 3
aload 0
getfield sun.font.CCharToGlyphMapper$Cache$SparseBitShiftingTwoLayerArray.secondLayerLength:I
newarray 10
dup
astore 4
aastore
4: StackMap locals: int int[]
StackMap stack:
aload 4
iload 1
iload 3
iconst_1
aload 0
getfield sun.font.CCharToGlyphMapper$Cache$SparseBitShiftingTwoLayerArray.shift:I
ishl
imul
isub
iload 2
iastore
5: return
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/font/CCharToGlyphMapper$Cache$SparseBitShiftingTwoLayerArray;
0 6 1 index I
0 6 2 value I
1 6 3 firstIndex I
2 6 4 firstLayerRow [I
MethodParameters:
Name Flags
index final
value final
}
SourceFile: "CCharToGlyphMapper.java"
NestHost: sun.font.CCharToGlyphMapper
InnerClasses:
private Cache = sun.font.CCharToGlyphMapper$Cache of sun.font.CCharToGlyphMapper
private SparseBitShiftingTwoLayerArray = sun.font.CCharToGlyphMapper$Cache$SparseBitShiftingTwoLayerArray of sun.font.CCharToGlyphMapper$Cache