public abstract class sun.awt.image.InputStreamImageSource implements java.awt.image.ImageProducer, sun.awt.image.ImageFetchable
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: sun.awt.image.InputStreamImageSource
super_class: java.lang.Object
{
sun.awt.image.ImageConsumerQueue consumers;
descriptor: Lsun/awt/image/ImageConsumerQueue;
flags: (0x0000)
sun.awt.image.ImageDecoder decoder;
descriptor: Lsun/awt/image/ImageDecoder;
flags: (0x0000)
sun.awt.image.ImageDecoder decoders;
descriptor: Lsun/awt/image/ImageDecoder;
flags: (0x0000)
boolean awaitingFetch;
descriptor: Z
flags: (0x0000)
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield sun.awt.image.InputStreamImageSource.awaitingFetch:Z
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/awt/image/InputStreamImageSource;
abstract boolean checkSecurity(java.lang.Object, boolean);
descriptor: (Ljava/lang/Object;Z)Z
flags: (0x0400) ACC_ABSTRACT
MethodParameters:
Name Flags
context
quiet
int countConsumers(sun.awt.image.ImageConsumerQueue);
descriptor: (Lsun/awt/image/ImageConsumerQueue;)I
flags: (0x0000)
Code:
stack=1, locals=3, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 4
2: StackMap locals: int
StackMap stack:
iinc 2 1
3: aload 1
getfield sun.awt.image.ImageConsumerQueue.next:Lsun/awt/image/ImageConsumerQueue;
astore 1
4: StackMap locals:
StackMap stack:
aload 1
ifnonnull 2
5: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/awt/image/InputStreamImageSource;
0 6 1 cq Lsun/awt/image/ImageConsumerQueue;
1 6 2 i I
MethodParameters:
Name Flags
cq
synchronized int countConsumers();
descriptor: ()I
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield sun.awt.image.InputStreamImageSource.decoders:Lsun/awt/image/ImageDecoder;
astore 1
start local 1 1: aload 0
aload 0
getfield sun.awt.image.InputStreamImageSource.consumers:Lsun/awt/image/ImageConsumerQueue;
invokevirtual sun.awt.image.InputStreamImageSource.countConsumers:(Lsun/awt/image/ImageConsumerQueue;)I
istore 2
start local 2 2: goto 5
3: StackMap locals: sun.awt.image.ImageDecoder int
StackMap stack:
iload 2
aload 0
aload 1
getfield sun.awt.image.ImageDecoder.queue:Lsun/awt/image/ImageConsumerQueue;
invokevirtual sun.awt.image.InputStreamImageSource.countConsumers:(Lsun/awt/image/ImageConsumerQueue;)I
iadd
istore 2
4: aload 1
getfield sun.awt.image.ImageDecoder.next:Lsun/awt/image/ImageDecoder;
astore 1
5: StackMap locals:
StackMap stack:
aload 1
ifnonnull 3
6: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/awt/image/InputStreamImageSource;
1 7 1 id Lsun/awt/image/ImageDecoder;
2 7 2 i I
public void addConsumer(java.awt.image.ImageConsumer);
descriptor: (Ljava/awt/image/ImageConsumer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
invokevirtual sun.awt.image.InputStreamImageSource.addConsumer:(Ljava/awt/image/ImageConsumer;Z)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/awt/image/InputStreamImageSource;
0 2 1 ic Ljava/awt/image/ImageConsumer;
MethodParameters:
Name Flags
ic
synchronized void printQueue(sun.awt.image.ImageConsumerQueue, java.lang.String);
descriptor: (Lsun/awt/image/ImageConsumerQueue;Ljava/lang/String;)V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: goto 3
1: StackMap locals:
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: aload 1
getfield sun.awt.image.ImageConsumerQueue.next:Lsun/awt/image/ImageConsumerQueue;
astore 1
3: StackMap locals:
StackMap stack:
aload 1
ifnonnull 1
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/awt/image/InputStreamImageSource;
0 5 1 cq Lsun/awt/image/ImageConsumerQueue;
0 5 2 prefix Ljava/lang/String;
MethodParameters:
Name Flags
cq
prefix
synchronized void printQueues(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "[ -----------"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
1: aload 0
aload 0
getfield sun.awt.image.InputStreamImageSource.consumers:Lsun/awt/image/ImageConsumerQueue;
ldc " "
invokevirtual sun.awt.image.InputStreamImageSource.printQueue:(Lsun/awt/image/ImageConsumerQueue;Ljava/lang/String;)V
2: aload 0
getfield sun.awt.image.InputStreamImageSource.decoders:Lsun/awt/image/ImageDecoder;
astore 2
start local 2 3: goto 7
4: StackMap locals: sun.awt.image.ImageDecoder
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc " "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
5: aload 0
aload 2
getfield sun.awt.image.ImageDecoder.queue:Lsun/awt/image/ImageConsumerQueue;
ldc " "
invokevirtual sun.awt.image.InputStreamImageSource.printQueue:(Lsun/awt/image/ImageConsumerQueue;Ljava/lang/String;)V
6: aload 2
getfield sun.awt.image.ImageDecoder.next:Lsun/awt/image/ImageDecoder;
astore 2
StackMap locals:
StackMap stack:
7: aload 2
ifnonnull 4
end local 2 8: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "----------- ]"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
9: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/awt/image/InputStreamImageSource;
0 10 1 title Ljava/lang/String;
3 8 2 id Lsun/awt/image/ImageDecoder;
MethodParameters:
Name Flags
title
synchronized void addConsumer(java.awt.image.ImageConsumer, boolean);
descriptor: (Ljava/awt/image/ImageConsumer;Z)V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aconst_null
iconst_0
invokevirtual sun.awt.image.InputStreamImageSource.checkSecurity:(Ljava/lang/Object;Z)Z
pop
1: aload 0
getfield sun.awt.image.InputStreamImageSource.decoders:Lsun/awt/image/ImageDecoder;
astore 3
start local 3 2: goto 6
3: StackMap locals: sun.awt.image.ImageDecoder
StackMap stack:
aload 3
aload 1
invokevirtual sun.awt.image.ImageDecoder.isConsumer:(Ljava/awt/image/ImageConsumer;)Z
ifeq 5
4: return
5: StackMap locals:
StackMap stack:
aload 3
getfield sun.awt.image.ImageDecoder.next:Lsun/awt/image/ImageDecoder;
astore 3
StackMap locals:
StackMap stack:
6: aload 3
ifnonnull 3
end local 3 7: aload 0
getfield sun.awt.image.InputStreamImageSource.consumers:Lsun/awt/image/ImageConsumerQueue;
astore 3
start local 3 8: goto 10
9: StackMap locals: sun.awt.image.InputStreamImageSource java.awt.image.ImageConsumer int sun.awt.image.ImageConsumerQueue
StackMap stack:
aload 3
getfield sun.awt.image.ImageConsumerQueue.next:Lsun/awt/image/ImageConsumerQueue;
astore 3
10: StackMap locals:
StackMap stack:
aload 3
ifnull 11
aload 3
getfield sun.awt.image.ImageConsumerQueue.consumer:Ljava/awt/image/ImageConsumer;
aload 1
if_acmpne 9
11: StackMap locals:
StackMap stack:
aload 3
ifnonnull 16
12: new sun.awt.image.ImageConsumerQueue
dup
aload 0
aload 1
invokespecial sun.awt.image.ImageConsumerQueue.<init>:(Lsun/awt/image/InputStreamImageSource;Ljava/awt/image/ImageConsumer;)V
astore 3
13: aload 3
aload 0
getfield sun.awt.image.InputStreamImageSource.consumers:Lsun/awt/image/ImageConsumerQueue;
putfield sun.awt.image.ImageConsumerQueue.next:Lsun/awt/image/ImageConsumerQueue;
14: aload 0
aload 3
putfield sun.awt.image.InputStreamImageSource.consumers:Lsun/awt/image/ImageConsumerQueue;
15: goto 28
16: StackMap locals:
StackMap stack:
aload 3
getfield sun.awt.image.ImageConsumerQueue.secure:Z
ifne 27
17: aconst_null
astore 4
start local 4 18: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 5
start local 5 19: aload 5
ifnull 21
20: aload 5
invokevirtual java.lang.SecurityManager.getSecurityContext:()Ljava/lang/Object;
astore 4
21: StackMap locals: java.lang.Object java.lang.SecurityManager
StackMap stack:
aload 3
getfield sun.awt.image.ImageConsumerQueue.securityContext:Ljava/lang/Object;
ifnonnull 24
22: aload 3
aload 4
putfield sun.awt.image.ImageConsumerQueue.securityContext:Ljava/lang/Object;
23: goto 27
StackMap locals:
StackMap stack:
24: aload 3
getfield sun.awt.image.ImageConsumerQueue.securityContext:Ljava/lang/Object;
aload 4
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 27
25: aload 0
aload 3
iconst_0
invokevirtual sun.awt.image.InputStreamImageSource.errorConsumer:(Lsun/awt/image/ImageConsumerQueue;Z)V
26: new java.lang.SecurityException
dup
ldc "Applets are trading image data!"
invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
athrow
end local 5 end local 4 27: StackMap locals:
StackMap stack:
aload 3
iconst_1
putfield sun.awt.image.ImageConsumerQueue.interested:Z
28: StackMap locals:
StackMap stack:
iload 2
ifeq 30
aload 0
getfield sun.awt.image.InputStreamImageSource.decoder:Lsun/awt/image/ImageDecoder;
ifnonnull 30
29: aload 0
invokevirtual sun.awt.image.InputStreamImageSource.startProduction:()V
30: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lsun/awt/image/InputStreamImageSource;
0 31 1 ic Ljava/awt/image/ImageConsumer;
0 31 2 produce Z
2 7 3 id Lsun/awt/image/ImageDecoder;
8 31 3 cq Lsun/awt/image/ImageConsumerQueue;
18 27 4 context Ljava/lang/Object;
19 27 5 security Ljava/lang/SecurityManager;
MethodParameters:
Name Flags
ic
produce
public synchronized boolean isConsumer(java.awt.image.ImageConsumer);
descriptor: (Ljava/awt/image/ImageConsumer;)Z
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.awt.image.InputStreamImageSource.decoders:Lsun/awt/image/ImageDecoder;
astore 2
start local 2 1: goto 5
2: StackMap locals: sun.awt.image.ImageDecoder
StackMap stack:
aload 2
aload 1
invokevirtual sun.awt.image.ImageDecoder.isConsumer:(Ljava/awt/image/ImageConsumer;)Z
ifeq 4
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
aload 2
getfield sun.awt.image.ImageDecoder.next:Lsun/awt/image/ImageDecoder;
astore 2
StackMap locals:
StackMap stack:
5: aload 2
ifnonnull 2
end local 2 6: aload 0
getfield sun.awt.image.InputStreamImageSource.consumers:Lsun/awt/image/ImageConsumerQueue;
aload 1
invokestatic sun.awt.image.ImageConsumerQueue.isConsumer:(Lsun/awt/image/ImageConsumerQueue;Ljava/awt/image/ImageConsumer;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/awt/image/InputStreamImageSource;
0 7 1 ic Ljava/awt/image/ImageConsumer;
1 6 2 id Lsun/awt/image/ImageDecoder;
MethodParameters:
Name Flags
ic
private void errorAllConsumers(sun.awt.image.ImageConsumerQueue, boolean);
descriptor: (Lsun/awt/image/ImageConsumerQueue;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: goto 4
1: StackMap locals:
StackMap stack:
aload 1
getfield sun.awt.image.ImageConsumerQueue.interested:Z
ifeq 3
2: aload 0
aload 1
iload 2
invokevirtual sun.awt.image.InputStreamImageSource.errorConsumer:(Lsun/awt/image/ImageConsumerQueue;Z)V
3: StackMap locals:
StackMap stack:
aload 1
getfield sun.awt.image.ImageConsumerQueue.next:Lsun/awt/image/ImageConsumerQueue;
astore 1
4: StackMap locals:
StackMap stack:
aload 1
ifnonnull 1
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/awt/image/InputStreamImageSource;
0 6 1 cq Lsun/awt/image/ImageConsumerQueue;
0 6 2 needReload Z
MethodParameters:
Name Flags
cq
needReload
private void errorConsumer(sun.awt.image.ImageConsumerQueue, boolean);
descriptor: (Lsun/awt/image/ImageConsumerQueue;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield sun.awt.image.ImageConsumerQueue.consumer:Ljava/awt/image/ImageConsumer;
iconst_1
invokeinterface java.awt.image.ImageConsumer.imageComplete:(I)V
1: iload 2
ifeq 3
aload 1
getfield sun.awt.image.ImageConsumerQueue.consumer:Ljava/awt/image/ImageConsumer;
instanceof sun.awt.image.ImageRepresentation
ifeq 3
2: aload 1
getfield sun.awt.image.ImageConsumerQueue.consumer:Ljava/awt/image/ImageConsumer;
checkcast sun.awt.image.ImageRepresentation
getfield sun.awt.image.ImageRepresentation.image:Lsun/awt/image/ToolkitImage;
invokevirtual sun.awt.image.ToolkitImage.flush:()V
3: StackMap locals:
StackMap stack:
aload 0
aload 1
getfield sun.awt.image.ImageConsumerQueue.consumer:Ljava/awt/image/ImageConsumer;
invokevirtual sun.awt.image.InputStreamImageSource.removeConsumer:(Ljava/awt/image/ImageConsumer;)V
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/awt/image/InputStreamImageSource;
0 5 1 cq Lsun/awt/image/ImageConsumerQueue;
0 5 2 needReload Z
MethodParameters:
Name Flags
cq
needReload
public synchronized void removeConsumer(java.awt.image.ImageConsumer);
descriptor: (Ljava/awt/image/ImageConsumer;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.awt.image.InputStreamImageSource.decoders:Lsun/awt/image/ImageDecoder;
astore 2
start local 2 1: goto 4
2: StackMap locals: sun.awt.image.ImageDecoder
StackMap stack:
aload 2
aload 1
invokevirtual sun.awt.image.ImageDecoder.removeConsumer:(Ljava/awt/image/ImageConsumer;)V
3: aload 2
getfield sun.awt.image.ImageDecoder.next:Lsun/awt/image/ImageDecoder;
astore 2
StackMap locals:
StackMap stack:
4: aload 2
ifnonnull 2
end local 2 5: aload 0
aload 0
getfield sun.awt.image.InputStreamImageSource.consumers:Lsun/awt/image/ImageConsumerQueue;
aload 1
iconst_0
invokestatic sun.awt.image.ImageConsumerQueue.removeConsumer:(Lsun/awt/image/ImageConsumerQueue;Ljava/awt/image/ImageConsumer;Z)Lsun/awt/image/ImageConsumerQueue;
putfield sun.awt.image.InputStreamImageSource.consumers:Lsun/awt/image/ImageConsumerQueue;
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/awt/image/InputStreamImageSource;
0 7 1 ic Ljava/awt/image/ImageConsumer;
1 5 2 id Lsun/awt/image/ImageDecoder;
MethodParameters:
Name Flags
ic
public void startProduction(java.awt.image.ImageConsumer);
descriptor: (Ljava/awt/image/ImageConsumer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
invokevirtual sun.awt.image.InputStreamImageSource.addConsumer:(Ljava/awt/image/ImageConsumer;Z)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/awt/image/InputStreamImageSource;
0 2 1 ic Ljava/awt/image/ImageConsumer;
MethodParameters:
Name Flags
ic
private synchronized void startProduction();
descriptor: ()V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.awt.image.InputStreamImageSource.awaitingFetch:Z
ifne 7
1: aload 0
invokestatic sun.awt.image.ImageFetcher.add:(Lsun/awt/image/ImageFetchable;)Z
ifeq 4
2: aload 0
iconst_1
putfield sun.awt.image.InputStreamImageSource.awaitingFetch:Z
3: goto 7
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.awt.image.InputStreamImageSource.consumers:Lsun/awt/image/ImageConsumerQueue;
astore 1
start local 1 5: aload 0
aconst_null
putfield sun.awt.image.InputStreamImageSource.consumers:Lsun/awt/image/ImageConsumerQueue;
6: aload 0
aload 1
iconst_0
invokevirtual sun.awt.image.InputStreamImageSource.errorAllConsumers:(Lsun/awt/image/ImageConsumerQueue;Z)V
end local 1 7: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/awt/image/InputStreamImageSource;
5 7 1 cq Lsun/awt/image/ImageConsumerQueue;
private synchronized void stopProduction();
descriptor: ()V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.awt.image.InputStreamImageSource.awaitingFetch:Z
ifeq 3
1: aload 0
invokestatic sun.awt.image.ImageFetcher.remove:(Lsun/awt/image/ImageFetchable;)V
2: aload 0
iconst_0
putfield sun.awt.image.InputStreamImageSource.awaitingFetch:Z
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/awt/image/InputStreamImageSource;
public void requestTopDownLeftRightResend(java.awt.image.ImageConsumer);
descriptor: (Ljava/awt/image/ImageConsumer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/awt/image/InputStreamImageSource;
0 1 1 ic Ljava/awt/image/ImageConsumer;
MethodParameters:
Name Flags
ic
protected abstract sun.awt.image.ImageDecoder getDecoder();
descriptor: ()Lsun/awt/image/ImageDecoder;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
protected sun.awt.image.ImageDecoder decoderForType(java.io.InputStream, java.lang.String);
descriptor: (Ljava/io/InputStream;Ljava/lang/String;)Lsun/awt/image/ImageDecoder;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/awt/image/InputStreamImageSource;
0 1 1 is Ljava/io/InputStream;
0 1 2 content_type Ljava/lang/String;
MethodParameters:
Name Flags
is
content_type
protected sun.awt.image.ImageDecoder getDecoder(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)Lsun/awt/image/ImageDecoder;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=10, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.io.InputStream.markSupported:()Z
ifne 2
1: new java.io.BufferedInputStream
dup
aload 1
invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;)V
astore 1
2: StackMap locals:
StackMap stack:
aload 1
bipush 8
invokevirtual java.io.InputStream.mark:(I)V
3: aload 1
invokevirtual java.io.InputStream.read:()I
istore 2
start local 2 4: aload 1
invokevirtual java.io.InputStream.read:()I
istore 3
start local 3 5: aload 1
invokevirtual java.io.InputStream.read:()I
istore 4
start local 4 6: aload 1
invokevirtual java.io.InputStream.read:()I
istore 5
start local 5 7: aload 1
invokevirtual java.io.InputStream.read:()I
istore 6
start local 6 8: aload 1
invokevirtual java.io.InputStream.read:()I
istore 7
start local 7 9: aload 1
invokevirtual java.io.InputStream.read:()I
istore 8
start local 8 10: aload 1
invokevirtual java.io.InputStream.read:()I
istore 9
start local 9 11: aload 1
invokevirtual java.io.InputStream.reset:()V
12: aload 1
iconst_m1
invokevirtual java.io.InputStream.mark:(I)V
13: iload 2
bipush 71
if_icmpne 16
iload 3
bipush 73
if_icmpne 16
iload 4
bipush 70
if_icmpne 16
iload 5
bipush 56
if_icmpne 16
14: new sun.awt.image.GifImageDecoder
dup
aload 0
aload 1
invokespecial sun.awt.image.GifImageDecoder.<init>:(Lsun/awt/image/InputStreamImageSource;Ljava/io/InputStream;)V
15: areturn
16: StackMap locals: sun.awt.image.InputStreamImageSource java.io.InputStream int int int int int int int int
StackMap stack:
iload 2
sipush 255
if_icmpne 19
iload 3
sipush 216
if_icmpne 19
iload 4
sipush 255
if_icmpne 19
17: new sun.awt.image.JPEGImageDecoder
dup
aload 0
aload 1
invokespecial sun.awt.image.JPEGImageDecoder.<init>:(Lsun/awt/image/InputStreamImageSource;Ljava/io/InputStream;)V
18: areturn
19: StackMap locals:
StackMap stack:
iload 2
bipush 35
if_icmpne 22
iload 3
bipush 100
if_icmpne 22
iload 4
bipush 101
if_icmpne 22
iload 5
bipush 102
if_icmpne 22
20: new sun.awt.image.XbmImageDecoder
dup
aload 0
aload 1
invokespecial sun.awt.image.XbmImageDecoder.<init>:(Lsun/awt/image/InputStreamImageSource;Ljava/io/InputStream;)V
21: areturn
22: StackMap locals:
StackMap stack:
iload 2
sipush 137
if_icmpne 28
iload 3
bipush 80
if_icmpne 28
iload 4
bipush 78
if_icmpne 28
23: iload 5
bipush 71
if_icmpne 28
iload 6
bipush 13
if_icmpne 28
iload 7
bipush 10
if_icmpne 28
24: iload 8
bipush 26
if_icmpne 28
iload 9
bipush 10
if_icmpne 28
25: new sun.awt.image.PNGImageDecoder
dup
aload 0
aload 1
invokespecial sun.awt.image.PNGImageDecoder.<init>:(Lsun/awt/image/InputStreamImageSource;Ljava/io/InputStream;)V
26: areturn
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 27: StackMap locals: sun.awt.image.InputStreamImageSource java.io.InputStream
StackMap stack: java.io.IOException
pop
28: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lsun/awt/image/InputStreamImageSource;
0 29 1 is Ljava/io/InputStream;
4 27 2 c1 I
5 27 3 c2 I
6 27 4 c3 I
7 27 5 c4 I
8 27 6 c5 I
9 27 7 c6 I
10 27 8 c7 I
11 27 9 c8 I
Exception table:
from to target type
2 15 27 Class java.io.IOException
16 18 27 Class java.io.IOException
19 21 27 Class java.io.IOException
22 26 27 Class java.io.IOException
MethodParameters:
Name Flags
is
public void doFetch();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
dup
astore 1
monitorenter
1: aload 0
getfield sun.awt.image.InputStreamImageSource.consumers:Lsun/awt/image/ImageConsumerQueue;
ifnonnull 5
2: aload 0
iconst_0
putfield sun.awt.image.InputStreamImageSource.awaitingFetch:Z
3: aload 1
monitorexit
4: return
5: StackMap locals: sun.awt.image.InputStreamImageSource
StackMap stack:
aload 1
monitorexit
6: goto 9
StackMap locals:
StackMap stack: java.lang.Throwable
7: aload 1
monitorexit
8: athrow
9: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.awt.image.InputStreamImageSource.getDecoder:()Lsun/awt/image/ImageDecoder;
astore 1
start local 1 10: aload 1
ifnonnull 13
11: aload 0
invokevirtual sun.awt.image.InputStreamImageSource.badDecoder:()V
12: goto 42
13: StackMap locals: sun.awt.image.ImageDecoder
StackMap stack:
aload 0
aload 1
invokevirtual sun.awt.image.InputStreamImageSource.setDecoder:(Lsun/awt/image/ImageDecoder;)V
14: aload 1
invokevirtual sun.awt.image.ImageDecoder.produceImage:()V
15: goto 37
StackMap locals:
StackMap stack: java.io.IOException
16: astore 2
start local 2 17: aload 2
invokevirtual java.io.IOException.printStackTrace:()V
end local 2 18: aload 0
aload 1
invokevirtual sun.awt.image.InputStreamImageSource.removeDecoder:(Lsun/awt/image/ImageDecoder;)V
19: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.isInterrupted:()Z
ifne 20
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.isAlive:()Z
ifne 22
20: StackMap locals:
StackMap stack:
aload 0
aload 1
getfield sun.awt.image.ImageDecoder.queue:Lsun/awt/image/ImageConsumerQueue;
iconst_1
invokevirtual sun.awt.image.InputStreamImageSource.errorAllConsumers:(Lsun/awt/image/ImageConsumerQueue;Z)V
21: goto 42
22: StackMap locals:
StackMap stack:
aload 0
aload 1
getfield sun.awt.image.ImageDecoder.queue:Lsun/awt/image/ImageConsumerQueue;
iconst_0
invokevirtual sun.awt.image.InputStreamImageSource.errorAllConsumers:(Lsun/awt/image/ImageConsumerQueue;Z)V
goto 42
23: StackMap locals:
StackMap stack: sun.awt.image.ImageFormatException
astore 2
start local 2 24: aload 2
invokevirtual sun.awt.image.ImageFormatException.printStackTrace:()V
end local 2 25: aload 0
aload 1
invokevirtual sun.awt.image.InputStreamImageSource.removeDecoder:(Lsun/awt/image/ImageDecoder;)V
26: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.isInterrupted:()Z
ifne 27
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.isAlive:()Z
ifne 29
27: StackMap locals:
StackMap stack:
aload 0
aload 1
getfield sun.awt.image.ImageDecoder.queue:Lsun/awt/image/ImageConsumerQueue;
iconst_1
invokevirtual sun.awt.image.InputStreamImageSource.errorAllConsumers:(Lsun/awt/image/ImageConsumerQueue;Z)V
28: goto 42
29: StackMap locals:
StackMap stack:
aload 0
aload 1
getfield sun.awt.image.ImageDecoder.queue:Lsun/awt/image/ImageConsumerQueue;
iconst_0
invokevirtual sun.awt.image.InputStreamImageSource.errorAllConsumers:(Lsun/awt/image/ImageConsumerQueue;Z)V
goto 42
30: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
31: aload 0
aload 1
invokevirtual sun.awt.image.InputStreamImageSource.removeDecoder:(Lsun/awt/image/ImageDecoder;)V
32: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.isInterrupted:()Z
ifne 33
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.isAlive:()Z
ifne 35
33: StackMap locals: sun.awt.image.InputStreamImageSource sun.awt.image.ImageDecoder top java.lang.Throwable
StackMap stack:
aload 0
aload 1
getfield sun.awt.image.ImageDecoder.queue:Lsun/awt/image/ImageConsumerQueue;
iconst_1
invokevirtual sun.awt.image.InputStreamImageSource.errorAllConsumers:(Lsun/awt/image/ImageConsumerQueue;Z)V
34: goto 36
35: StackMap locals:
StackMap stack:
aload 0
aload 1
getfield sun.awt.image.ImageDecoder.queue:Lsun/awt/image/ImageConsumerQueue;
iconst_0
invokevirtual sun.awt.image.InputStreamImageSource.errorAllConsumers:(Lsun/awt/image/ImageConsumerQueue;Z)V
36: StackMap locals:
StackMap stack:
aload 3
athrow
37: StackMap locals: sun.awt.image.InputStreamImageSource sun.awt.image.ImageDecoder
StackMap stack:
aload 0
aload 1
invokevirtual sun.awt.image.InputStreamImageSource.removeDecoder:(Lsun/awt/image/ImageDecoder;)V
38: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.isInterrupted:()Z
ifne 39
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.isAlive:()Z
ifne 41
39: StackMap locals:
StackMap stack:
aload 0
aload 1
getfield sun.awt.image.ImageDecoder.queue:Lsun/awt/image/ImageConsumerQueue;
iconst_1
invokevirtual sun.awt.image.InputStreamImageSource.errorAllConsumers:(Lsun/awt/image/ImageConsumerQueue;Z)V
40: goto 42
41: StackMap locals:
StackMap stack:
aload 0
aload 1
getfield sun.awt.image.ImageDecoder.queue:Lsun/awt/image/ImageConsumerQueue;
iconst_0
invokevirtual sun.awt.image.InputStreamImageSource.errorAllConsumers:(Lsun/awt/image/ImageConsumerQueue;Z)V
42: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 43 0 this Lsun/awt/image/InputStreamImageSource;
10 43 1 imgd Lsun/awt/image/ImageDecoder;
17 18 2 e Ljava/io/IOException;
24 25 2 e Lsun/awt/image/ImageFormatException;
Exception table:
from to target type
1 4 7 any
5 6 7 any
7 8 7 any
14 15 16 Class java.io.IOException
14 15 23 Class sun.awt.image.ImageFormatException
14 18 30 any
23 25 30 any
private void badDecoder();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
dup
astore 2
monitorenter
1: aload 0
getfield sun.awt.image.InputStreamImageSource.consumers:Lsun/awt/image/ImageConsumerQueue;
astore 1
start local 1 2: aload 0
aconst_null
putfield sun.awt.image.InputStreamImageSource.consumers:Lsun/awt/image/ImageConsumerQueue;
3: aload 0
iconst_0
putfield sun.awt.image.InputStreamImageSource.awaitingFetch:Z
4: aload 2
monitorexit
5: goto 8
end local 1 StackMap locals: sun.awt.image.InputStreamImageSource top sun.awt.image.InputStreamImageSource
StackMap stack: java.lang.Throwable
6: aload 2
monitorexit
7: athrow
start local 1 8: StackMap locals: sun.awt.image.InputStreamImageSource sun.awt.image.ImageConsumerQueue
StackMap stack:
aload 0
aload 1
iconst_0
invokevirtual sun.awt.image.InputStreamImageSource.errorAllConsumers:(Lsun/awt/image/ImageConsumerQueue;Z)V
9: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/awt/image/InputStreamImageSource;
2 6 1 cq Lsun/awt/image/ImageConsumerQueue;
8 10 1 cq Lsun/awt/image/ImageConsumerQueue;
Exception table:
from to target type
1 5 6 any
6 7 6 any
private void setDecoder(sun.awt.image.ImageDecoder);
descriptor: (Lsun/awt/image/ImageDecoder;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
dup
astore 3
monitorenter
1: aload 1
aload 0
getfield sun.awt.image.InputStreamImageSource.decoders:Lsun/awt/image/ImageDecoder;
putfield sun.awt.image.ImageDecoder.next:Lsun/awt/image/ImageDecoder;
2: aload 0
aload 1
putfield sun.awt.image.InputStreamImageSource.decoders:Lsun/awt/image/ImageDecoder;
3: aload 0
aload 1
putfield sun.awt.image.InputStreamImageSource.decoder:Lsun/awt/image/ImageDecoder;
4: aload 0
getfield sun.awt.image.InputStreamImageSource.consumers:Lsun/awt/image/ImageConsumerQueue;
astore 2
start local 2 5: aload 1
aload 2
putfield sun.awt.image.ImageDecoder.queue:Lsun/awt/image/ImageConsumerQueue;
6: aload 0
aconst_null
putfield sun.awt.image.InputStreamImageSource.consumers:Lsun/awt/image/ImageConsumerQueue;
7: aload 0
iconst_0
putfield sun.awt.image.InputStreamImageSource.awaitingFetch:Z
8: aload 3
monitorexit
9: goto 16
end local 2 StackMap locals: sun.awt.image.InputStreamImageSource sun.awt.image.ImageDecoder top sun.awt.image.InputStreamImageSource
StackMap stack: java.lang.Throwable
10: aload 3
monitorexit
11: athrow
start local 2 12: StackMap locals: sun.awt.image.InputStreamImageSource sun.awt.image.ImageDecoder sun.awt.image.ImageConsumerQueue
StackMap stack:
aload 2
getfield sun.awt.image.ImageConsumerQueue.interested:Z
ifeq 15
13: aload 0
aload 2
getfield sun.awt.image.ImageConsumerQueue.securityContext:Ljava/lang/Object;
iconst_1
invokevirtual sun.awt.image.InputStreamImageSource.checkSecurity:(Ljava/lang/Object;Z)Z
ifne 15
14: aload 0
aload 2
iconst_0
invokevirtual sun.awt.image.InputStreamImageSource.errorConsumer:(Lsun/awt/image/ImageConsumerQueue;Z)V
15: StackMap locals:
StackMap stack:
aload 2
getfield sun.awt.image.ImageConsumerQueue.next:Lsun/awt/image/ImageConsumerQueue;
astore 2
16: StackMap locals:
StackMap stack:
aload 2
ifnonnull 12
17: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lsun/awt/image/InputStreamImageSource;
0 18 1 mydecoder Lsun/awt/image/ImageDecoder;
5 10 2 cq Lsun/awt/image/ImageConsumerQueue;
12 18 2 cq Lsun/awt/image/ImageConsumerQueue;
Exception table:
from to target type
1 9 10 any
10 11 10 any
MethodParameters:
Name Flags
mydecoder
private synchronized void removeDecoder(sun.awt.image.ImageDecoder);
descriptor: (Lsun/awt/image/ImageDecoder;)V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual sun.awt.image.InputStreamImageSource.doneDecoding:(Lsun/awt/image/ImageDecoder;)V
1: aconst_null
astore 2
start local 2 2: aload 0
getfield sun.awt.image.InputStreamImageSource.decoders:Lsun/awt/image/ImageDecoder;
astore 3
start local 3 3: goto 12
4: StackMap locals: sun.awt.image.ImageDecoder sun.awt.image.ImageDecoder
StackMap stack:
aload 3
aload 1
if_acmpne 10
5: aload 2
ifnonnull 8
6: aload 0
aload 3
getfield sun.awt.image.ImageDecoder.next:Lsun/awt/image/ImageDecoder;
putfield sun.awt.image.InputStreamImageSource.decoders:Lsun/awt/image/ImageDecoder;
7: goto 13
8: StackMap locals:
StackMap stack:
aload 2
aload 3
getfield sun.awt.image.ImageDecoder.next:Lsun/awt/image/ImageDecoder;
putfield sun.awt.image.ImageDecoder.next:Lsun/awt/image/ImageDecoder;
9: goto 13
10: StackMap locals:
StackMap stack:
aload 3
astore 2
11: aload 3
getfield sun.awt.image.ImageDecoder.next:Lsun/awt/image/ImageDecoder;
astore 3
StackMap locals:
StackMap stack:
12: aload 3
ifnonnull 4
end local 3 13: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lsun/awt/image/InputStreamImageSource;
0 14 1 mydecoder Lsun/awt/image/ImageDecoder;
2 14 2 idprev Lsun/awt/image/ImageDecoder;
3 13 3 id Lsun/awt/image/ImageDecoder;
MethodParameters:
Name Flags
mydecoder
synchronized void doneDecoding(sun.awt.image.ImageDecoder);
descriptor: (Lsun/awt/image/ImageDecoder;)V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.awt.image.InputStreamImageSource.decoder:Lsun/awt/image/ImageDecoder;
aload 1
if_acmpne 4
1: aload 0
aconst_null
putfield sun.awt.image.InputStreamImageSource.decoder:Lsun/awt/image/ImageDecoder;
2: aload 0
getfield sun.awt.image.InputStreamImageSource.consumers:Lsun/awt/image/ImageConsumerQueue;
ifnull 4
3: aload 0
invokevirtual sun.awt.image.InputStreamImageSource.startProduction:()V
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/awt/image/InputStreamImageSource;
0 5 1 mydecoder Lsun/awt/image/ImageDecoder;
MethodParameters:
Name Flags
mydecoder
void latchConsumers(sun.awt.image.ImageDecoder);
descriptor: (Lsun/awt/image/ImageDecoder;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual sun.awt.image.InputStreamImageSource.doneDecoding:(Lsun/awt/image/ImageDecoder;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/awt/image/InputStreamImageSource;
0 2 1 id Lsun/awt/image/ImageDecoder;
MethodParameters:
Name Flags
id
synchronized void flush();
descriptor: ()V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
putfield sun.awt.image.InputStreamImageSource.decoder:Lsun/awt/image/ImageDecoder;
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/awt/image/InputStreamImageSource;
}
SourceFile: "InputStreamImageSource.java"