public class com.sun.javafx.iio.gif.GIFImageLoader2 extends com.sun.javafx.iio.common.ImageLoaderImpl
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.javafx.iio.gif.GIFImageLoader2
super_class: com.sun.javafx.iio.common.ImageLoaderImpl
{
static final byte[] FILE_SIG87;
descriptor: [B
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final byte[] FILE_SIG89;
descriptor: [B
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final byte[] NETSCAPE_SIG;
descriptor: [B
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final int DEFAULT_FPS;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 25
java.io.InputStream stream;
descriptor: Ljava/io/InputStream;
flags: (0x0000)
int screenW;
descriptor: I
flags: (0x0000)
int screenH;
descriptor: I
flags: (0x0000)
int bgColor;
descriptor: I
flags: (0x0000)
byte[][] globalPalette;
descriptor: [[B
flags: (0x0000)
byte[] image;
descriptor: [B
flags: (0x0000)
int loopCount;
descriptor: I
flags: (0x0000)
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: bipush 6
newarray 8
dup
iconst_0
bipush 71
bastore
dup
iconst_1
bipush 73
bastore
dup
iconst_2
bipush 70
bastore
dup
iconst_3
bipush 56
bastore
dup
iconst_4
bipush 55
bastore
dup
iconst_5
bipush 97
bastore
putstatic com.sun.javafx.iio.gif.GIFImageLoader2.FILE_SIG87:[B
1: bipush 6
newarray 8
dup
iconst_0
bipush 71
bastore
dup
iconst_1
bipush 73
bastore
dup
iconst_2
bipush 70
bastore
dup
iconst_3
bipush 56
bastore
dup
iconst_4
bipush 57
bastore
dup
iconst_5
bipush 97
bastore
putstatic com.sun.javafx.iio.gif.GIFImageLoader2.FILE_SIG89:[B
2: bipush 11
newarray 8
dup
iconst_0
bipush 78
bastore
dup
iconst_1
bipush 69
bastore
dup
iconst_2
bipush 84
bastore
dup
iconst_3
bipush 83
bastore
dup
iconst_4
bipush 67
bastore
dup
iconst_5
bipush 65
bastore
dup
bipush 6
bipush 80
bastore
dup
bipush 7
bipush 69
bastore
dup
bipush 8
bipush 50
bastore
dup
bipush 9
bipush 46
bastore
dup
bipush 10
bipush 48
bastore
putstatic com.sun.javafx.iio.gif.GIFImageLoader2.NETSCAPE_SIG:[B
3: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokestatic com.sun.javafx.iio.gif.GIFDescriptor.getInstance:()Lcom/sun/javafx/iio/common/ImageDescriptor;
invokespecial com.sun.javafx.iio.common.ImageLoaderImpl.<init>:(Lcom/sun/javafx/iio/ImageFormatDescription;)V
1: aload 0
aconst_null
putfield com.sun.javafx.iio.gif.GIFImageLoader2.stream:Ljava/io/InputStream;
2: aload 0
iconst_1
putfield com.sun.javafx.iio.gif.GIFImageLoader2.loopCount:I
3: aload 0
aload 1
putfield com.sun.javafx.iio.gif.GIFImageLoader2.stream:Ljava/io/InputStream;
4: aload 0
invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readGlobalHeader:()V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/javafx/iio/gif/GIFImageLoader2;
0 6 1 input Ljava/io/InputStream;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
input
private void ();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
bipush 6
newarray 8
invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readBytes:([B)[B
astore 1
start local 1 1: getstatic com.sun.javafx.iio.gif.GIFImageLoader2.FILE_SIG87:[B
aload 1
invokestatic java.util.Arrays.equals:([B[B)Z
ifne 3
getstatic com.sun.javafx.iio.gif.GIFImageLoader2.FILE_SIG89:[B
aload 1
invokestatic java.util.Arrays.equals:([B[B)Z
ifne 3
2: new java.io.IOException
dup
ldc "Bad GIF signature!"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: byte[]
StackMap stack:
aload 0
aload 0
invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readShort:()I
putfield com.sun.javafx.iio.gif.GIFImageLoader2.screenW:I
4: aload 0
aload 0
invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readShort:()I
putfield com.sun.javafx.iio.gif.GIFImageLoader2.screenH:I
5: aload 0
invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readByte:()I
istore 2
start local 2 6: aload 0
aload 0
invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readByte:()I
putfield com.sun.javafx.iio.gif.GIFImageLoader2.bgColor:I
7: aload 0
invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readByte:()I
pop
8: iload 2
sipush 128
iand
ifeq 10
9: aload 0
aload 0
iconst_2
iload 2
bipush 7
iand
ishl
iconst_m1
invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readPalete:(II)[[B
putfield com.sun.javafx.iio.gif.GIFImageLoader2.globalPalette:[[B
10: StackMap locals: int
StackMap stack:
aload 0
aload 0
getfield com.sun.javafx.iio.gif.GIFImageLoader2.screenW:I
aload 0
getfield com.sun.javafx.iio.gif.GIFImageLoader2.screenH:I
imul
iconst_4
imul
newarray 8
putfield com.sun.javafx.iio.gif.GIFImageLoader2.image:[B
11: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/sun/javafx/iio/gif/GIFImageLoader2;
1 12 1 signature [B
6 12 2 cInfo I
Exceptions:
throws java.io.IOException
private byte[][] readPalete(int, int);
descriptor: (II)[[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: iconst_4
iload 1
multianewarray [[B 2
astore 3
start local 3 1: aload 0
iload 1
iconst_3
imul
newarray 8
invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readBytes:([B)[B
astore 4
start local 4 2: iconst_0
istore 5
start local 5 3: iconst_0
istore 6
start local 6 4: goto 14
5: StackMap locals: com.sun.javafx.iio.gif.GIFImageLoader2 int int byte[][] byte[] int int
StackMap stack:
iconst_0
istore 7
start local 7 6: goto 9
7: StackMap locals: int
StackMap stack:
aload 3
iload 7
aaload
iload 5
aload 4
iload 6
iinc 6 1
baload
bastore
8: iinc 7 1
StackMap locals:
StackMap stack:
9: iload 7
iconst_3
if_icmpne 7
end local 7 10: aload 3
iconst_3
aaload
iload 5
iload 5
iload 2
if_icmpne 11
iconst_0
goto 12
StackMap locals: com.sun.javafx.iio.gif.GIFImageLoader2 int int byte[][] byte[] int int
StackMap stack: byte[] int
11: iconst_m1
StackMap locals: com.sun.javafx.iio.gif.GIFImageLoader2 int int byte[][] byte[] int int
StackMap stack: byte[] int int
12: bastore
13: iinc 5 1
StackMap locals:
StackMap stack:
14: iload 5
iload 1
if_icmpne 5
end local 6 end local 5 15: aload 3
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/sun/javafx/iio/gif/GIFImageLoader2;
0 16 1 size I
0 16 2 trnsIndex I
1 16 3 palette [[B
2 16 4 paletteData [B
3 15 5 i I
4 15 6 idx I
6 10 7 k I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
size
trnsIndex
private void consumeAnExtension();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readByte:()I
istore 1
start local 1 1: goto 4
2: StackMap locals: int
StackMap stack:
aload 0
iload 1
invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.skipBytes:(I)V
3: aload 0
invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readByte:()I
istore 1
StackMap locals:
StackMap stack:
4: iload 1
ifne 2
end local 1 5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/javafx/iio/gif/GIFImageLoader2;
1 5 1 blSize I
Exceptions:
throws java.io.IOException
private void readAppExtension();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readByte:()I
istore 1
start local 1 1: aload 0
iload 1
newarray 8
invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readBytes:([B)[B
astore 2
start local 2 2: getstatic com.sun.javafx.iio.gif.GIFImageLoader2.NETSCAPE_SIG:[B
aload 2
invokestatic java.util.Arrays.equals:([B[B)Z
ifeq 12
3: aload 0
invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readByte:()I
istore 3
start local 3 4: goto 10
5: StackMap locals: int byte[] int
StackMap stack:
aload 0
iload 3
newarray 8
invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readBytes:([B)[B
astore 4
start local 4 6: aload 4
iconst_0
baload
istore 5
start local 5 7: iload 3
iconst_3
if_icmpne 9
iload 5
iconst_1
if_icmpne 9
8: aload 0
aload 4
iconst_1
baload
sipush 255
iand
aload 4
iconst_2
baload
sipush 255
iand
bipush 8
ishl
ior
putfield com.sun.javafx.iio.gif.GIFImageLoader2.loopCount:I
end local 5 end local 4 9: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readByte:()I
istore 3
StackMap locals:
StackMap stack:
10: iload 3
ifne 5
end local 3 11: goto 13
12: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.consumeAnExtension:()V
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 Lcom/sun/javafx/iio/gif/GIFImageLoader2;
1 14 1 size I
2 14 2 buf [B
4 11 3 subBlockSize I
6 9 4 subBlock [B
7 9 5 subBlockId I
Exceptions:
throws java.io.IOException
private int readControlCode();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readByte:()I
istore 1
start local 1 1: aload 0
invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readByte:()I
istore 2
start local 2 2: aload 0
invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readShort:()I
istore 3
start local 3 3: aload 0
invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readByte:()I
istore 4
start local 4 4: iload 1
iconst_4
if_icmpne 5
aload 0
invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readByte:()I
ifeq 6
5: StackMap locals: com.sun.javafx.iio.gif.GIFImageLoader2 int int int int
StackMap stack:
new java.io.IOException
dup
ldc "Bad GIF GraphicControlExtension"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
iload 2
bipush 31
iand
bipush 24
ishl
iload 4
bipush 16
ishl
iadd
iload 3
iadd
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/javafx/iio/gif/GIFImageLoader2;
1 7 1 size I
2 7 2 pField I
3 7 3 frameDelay I
4 7 4 trnsIndex I
Exceptions:
throws java.io.IOException
private int waitForImageFrame();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=3, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.javafx.iio.gif.GIFImageLoader2.stream:Ljava/io/InputStream;
invokevirtual java.io.InputStream.read:()I
istore 2
start local 2 2: iload 2
lookupswitch { // 4
-1: 11
33: 4
44: 3
59: 11
default: 12
}
3: StackMap locals: int
StackMap stack:
iload 1
ireturn
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readByte:()I
lookupswitch { // 2
249: 5
255: 7
default: 9
}
5: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readControlCode:()I
istore 1
6: goto 1
7: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readAppExtension:()V
8: goto 1
9: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.consumeAnExtension:()V
10: goto 1
11: StackMap locals:
StackMap stack:
iconst_m1
ireturn
12: StackMap locals:
StackMap stack:
new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Unexpected GIF control characher 0x"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
13: ldc "%02X"
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
14: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/sun/javafx/iio/gif/GIFImageLoader2;
1 15 1 controlData I
2 15 2 ch I
Exceptions:
throws java.io.IOException
private void decodeImage(byte[], int, int, int[]);
descriptor: ([BII[I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=14, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new com.sun.javafx.iio.gif.GIFImageLoader2$LZWDecoder
dup
aload 0
invokespecial com.sun.javafx.iio.gif.GIFImageLoader2$LZWDecoder.<init>:(Lcom/sun/javafx/iio/gif/GIFImageLoader2;)V
astore 5
start local 5 1: aload 5
invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2$LZWDecoder.getString:()[B
astore 6
start local 6 2: iconst_0
istore 7
start local 7 3: iconst_0
istore 8
start local 8 4: iload 2
istore 9
start local 9 5: StackMap locals: com.sun.javafx.iio.gif.GIFImageLoader2 byte[] int int int[] com.sun.javafx.iio.gif.GIFImageLoader2$LZWDecoder byte[] int int int
StackMap stack:
aload 5
invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2$LZWDecoder.readString:()I
istore 10
start local 10 6: iload 10
iconst_m1
if_icmpne 9
7: aload 5
invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2$LZWDecoder.waitForTerminator:()V
8: return
9: StackMap locals: int
StackMap stack:
iconst_0
istore 11
start local 11 10: goto 26
11: StackMap locals: int
StackMap stack:
iload 9
iload 10
iload 11
isub
if_icmpge 12
iload 9
goto 13
StackMap locals:
StackMap stack:
12: iload 10
iload 11
isub
StackMap locals:
StackMap stack: int
13: istore 12
start local 12 14: aload 6
iload 11
aload 1
iload 8
iload 12
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
15: iload 8
iload 12
iadd
istore 8
16: iload 11
iload 12
iadd
istore 11
17: iload 9
iload 12
isub
dup
istore 9
ifne 26
18: iinc 7 1
iload 7
iload 3
if_icmpne 21
19: aload 5
invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2$LZWDecoder.waitForTerminator:()V
20: return
21: StackMap locals: int
StackMap stack:
aload 4
ifnonnull 22
iload 7
goto 23
StackMap locals:
StackMap stack:
22: aload 4
iload 7
iaload
StackMap locals:
StackMap stack: int
23: istore 13
start local 13 24: iload 13
iload 2
imul
istore 8
25: iload 2
istore 9
end local 13 end local 12 26: StackMap locals:
StackMap stack:
iload 11
iload 10
if_icmpne 11
end local 11 end local 10 27: goto 5
end local 9 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 28 0 this Lcom/sun/javafx/iio/gif/GIFImageLoader2;
0 28 1 image [B
0 28 2 w I
0 28 3 h I
0 28 4 interlace [I
1 28 5 dec Lcom/sun/javafx/iio/gif/GIFImageLoader2$LZWDecoder;
2 28 6 data [B
3 28 7 y I
4 28 8 iPos I
5 28 9 xr I
6 27 10 len I
10 27 11 pos I
14 26 12 ax I
24 26 13 iY I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
image
w
h
interlace
private int[] computeInterlaceReIndex(int);
descriptor: (I)[I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: iload 1
newarray 10
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 5
StackMap locals: int[] int int
StackMap stack:
4: aload 2
iload 3
iinc 3 1
iload 4
iastore
iinc 4 8
StackMap locals:
StackMap stack:
5: iload 4
iload 1
if_icmplt 4
end local 4 6: iconst_4
istore 4
start local 4 7: goto 9
StackMap locals:
StackMap stack:
8: aload 2
iload 3
iinc 3 1
iload 4
iastore
iinc 4 8
StackMap locals:
StackMap stack:
9: iload 4
iload 1
if_icmplt 8
end local 4 10: iconst_2
istore 4
start local 4 11: goto 13
StackMap locals:
StackMap stack:
12: aload 2
iload 3
iinc 3 1
iload 4
iastore
iinc 4 4
StackMap locals:
StackMap stack:
13: iload 4
iload 1
if_icmplt 12
end local 4 14: iconst_1
istore 4
start local 4 15: goto 17
StackMap locals:
StackMap stack:
16: aload 2
iload 3
iinc 3 1
iload 4
iastore
iinc 4 2
StackMap locals:
StackMap stack:
17: iload 4
iload 1
if_icmplt 16
end local 4 18: aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/sun/javafx/iio/gif/GIFImageLoader2;
0 19 1 h I
1 19 2 data [I
2 19 3 pos I
3 6 4 i I
7 10 4 i I
11 14 4 i I
15 18 4 i I
MethodParameters:
Name Flags
h
public com.sun.javafx.iio.ImageFrame load(int, int, int, boolean, boolean);
descriptor: (IIIZZ)Lcom/sun/javafx/iio/ImageFrame;
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=22, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.waitForImageFrame:()I
istore 6
start local 6 1: iload 6
ifge 3
2: aconst_null
areturn
3: StackMap locals: int
StackMap stack:
aload 0
invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readShort:()I
istore 7
start local 7 4: aload 0
invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readShort:()I
istore 8
start local 8 5: aload 0
invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readShort:()I
istore 9
start local 9 6: aload 0
invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readShort:()I
istore 10
start local 10 7: iload 7
iload 9
iadd
aload 0
getfield com.sun.javafx.iio.gif.GIFImageLoader2.screenW:I
if_icmpgt 8
iload 8
iload 10
iadd
aload 0
getfield com.sun.javafx.iio.gif.GIFImageLoader2.screenH:I
if_icmple 9
8: StackMap locals: com.sun.javafx.iio.gif.GIFImageLoader2 int int int int int int int int int int
StackMap stack:
new java.io.IOException
dup
ldc "Wrong GIF image frame size"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readByte:()I
istore 11
start local 11 10: iload 6
bipush 24
iushr
iconst_1
iand
iconst_1
if_icmpne 11
iconst_1
goto 12
StackMap locals: int
StackMap stack:
11: iconst_0
StackMap locals:
StackMap stack: int
12: istore 12
start local 12 13: iload 12
ifeq 14
iload 6
bipush 16
iushr
sipush 255
iand
goto 15
StackMap locals: int
StackMap stack:
14: iconst_m1
StackMap locals:
StackMap stack: int
15: istore 13
start local 13 16: iload 11
sipush 128
iand
ifeq 17
iconst_1
goto 18
StackMap locals: int
StackMap stack:
17: iconst_0
StackMap locals:
StackMap stack: int
18: istore 14
start local 14 19: iload 11
bipush 64
iand
ifeq 20
iconst_1
goto 21
StackMap locals: int
StackMap stack:
20: iconst_0
StackMap locals:
StackMap stack: int
21: istore 15
start local 15 22: iload 14
ifeq 23
aload 0
iconst_2
iload 11
bipush 7
iand
ishl
iload 13
invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readPalete:(II)[[B
goto 24
StackMap locals: int
StackMap stack:
23: aload 0
getfield com.sun.javafx.iio.gif.GIFImageLoader2.globalPalette:[[B
StackMap locals:
StackMap stack: byte[][]
24: astore 16
start local 16 25: aload 0
getfield com.sun.javafx.iio.gif.GIFImageLoader2.screenW:I
aload 0
getfield com.sun.javafx.iio.gif.GIFImageLoader2.screenH:I
iload 2
iload 3
iload 4
invokestatic com.sun.javafx.iio.common.ImageTools.computeDimensions:(IIIIZ)[I
astore 17
start local 17 26: aload 17
iconst_0
iaload
istore 2
27: aload 17
iconst_1
iaload
istore 3
28: aload 0
iload 2
iload 3
iload 6
ldc 65535
iand
invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.updateMetadata:(III)Lcom/sun/javafx/iio/ImageMetadata;
astore 18
start local 18 29: iload 6
bipush 26
iushr
bipush 7
iand
istore 19
start local 19 30: iload 9
iload 10
imul
newarray 8
astore 20
start local 20 31: aload 0
aload 20
iload 9
iload 10
iload 15
ifeq 32
aload 0
iload 10
invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.computeInterlaceReIndex:(I)[I
goto 33
StackMap locals: com.sun.javafx.iio.gif.GIFImageLoader2 int int int int int int int int int int int int int int int byte[][] int[] com.sun.javafx.iio.ImageMetadata int byte[]
StackMap stack: com.sun.javafx.iio.gif.GIFImageLoader2 byte[] int int
32: aconst_null
StackMap locals: com.sun.javafx.iio.gif.GIFImageLoader2 int int int int int int int int int int int int int int int byte[][] int[] com.sun.javafx.iio.ImageMetadata int byte[]
StackMap stack: com.sun.javafx.iio.gif.GIFImageLoader2 byte[] int int int[]
33: invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.decodeImage:([BII[I)V
34: aload 0
aload 20
aload 16
iload 13
35: iload 7
iload 8
iload 9
iload 10
iload 19
36: invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.decodePalette:([B[[BIIIIII)Ljava/nio/ByteBuffer;
astore 21
start local 21 37: aload 0
getfield com.sun.javafx.iio.gif.GIFImageLoader2.screenW:I
iload 2
if_icmpne 38
aload 0
getfield com.sun.javafx.iio.gif.GIFImageLoader2.screenH:I
iload 3
if_icmpeq 41
38: StackMap locals: java.nio.ByteBuffer
StackMap stack:
aload 21
aload 0
getfield com.sun.javafx.iio.gif.GIFImageLoader2.screenW:I
aload 0
getfield com.sun.javafx.iio.gif.GIFImageLoader2.screenH:I
iconst_4
39: iload 2
iload 3
iload 5
40: invokestatic com.sun.javafx.iio.common.ImageTools.scaleImage:(Ljava/nio/ByteBuffer;IIIIIZ)Ljava/nio/ByteBuffer;
astore 21
41: StackMap locals:
StackMap stack:
new com.sun.javafx.iio.ImageFrame
dup
getstatic com.sun.javafx.iio.ImageStorage$ImageType.RGBA:Lcom/sun/javafx/iio/ImageStorage$ImageType;
aload 21
42: iload 2
iload 3
iload 2
iconst_4
imul
aconst_null
aload 18
43: invokespecial com.sun.javafx.iio.ImageFrame.<init>:(Lcom/sun/javafx/iio/ImageStorage$ImageType;Ljava/nio/ByteBuffer;III[[BLcom/sun/javafx/iio/ImageMetadata;)V
areturn
end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 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 44 0 this Lcom/sun/javafx/iio/gif/GIFImageLoader2;
0 44 1 imageIndex I
0 44 2 width I
0 44 3 height I
0 44 4 preserveAspectRatio Z
0 44 5 smooth Z
1 44 6 imageControlCode I
4 44 7 left I
5 44 8 top I
6 44 9 w I
7 44 10 h I
10 44 11 imgCtrl I
13 44 12 isTRNS Z
16 44 13 trnsIndex I
19 44 14 localPalette Z
22 44 15 isInterlaced Z
25 44 16 palette [[B
26 44 17 outWH [I
29 44 18 metadata Lcom/sun/javafx/iio/ImageMetadata;
30 44 19 disposalCode I
31 44 20 pImage [B
37 44 21 img Ljava/nio/ByteBuffer;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
imageIndex
width
height
preserveAspectRatio
smooth
private int readByte();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield com.sun.javafx.iio.gif.GIFImageLoader2.stream:Ljava/io/InputStream;
invokevirtual java.io.InputStream.read:()I
istore 1
start local 1 1: iload 1
ifge 3
2: new java.io.EOFException
dup
invokespecial java.io.EOFException.<init>:()V
athrow
3: StackMap locals: int
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/javafx/iio/gif/GIFImageLoader2;
1 4 1 ch I
Exceptions:
throws java.io.IOException
private int readShort();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readByte:()I
istore 1
start local 1 1: aload 0
invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readByte:()I
istore 2
start local 2 2: iload 1
iload 2
bipush 8
ishl
iadd
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/javafx/iio/gif/GIFImageLoader2;
1 3 1 lsb I
2 3 2 msb I
Exceptions:
throws java.io.IOException
private byte[] readBytes(byte[]);
descriptor: ([B)[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
aload 1
arraylength
invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.readBytes:([BII)[B
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/javafx/iio/gif/GIFImageLoader2;
0 1 1 data [B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
data
private byte[] readBytes(byte[], int, int);
descriptor: ([BII)[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: goto 6
1: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.iio.gif.GIFImageLoader2.stream:Ljava/io/InputStream;
aload 1
iload 2
iload 3
invokevirtual java.io.InputStream.read:([BII)I
istore 4
start local 4 2: iload 4
ifge 4
3: new java.io.EOFException
dup
invokespecial java.io.EOFException.<init>:()V
athrow
4: StackMap locals: int
StackMap stack:
iload 2
iload 4
iadd
istore 2
5: iload 3
iload 4
isub
istore 3
end local 4 6: StackMap locals:
StackMap stack:
iload 3
ifgt 1
7: aload 1
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/javafx/iio/gif/GIFImageLoader2;
0 8 1 data [B
0 8 2 offs I
0 8 3 size I
2 6 4 sz I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
data
offs
size
private void skipBytes(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.javafx.iio.gif.GIFImageLoader2.stream:Ljava/io/InputStream;
iload 1
i2l
invokestatic com.sun.javafx.iio.common.ImageTools.skipFully:(Ljava/io/InputStream;J)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/javafx/iio/gif/GIFImageLoader2;
0 2 1 n I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
n
public void dispose();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/javafx/iio/gif/GIFImageLoader2;
private void restoreToBackground(byte[], int, int, int, int);
descriptor: ([BIIII)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=9, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: iconst_0
istore 6
start local 6 1: goto 9
2: StackMap locals: int
StackMap stack:
iload 3
iload 6
iadd
aload 0
getfield com.sun.javafx.iio.gif.GIFImageLoader2.screenW:I
imul
iload 2
iadd
iconst_4
imul
istore 7
start local 7 3: iconst_0
istore 8
start local 8 4: goto 7
5: StackMap locals: int int
StackMap stack:
aload 1
iload 7
iconst_3
iadd
iconst_0
bastore
6: iinc 7 4
iinc 8 1
StackMap locals:
StackMap stack:
7: iload 8
iload 4
if_icmpne 5
end local 8 end local 7 8: iinc 6 1
StackMap locals:
StackMap stack:
9: iload 6
iload 5
if_icmpne 2
end local 6 10: return
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 11 0 this Lcom/sun/javafx/iio/gif/GIFImageLoader2;
0 11 1 img [B
0 11 2 left I
0 11 3 top I
0 11 4 w I
0 11 5 h I
1 10 6 y I
3 8 7 iPos I
4 8 8 x I
MethodParameters:
Name Flags
img
left
top
w
h
private java.nio.ByteBuffer decodePalette(byte[], byte[][], int, int, int, int, int, int);
descriptor: ([B[[BIIIIII)Ljava/nio/ByteBuffer;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=15, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: iload 8
iconst_3
if_icmpne 1
aload 0
getfield com.sun.javafx.iio.gif.GIFImageLoader2.image:[B
invokevirtual byte[].clone:()Ljava/lang/Object;
checkcast byte[]
goto 2
StackMap locals:
StackMap stack:
1: aload 0
getfield com.sun.javafx.iio.gif.GIFImageLoader2.image:[B
StackMap locals:
StackMap stack: byte[]
2: astore 9
start local 9 3: iconst_0
istore 10
start local 10 4: goto 29
5: StackMap locals: byte[] int
StackMap stack:
iload 5
iload 10
iadd
aload 0
getfield com.sun.javafx.iio.gif.GIFImageLoader2.screenW:I
imul
iload 4
iadd
iconst_4
imul
istore 11
start local 11 6: iload 10
iload 6
imul
istore 12
start local 12 7: iload 3
ifge 18
8: iconst_0
istore 13
start local 13 9: goto 16
10: StackMap locals: int int int
StackMap stack:
sipush 255
aload 1
iload 12
iload 13
iadd
baload
iand
istore 14
start local 14 11: aload 9
iload 11
iconst_0
iadd
aload 2
iconst_0
aaload
iload 14
baload
bastore
12: aload 9
iload 11
iconst_1
iadd
aload 2
iconst_1
aaload
iload 14
baload
bastore
13: aload 9
iload 11
iconst_2
iadd
aload 2
iconst_2
aaload
iload 14
baload
bastore
14: aload 9
iload 11
iconst_3
iadd
aload 2
iconst_3
aaload
iload 14
baload
bastore
end local 14 15: iinc 11 4
iinc 13 1
StackMap locals:
StackMap stack:
16: iload 13
iload 6
if_icmpne 10
end local 13 17: goto 28
18: StackMap locals:
StackMap stack:
iconst_0
istore 13
start local 13 19: goto 27
20: StackMap locals: int
StackMap stack:
sipush 255
aload 1
iload 12
iload 13
iadd
baload
iand
istore 14
start local 14 21: iload 14
iload 3
if_icmpeq 26
22: aload 9
iload 11
iconst_0
iadd
aload 2
iconst_0
aaload
iload 14
baload
bastore
23: aload 9
iload 11
iconst_1
iadd
aload 2
iconst_1
aaload
iload 14
baload
bastore
24: aload 9
iload 11
iconst_2
iadd
aload 2
iconst_2
aaload
iload 14
baload
bastore
25: aload 9
iload 11
iconst_3
iadd
aload 2
iconst_3
aaload
iload 14
baload
bastore
end local 14 26: StackMap locals:
StackMap stack:
iinc 11 4
iinc 13 1
StackMap locals:
StackMap stack:
27: iload 13
iload 6
if_icmpne 20
end local 13 end local 12 end local 11 28: StackMap locals:
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
29: iload 10
iload 7
if_icmpne 5
end local 10 30: iload 8
iconst_3
if_icmpeq 31
aload 9
invokevirtual byte[].clone:()Ljava/lang/Object;
checkcast byte[]
astore 9
31: StackMap locals:
StackMap stack:
iload 8
iconst_2
if_icmpne 32
aload 0
aload 0
getfield com.sun.javafx.iio.gif.GIFImageLoader2.image:[B
iload 4
iload 5
iload 6
iload 7
invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.restoreToBackground:([BIIII)V
32: StackMap locals:
StackMap stack:
aload 9
invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
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 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lcom/sun/javafx/iio/gif/GIFImageLoader2;
0 33 1 srcImage [B
0 33 2 palette [[B
0 33 3 trnsIndex I
0 33 4 left I
0 33 5 top I
0 33 6 w I
0 33 7 h I
0 33 8 disposalCode I
3 33 9 img [B
4 30 10 y I
6 28 11 iPos I
7 28 12 i I
9 17 13 x I
11 15 14 index I
19 28 13 x I
21 26 14 index I
MethodParameters:
Name Flags
srcImage
palette
trnsIndex
left
top
w
h
disposalCode
private com.sun.javafx.iio.ImageMetadata updateMetadata(int, int, int);
descriptor: (III)Lcom/sun/javafx/iio/ImageMetadata;
flags: (0x0002) ACC_PRIVATE
Code:
stack=14, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new com.sun.javafx.iio.ImageMetadata
dup
aconst_null
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aconst_null
aconst_null
aconst_null
1: iload 3
ifeq 2
iload 3
bipush 10
imul
goto 3
StackMap locals: com.sun.javafx.iio.gif.GIFImageLoader2 int int int
StackMap stack: new 0 new 0 null java.lang.Boolean null null null
2: bipush 40
StackMap locals: com.sun.javafx.iio.gif.GIFImageLoader2 int int int
StackMap stack: new 0 new 0 null java.lang.Boolean null null null int
3: invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 0
getfield com.sun.javafx.iio.gif.GIFImageLoader2.loopCount:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aconst_null
aconst_null
aconst_null
4: invokespecial com.sun.javafx.iio.ImageMetadata.<init>:(Ljava/lang/Float;Ljava/lang/Boolean;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;)V
astore 4
start local 4 5: aload 0
aload 4
invokevirtual com.sun.javafx.iio.gif.GIFImageLoader2.updateImageMetadata:(Lcom/sun/javafx/iio/ImageMetadata;)V
6: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/javafx/iio/gif/GIFImageLoader2;
0 7 1 w I
0 7 2 h I
0 7 3 delayTime I
5 7 4 metaData Lcom/sun/javafx/iio/ImageMetadata;
MethodParameters:
Name Flags
w
h
delayTime
}
SourceFile: "GIFImageLoader2.java"
NestMembers:
com.sun.javafx.iio.gif.GIFImageLoader2$LZWDecoder
InnerClasses:
public final ImageType = com.sun.javafx.iio.ImageStorage$ImageType of com.sun.javafx.iio.ImageStorage
LZWDecoder = com.sun.javafx.iio.gif.GIFImageLoader2$LZWDecoder of com.sun.javafx.iio.gif.GIFImageLoader2