class sun.awt.image.ImageFetcher extends java.lang.Thread
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.awt.image.ImageFetcher
super_class: java.lang.Thread
{
static final int HIGH_PRIORITY;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 8
static final int LOW_PRIORITY;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 3
static final int ANIM_PRIORITY;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 2
static final int TIMEOUT;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 5000
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Thread.<init>:()V
1: new java.lang.UnsupportedOperationException
dup
ldc "Must erase locals"
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/awt/image/ImageFetcher;
private void <init>(java.lang.ThreadGroup, int);
descriptor: (Ljava/lang/ThreadGroup;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aconst_null
new java.lang.StringBuilder
dup
ldc "Image Fetcher "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
lconst_0
iconst_0
invokespecial java.lang.Thread.<init>:(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;Ljava/lang/String;JZ)V
1: aload 0
iconst_1
invokevirtual sun.awt.image.ImageFetcher.setDaemon:(Z)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/awt/image/ImageFetcher;
0 3 1 threadGroup Ljava/lang/ThreadGroup;
0 3 2 index I
MethodParameters:
Name Flags
threadGroup
index
public static boolean add(sun.awt.image.ImageFetchable);
descriptor: (Lsun/awt/image/ImageFetchable;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: invokestatic sun.awt.image.FetcherInfo.getFetcherInfo:()Lsun/awt/image/FetcherInfo;
astore 1
start local 1 1: aload 1
getfield sun.awt.image.FetcherInfo.waitList:Ljava/util/Vector;
dup
astore 2
monitorenter
2: aload 1
getfield sun.awt.image.FetcherInfo.waitList:Ljava/util/Vector;
aload 0
invokevirtual java.util.Vector.contains:(Ljava/lang/Object;)Z
ifne 13
3: aload 1
getfield sun.awt.image.FetcherInfo.waitList:Ljava/util/Vector;
aload 0
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
4: aload 1
getfield sun.awt.image.FetcherInfo.numWaiting:I
ifne 7
5: aload 1
getfield sun.awt.image.FetcherInfo.numFetchers:I
aload 1
getfield sun.awt.image.FetcherInfo.fetchers:[Ljava/lang/Thread;
arraylength
if_icmpge 7
6: aload 1
invokestatic sun.awt.image.ImageFetcher.createFetchers:(Lsun/awt/image/FetcherInfo;)V
7: StackMap locals: sun.awt.image.FetcherInfo java.util.Vector
StackMap stack:
aload 1
getfield sun.awt.image.FetcherInfo.numFetchers:I
ifle 10
8: aload 1
getfield sun.awt.image.FetcherInfo.waitList:Ljava/util/Vector;
invokevirtual java.lang.Object.notify:()V
9: goto 13
10: StackMap locals:
StackMap stack:
aload 1
getfield sun.awt.image.FetcherInfo.waitList:Ljava/util/Vector;
aload 0
invokevirtual java.util.Vector.removeElement:(Ljava/lang/Object;)Z
pop
11: aload 2
monitorexit
12: iconst_0
ireturn
13: StackMap locals:
StackMap stack:
aload 2
monitorexit
14: goto 17
StackMap locals:
StackMap stack: java.lang.Throwable
15: aload 2
monitorexit
16: athrow
17: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 src Lsun/awt/image/ImageFetchable;
1 18 1 info Lsun/awt/image/FetcherInfo;
Exception table:
from to target type
2 12 15 any
13 14 15 any
15 16 15 any
MethodParameters:
Name Flags
src
public static void remove(sun.awt.image.ImageFetchable);
descriptor: (Lsun/awt/image/ImageFetchable;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: invokestatic sun.awt.image.FetcherInfo.getFetcherInfo:()Lsun/awt/image/FetcherInfo;
astore 1
start local 1 1: aload 1
getfield sun.awt.image.FetcherInfo.waitList:Ljava/util/Vector;
dup
astore 2
monitorenter
2: aload 1
getfield sun.awt.image.FetcherInfo.waitList:Ljava/util/Vector;
aload 0
invokevirtual java.util.Vector.contains:(Ljava/lang/Object;)Z
ifeq 4
3: aload 1
getfield sun.awt.image.FetcherInfo.waitList:Ljava/util/Vector;
aload 0
invokevirtual java.util.Vector.removeElement:(Ljava/lang/Object;)Z
pop
4: StackMap locals: sun.awt.image.FetcherInfo java.util.Vector
StackMap stack:
aload 2
monitorexit
5: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
6: aload 2
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 src Lsun/awt/image/ImageFetchable;
1 9 1 info Lsun/awt/image/FetcherInfo;
Exception table:
from to target type
2 5 6 any
6 7 6 any
MethodParameters:
Name Flags
src
public static boolean isFetcher(java.lang.Thread);
descriptor: (Ljava/lang/Thread;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: invokestatic sun.awt.image.FetcherInfo.getFetcherInfo:()Lsun/awt/image/FetcherInfo;
astore 1
start local 1 1: aload 1
getfield sun.awt.image.FetcherInfo.waitList:Ljava/util/Vector;
dup
astore 2
monitorenter
2: iconst_0
istore 3
start local 3 3: goto 8
4: StackMap locals: sun.awt.image.FetcherInfo java.util.Vector int
StackMap stack:
aload 1
getfield sun.awt.image.FetcherInfo.fetchers:[Ljava/lang/Thread;
iload 3
aaload
aload 0
if_acmpne 7
5: aload 2
monitorexit
6: iconst_1
ireturn
7: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
8: iload 3
aload 1
getfield sun.awt.image.FetcherInfo.fetchers:[Ljava/lang/Thread;
arraylength
if_icmplt 4
end local 3 9: aload 2
monitorexit
10: goto 13
StackMap locals: java.lang.Thread sun.awt.image.FetcherInfo java.util.Vector
StackMap stack: java.lang.Throwable
11: aload 2
monitorexit
12: athrow
13: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 t Ljava/lang/Thread;
1 14 1 info Lsun/awt/image/FetcherInfo;
3 9 3 i I
Exception table:
from to target type
2 6 11 any
7 10 11 any
11 12 11 any
MethodParameters:
Name Flags
t
public static boolean amFetcher();
descriptor: ()Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokestatic sun.awt.image.ImageFetcher.isFetcher:(Ljava/lang/Thread;)Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
private static sun.awt.image.ImageFetchable nextImage();
descriptor: ()Lsun/awt/image/ImageFetchable;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=8, args_size=0
0: invokestatic sun.awt.image.FetcherInfo.getFetcherInfo:()Lsun/awt/image/FetcherInfo;
astore 0
start local 0 1: aload 0
getfield sun.awt.image.FetcherInfo.waitList:Ljava/util/Vector;
dup
astore 1
monitorenter
2: aconst_null
astore 2
start local 2 3: invokestatic java.lang.System.currentTimeMillis:()J
ldc 5000
ladd
lstore 3
start local 3 4: goto 23
5: StackMap locals: sun.awt.image.FetcherInfo java.util.Vector sun.awt.image.ImageFetchable long
StackMap stack:
invokestatic java.lang.System.currentTimeMillis:()J
lstore 5
start local 5 6: lload 5
lload 3
lcmp
iflt 9
7: aload 1
monitorexit
8: aconst_null
areturn
9: StackMap locals: long
StackMap stack:
aload 0
dup
getfield sun.awt.image.FetcherInfo.numWaiting:I
iconst_1
iadd
putfield sun.awt.image.FetcherInfo.numWaiting:I
10: aload 0
getfield sun.awt.image.FetcherInfo.waitList:Ljava/util/Vector;
lload 3
lload 5
lsub
invokevirtual java.lang.Object.wait:(J)V
11: goto 18
StackMap locals:
StackMap stack: java.lang.InterruptedException
12: pop
13: aload 0
dup
getfield sun.awt.image.FetcherInfo.numWaiting:I
iconst_1
isub
putfield sun.awt.image.FetcherInfo.numWaiting:I
aload 1
monitorexit
14: aconst_null
areturn
15: StackMap locals:
StackMap stack: java.lang.Throwable
astore 7
16: aload 0
dup
getfield sun.awt.image.FetcherInfo.numWaiting:I
iconst_1
isub
putfield sun.awt.image.FetcherInfo.numWaiting:I
17: aload 7
athrow
18: StackMap locals:
StackMap stack:
aload 0
dup
getfield sun.awt.image.FetcherInfo.numWaiting:I
iconst_1
isub
putfield sun.awt.image.FetcherInfo.numWaiting:I
end local 5 19: StackMap locals:
StackMap stack:
aload 0
20: getfield sun.awt.image.FetcherInfo.waitList:Ljava/util/Vector;
invokevirtual java.util.Vector.size:()I
ifeq 5
21: aload 0
getfield sun.awt.image.FetcherInfo.waitList:Ljava/util/Vector;
iconst_0
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
checkcast sun.awt.image.ImageFetchable
astore 2
22: aload 0
getfield sun.awt.image.FetcherInfo.waitList:Ljava/util/Vector;
aload 2
invokevirtual java.util.Vector.removeElement:(Ljava/lang/Object;)Z
pop
23: StackMap locals:
StackMap stack:
aload 2
ifnull 19
24: aload 2
aload 1
monitorexit
25: areturn
end local 3 end local 2 26: StackMap locals: sun.awt.image.FetcherInfo java.util.Vector
StackMap stack: java.lang.Throwable
aload 1
monitorexit
27: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 28 0 info Lsun/awt/image/FetcherInfo;
3 26 2 src Lsun/awt/image/ImageFetchable;
4 26 3 end J
6 19 5 now J
Exception table:
from to target type
9 11 12 Class java.lang.InterruptedException
9 13 15 any
2 8 26 any
9 14 26 any
15 25 26 any
26 27 26 any
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=1
start local 0 0: invokestatic sun.awt.image.FetcherInfo.getFetcherInfo:()Lsun/awt/image/FetcherInfo;
astore 1
start local 1 1: aload 0
invokevirtual sun.awt.image.ImageFetcher.fetchloop:()V
2: goto 33
StackMap locals: sun.awt.image.ImageFetcher sun.awt.image.FetcherInfo
StackMap stack: java.lang.Exception
3: astore 2
start local 2 4: aload 2
invokevirtual java.lang.Exception.printStackTrace:()V
end local 2 5: aload 1
getfield sun.awt.image.FetcherInfo.waitList:Ljava/util/Vector;
dup
astore 4
monitorenter
6: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
astore 5
start local 5 7: iconst_0
istore 6
start local 6 8: goto 13
9: StackMap locals: sun.awt.image.ImageFetcher sun.awt.image.FetcherInfo top top java.util.Vector java.lang.Thread int
StackMap stack:
aload 1
getfield sun.awt.image.FetcherInfo.fetchers:[Ljava/lang/Thread;
iload 6
aaload
aload 5
if_acmpne 12
10: aload 1
getfield sun.awt.image.FetcherInfo.fetchers:[Ljava/lang/Thread;
iload 6
aconst_null
aastore
11: aload 1
dup
getfield sun.awt.image.FetcherInfo.numFetchers:I
iconst_1
isub
putfield sun.awt.image.FetcherInfo.numFetchers:I
12: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
13: iload 6
aload 1
getfield sun.awt.image.FetcherInfo.fetchers:[Ljava/lang/Thread;
arraylength
if_icmplt 9
end local 6 end local 5 14: aload 4
monitorexit
15: goto 46
StackMap locals: sun.awt.image.ImageFetcher sun.awt.image.FetcherInfo top top java.util.Vector
StackMap stack: java.lang.Throwable
16: aload 4
monitorexit
17: athrow
18: StackMap locals: sun.awt.image.ImageFetcher sun.awt.image.FetcherInfo
StackMap stack: java.lang.Throwable
astore 3
19: aload 1
getfield sun.awt.image.FetcherInfo.waitList:Ljava/util/Vector;
dup
astore 4
monitorenter
20: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
astore 5
start local 5 21: iconst_0
istore 6
start local 6 22: goto 27
23: StackMap locals: sun.awt.image.ImageFetcher sun.awt.image.FetcherInfo top java.lang.Throwable java.util.Vector java.lang.Thread int
StackMap stack:
aload 1
getfield sun.awt.image.FetcherInfo.fetchers:[Ljava/lang/Thread;
iload 6
aaload
aload 5
if_acmpne 26
24: aload 1
getfield sun.awt.image.FetcherInfo.fetchers:[Ljava/lang/Thread;
iload 6
aconst_null
aastore
25: aload 1
dup
getfield sun.awt.image.FetcherInfo.numFetchers:I
iconst_1
isub
putfield sun.awt.image.FetcherInfo.numFetchers:I
26: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
27: iload 6
aload 1
getfield sun.awt.image.FetcherInfo.fetchers:[Ljava/lang/Thread;
arraylength
if_icmplt 23
end local 6 end local 5 28: aload 4
monitorexit
29: goto 32
StackMap locals: sun.awt.image.ImageFetcher sun.awt.image.FetcherInfo top java.lang.Throwable java.util.Vector
StackMap stack: java.lang.Throwable
30: aload 4
monitorexit
31: athrow
32: StackMap locals:
StackMap stack:
aload 3
athrow
33: StackMap locals: sun.awt.image.ImageFetcher sun.awt.image.FetcherInfo
StackMap stack:
aload 1
getfield sun.awt.image.FetcherInfo.waitList:Ljava/util/Vector;
dup
astore 4
monitorenter
34: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
astore 5
start local 5 35: iconst_0
istore 6
start local 6 36: goto 41
37: StackMap locals: sun.awt.image.ImageFetcher sun.awt.image.FetcherInfo top top java.util.Vector java.lang.Thread int
StackMap stack:
aload 1
getfield sun.awt.image.FetcherInfo.fetchers:[Ljava/lang/Thread;
iload 6
aaload
aload 5
if_acmpne 40
38: aload 1
getfield sun.awt.image.FetcherInfo.fetchers:[Ljava/lang/Thread;
iload 6
aconst_null
aastore
39: aload 1
dup
getfield sun.awt.image.FetcherInfo.numFetchers:I
iconst_1
isub
putfield sun.awt.image.FetcherInfo.numFetchers:I
40: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
41: iload 6
aload 1
getfield sun.awt.image.FetcherInfo.fetchers:[Ljava/lang/Thread;
arraylength
if_icmplt 37
end local 6 end local 5 42: aload 4
monitorexit
43: goto 46
StackMap locals: sun.awt.image.ImageFetcher sun.awt.image.FetcherInfo top top java.util.Vector
StackMap stack: java.lang.Throwable
44: aload 4
monitorexit
45: athrow
46: StackMap locals: sun.awt.image.ImageFetcher sun.awt.image.FetcherInfo
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 47 0 this Lsun/awt/image/ImageFetcher;
1 47 1 info Lsun/awt/image/FetcherInfo;
4 5 2 e Ljava/lang/Exception;
7 14 5 me Ljava/lang/Thread;
21 28 5 me Ljava/lang/Thread;
35 42 5 me Ljava/lang/Thread;
8 14 6 i I
22 28 6 i I
36 42 6 i I
Exception table:
from to target type
1 2 3 Class java.lang.Exception
6 15 16 any
16 17 16 any
1 5 18 any
20 29 30 any
30 31 30 any
34 43 44 any
44 45 44 any
private void fetchloop();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=1
start local 0 0: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
astore 1
start local 1 1: goto 13
2: StackMap locals: java.lang.Thread
StackMap stack:
invokestatic java.lang.Thread.interrupted:()Z
pop
3: aload 1
bipush 8
invokevirtual java.lang.Thread.setPriority:(I)V
4: invokestatic sun.awt.image.ImageFetcher.nextImage:()Lsun/awt/image/ImageFetchable;
astore 2
start local 2 5: aload 2
ifnonnull 7
6: return
7: StackMap locals: sun.awt.image.ImageFetchable
StackMap stack:
aload 2
invokeinterface sun.awt.image.ImageFetchable.doFetch:()V
8: goto 12
StackMap locals:
StackMap stack: java.lang.Exception
9: astore 3
start local 3 10: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc "Uncaught error fetching image:"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
11: aload 3
invokevirtual java.lang.Exception.printStackTrace:()V
end local 3 12: StackMap locals:
StackMap stack:
aload 1
invokestatic sun.awt.image.ImageFetcher.stoppingAnimation:(Ljava/lang/Thread;)V
end local 2 13: StackMap locals:
StackMap stack:
aload 1
invokestatic sun.awt.image.ImageFetcher.isFetcher:(Ljava/lang/Thread;)Z
ifne 2
14: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lsun/awt/image/ImageFetcher;
1 15 1 me Ljava/lang/Thread;
5 13 2 src Lsun/awt/image/ImageFetchable;
10 12 3 e Ljava/lang/Exception;
Exception table:
from to target type
7 8 9 Class java.lang.Exception
static void startingAnimation();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=4, args_size=0
0: invokestatic sun.awt.image.FetcherInfo.getFetcherInfo:()Lsun/awt/image/FetcherInfo;
astore 0
start local 0 1: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
astore 1
start local 1 2: aload 0
getfield sun.awt.image.FetcherInfo.waitList:Ljava/util/Vector;
dup
astore 2
monitorenter
3: iconst_0
istore 3
start local 3 4: goto 14
5: StackMap locals: sun.awt.image.FetcherInfo java.lang.Thread java.util.Vector int
StackMap stack:
aload 0
getfield sun.awt.image.FetcherInfo.fetchers:[Ljava/lang/Thread;
iload 3
aaload
aload 1
if_acmpne 13
6: aload 0
getfield sun.awt.image.FetcherInfo.fetchers:[Ljava/lang/Thread;
iload 3
aconst_null
aastore
7: aload 0
dup
getfield sun.awt.image.FetcherInfo.numFetchers:I
iconst_1
isub
putfield sun.awt.image.FetcherInfo.numFetchers:I
8: aload 1
new java.lang.StringBuilder
dup
ldc "Image Animator "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.Thread.setName:(Ljava/lang/String;)V
9: aload 0
getfield sun.awt.image.FetcherInfo.waitList:Ljava/util/Vector;
invokevirtual java.util.Vector.size:()I
aload 0
getfield sun.awt.image.FetcherInfo.numWaiting:I
if_icmple 11
10: aload 0
invokestatic sun.awt.image.ImageFetcher.createFetchers:(Lsun/awt/image/FetcherInfo;)V
11: StackMap locals:
StackMap stack:
aload 2
monitorexit
12: return
13: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
14: iload 3
aload 0
getfield sun.awt.image.FetcherInfo.fetchers:[Ljava/lang/Thread;
arraylength
if_icmplt 5
end local 3 15: aload 2
monitorexit
16: goto 19
StackMap locals: sun.awt.image.FetcherInfo java.lang.Thread java.util.Vector
StackMap stack: java.lang.Throwable
17: aload 2
monitorexit
18: athrow
19: StackMap locals:
StackMap stack:
aload 1
iconst_2
invokevirtual java.lang.Thread.setPriority:(I)V
20: aload 1
ldc "Image Animator"
invokevirtual java.lang.Thread.setName:(Ljava/lang/String;)V
21: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 22 0 info Lsun/awt/image/FetcherInfo;
2 22 1 me Ljava/lang/Thread;
4 15 3 i I
Exception table:
from to target type
3 12 17 any
13 16 17 any
17 18 17 any
private static void stoppingAnimation(java.lang.Thread);
descriptor: (Ljava/lang/Thread;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: invokestatic sun.awt.image.FetcherInfo.getFetcherInfo:()Lsun/awt/image/FetcherInfo;
astore 1
start local 1 1: aload 1
getfield sun.awt.image.FetcherInfo.waitList:Ljava/util/Vector;
dup
astore 2
monitorenter
2: iconst_m1
istore 3
start local 3 3: iconst_0
istore 4
start local 4 4: goto 11
5: StackMap locals: java.lang.Thread sun.awt.image.FetcherInfo java.util.Vector int int
StackMap stack:
aload 1
getfield sun.awt.image.FetcherInfo.fetchers:[Ljava/lang/Thread;
iload 4
aaload
aload 0
if_acmpne 8
6: aload 2
monitorexit
7: return
8: StackMap locals:
StackMap stack:
aload 1
getfield sun.awt.image.FetcherInfo.fetchers:[Ljava/lang/Thread;
iload 4
aaload
ifnonnull 10
9: iload 4
istore 3
10: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
11: iload 4
aload 1
getfield sun.awt.image.FetcherInfo.fetchers:[Ljava/lang/Thread;
arraylength
if_icmplt 5
end local 4 12: iload 3
iflt 18
13: aload 1
getfield sun.awt.image.FetcherInfo.fetchers:[Ljava/lang/Thread;
iload 3
aload 0
aastore
14: aload 1
dup
getfield sun.awt.image.FetcherInfo.numFetchers:I
iconst_1
iadd
putfield sun.awt.image.FetcherInfo.numFetchers:I
15: aload 0
new java.lang.StringBuilder
dup
ldc "Image Fetcher "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.Thread.setName:(Ljava/lang/String;)V
16: aload 2
monitorexit
17: return
end local 3 18: StackMap locals:
StackMap stack:
aload 2
monitorexit
19: goto 22
StackMap locals:
StackMap stack: java.lang.Throwable
20: aload 2
monitorexit
21: athrow
22: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 me Ljava/lang/Thread;
1 23 1 info Lsun/awt/image/FetcherInfo;
3 18 3 index I
4 12 4 i I
Exception table:
from to target type
2 7 20 any
8 17 20 any
18 19 20 any
20 21 20 any
MethodParameters:
Name Flags
me
private static void createFetchers(sun.awt.image.FetcherInfo);
descriptor: (Lsun/awt/image/FetcherInfo;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: invokestatic sun.awt.AppContext.getAppContext:()Lsun/awt/AppContext;
astore 1
start local 1 1: aload 1
invokevirtual sun.awt.AppContext.getThreadGroup:()Ljava/lang/ThreadGroup;
astore 2
start local 2 2: aload 2
invokevirtual java.lang.ThreadGroup.getParent:()Ljava/lang/ThreadGroup;
ifnull 5
3: aload 2
astore 3
start local 3 4: goto 16
end local 3 5: StackMap locals: sun.awt.AppContext java.lang.ThreadGroup
StackMap stack:
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getThreadGroup:()Ljava/lang/ThreadGroup;
astore 2
6: aload 2
invokevirtual java.lang.ThreadGroup.getParent:()Ljava/lang/ThreadGroup;
astore 4
start local 4 7: goto 10
8: StackMap locals: sun.awt.image.FetcherInfo sun.awt.AppContext java.lang.ThreadGroup top java.lang.ThreadGroup
StackMap stack:
aload 4
astore 2
9: aload 2
invokevirtual java.lang.ThreadGroup.getParent:()Ljava/lang/ThreadGroup;
astore 4
10: StackMap locals:
StackMap stack:
aload 4
ifnull 12
11: aload 4
invokevirtual java.lang.ThreadGroup.getParent:()Ljava/lang/ThreadGroup;
ifnonnull 8
12: StackMap locals:
StackMap stack:
aload 2
astore 3
end local 4 start local 3 13: goto 16
end local 3 StackMap locals: sun.awt.image.FetcherInfo sun.awt.AppContext java.lang.ThreadGroup
StackMap stack: java.lang.SecurityException
14: pop
15: aload 1
invokevirtual sun.awt.AppContext.getThreadGroup:()Ljava/lang/ThreadGroup;
astore 3
start local 3 16: StackMap locals: java.lang.ThreadGroup
StackMap stack:
aload 3
astore 4
start local 4 17: new sun.awt.image.ImageFetcher$1
dup
aload 0
aload 4
invokespecial sun.awt.image.ImageFetcher$1.<init>:(Lsun/awt/image/FetcherInfo;Ljava/lang/ThreadGroup;)V
18: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
19: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 info Lsun/awt/image/FetcherInfo;
1 20 1 appContext Lsun/awt/AppContext;
2 20 2 threadGroup Ljava/lang/ThreadGroup;
4 5 3 fetcherThreadGroup Ljava/lang/ThreadGroup;
13 14 3 fetcherThreadGroup Ljava/lang/ThreadGroup;
16 20 3 fetcherThreadGroup Ljava/lang/ThreadGroup;
7 13 4 parent Ljava/lang/ThreadGroup;
17 20 4 fetcherGroup Ljava/lang/ThreadGroup;
Exception table:
from to target type
2 13 14 Class java.lang.SecurityException
MethodParameters:
Name Flags
info final
}
SourceFile: "ImageFetcher.java"
NestMembers:
sun.awt.image.ImageFetcher$1
InnerClasses:
sun.awt.image.ImageFetcher$1