public final class sun.font.StrikeCache
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: sun.font.StrikeCache
super_class: java.lang.Object
{
static final jdk.internal.misc.Unsafe unsafe;
descriptor: Ljdk/internal/misc/Unsafe;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static java.lang.ref.ReferenceQueue<java.lang.Object> refQueue;
descriptor: Ljava/lang/ref/ReferenceQueue;
flags: (0x0008) ACC_STATIC
Signature: Ljava/lang/ref/ReferenceQueue<Ljava/lang/Object;>;
static java.util.ArrayList<sun.font.GlyphDisposedListener> disposeListeners;
descriptor: Ljava/util/ArrayList;
flags: (0x0008) ACC_STATIC
Signature: Ljava/util/ArrayList<Lsun/font/GlyphDisposedListener;>;
static int MINSTRIKES;
descriptor: I
flags: (0x0008) ACC_STATIC
static int recentStrikeIndex;
descriptor: I
flags: (0x0008) ACC_STATIC
static sun.font.FontStrike[] recentStrikes;
descriptor: [Lsun/font/FontStrike;
flags: (0x0008) ACC_STATIC
static boolean cacheRefTypeWeak;
descriptor: Z
flags: (0x0008) ACC_STATIC
static int nativeAddressSize;
descriptor: I
flags: (0x0008) ACC_STATIC
static int glyphInfoSize;
descriptor: I
flags: (0x0008) ACC_STATIC
static int xAdvanceOffset;
descriptor: I
flags: (0x0008) ACC_STATIC
static int yAdvanceOffset;
descriptor: I
flags: (0x0008) ACC_STATIC
static int boundsOffset;
descriptor: I
flags: (0x0008) ACC_STATIC
static int widthOffset;
descriptor: I
flags: (0x0008) ACC_STATIC
static int heightOffset;
descriptor: I
flags: (0x0008) ACC_STATIC
static int rowBytesOffset;
descriptor: I
flags: (0x0008) ACC_STATIC
static int topLeftXOffset;
descriptor: I
flags: (0x0008) ACC_STATIC
static int topLeftYOffset;
descriptor: I
flags: (0x0008) ACC_STATIC
static int pixelDataOffset;
descriptor: I
flags: (0x0008) ACC_STATIC
static int cacheCellOffset;
descriptor: I
flags: (0x0008) ACC_STATIC
static int managedOffset;
descriptor: I
flags: (0x0008) ACC_STATIC
static long invisibleGlyphPtr;
descriptor: J
flags: (0x0008) ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=1, args_size=0
0: invokestatic jdk.internal.misc.Unsafe.getUnsafe:()Ljdk/internal/misc/Unsafe;
putstatic sun.font.StrikeCache.unsafe:Ljdk/internal/misc/Unsafe;
1: invokestatic sun.java2d.Disposer.getQueue:()Ljava/lang/ref/ReferenceQueue;
putstatic sun.font.StrikeCache.refQueue:Ljava/lang/ref/ReferenceQueue;
2: new java.util.ArrayList
dup
iconst_1
invokespecial java.util.ArrayList.<init>:(I)V
putstatic sun.font.StrikeCache.disposeListeners:Ljava/util/ArrayList;
3: bipush 8
putstatic sun.font.StrikeCache.MINSTRIKES:I
4: iconst_0
putstatic sun.font.StrikeCache.recentStrikeIndex:I
5: bipush 13
newarray 11
astore 0
start local 0 6: aload 0
invokestatic sun.font.StrikeCache.getGlyphCacheDescription:([J)V
7: aload 0
iconst_0
laload
l2i
putstatic sun.font.StrikeCache.nativeAddressSize:I
8: aload 0
iconst_1
laload
l2i
putstatic sun.font.StrikeCache.glyphInfoSize:I
9: aload 0
iconst_2
laload
l2i
putstatic sun.font.StrikeCache.xAdvanceOffset:I
10: aload 0
iconst_3
laload
l2i
putstatic sun.font.StrikeCache.yAdvanceOffset:I
11: aload 0
iconst_4
laload
l2i
putstatic sun.font.StrikeCache.widthOffset:I
12: aload 0
iconst_5
laload
l2i
putstatic sun.font.StrikeCache.heightOffset:I
13: aload 0
bipush 6
laload
l2i
putstatic sun.font.StrikeCache.rowBytesOffset:I
14: aload 0
bipush 7
laload
l2i
putstatic sun.font.StrikeCache.topLeftXOffset:I
15: aload 0
bipush 8
laload
l2i
putstatic sun.font.StrikeCache.topLeftYOffset:I
16: aload 0
bipush 9
laload
l2i
putstatic sun.font.StrikeCache.pixelDataOffset:I
17: aload 0
bipush 10
laload
putstatic sun.font.StrikeCache.invisibleGlyphPtr:J
18: aload 0
bipush 11
laload
l2i
putstatic sun.font.StrikeCache.cacheCellOffset:I
19: aload 0
bipush 12
laload
l2i
putstatic sun.font.StrikeCache.managedOffset:I
20: getstatic sun.font.StrikeCache.nativeAddressSize:I
iconst_4
if_icmpge 24
21: new java.lang.InternalError
dup
new java.lang.StringBuilder
dup
ldc "Unexpected address size for font data: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
22: getstatic sun.font.StrikeCache.nativeAddressSize:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
23: invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
24: StackMap locals: long[]
StackMap stack:
new sun.font.StrikeCache$1
dup
invokespecial sun.font.StrikeCache$1.<init>:()V
25: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
end local 0 26: return
LocalVariableTable:
Start End Slot Name Signature
6 26 0 nativeInfo [J
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/StrikeCache;
static native void getGlyphCacheDescription(long[]);
descriptor: ([J)V
flags: (0x0108) ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
infoArray
static void refStrike(sun.font.FontStrike);
descriptor: (Lsun/font/FontStrike;)V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: getstatic sun.font.StrikeCache.recentStrikeIndex:I
istore 1
start local 1 1: getstatic sun.font.StrikeCache.recentStrikes:[Lsun/font/FontStrike;
iload 1
aload 0
aastore
2: iinc 1 1
3: iload 1
getstatic sun.font.StrikeCache.MINSTRIKES:I
if_icmpne 5
4: iconst_0
istore 1
5: StackMap locals: int
StackMap stack:
iload 1
putstatic sun.font.StrikeCache.recentStrikeIndex:I
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 strike Lsun/font/FontStrike;
1 7 1 index I
MethodParameters:
Name Flags
strike
private static void doDispose(sun.font.FontStrikeDisposer);
descriptor: (Lsun/font/FontStrikeDisposer;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.font.FontStrikeDisposer.intGlyphImages:[I
ifnull 5
1: aload 0
getfield sun.font.FontStrikeDisposer.intGlyphImages:[I
2: aload 0
getfield sun.font.FontStrikeDisposer.pScalerContext:J
3: invokestatic sun.font.StrikeCache.freeCachedIntMemory:([IJ)V
4: goto 43
StackMap locals:
StackMap stack:
5: aload 0
getfield sun.font.FontStrikeDisposer.longGlyphImages:[J
ifnull 10
6: aload 0
getfield sun.font.FontStrikeDisposer.longGlyphImages:[J
7: aload 0
getfield sun.font.FontStrikeDisposer.pScalerContext:J
8: invokestatic sun.font.StrikeCache.freeCachedLongMemory:([JJ)V
9: goto 43
StackMap locals:
StackMap stack:
10: aload 0
getfield sun.font.FontStrikeDisposer.segIntGlyphImages:[[I
ifnull 24
11: iconst_0
istore 1
start local 1 12: goto 20
13: StackMap locals: int
StackMap stack:
aload 0
getfield sun.font.FontStrikeDisposer.segIntGlyphImages:[[I
iload 1
aaload
ifnull 19
14: aload 0
getfield sun.font.FontStrikeDisposer.segIntGlyphImages:[[I
iload 1
aaload
15: aload 0
getfield sun.font.FontStrikeDisposer.pScalerContext:J
16: invokestatic sun.font.StrikeCache.freeCachedIntMemory:([IJ)V
17: aload 0
lconst_0
putfield sun.font.FontStrikeDisposer.pScalerContext:J
18: aload 0
getfield sun.font.FontStrikeDisposer.segIntGlyphImages:[[I
iload 1
aconst_null
aastore
19: StackMap locals:
StackMap stack:
iinc 1 1
StackMap locals:
StackMap stack:
20: iload 1
aload 0
getfield sun.font.FontStrikeDisposer.segIntGlyphImages:[[I
arraylength
if_icmplt 13
end local 1 21: aload 0
getfield sun.font.FontStrikeDisposer.pScalerContext:J
lconst_0
lcmp
ifeq 43
22: iconst_0
newarray 10
aload 0
getfield sun.font.FontStrikeDisposer.pScalerContext:J
invokestatic sun.font.StrikeCache.freeCachedIntMemory:([IJ)V
23: goto 43
StackMap locals:
StackMap stack:
24: aload 0
getfield sun.font.FontStrikeDisposer.segLongGlyphImages:[[J
ifnull 38
25: iconst_0
istore 1
start local 1 26: goto 34
27: StackMap locals: int
StackMap stack:
aload 0
getfield sun.font.FontStrikeDisposer.segLongGlyphImages:[[J
iload 1
aaload
ifnull 33
28: aload 0
getfield sun.font.FontStrikeDisposer.segLongGlyphImages:[[J
iload 1
aaload
29: aload 0
getfield sun.font.FontStrikeDisposer.pScalerContext:J
30: invokestatic sun.font.StrikeCache.freeCachedLongMemory:([JJ)V
31: aload 0
lconst_0
putfield sun.font.FontStrikeDisposer.pScalerContext:J
32: aload 0
getfield sun.font.FontStrikeDisposer.segLongGlyphImages:[[J
iload 1
aconst_null
aastore
33: StackMap locals:
StackMap stack:
iinc 1 1
StackMap locals:
StackMap stack:
34: iload 1
aload 0
getfield sun.font.FontStrikeDisposer.segLongGlyphImages:[[J
arraylength
if_icmplt 27
end local 1 35: aload 0
getfield sun.font.FontStrikeDisposer.pScalerContext:J
lconst_0
lcmp
ifeq 43
36: iconst_0
newarray 11
aload 0
getfield sun.font.FontStrikeDisposer.pScalerContext:J
invokestatic sun.font.StrikeCache.freeCachedLongMemory:([JJ)V
37: goto 43
StackMap locals:
StackMap stack:
38: aload 0
getfield sun.font.FontStrikeDisposer.pScalerContext:J
lconst_0
lcmp
ifeq 43
39: invokestatic sun.font.StrikeCache.longAddresses:()Z
ifeq 42
40: iconst_0
newarray 11
aload 0
getfield sun.font.FontStrikeDisposer.pScalerContext:J
invokestatic sun.font.StrikeCache.freeCachedLongMemory:([JJ)V
41: goto 43
42: StackMap locals:
StackMap stack:
iconst_0
newarray 10
aload 0
getfield sun.font.FontStrikeDisposer.pScalerContext:J
invokestatic sun.font.StrikeCache.freeCachedIntMemory:([IJ)V
43: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 44 0 disposer Lsun/font/FontStrikeDisposer;
12 21 1 i I
26 35 1 i I
MethodParameters:
Name Flags
disposer
private static boolean longAddresses();
descriptor: ()Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: getstatic sun.font.StrikeCache.nativeAddressSize:I
bipush 8
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
LocalVariableTable:
Start End Slot Name Signature
static void disposeStrike(sun.font.FontStrikeDisposer);
descriptor: (Lsun/font/FontStrikeDisposer;)V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=6, args_size=1
start local 0 0: getstatic sun.java2d.Disposer.pollingQueue:Z
ifeq 3
1: aload 0
invokestatic sun.font.StrikeCache.doDispose:(Lsun/font/FontStrikeDisposer;)V
2: return
3: StackMap locals:
StackMap stack:
aconst_null
astore 1
start local 1 4: invokestatic java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment:()Ljava/awt/GraphicsEnvironment;
5: astore 2
start local 2 6: invokestatic java.awt.GraphicsEnvironment.isHeadless:()Z
ifne 14
7: aload 2
invokevirtual java.awt.GraphicsEnvironment.getDefaultScreenDevice:()Ljava/awt/GraphicsDevice;
invokevirtual java.awt.GraphicsDevice.getDefaultConfiguration:()Ljava/awt/GraphicsConfiguration;
8: astore 3
start local 3 9: aload 3
instanceof sun.java2d.pipe.hw.AccelGraphicsConfig
ifeq 14
10: aload 3
checkcast sun.java2d.pipe.hw.AccelGraphicsConfig
astore 4
start local 4 11: aload 4
invokeinterface sun.java2d.pipe.hw.AccelGraphicsConfig.getContext:()Lsun/java2d/pipe/BufferedContext;
astore 5
start local 5 12: aload 5
ifnull 14
13: aload 5
invokevirtual sun.java2d.pipe.BufferedContext.getRenderQueue:()Lsun/java2d/pipe/RenderQueue;
astore 1
end local 5 end local 4 end local 3 14: StackMap locals: sun.java2d.pipe.RenderQueue java.awt.GraphicsEnvironment
StackMap stack:
aload 1
ifnull 23
15: aload 1
invokevirtual sun.java2d.pipe.RenderQueue.lock:()V
16: aload 1
new sun.font.StrikeCache$2
dup
aload 0
invokespecial sun.font.StrikeCache$2.<init>:(Lsun/font/FontStrikeDisposer;)V
invokevirtual sun.java2d.pipe.RenderQueue.flushAndInvokeNow:(Ljava/lang/Runnable;)V
17: goto 21
StackMap locals:
StackMap stack: java.lang.Throwable
18: astore 3
19: aload 1
invokevirtual sun.java2d.pipe.RenderQueue.unlock:()V
20: aload 3
athrow
21: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.java2d.pipe.RenderQueue.unlock:()V
22: goto 24
23: StackMap locals:
StackMap stack:
aload 0
invokestatic sun.font.StrikeCache.doDispose:(Lsun/font/FontStrikeDisposer;)V
24: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 disposer Lsun/font/FontStrikeDisposer;
4 25 1 rq Lsun/java2d/pipe/RenderQueue;
6 25 2 ge Ljava/awt/GraphicsEnvironment;
9 14 3 gc Ljava/awt/GraphicsConfiguration;
11 14 4 agc Lsun/java2d/pipe/hw/AccelGraphicsConfig;
12 14 5 bc Lsun/java2d/pipe/BufferedContext;
Exception table:
from to target type
16 18 18 any
MethodParameters:
Name Flags
disposer final
static native void freeIntPointer(int);
descriptor: (I)V
flags: (0x0108) ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
ptr
static native void freeLongPointer(long);
descriptor: (J)V
flags: (0x0108) ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
ptr
private static native void freeIntMemory(int[], long);
descriptor: ([IJ)V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
glyphPtrs
pContext
private static native void freeLongMemory(long[], long);
descriptor: ([JJ)V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
glyphPtrs
pContext
private static void freeCachedIntMemory(int[], long);
descriptor: ([IJ)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: getstatic sun.font.StrikeCache.disposeListeners:Ljava/util/ArrayList;
dup
astore 3
monitorenter
1: getstatic sun.font.StrikeCache.disposeListeners:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
ifle 13
2: aconst_null
astore 4
start local 4 3: iconst_0
istore 5
start local 5 4: goto 10
5: StackMap locals: java.util.ArrayList java.util.ArrayList int
StackMap stack:
aload 0
iload 5
iaload
ifeq 9
getstatic sun.font.StrikeCache.unsafe:Ljdk/internal/misc/Unsafe;
aload 0
iload 5
iaload
getstatic sun.font.StrikeCache.managedOffset:I
iadd
i2l
invokevirtual jdk.internal.misc.Unsafe.getByte:(J)B
ifne 9
6: aload 4
ifnonnull 8
7: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
8: StackMap locals:
StackMap stack:
aload 4
aload 0
iload 5
iaload
i2l
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
9: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
10: iload 5
aload 0
arraylength
if_icmplt 5
end local 5 11: aload 4
ifnull 13
12: aload 4
invokestatic sun.font.StrikeCache.notifyDisposeListeners:(Ljava/util/ArrayList;)V
end local 4 13: StackMap locals:
StackMap stack:
aload 3
monitorexit
14: goto 17
StackMap locals:
StackMap stack: java.lang.Throwable
15: aload 3
monitorexit
16: athrow
17: StackMap locals:
StackMap stack:
aload 0
lload 1
invokestatic sun.font.StrikeCache.freeIntMemory:([IJ)V
18: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 glyphPtrs [I
0 19 1 pContext J
3 13 4 gids Ljava/util/ArrayList<Ljava/lang/Long;>;
4 11 5 i I
Exception table:
from to target type
1 14 15 any
15 16 15 any
MethodParameters:
Name Flags
glyphPtrs
pContext
private static void freeCachedLongMemory(long[], long);
descriptor: ([JJ)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: getstatic sun.font.StrikeCache.disposeListeners:Ljava/util/ArrayList;
dup
astore 3
monitorenter
1: getstatic sun.font.StrikeCache.disposeListeners:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
ifle 14
2: aconst_null
astore 4
start local 4 3: iconst_0
istore 5
start local 5 4: goto 11
5: StackMap locals: java.util.ArrayList java.util.ArrayList int
StackMap stack:
aload 0
iload 5
laload
lconst_0
lcmp
ifeq 10
6: getstatic sun.font.StrikeCache.unsafe:Ljdk/internal/misc/Unsafe;
aload 0
iload 5
laload
getstatic sun.font.StrikeCache.managedOffset:I
i2l
ladd
invokevirtual jdk.internal.misc.Unsafe.getByte:(J)B
ifne 10
7: aload 4
ifnonnull 9
8: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
9: StackMap locals:
StackMap stack:
aload 4
aload 0
iload 5
laload
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
10: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
11: iload 5
aload 0
arraylength
if_icmplt 5
end local 5 12: aload 4
ifnull 14
13: aload 4
invokestatic sun.font.StrikeCache.notifyDisposeListeners:(Ljava/util/ArrayList;)V
end local 4 14: StackMap locals:
StackMap stack:
aload 3
monitorexit
15: goto 18
StackMap locals:
StackMap stack: java.lang.Throwable
16: aload 3
monitorexit
17: athrow
18: StackMap locals:
StackMap stack:
aload 0
lload 1
invokestatic sun.font.StrikeCache.freeLongMemory:([JJ)V
19: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 glyphPtrs [J
0 20 1 pContext J
3 14 4 gids Ljava/util/ArrayList<Ljava/lang/Long;>;
4 12 5 i I
Exception table:
from to target type
1 15 16 any
16 17 16 any
MethodParameters:
Name Flags
glyphPtrs
pContext
public static void addGlyphDisposedListener(sun.font.GlyphDisposedListener);
descriptor: (Lsun/font/GlyphDisposedListener;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic sun.font.StrikeCache.disposeListeners:Ljava/util/ArrayList;
dup
astore 1
monitorenter
1: getstatic sun.font.StrikeCache.disposeListeners:Ljava/util/ArrayList;
aload 0
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
2: aload 1
monitorexit
3: goto 6
StackMap locals: sun.font.GlyphDisposedListener java.util.ArrayList
StackMap stack: java.lang.Throwable
4: aload 1
monitorexit
5: athrow
6: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 listener Lsun/font/GlyphDisposedListener;
Exception table:
from to target type
1 3 4 any
4 5 4 any
MethodParameters:
Name Flags
listener
private static void notifyDisposeListeners(java.util.ArrayList<java.lang.Long>);
descriptor: (Ljava/util/ArrayList;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: getstatic sun.font.StrikeCache.disposeListeners:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 2
goto 3
StackMap locals: java.util.ArrayList top java.util.Iterator
StackMap stack:
1: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.font.GlyphDisposedListener
astore 1
start local 1 2: aload 1
aload 0
invokeinterface sun.font.GlyphDisposedListener.glyphDisposed:(Ljava/util/ArrayList;)V
end local 1 3: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 glyphs Ljava/util/ArrayList<Ljava/lang/Long;>;
2 3 1 listener Lsun/font/GlyphDisposedListener;
Signature: (Ljava/util/ArrayList<Ljava/lang/Long;>;)V
MethodParameters:
Name Flags
glyphs
public static java.lang.ref.Reference<sun.font.FontStrike> getStrikeRef(sun.font.FontStrike);
descriptor: (Lsun/font/FontStrike;)Ljava/lang/ref/Reference;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic sun.font.StrikeCache.cacheRefTypeWeak:Z
invokestatic sun.font.StrikeCache.getStrikeRef:(Lsun/font/FontStrike;Z)Ljava/lang/ref/Reference;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 strike Lsun/font/FontStrike;
Signature: (Lsun/font/FontStrike;)Ljava/lang/ref/Reference<Lsun/font/FontStrike;>;
MethodParameters:
Name Flags
strike
public static java.lang.ref.Reference<sun.font.FontStrike> getStrikeRef(sun.font.FontStrike, boolean);
descriptor: (Lsun/font/FontStrike;Z)Ljava/lang/ref/Reference;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.font.FontStrike.disposer:Lsun/font/FontStrikeDisposer;
ifnonnull 4
1: iload 1
ifeq 3
2: new java.lang.ref.WeakReference
dup
aload 0
invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
areturn
3: StackMap locals:
StackMap stack:
new java.lang.ref.SoftReference
dup
aload 0
invokespecial java.lang.ref.SoftReference.<init>:(Ljava/lang/Object;)V
areturn
4: StackMap locals:
StackMap stack:
iload 1
ifeq 6
5: new sun.font.StrikeCache$WeakDisposerRef
dup
aload 0
invokespecial sun.font.StrikeCache$WeakDisposerRef.<init>:(Lsun/font/FontStrike;)V
areturn
6: StackMap locals:
StackMap stack:
new sun.font.StrikeCache$SoftDisposerRef
dup
aload 0
invokespecial sun.font.StrikeCache$SoftDisposerRef.<init>:(Lsun/font/FontStrike;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 strike Lsun/font/FontStrike;
0 7 1 weak Z
Signature: (Lsun/font/FontStrike;Z)Ljava/lang/ref/Reference<Lsun/font/FontStrike;>;
MethodParameters:
Name Flags
strike
weak
}
SourceFile: "StrikeCache.java"
NestMembers:
sun.font.StrikeCache$1 sun.font.StrikeCache$2 sun.font.StrikeCache$DisposableStrike sun.font.StrikeCache$SoftDisposerRef sun.font.StrikeCache$WeakDisposerRef
InnerClasses:
sun.font.StrikeCache$1
sun.font.StrikeCache$2
abstract DisposableStrike = sun.font.StrikeCache$DisposableStrike of sun.font.StrikeCache
SoftDisposerRef = sun.font.StrikeCache$SoftDisposerRef of sun.font.StrikeCache
WeakDisposerRef = sun.font.StrikeCache$WeakDisposerRef of sun.font.StrikeCache