public class sun.font.CCharToGlyphMapper extends sun.font.CharToGlyphMapper
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.font.CCharToGlyphMapper
super_class: sun.font.CharToGlyphMapper
{
private sun.font.CCharToGlyphMapper$Cache cache;
descriptor: Lsun/font/CCharToGlyphMapper$Cache;
flags: (0x0002) ACC_PRIVATE
sun.font.CFont fFont;
descriptor: Lsun/font/CFont;
flags: (0x0000)
int numGlyphs;
descriptor: I
flags: (0x0000)
private static native int countGlyphs(long);
descriptor: (J)I
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
nativeFontPtr final
public void <init>(sun.font.CFont);
descriptor: (Lsun/font/CFont;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial sun.font.CharToGlyphMapper.<init>:()V
1: aload 0
new sun.font.CCharToGlyphMapper$Cache
dup
aload 0
invokespecial sun.font.CCharToGlyphMapper$Cache.<init>:(Lsun/font/CCharToGlyphMapper;)V
putfield sun.font.CCharToGlyphMapper.cache:Lsun/font/CCharToGlyphMapper$Cache;
2: aload 0
iconst_m1
putfield sun.font.CCharToGlyphMapper.numGlyphs:I
3: aload 0
aload 1
putfield sun.font.CCharToGlyphMapper.fFont:Lsun/font/CFont;
4: aload 0
iconst_0
putfield sun.font.CCharToGlyphMapper.missingGlyph:I
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/font/CCharToGlyphMapper;
0 6 1 font Lsun/font/CFont;
MethodParameters:
Name Flags
font
public int getNumGlyphs();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.font.CCharToGlyphMapper.numGlyphs:I
iconst_m1
if_icmpne 2
1: aload 0
aload 0
getfield sun.font.CCharToGlyphMapper.fFont:Lsun/font/CFont;
invokevirtual sun.font.CFont.getNativeFontPtr:()J
invokestatic sun.font.CCharToGlyphMapper.countGlyphs:(J)I
putfield sun.font.CCharToGlyphMapper.numGlyphs:I
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.CCharToGlyphMapper.numGlyphs:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/font/CCharToGlyphMapper;
public boolean canDisplay(char);
descriptor: (C)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual sun.font.CCharToGlyphMapper.charToGlyph:(C)I
istore 2
start local 2 1: iload 2
aload 0
getfield sun.font.CCharToGlyphMapper.missingGlyph:I
if_icmpeq 2
iconst_1
ireturn
StackMap locals: int
StackMap stack:
2: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/font/CCharToGlyphMapper;
0 3 1 ch C
1 3 2 glyph I
MethodParameters:
Name Flags
ch
public boolean canDisplay(int);
descriptor: (I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual sun.font.CCharToGlyphMapper.charToGlyph:(I)I
istore 2
start local 2 1: iload 2
aload 0
getfield sun.font.CCharToGlyphMapper.missingGlyph:I
if_icmpeq 2
iconst_1
ireturn
StackMap locals: int
StackMap stack:
2: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/font/CCharToGlyphMapper;
0 3 1 cp I
1 3 2 glyph I
MethodParameters:
Name Flags
cp
public synchronized boolean charsToGlyphsNS(int, char[], int[]);
descriptor: (I[C[I)Z
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iload 1
aload 2
aload 3
invokevirtual sun.font.CCharToGlyphMapper.charsToGlyphs:(I[C[I)V
1: iconst_0
istore 4
start local 4 2: goto 16
3: StackMap locals: int
StackMap stack:
aload 2
iload 4
caload
istore 5
start local 5 4: iload 5
ldc 55296
if_icmplt 9
iload 5
ldc 56319
if_icmpgt 9
iload 4
iload 1
iconst_1
isub
if_icmpge 9
5: aload 2
iload 4
iconst_1
iadd
caload
istore 6
start local 6 6: iload 6
ldc 56320
if_icmplt 9
iload 6
ldc 57343
if_icmpgt 9
7: iload 5
ldc 55296
isub
sipush 1024
imul
iload 6
iadd
ldc 56320
isub
ldc 65536
iadd
istore 5
8: aload 3
iload 4
iconst_1
iadd
ldc 65535
iastore
end local 6 9: StackMap locals: int
StackMap stack:
iload 5
sipush 768
if_icmpge 11
10: goto 15
11: StackMap locals:
StackMap stack:
iload 5
invokestatic sun.font.FontUtilities.isComplexCharCode:(I)Z
ifeq 13
12: iconst_1
ireturn
13: StackMap locals:
StackMap stack:
iload 5
ldc 65536
if_icmplt 15
14: iinc 4 1
end local 5 15: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
16: iload 4
iload 1
if_icmplt 3
end local 4 17: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lsun/font/CCharToGlyphMapper;
0 18 1 count I
0 18 2 unicodes [C
0 18 3 glyphs [I
2 17 4 i I
4 15 5 code I
6 9 6 low C
MethodParameters:
Name Flags
count
unicodes
glyphs
public synchronized int charToGlyph(char);
descriptor: (C)I
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.font.CCharToGlyphMapper.cache:Lsun/font/CCharToGlyphMapper$Cache;
iload 1
invokevirtual sun.font.CCharToGlyphMapper$Cache.get:(I)I
istore 2
start local 2 1: iload 2
ifeq 2
iload 2
ireturn
2: StackMap locals: int
StackMap stack:
iconst_1
newarray 5
dup
iconst_0
iload 1
castore
astore 3
start local 3 3: iconst_1
newarray 10
astore 4
start local 4 4: aload 0
getfield sun.font.CCharToGlyphMapper.fFont:Lsun/font/CFont;
invokevirtual sun.font.CFont.getNativeFontPtr:()J
iconst_1
aload 3
aload 4
invokestatic sun.font.CCharToGlyphMapper.nativeCharsToGlyphs:(JI[C[I)V
5: aload 0
getfield sun.font.CCharToGlyphMapper.cache:Lsun/font/CCharToGlyphMapper$Cache;
iload 1
aload 4
iconst_0
iaload
invokevirtual sun.font.CCharToGlyphMapper$Cache.put:(II)V
6: aload 4
iconst_0
iaload
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/font/CCharToGlyphMapper;
0 7 1 unicode C
1 7 2 glyph I
3 7 3 unicodeArray [C
4 7 4 glyphArray [I
MethodParameters:
Name Flags
unicode
public synchronized int charToGlyph(int);
descriptor: (I)I
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: iload 1
ldc 65536
if_icmplt 8
1: iconst_2
newarray 10
astore 2
start local 2 2: iconst_2
newarray 5
astore 3
start local 3 3: iload 1
ldc 65536
isub
istore 4
start local 4 4: aload 3
iconst_0
iload 4
bipush 10
iushr
ldc 55296
iadd
i2c
castore
5: aload 3
iconst_1
iload 4
sipush 1024
irem
ldc 56320
iadd
i2c
castore
6: aload 0
iconst_2
aload 3
aload 2
invokevirtual sun.font.CCharToGlyphMapper.charsToGlyphs:(I[C[I)V
7: aload 2
iconst_0
iaload
ireturn
end local 4 end local 3 end local 2 8: StackMap locals:
StackMap stack:
aload 0
iload 1
i2c
invokevirtual sun.font.CCharToGlyphMapper.charToGlyph:(C)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/font/CCharToGlyphMapper;
0 9 1 unicode I
2 8 2 glyphs [I
3 8 3 surrogates [C
4 8 4 base I
MethodParameters:
Name Flags
unicode
public synchronized void charsToGlyphs(int, char[], int[]);
descriptor: (I[C[I)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield sun.font.CCharToGlyphMapper.cache:Lsun/font/CCharToGlyphMapper$Cache;
iload 1
aload 2
aload 3
invokevirtual sun.font.CCharToGlyphMapper$Cache.get:(I[C[I)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/font/CCharToGlyphMapper;
0 2 1 count I
0 2 2 unicodes [C
0 2 3 glyphs [I
MethodParameters:
Name Flags
count
unicodes
glyphs
public synchronized void charsToGlyphs(int, int[], int[]);
descriptor: (I[I[I)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_0
istore 4
start local 4 1: goto 4
2: StackMap locals: int
StackMap stack:
aload 3
iload 4
aload 0
aload 2
iload 4
iaload
invokevirtual sun.font.CCharToGlyphMapper.charToGlyph:(I)I
iastore
3: iinc 4 1
StackMap locals:
StackMap stack:
4: iload 4
iload 1
if_icmplt 2
end local 4 5: return
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;
0 6 1 count I
0 6 2 unicodes [I
0 6 3 glyphs [I
1 5 4 i I
MethodParameters:
Name Flags
count
unicodes
glyphs
private static native void nativeCharsToGlyphs(long, int, char[], int[]);
descriptor: (JI[C[I)V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
nativeFontPtr final
count
unicodes
glyphs
}
SourceFile: "CCharToGlyphMapper.java"
NestMembers:
sun.font.CCharToGlyphMapper$Cache sun.font.CCharToGlyphMapper$Cache$SparseBitShiftingTwoLayerArray
InnerClasses:
private Cache = sun.font.CCharToGlyphMapper$Cache of sun.font.CCharToGlyphMapper