public class com.sun.scenario.effect.impl.ImagePool
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.scenario.effect.impl.ImagePool
super_class: java.lang.Object
{
public static long numEffects;
descriptor: J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
static long numCreated;
descriptor: J
flags: (0x0008) ACC_STATIC
static long pixelsCreated;
descriptor: J
flags: (0x0008) ACC_STATIC
static long numAccessed;
descriptor: J
flags: (0x0008) ACC_STATIC
static long pixelsAccessed;
descriptor: J
flags: (0x0008) ACC_STATIC
static final int QUANT;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 32
private final java.util.List<java.lang.ref.SoftReference<com.sun.scenario.effect.impl.PoolFilterable>> unlocked;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Ljava/lang/ref/SoftReference<Lcom/sun/scenario/effect/impl/PoolFilterable;>;>;
private final java.util.List<java.lang.ref.SoftReference<com.sun.scenario.effect.impl.PoolFilterable>> locked;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Ljava/lang/ref/SoftReference<Lcom/sun/scenario/effect/impl/PoolFilterable;>;>;
private final boolean usePurgatory;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.List<com.sun.scenario.effect.Filterable> hardPurgatory;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Lcom/sun/scenario/effect/Filterable;>;
private final java.util.List<java.lang.ref.SoftReference<com.sun.scenario.effect.impl.PoolFilterable>> softPurgatory;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Ljava/lang/ref/SoftReference<Lcom/sun/scenario/effect/impl/PoolFilterable;>;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokedynamic run()Ljava/security/PrivilegedAction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
com/sun/scenario/effect/impl/ImagePool.lambda$0()Ljava/lang/Object; (6)
()Ljava/lang/Object;
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
1: return
LocalVariableTable:
Start End Slot Name Signature
static void printStats();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=4, args_size=0
0: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "effects executed: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic com.sun.scenario.effect.impl.ImagePool.numEffects:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
1: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "images created: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic com.sun.scenario.effect.impl.ImagePool.numCreated:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "pixels created: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic com.sun.scenario.effect.impl.ImagePool.pixelsCreated:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
3: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "images accessed: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic com.sun.scenario.effect.impl.ImagePool.numAccessed:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
4: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "pixels accessed: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic com.sun.scenario.effect.impl.ImagePool.pixelsAccessed:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
5: getstatic com.sun.scenario.effect.impl.ImagePool.numEffects:J
lconst_0
lcmp
ifeq 10
6: getstatic com.sun.scenario.effect.impl.ImagePool.numAccessed:J
l2d
getstatic com.sun.scenario.effect.impl.ImagePool.numEffects:J
l2d
ddiv
dstore 0
start local 0 7: getstatic com.sun.scenario.effect.impl.ImagePool.pixelsAccessed:J
l2d
getstatic com.sun.scenario.effect.impl.ImagePool.numEffects:J
l2d
ddiv
dstore 2
start local 2 8: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "images per effect: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
dload 0
invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
9: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "pixels per effect: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
dload 2
invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 2 end local 0 10: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
7 10 0 avgImgs D
8 10 2 avgPxls D
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
2: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.sun.scenario.effect.impl.ImagePool.unlocked:Ljava/util/List;
3: aload 0
4: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.sun.scenario.effect.impl.ImagePool.locked:Ljava/util/List;
5: aload 0
ldc "decora.purgatory"
invokestatic java.lang.Boolean.getBoolean:(Ljava/lang/String;)Z
putfield com.sun.scenario.effect.impl.ImagePool.usePurgatory:Z
6: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.sun.scenario.effect.impl.ImagePool.hardPurgatory:Ljava/util/List;
7: aload 0
8: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.sun.scenario.effect.impl.ImagePool.softPurgatory:Ljava/util/List;
9: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/scenario/effect/impl/ImagePool;
public synchronized com.sun.scenario.effect.impl.PoolFilterable checkOut(com.sun.scenario.effect.impl.Renderer, int, int);
descriptor: (Lcom/sun/scenario/effect/impl/Renderer;II)Lcom/sun/scenario/effect/impl/PoolFilterable;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=6, locals=13, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
ifle 1
iload 3
ifgt 2
1: StackMap locals:
StackMap stack:
iconst_1
dup
istore 3
istore 2
2: StackMap locals:
StackMap stack:
iload 2
bipush 32
iadd
iconst_1
isub
bipush 32
idiv
bipush 32
imul
istore 2
3: iload 3
bipush 32
iadd
iconst_1
isub
bipush 32
idiv
bipush 32
imul
istore 3
4: aload 1
iload 2
invokevirtual com.sun.scenario.effect.impl.Renderer.getCompatibleWidth:(I)I
istore 2
5: aload 1
iload 3
invokevirtual com.sun.scenario.effect.impl.Renderer.getCompatibleHeight:(I)I
istore 3
6: getstatic com.sun.scenario.effect.impl.ImagePool.numAccessed:J
lconst_1
ladd
putstatic com.sun.scenario.effect.impl.ImagePool.numAccessed:J
7: getstatic com.sun.scenario.effect.impl.ImagePool.pixelsAccessed:J
iload 2
i2l
iload 3
i2l
lmul
ladd
putstatic com.sun.scenario.effect.impl.ImagePool.pixelsAccessed:J
8: aconst_null
astore 4
start local 4 9: aconst_null
astore 5
start local 5 10: ldc 2147483647
istore 6
start local 6 11: aload 0
getfield com.sun.scenario.effect.impl.ImagePool.unlocked:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
start local 7 12: goto 32
13: StackMap locals: com.sun.scenario.effect.impl.ImagePool com.sun.scenario.effect.impl.Renderer int int java.lang.ref.SoftReference com.sun.scenario.effect.impl.PoolFilterable int java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.ref.SoftReference
astore 8
start local 8 14: aload 8
invokevirtual java.lang.ref.SoftReference.get:()Ljava/lang/Object;
checkcast com.sun.scenario.effect.impl.PoolFilterable
astore 9
start local 9 15: aload 9
ifnonnull 18
16: aload 7
invokeinterface java.util.Iterator.remove:()V
17: goto 32
18: StackMap locals: java.lang.ref.SoftReference com.sun.scenario.effect.impl.PoolFilterable
StackMap stack:
aload 9
invokeinterface com.sun.scenario.effect.impl.PoolFilterable.getMaxContentWidth:()I
istore 10
start local 10 19: aload 9
invokeinterface com.sun.scenario.effect.impl.PoolFilterable.getMaxContentHeight:()I
istore 11
start local 11 20: iload 10
iload 2
if_icmplt 32
iload 11
iload 3
if_icmplt 32
iload 10
iload 11
imul
iconst_2
idiv
iload 2
iload 3
imul
if_icmpgt 32
21: iload 10
iload 2
isub
iload 11
iload 3
isub
imul
istore 12
start local 12 22: aload 4
ifnull 23
iload 12
iload 6
if_icmpge 32
23: StackMap locals: int int int
StackMap stack:
aload 9
invokeinterface com.sun.scenario.effect.impl.PoolFilterable.lock:()V
24: aload 9
invokeinterface com.sun.scenario.effect.impl.PoolFilterable.isLost:()Z
ifeq 27
25: aload 7
invokeinterface java.util.Iterator.remove:()V
26: goto 32
27: StackMap locals:
StackMap stack:
aload 5
ifnull 29
28: aload 5
invokeinterface com.sun.scenario.effect.impl.PoolFilterable.unlock:()V
29: StackMap locals:
StackMap stack:
aload 8
astore 4
30: aload 9
astore 5
31: iload 12
istore 6
end local 12 end local 11 end local 10 end local 9 end local 8 32: StackMap locals: com.sun.scenario.effect.impl.ImagePool com.sun.scenario.effect.impl.Renderer int int java.lang.ref.SoftReference com.sun.scenario.effect.impl.PoolFilterable int java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 13
33: aload 4
ifnull 38
34: aload 0
getfield com.sun.scenario.effect.impl.ImagePool.unlocked:Ljava/util/List;
aload 4
invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
pop
35: aload 0
getfield com.sun.scenario.effect.impl.ImagePool.locked:Ljava/util/List;
aload 4
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
36: aload 1
aload 5
invokevirtual com.sun.scenario.effect.impl.Renderer.clearImage:(Lcom/sun/scenario/effect/Filterable;)V
37: aload 5
areturn
38: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.scenario.effect.impl.ImagePool.locked:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
39: goto 44
40: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.ref.SoftReference
astore 8
start local 8 41: aload 8
invokevirtual java.lang.ref.SoftReference.get:()Ljava/lang/Object;
checkcast com.sun.scenario.effect.Filterable
astore 9
start local 9 42: aload 9
ifnonnull 44
43: aload 7
invokeinterface java.util.Iterator.remove:()V
end local 9 end local 8 44: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 40
45: aconst_null
astore 8
start local 8 46: aload 1
iload 2
iload 3
invokevirtual com.sun.scenario.effect.impl.Renderer.createCompatibleImage:(II)Lcom/sun/scenario/effect/impl/PoolFilterable;
astore 8
47: goto 49
StackMap locals: com.sun.scenario.effect.impl.ImagePool com.sun.scenario.effect.impl.Renderer int int java.lang.ref.SoftReference com.sun.scenario.effect.impl.PoolFilterable int java.util.Iterator com.sun.scenario.effect.impl.PoolFilterable
StackMap stack: java.lang.OutOfMemoryError
48: pop
49: StackMap locals:
StackMap stack:
aload 8
ifnonnull 54
50: aload 0
invokevirtual com.sun.scenario.effect.impl.ImagePool.pruneCache:()V
51: aload 1
iload 2
iload 3
invokevirtual com.sun.scenario.effect.impl.Renderer.createCompatibleImage:(II)Lcom/sun/scenario/effect/impl/PoolFilterable;
astore 8
52: goto 54
StackMap locals:
StackMap stack: java.lang.OutOfMemoryError
53: pop
54: StackMap locals:
StackMap stack:
aload 8
ifnull 59
55: aload 8
aload 0
invokeinterface com.sun.scenario.effect.impl.PoolFilterable.setImagePool:(Lcom/sun/scenario/effect/impl/ImagePool;)V
56: aload 0
getfield com.sun.scenario.effect.impl.ImagePool.locked:Ljava/util/List;
new java.lang.ref.SoftReference
dup
aload 8
invokespecial java.lang.ref.SoftReference.<init>:(Ljava/lang/Object;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
57: getstatic com.sun.scenario.effect.impl.ImagePool.numCreated:J
lconst_1
ladd
putstatic com.sun.scenario.effect.impl.ImagePool.numCreated:J
58: getstatic com.sun.scenario.effect.impl.ImagePool.pixelsCreated:J
iload 2
i2l
iload 3
i2l
lmul
ladd
putstatic com.sun.scenario.effect.impl.ImagePool.pixelsCreated:J
59: StackMap locals:
StackMap stack:
aload 8
areturn
end local 8 end local 7 end local 6 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 60 0 this Lcom/sun/scenario/effect/impl/ImagePool;
0 60 1 renderer Lcom/sun/scenario/effect/impl/Renderer;
0 60 2 w I
0 60 3 h I
9 60 4 chosenEntry Ljava/lang/ref/SoftReference<Lcom/sun/scenario/effect/impl/PoolFilterable;>;
10 60 5 chosenImage Lcom/sun/scenario/effect/impl/PoolFilterable;
11 60 6 mindiff I
12 60 7 entries Ljava/util/Iterator<Ljava/lang/ref/SoftReference<Lcom/sun/scenario/effect/impl/PoolFilterable;>;>;
14 32 8 entry Ljava/lang/ref/SoftReference<Lcom/sun/scenario/effect/impl/PoolFilterable;>;
15 32 9 eimg Lcom/sun/scenario/effect/impl/PoolFilterable;
19 32 10 ew I
20 32 11 eh I
22 32 12 diff I
41 44 8 entry Ljava/lang/ref/SoftReference<Lcom/sun/scenario/effect/impl/PoolFilterable;>;
42 44 9 eimg Lcom/sun/scenario/effect/Filterable;
46 60 8 img Lcom/sun/scenario/effect/impl/PoolFilterable;
Exception table:
from to target type
46 47 48 Class java.lang.OutOfMemoryError
51 52 53 Class java.lang.OutOfMemoryError
MethodParameters:
Name Flags
renderer
w
h
public synchronized void checkIn(com.sun.scenario.effect.impl.PoolFilterable);
descriptor: (Lcom/sun/scenario/effect/impl/PoolFilterable;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=7, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aconst_null
astore 3
start local 3 2: aload 0
getfield com.sun.scenario.effect.impl.ImagePool.locked:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
start local 4 3: goto 14
4: StackMap locals: java.lang.ref.SoftReference com.sun.scenario.effect.Filterable java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.ref.SoftReference
astore 5
start local 5 5: aload 5
invokevirtual java.lang.ref.SoftReference.get:()Ljava/lang/Object;
checkcast com.sun.scenario.effect.Filterable
astore 6
start local 6 6: aload 6
ifnonnull 9
7: aload 4
invokeinterface java.util.Iterator.remove:()V
8: goto 14
StackMap locals: java.lang.ref.SoftReference com.sun.scenario.effect.Filterable
StackMap stack:
9: aload 6
aload 1
if_acmpne 14
10: aload 5
astore 2
11: aload 6
astore 3
12: aload 1
invokeinterface com.sun.scenario.effect.impl.PoolFilterable.unlock:()V
13: goto 15
end local 6 end local 5 14: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
15: StackMap locals:
StackMap stack:
aload 2
ifnull 22
16: aload 0
getfield com.sun.scenario.effect.impl.ImagePool.locked:Ljava/util/List;
aload 2
invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
pop
17: aload 0
getfield com.sun.scenario.effect.impl.ImagePool.usePurgatory:Z
ifeq 21
18: aload 0
getfield com.sun.scenario.effect.impl.ImagePool.hardPurgatory:Ljava/util/List;
aload 3
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
19: aload 0
getfield com.sun.scenario.effect.impl.ImagePool.softPurgatory:Ljava/util/List;
aload 2
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
20: goto 22
21: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.scenario.effect.impl.ImagePool.unlocked:Ljava/util/List;
aload 2
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
22: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lcom/sun/scenario/effect/impl/ImagePool;
0 23 1 img Lcom/sun/scenario/effect/impl/PoolFilterable;
1 23 2 chosenEntry Ljava/lang/ref/SoftReference<Lcom/sun/scenario/effect/impl/PoolFilterable;>;
2 23 3 chosenImage Lcom/sun/scenario/effect/Filterable;
3 23 4 entries Ljava/util/Iterator<Ljava/lang/ref/SoftReference<Lcom/sun/scenario/effect/impl/PoolFilterable;>;>;
5 14 5 entry Ljava/lang/ref/SoftReference<Lcom/sun/scenario/effect/impl/PoolFilterable;>;
6 14 6 eimg Lcom/sun/scenario/effect/Filterable;
MethodParameters:
Name Flags
img
public synchronized void releasePurgatory();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.scenario.effect.impl.ImagePool.usePurgatory:Z
ifeq 4
aload 0
getfield com.sun.scenario.effect.impl.ImagePool.softPurgatory:Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifne 4
1: aload 0
getfield com.sun.scenario.effect.impl.ImagePool.unlocked:Ljava/util/List;
aload 0
getfield com.sun.scenario.effect.impl.ImagePool.softPurgatory:Ljava/util/List;
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
2: aload 0
getfield com.sun.scenario.effect.impl.ImagePool.softPurgatory:Ljava/util/List;
invokeinterface java.util.List.clear:()V
3: aload 0
getfield com.sun.scenario.effect.impl.ImagePool.hardPurgatory:Ljava/util/List;
invokeinterface java.util.List.clear:()V
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/scenario/effect/impl/ImagePool;
private void pruneCache();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=4, args_size=1
start local 0 0: aload 0
getfield com.sun.scenario.effect.impl.ImagePool.unlocked:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 2
goto 5
StackMap locals: com.sun.scenario.effect.impl.ImagePool top java.util.Iterator
StackMap stack:
1: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.ref.SoftReference
astore 1
start local 1 2: aload 1
invokevirtual java.lang.ref.SoftReference.get:()Ljava/lang/Object;
checkcast com.sun.scenario.effect.Filterable
astore 3
start local 3 3: aload 3
ifnull 5
4: aload 3
invokeinterface com.sun.scenario.effect.Filterable.flush:()V
end local 3 end local 1 5: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
6: aload 0
getfield com.sun.scenario.effect.impl.ImagePool.unlocked:Ljava/util/List;
invokeinterface java.util.List.clear:()V
7: invokestatic java.lang.System.gc:()V
8: invokestatic java.lang.System.runFinalization:()V
9: invokestatic java.lang.System.gc:()V
10: invokestatic java.lang.System.runFinalization:()V
11: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/sun/scenario/effect/impl/ImagePool;
2 5 1 r Ljava/lang/ref/SoftReference<Lcom/sun/scenario/effect/impl/PoolFilterable;>;
3 5 3 image Lcom/sun/scenario/effect/Filterable;
public synchronized void dispose();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=4, args_size=1
start local 0 0: aload 0
getfield com.sun.scenario.effect.impl.ImagePool.unlocked:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 2
goto 5
StackMap locals: com.sun.scenario.effect.impl.ImagePool top java.util.Iterator
StackMap stack:
1: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.ref.SoftReference
astore 1
start local 1 2: aload 1
invokevirtual java.lang.ref.SoftReference.get:()Ljava/lang/Object;
checkcast com.sun.scenario.effect.Filterable
astore 3
start local 3 3: aload 3
ifnull 5
4: aload 3
invokeinterface com.sun.scenario.effect.Filterable.flush:()V
end local 3 end local 1 5: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
6: aload 0
getfield com.sun.scenario.effect.impl.ImagePool.unlocked:Ljava/util/List;
invokeinterface java.util.List.clear:()V
7: aload 0
getfield com.sun.scenario.effect.impl.ImagePool.locked:Ljava/util/List;
invokeinterface java.util.List.clear:()V
8: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/scenario/effect/impl/ImagePool;
2 5 1 r Ljava/lang/ref/SoftReference<Lcom/sun/scenario/effect/impl/PoolFilterable;>;
3 5 3 image Lcom/sun/scenario/effect/Filterable;
private static java.lang.Object lambda$0();
descriptor: ()Ljava/lang/Object;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=0, args_size=0
0: ldc "decora.showstats"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
ifnull 2
1: invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
new com.sun.scenario.effect.impl.ImagePool$1
dup
invokespecial com.sun.scenario.effect.impl.ImagePool$1.<init>:()V
invokevirtual java.lang.Runtime.addShutdownHook:(Ljava/lang/Thread;)V
2: StackMap locals:
StackMap stack:
aconst_null
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "ImagePool.java"
NestMembers:
com.sun.scenario.effect.impl.ImagePool$1
InnerClasses:
com.sun.scenario.effect.impl.ImagePool$1
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles