public final class com.sun.javafx.iio.png.PNGImageLoader2 extends com.sun.javafx.iio.common.ImageLoaderImpl
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.sun.javafx.iio.png.PNGImageLoader2
super_class: com.sun.javafx.iio.common.ImageLoaderImpl
{
static final byte[] FILE_SIG;
descriptor: [B
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final int IHDR_TYPE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1229472850
static final int PLTE_TYPE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1347179589
static final int IDAT_TYPE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1229209940
static final int IEND_TYPE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1229278788
static final int tRNS_TYPE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1951551059
static final int PNG_COLOR_GRAY;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 0
static final int PNG_COLOR_RGB;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 2
static final int PNG_COLOR_PALETTE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 3
static final int PNG_COLOR_GRAY_ALPHA;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 4
static final int PNG_COLOR_RGB_ALPHA;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 6
static final int[] numBandsPerColorType;
descriptor: [I
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final int PNG_FILTER_NONE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 0
static final int PNG_FILTER_SUB;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1
static final int PNG_FILTER_UP;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 2
static final int PNG_FILTER_AVERAGE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 3
static final int PNG_FILTER_PAETH;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 4
private final java.io.DataInputStream stream;
descriptor: Ljava/io/DataInputStream;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int width;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int height;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int bitDepth;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int colorType;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean isInterlaced;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean tRNS_present;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean tRNS_GRAY_RGB;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int trnsR;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int trnsG;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int trnsB;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private byte[][] palette;
descriptor: [[B
flags: (0x0002) ACC_PRIVATE
private static final int[] starting_y;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int[] starting_x;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int[] increment_y;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int[] increment_x;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: bipush 8
newarray 8
dup
iconst_0
bipush -119
bastore
dup
iconst_1
bipush 80
bastore
dup
iconst_2
bipush 78
bastore
dup
iconst_3
1: bipush 71
bastore
dup
iconst_4
bipush 13
bastore
dup
iconst_5
bipush 10
bastore
dup
bipush 6
bipush 26
bastore
dup
bipush 7
bipush 10
bastore
2: putstatic com.sun.javafx.iio.png.PNGImageLoader2.FILE_SIG:[B
3: bipush 7
newarray 10
dup
iconst_0
iconst_1
iastore
dup
iconst_1
iconst_m1
iastore
dup
iconst_2
iconst_3
iastore
dup
iconst_3
iconst_1
iastore
dup
iconst_4
iconst_2
iastore
dup
iconst_5
iconst_m1
iastore
dup
bipush 6
iconst_4
iastore
putstatic com.sun.javafx.iio.png.PNGImageLoader2.numBandsPerColorType:[I
4: bipush 8
newarray 10
dup
iconst_2
iconst_4
iastore
dup
iconst_4
iconst_2
iastore
dup
bipush 6
iconst_1
iastore
putstatic com.sun.javafx.iio.png.PNGImageLoader2.starting_y:[I
5: bipush 8
newarray 10
dup
iconst_1
iconst_4
iastore
dup
iconst_3
iconst_2
iastore
dup
iconst_5
iconst_1
iastore
putstatic com.sun.javafx.iio.png.PNGImageLoader2.starting_x:[I
6: bipush 8
newarray 10
dup
iconst_0
bipush 8
iastore
dup
iconst_1
bipush 8
iastore
dup
iconst_2
bipush 8
iastore
dup
iconst_3
iconst_4
iastore
dup
iconst_4
iconst_4
iastore
dup
iconst_5
iconst_2
iastore
dup
bipush 6
iconst_2
iastore
dup
bipush 7
iconst_1
iastore
putstatic com.sun.javafx.iio.png.PNGImageLoader2.increment_y:[I
7: bipush 8
newarray 10
dup
iconst_0
bipush 8
iastore
dup
iconst_1
bipush 8
iastore
dup
iconst_2
iconst_4
iastore
dup
iconst_3
iconst_4
iastore
dup
iconst_4
iconst_2
iastore
dup
iconst_5
iconst_2
iastore
dup
bipush 6
iconst_1
iastore
dup
bipush 7
iconst_1
iastore
putstatic com.sun.javafx.iio.png.PNGImageLoader2.increment_x:[I
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokestatic com.sun.javafx.iio.png.PNGDescriptor.getInstance:()Lcom/sun/javafx/iio/common/ImageDescriptor;
invokespecial com.sun.javafx.iio.common.ImageLoaderImpl.<init>:(Lcom/sun/javafx/iio/ImageFormatDescription;)V
1: aload 0
iconst_0
putfield com.sun.javafx.iio.png.PNGImageLoader2.tRNS_present:Z
2: aload 0
iconst_0
putfield com.sun.javafx.iio.png.PNGImageLoader2.tRNS_GRAY_RGB:Z
3: aload 0
new java.io.DataInputStream
dup
aload 1
invokespecial java.io.DataInputStream.<init>:(Ljava/io/InputStream;)V
putfield com.sun.javafx.iio.png.PNGImageLoader2.stream:Ljava/io/DataInputStream;
4: aload 0
bipush 8
newarray 8
invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.readBytes:([B)[B
astore 2
start local 2 5: getstatic com.sun.javafx.iio.png.PNGImageLoader2.FILE_SIG:[B
aload 2
invokestatic java.util.Arrays.equals:([B[B)Z
ifne 7
6: new java.io.IOException
dup
ldc "Bad PNG signature!"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals: com.sun.javafx.iio.png.PNGImageLoader2 java.io.InputStream byte[]
StackMap stack:
aload 0
invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.readHeader:()V
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/javafx/iio/png/PNGImageLoader2;
0 9 1 input Ljava/io/InputStream;
5 9 2 signature [B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
input
private void ();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.readChunk:()[I
astore 1
start local 1 1: aload 1
iconst_1
iaload
ldc 1229472850
if_icmpeq 3
aload 1
iconst_0
iaload
bipush 13
if_icmpeq 3
2: new java.io.IOException
dup
ldc "Bad PNG header!"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: int[]
StackMap stack:
aload 0
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.stream:Ljava/io/DataInputStream;
invokevirtual java.io.DataInputStream.readInt:()I
putfield com.sun.javafx.iio.png.PNGImageLoader2.width:I
4: aload 0
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.stream:Ljava/io/DataInputStream;
invokevirtual java.io.DataInputStream.readInt:()I
putfield com.sun.javafx.iio.png.PNGImageLoader2.height:I
5: aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.width:I
ifeq 6
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.height:I
ifne 7
6: StackMap locals:
StackMap stack:
new java.io.IOException
dup
ldc "Bad PNG image size!"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.stream:Ljava/io/DataInputStream;
invokevirtual java.io.DataInputStream.readByte:()B
putfield com.sun.javafx.iio.png.PNGImageLoader2.bitDepth:I
8: aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.bitDepth:I
iconst_1
if_icmpeq 11
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.bitDepth:I
iconst_2
if_icmpeq 11
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.bitDepth:I
iconst_4
if_icmpeq 11
9: aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.bitDepth:I
bipush 8
if_icmpeq 11
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.bitDepth:I
bipush 16
if_icmpeq 11
10: new java.io.IOException
dup
ldc "Bad PNG bit depth"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.stream:Ljava/io/DataInputStream;
invokevirtual java.io.DataInputStream.readByte:()B
putfield com.sun.javafx.iio.png.PNGImageLoader2.colorType:I
12: aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.colorType:I
bipush 6
if_icmpgt 13
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.colorType:I
iconst_1
if_icmpeq 13
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.colorType:I
iconst_5
if_icmpne 14
13: StackMap locals:
StackMap stack:
new java.io.IOException
dup
ldc "Bad PNG color type"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.colorType:I
iconst_3
if_icmpeq 15
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.colorType:I
ifeq 15
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.bitDepth:I
bipush 8
if_icmplt 16
15: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.colorType:I
iconst_3
if_icmpne 17
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.bitDepth:I
bipush 16
if_icmpne 17
16: StackMap locals:
StackMap stack:
new java.io.IOException
dup
ldc "Bad color type/bit depth combination!"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
17: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.stream:Ljava/io/DataInputStream;
invokevirtual java.io.DataInputStream.readByte:()B
istore 2
start local 2 18: iload 2
ifeq 20
19: new java.io.IOException
dup
ldc "Bad PNG comression!"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
20: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.stream:Ljava/io/DataInputStream;
invokevirtual java.io.DataInputStream.readByte:()B
istore 3
start local 3 21: iload 3
ifeq 23
22: new java.io.IOException
dup
ldc "Bad PNG filter method!"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
23: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.stream:Ljava/io/DataInputStream;
invokevirtual java.io.DataInputStream.readByte:()B
istore 4
start local 4 24: iload 4
ifeq 26
iload 4
iconst_1
if_icmpeq 26
25: new java.io.IOException
dup
ldc "Unknown interlace method (not 0 or 1)!"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
26: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.stream:Ljava/io/DataInputStream;
invokevirtual java.io.DataInputStream.readInt:()I
pop
27: aload 0
iload 4
iconst_1
if_icmpne 28
iconst_1
goto 29
StackMap locals:
StackMap stack: com.sun.javafx.iio.png.PNGImageLoader2
28: iconst_0
StackMap locals: com.sun.javafx.iio.png.PNGImageLoader2 int[] int int int
StackMap stack: com.sun.javafx.iio.png.PNGImageLoader2 int
29: putfield com.sun.javafx.iio.png.PNGImageLoader2.isInterlaced:Z
30: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lcom/sun/javafx/iio/png/PNGImageLoader2;
1 31 1 hdrData [I
18 31 2 compressionMethod B
21 31 3 filterMethod B
24 31 4 interlaceMethod B
Exceptions:
throws java.io.IOException
private int[] readChunk();
descriptor: ()[I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: iconst_2
newarray 10
dup
iconst_0
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.stream:Ljava/io/DataInputStream;
invokevirtual java.io.DataInputStream.readInt:()I
iastore
dup
iconst_1
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.stream:Ljava/io/DataInputStream;
invokevirtual java.io.DataInputStream.readInt:()I
iastore
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/javafx/iio/png/PNGImageLoader2;
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.png.PNGImageLoader2.readBytes:([BII)[B
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/javafx/iio/png/PNGImageLoader2;
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=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.stream:Ljava/io/DataInputStream;
aload 1
iload 2
iload 3
invokevirtual java.io.DataInputStream.readFully:([BII)V
1: aload 1
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/javafx/iio/png/PNGImageLoader2;
0 2 1 data [B
0 2 2 offs I
0 2 3 size I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
data
offs
size
private void skip(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.stream:Ljava/io/DataInputStream;
iload 1
invokevirtual java.io.DataInputStream.skipBytes:(I)I
if_icmpeq 2
1: new java.io.EOFException
dup
invokespecial java.io.EOFException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/javafx/iio/png/PNGImageLoader2;
0 3 1 n I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
n
private void readPaletteChunk(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=2
start local 0 start local 1 0: iload 1
iconst_3
idiv
istore 2
start local 2 1: iconst_1
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.bitDepth:I
ishl
istore 3
start local 3 2: iload 2
iload 3
if_icmple 5
3: aload 0
ldc "PLTE chunk contains too many entries for bit depth, ignoring extras."
invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.emitWarning:(Ljava/lang/String;)V
4: iload 3
istore 2
5: StackMap locals: int int
StackMap stack:
aload 0
iconst_3
iload 3
multianewarray [[B 2
putfield com.sun.javafx.iio.png.PNGImageLoader2.palette:[[B
6: aload 0
iload 1
newarray 8
invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.readBytes:([B)[B
astore 4
start local 4 7: iconst_0
istore 5
start local 5 8: iconst_0
istore 6
start local 6 9: goto 16
10: StackMap locals: byte[] int int
StackMap stack:
iconst_0
istore 7
start local 7 11: goto 14
12: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.palette:[[B
iload 7
aaload
iload 5
aload 4
iload 6
iinc 6 1
baload
bastore
13: iinc 7 1
StackMap locals:
StackMap stack:
14: iload 7
iconst_3
if_icmpne 12
end local 7 15: iinc 5 1
StackMap locals:
StackMap stack:
16: iload 5
iload 2
if_icmpne 10
end local 6 end local 5 17: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/sun/javafx/iio/png/PNGImageLoader2;
0 18 1 chunkLength I
1 18 2 numEntries I
2 18 3 paletteEntries I
7 18 4 paletteData [B
8 17 5 i I
9 17 6 idx I
11 15 7 k I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
chunkLength
private void parsePaletteChunk(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.palette:[[B
ifnull 6
1: aload 0
2: ldc "A PNG image may not contain more than one PLTE chunk.\nThe chunk wil be ignored."
3: invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.emitWarning:(Ljava/lang/String;)V
4: aload 0
iload 1
invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.skip:(I)V
5: return
6: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.colorType:I
tableswitch { // 0 - 4
0: 9
1: 10
2: 10
3: 7
4: 9
default: 10
}
7: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.readPaletteChunk:(I)V
8: return
9: StackMap locals:
StackMap stack:
aload 0
ldc "A PNG gray or gray alpha image cannot have a PLTE chunk.\nThe chunk wil be ignored."
invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.emitWarning:(Ljava/lang/String;)V
10: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.skip:(I)V
11: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/sun/javafx/iio/png/PNGImageLoader2;
0 12 1 chunkLength I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
chunkLength
private boolean readPaletteTransparency(int);
descriptor: (I)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.palette:[[B
ifnonnull 4
1: aload 0
ldc "tRNS chunk without prior PLTE chunk, ignoring it."
invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.emitWarning:(Ljava/lang/String;)V
2: aload 0
iload 1
invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.skip:(I)V
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
iconst_4
anewarray byte[]
astore 2
start local 2 5: aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.palette:[[B
iconst_0
aload 2
iconst_0
iconst_3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
6: aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.palette:[[B
iconst_0
aaload
arraylength
istore 3
start local 3 7: aload 2
iconst_3
iload 3
newarray 8
aastore
8: iload 1
iload 3
if_icmpge 9
iload 1
goto 10
StackMap locals: byte[][] int
StackMap stack:
9: iload 3
StackMap locals:
StackMap stack: int
10: istore 4
start local 4 11: aload 0
aload 2
iconst_3
aaload
iconst_0
iload 4
invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.readBytes:([BII)[B
pop
12: iload 4
istore 5
start local 5 13: goto 16
14: StackMap locals: int int
StackMap stack:
aload 2
iconst_3
aaload
iload 5
iconst_m1
bastore
15: iinc 5 1
StackMap locals:
StackMap stack:
16: iload 5
iload 3
if_icmplt 14
end local 5 17: iload 4
iload 1
if_icmpge 19
18: aload 0
iload 1
iload 4
isub
invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.skip:(I)V
19: StackMap locals:
StackMap stack:
aload 0
aload 2
putfield com.sun.javafx.iio.png.PNGImageLoader2.palette:[[B
20: iconst_1
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lcom/sun/javafx/iio/png/PNGImageLoader2;
0 21 1 chunkLength I
5 21 2 newPal [[B
7 21 3 paletteLength I
11 21 4 nRead I
13 17 5 i I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
chunkLength
private boolean readGrayTransparency(int);
descriptor: (I)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
iconst_2
if_icmpne 3
1: aload 0
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.stream:Ljava/io/DataInputStream;
invokevirtual java.io.DataInputStream.readShort:()S
putfield com.sun.javafx.iio.png.PNGImageLoader2.trnsG:I
2: iconst_1
ireturn
3: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/javafx/iio/png/PNGImageLoader2;
0 4 1 chunkLength I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
chunkLength
private boolean readRgbTransparency(int);
descriptor: (I)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
bipush 6
if_icmpne 5
1: aload 0
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.stream:Ljava/io/DataInputStream;
invokevirtual java.io.DataInputStream.readShort:()S
putfield com.sun.javafx.iio.png.PNGImageLoader2.trnsR:I
2: aload 0
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.stream:Ljava/io/DataInputStream;
invokevirtual java.io.DataInputStream.readShort:()S
putfield com.sun.javafx.iio.png.PNGImageLoader2.trnsG:I
3: aload 0
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.stream:Ljava/io/DataInputStream;
invokevirtual java.io.DataInputStream.readShort:()S
putfield com.sun.javafx.iio.png.PNGImageLoader2.trnsB:I
4: iconst_1
ireturn
5: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/javafx/iio/png/PNGImageLoader2;
0 6 1 chunkLength I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
chunkLength
private void parseTransparencyChunk(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.colorType:I
tableswitch { // 0 - 3
0: 3
1: 7
2: 5
3: 1
default: 7
}
1: StackMap locals:
StackMap stack:
aload 0
aload 0
iload 1
invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.readPaletteTransparency:(I)Z
putfield com.sun.javafx.iio.png.PNGImageLoader2.tRNS_present:Z
2: goto 9
3: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 0
iload 1
invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.readGrayTransparency:(I)Z
dup_x1
putfield com.sun.javafx.iio.png.PNGImageLoader2.tRNS_present:Z
putfield com.sun.javafx.iio.png.PNGImageLoader2.tRNS_GRAY_RGB:Z
4: goto 9
5: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 0
iload 1
invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.readRgbTransparency:(I)Z
dup_x1
putfield com.sun.javafx.iio.png.PNGImageLoader2.tRNS_present:Z
putfield com.sun.javafx.iio.png.PNGImageLoader2.tRNS_GRAY_RGB:Z
6: goto 9
7: StackMap locals:
StackMap stack:
aload 0
ldc "TransparencyChunk may not present when alpha explicitly defined"
invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.emitWarning:(Ljava/lang/String;)V
8: aload 0
iload 1
invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.skip:(I)V
9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/javafx/iio/png/PNGImageLoader2;
0 10 1 chunkLength I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
chunkLength
private int parsePngMeta();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.readChunk:()[I
astore 1
start local 1 1: aload 1
iconst_0
iaload
ifge 3
2: new java.io.IOException
dup
ldc "Invalid chunk length"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: int[]
StackMap stack:
aload 1
iconst_1
iaload
lookupswitch { // 4
1229209940: 4
1229278788: 5
1347179589: 6
1951551059: 8
default: 10
}
4: StackMap locals:
StackMap stack:
aload 1
iconst_0
iaload
ireturn
5: StackMap locals:
StackMap stack:
iconst_0
ireturn
6: StackMap locals:
StackMap stack:
aload 0
aload 1
iconst_0
iaload
invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.parsePaletteChunk:(I)V
7: goto 11
8: StackMap locals:
StackMap stack:
aload 0
aload 1
iconst_0
iaload
invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.parseTransparencyChunk:(I)V
9: goto 11
10: StackMap locals:
StackMap stack:
aload 0
aload 1
iconst_0
iaload
invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.skip:(I)V
11: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.stream:Ljava/io/DataInputStream;
invokevirtual java.io.DataInputStream.readInt:()I
pop
end local 1 12: goto 0
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/sun/javafx/iio/png/PNGImageLoader2;
1 12 1 chunk [I
Exceptions:
throws java.io.IOException
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/png/PNGImageLoader2;
private com.sun.javafx.iio.ImageStorage$ImageType getType();
descriptor: ()Lcom/sun/javafx/iio/ImageStorage$ImageType;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.colorType:I
tableswitch { // 0 - 6
0: 1
1: 12
2: 5
3: 9
4: 10
5: 12
6: 11
default: 12
}
1: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.tRNS_present:Z
ifeq 3
2: getstatic com.sun.javafx.iio.ImageStorage$ImageType.GRAY_ALPHA:Lcom/sun/javafx/iio/ImageStorage$ImageType;
goto 4
3: StackMap locals:
StackMap stack:
getstatic com.sun.javafx.iio.ImageStorage$ImageType.GRAY:Lcom/sun/javafx/iio/ImageStorage$ImageType;
4: StackMap locals:
StackMap stack: com.sun.javafx.iio.ImageStorage$ImageType
areturn
5: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.tRNS_present:Z
ifeq 7
6: getstatic com.sun.javafx.iio.ImageStorage$ImageType.RGBA:Lcom/sun/javafx/iio/ImageStorage$ImageType;
goto 8
7: StackMap locals:
StackMap stack:
getstatic com.sun.javafx.iio.ImageStorage$ImageType.RGB:Lcom/sun/javafx/iio/ImageStorage$ImageType;
8: StackMap locals:
StackMap stack: com.sun.javafx.iio.ImageStorage$ImageType
areturn
9: StackMap locals:
StackMap stack:
getstatic com.sun.javafx.iio.ImageStorage$ImageType.PALETTE:Lcom/sun/javafx/iio/ImageStorage$ImageType;
areturn
10: StackMap locals:
StackMap stack:
getstatic com.sun.javafx.iio.ImageStorage$ImageType.GRAY_ALPHA:Lcom/sun/javafx/iio/ImageStorage$ImageType;
areturn
11: StackMap locals:
StackMap stack:
getstatic com.sun.javafx.iio.ImageStorage$ImageType.RGBA:Lcom/sun/javafx/iio/ImageStorage$ImageType;
areturn
12: StackMap locals:
StackMap stack:
new java.lang.RuntimeException
dup
invokespecial java.lang.RuntimeException.<init>:()V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/sun/javafx/iio/png/PNGImageLoader2;
private void doSubFilter(byte[], int);
descriptor: ([BI)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
arraylength
istore 3
start local 3 1: iload 2
istore 4
start local 4 2: goto 5
3: StackMap locals: int int
StackMap stack:
aload 1
iload 4
aload 1
iload 4
baload
aload 1
iload 4
iload 2
isub
baload
iadd
i2b
bastore
4: iinc 4 1
StackMap locals:
StackMap stack:
5: iload 4
iload 3
if_icmpne 3
end local 4 6: return
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/png/PNGImageLoader2;
0 7 1 line [B
0 7 2 bpp I
1 7 3 l I
2 6 4 i I
MethodParameters:
Name Flags
line
bpp
private void doUpFilter(byte[], byte[]);
descriptor: ([B[B)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
arraylength
istore 3
start local 3 1: iconst_0
istore 4
start local 4 2: goto 5
3: StackMap locals: int int
StackMap stack:
aload 1
iload 4
aload 1
iload 4
baload
aload 2
iload 4
baload
iadd
i2b
bastore
4: iinc 4 1
StackMap locals:
StackMap stack:
5: iload 4
iload 3
if_icmpne 3
end local 4 6: return
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/png/PNGImageLoader2;
0 7 1 line [B
0 7 2 pline [B
1 7 3 l I
2 6 4 i I
MethodParameters:
Name Flags
line
pline
private void doAvrgFilter(byte[], byte[], int);
descriptor: ([B[BI)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
arraylength
istore 4
start local 4 1: iconst_0
istore 5
start local 5 2: goto 5
3: StackMap locals: int int
StackMap stack:
aload 1
iload 5
aload 1
iload 5
baload
aload 2
iload 5
baload
sipush 255
iand
iconst_2
idiv
iadd
i2b
bastore
4: iinc 5 1
StackMap locals:
StackMap stack:
5: iload 5
iload 3
if_icmpne 3
end local 5 6: iload 3
istore 5
start local 5 7: goto 12
8: StackMap locals:
StackMap stack:
aload 1
iload 5
aload 1
iload 5
baload
9: aload 1
iload 5
iload 3
isub
baload
sipush 255
iand
aload 2
iload 5
baload
sipush 255
iand
iadd
iconst_2
idiv
iadd
i2b
10: bastore
11: iinc 5 1
StackMap locals:
StackMap stack:
12: iload 5
iload 4
if_icmpne 8
end local 5 13: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/sun/javafx/iio/png/PNGImageLoader2;
0 14 1 line [B
0 14 2 pline [B
0 14 3 bpp I
1 14 4 l I
2 6 5 i I
7 13 5 i I
MethodParameters:
Name Flags
line
pline
bpp
private static int paethPr(int, int, int);
descriptor: (III)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=6, args_size=3
start local 0 start local 1 start local 2 0: iload 1
iload 2
isub
invokestatic java.lang.Math.abs:(I)I
istore 3
start local 3 1: iload 0
iload 2
isub
invokestatic java.lang.Math.abs:(I)I
istore 4
start local 4 2: iload 1
iload 2
isub
iload 0
iadd
iload 2
isub
invokestatic java.lang.Math.abs:(I)I
istore 5
start local 5 3: iload 3
iload 4
if_icmpgt 4
iload 3
iload 5
if_icmpgt 4
iload 0
goto 6
StackMap locals: int int int
StackMap stack:
4: iload 4
iload 5
if_icmpgt 5
iload 1
goto 6
StackMap locals:
StackMap stack:
5: iload 2
StackMap locals:
StackMap stack: int
6: ireturn
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 7 0 a I
0 7 1 b I
0 7 2 c I
1 7 3 pa I
2 7 4 pb I
3 7 5 pc I
MethodParameters:
Name Flags
a
b
c
private void doPaethFilter(byte[], byte[], int);
descriptor: ([B[BI)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
arraylength
istore 4
start local 4 1: iconst_0
istore 5
start local 5 2: goto 5
3: StackMap locals: int int
StackMap stack:
aload 1
iload 5
aload 1
iload 5
baload
aload 2
iload 5
baload
iadd
i2b
bastore
4: iinc 5 1
StackMap locals:
StackMap stack:
5: iload 5
iload 3
if_icmpne 3
end local 5 6: iload 3
istore 5
start local 5 7: goto 12
8: StackMap locals:
StackMap stack:
aload 1
iload 5
aload 1
iload 5
baload
9: aload 1
iload 5
iload 3
isub
baload
sipush 255
iand
aload 2
iload 5
baload
sipush 255
iand
aload 2
iload 5
iload 3
isub
baload
sipush 255
iand
invokestatic com.sun.javafx.iio.png.PNGImageLoader2.paethPr:(III)I
iadd
i2b
10: bastore
11: iinc 5 1
StackMap locals:
StackMap stack:
12: iload 5
iload 4
if_icmpne 8
end local 5 13: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/sun/javafx/iio/png/PNGImageLoader2;
0 14 1 line [B
0 14 2 pline [B
0 14 3 bpp I
1 14 4 l I
2 6 5 i I
7 13 5 i I
MethodParameters:
Name Flags
line
pline
bpp
private void doFilter(byte[], byte[], int, int);
descriptor: ([B[BII)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 3
tableswitch { // 1 - 4
1: 1
2: 3
3: 5
4: 7
default: 8
}
1: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 4
invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.doSubFilter:([BI)V
2: goto 8
3: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.doUpFilter:([B[B)V
4: goto 8
5: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
iload 4
invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.doAvrgFilter:([B[BI)V
6: goto 8
7: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
iload 4
invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.doPaethFilter:([B[BI)V
8: 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 9 0 this Lcom/sun/javafx/iio/png/PNGImageLoader2;
0 9 1 line [B
0 9 2 pline [B
0 9 3 fType I
0 9 4 bpp I
MethodParameters:
Name Flags
line
pline
fType
bpp
private void downsample16to8trns_gray(byte[], byte[], int, int);
descriptor: ([B[BII)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
arraylength
iconst_2
idiv
istore 5
start local 5 1: iconst_0
istore 6
start local 6 2: iload 3
istore 7
start local 7 3: goto 10
4: StackMap locals: int int int
StackMap stack:
aload 1
iload 6
iconst_2
imul
baload
sipush 255
iand
sipush 256
imul
aload 1
iload 6
iconst_2
imul
iconst_1
iadd
baload
sipush 255
iand
iadd
i2s
istore 8
start local 8 5: aload 2
iload 7
iconst_0
iadd
aload 1
iload 6
iconst_2
imul
baload
bastore
6: aload 2
iload 7
iconst_1
iadd
iload 8
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.trnsG:I
if_icmpne 7
iconst_0
goto 8
StackMap locals: com.sun.javafx.iio.png.PNGImageLoader2 byte[] byte[] int int int int int int
StackMap stack: byte[] int
7: iconst_m1
StackMap locals: com.sun.javafx.iio.png.PNGImageLoader2 byte[] byte[] int int int int int int
StackMap stack: byte[] int int
8: bastore
end local 8 9: iload 7
iload 4
iconst_2
imul
iadd
istore 7
iinc 6 1
StackMap locals:
StackMap stack:
10: iload 6
iload 5
if_icmplt 4
end local 7 end local 6 11: 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 12 0 this Lcom/sun/javafx/iio/png/PNGImageLoader2;
0 12 1 line [B
0 12 2 image [B
0 12 3 pos I
0 12 4 step I
1 12 5 l I
2 11 6 i I
3 11 7 oPos I
5 9 8 gray16 I
MethodParameters:
Name Flags
line
image
pos
step
private void downsample16to8trns_rgb(byte[], byte[], int, int);
descriptor: ([B[BII)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=12, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
arraylength
iconst_2
idiv
iconst_3
idiv
istore 5
start local 5 1: iconst_0
istore 6
start local 6 2: iload 3
istore 7
start local 7 3: goto 16
4: StackMap locals: int int int
StackMap stack:
iload 6
bipush 6
imul
istore 8
start local 8 5: aload 1
iload 8
iconst_0
iadd
baload
sipush 255
iand
sipush 256
imul
aload 1
iload 8
iconst_1
iadd
baload
sipush 255
iand
iadd
i2s
istore 9
start local 9 6: aload 1
iload 8
iconst_2
iadd
baload
sipush 255
iand
sipush 256
imul
aload 1
iload 8
iconst_3
iadd
baload
sipush 255
iand
iadd
i2s
istore 10
start local 10 7: aload 1
iload 8
iconst_4
iadd
baload
sipush 255
iand
sipush 256
imul
aload 1
iload 8
iconst_5
iadd
baload
sipush 255
iand
iadd
i2s
istore 11
start local 11 8: aload 2
iload 7
iconst_0
iadd
aload 1
iload 8
iconst_0
iadd
baload
bastore
9: aload 2
iload 7
iconst_1
iadd
aload 1
iload 8
iconst_2
iadd
baload
bastore
10: aload 2
iload 7
iconst_2
iadd
aload 1
iload 8
iconst_4
iadd
baload
bastore
11: aload 2
iload 7
iconst_3
iadd
12: iload 9
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.trnsR:I
if_icmpne 13
iload 10
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.trnsG:I
if_icmpne 13
iload 11
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.trnsB:I
if_icmpne 13
iconst_0
goto 14
StackMap locals: com.sun.javafx.iio.png.PNGImageLoader2 byte[] byte[] int int int int int int int int int
StackMap stack: byte[] int
13: iconst_m1
14: StackMap locals: com.sun.javafx.iio.png.PNGImageLoader2 byte[] byte[] int int int int int int int int int
StackMap stack: byte[] int int
bastore
end local 11 end local 10 end local 9 end local 8 15: iload 7
iload 4
iconst_4
imul
iadd
istore 7
iinc 6 1
StackMap locals: com.sun.javafx.iio.png.PNGImageLoader2 byte[] byte[] int int int int int
StackMap stack:
16: iload 6
iload 5
if_icmplt 4
end local 7 end local 6 17: 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 18 0 this Lcom/sun/javafx/iio/png/PNGImageLoader2;
0 18 1 line [B
0 18 2 image [B
0 18 3 pos I
0 18 4 step I
1 18 5 l I
2 17 6 i I
3 17 7 oPos I
5 15 8 iPos I
6 15 9 r16 I
7 15 10 g16 I
8 15 11 b16 I
MethodParameters:
Name Flags
line
image
pos
step
private void downsample16to8_plain(byte[], byte[], int, int, int);
descriptor: ([B[BIII)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=11, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 1
arraylength
iconst_2
idiv
iload 5
idiv
iload 5
imul
istore 6
start local 6 1: iload 4
iload 5
imul
istore 7
start local 7 2: iconst_0
istore 8
start local 8 3: iload 3
istore 9
start local 9 4: goto 11
5: StackMap locals: com.sun.javafx.iio.png.PNGImageLoader2 byte[] byte[] int int int int int int int
StackMap stack:
iconst_0
istore 10
start local 10 6: goto 9
7: StackMap locals: int
StackMap stack:
aload 2
iload 9
iload 10
iadd
aload 1
iload 8
iload 10
iadd
iconst_2
imul
baload
bastore
8: iinc 10 1
StackMap locals:
StackMap stack:
9: iload 10
iload 5
if_icmpne 7
end local 10 10: iload 9
iload 7
iadd
istore 9
iload 8
iload 5
iadd
istore 8
StackMap locals:
StackMap stack:
11: iload 8
iload 6
if_icmpne 5
end local 9 end local 8 12: return
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 13 0 this Lcom/sun/javafx/iio/png/PNGImageLoader2;
0 13 1 line [B
0 13 2 image [B
0 13 3 pos I
0 13 4 step I
0 13 5 bpp I
1 13 6 l I
2 13 7 stepBpp I
3 12 8 i I
4 12 9 oPos I
6 10 10 b I
MethodParameters:
Name Flags
line
image
pos
step
bpp
private void downsample16to8(byte[], byte[], int, int, int);
descriptor: ([B[BIII)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.tRNS_GRAY_RGB:Z
ifne 3
1: aload 0
aload 1
aload 2
iload 3
iload 4
iload 5
invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.downsample16to8_plain:([B[BIII)V
2: goto 8
StackMap locals:
StackMap stack:
3: aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.colorType:I
ifne 6
4: aload 0
aload 1
aload 2
iload 3
iload 4
invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.downsample16to8trns_gray:([B[BII)V
5: goto 8
StackMap locals:
StackMap stack:
6: aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.colorType:I
iconst_2
if_icmpne 8
7: aload 0
aload 1
aload 2
iload 3
iload 4
invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.downsample16to8trns_rgb:([B[BII)V
8: StackMap locals:
StackMap stack:
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 9 0 this Lcom/sun/javafx/iio/png/PNGImageLoader2;
0 9 1 line [B
0 9 2 image [B
0 9 3 pos I
0 9 4 step I
0 9 5 bpp I
MethodParameters:
Name Flags
line
image
pos
step
bpp
private void copyTrns_gray(byte[], byte[], int, int);
descriptor: ([B[BII)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=10, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.trnsG:I
i2b
istore 5
start local 5 1: iconst_0
istore 6
start local 6 2: iload 3
istore 7
start local 7 3: aload 1
arraylength
istore 8
start local 8 4: goto 11
5: StackMap locals: com.sun.javafx.iio.png.PNGImageLoader2 byte[] byte[] int int int int int int
StackMap stack:
aload 1
iload 6
baload
istore 9
start local 9 6: aload 2
iload 7
iload 9
bastore
7: aload 2
iload 7
iconst_1
iadd
iload 9
iload 5
if_icmpne 8
iconst_0
goto 9
StackMap locals: com.sun.javafx.iio.png.PNGImageLoader2 byte[] byte[] int int int int int int int
StackMap stack: byte[] int
8: iconst_m1
StackMap locals: com.sun.javafx.iio.png.PNGImageLoader2 byte[] byte[] int int int int int int int
StackMap stack: byte[] int int
9: bastore
end local 9 10: iload 7
iconst_2
iload 4
imul
iadd
istore 7
iinc 6 1
StackMap locals:
StackMap stack:
11: iload 6
iload 8
if_icmplt 5
end local 8 end local 7 end local 6 12: 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 13 0 this Lcom/sun/javafx/iio/png/PNGImageLoader2;
0 13 1 line [B
0 13 2 image [B
0 13 3 pos I
0 13 4 step I
1 13 5 tG B
2 12 6 i I
3 12 7 oPos I
4 12 8 l I
6 10 9 gray B
MethodParameters:
Name Flags
line
image
pos
step
private void copyTrns_rgb(byte[], byte[], int, int);
descriptor: ([B[BII)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=14, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.trnsR:I
i2b
istore 5
start local 5 1: aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.trnsG:I
i2b
istore 6
start local 6 2: aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.trnsB:I
i2b
istore 7
start local 7 3: aload 1
arraylength
iconst_3
idiv
istore 8
start local 8 4: iconst_0
istore 9
start local 9 5: iload 3
istore 10
start local 10 6: goto 17
7: StackMap locals: com.sun.javafx.iio.png.PNGImageLoader2 byte[] byte[] int int int int int int int int
StackMap stack:
aload 1
iload 9
iconst_3
imul
baload
istore 11
start local 11 8: aload 1
iload 9
iconst_3
imul
iconst_1
iadd
baload
istore 12
start local 12 9: aload 1
iload 9
iconst_3
imul
iconst_2
iadd
baload
istore 13
start local 13 10: aload 2
iload 10
iconst_0
iadd
iload 11
bastore
11: aload 2
iload 10
iconst_1
iadd
iload 12
bastore
12: aload 2
iload 10
iconst_2
iadd
iload 13
bastore
13: aload 2
iload 10
iconst_3
iadd
iload 11
iload 5
if_icmpne 14
iload 12
iload 6
if_icmpne 14
iload 13
iload 7
if_icmpne 14
iconst_0
goto 15
StackMap locals: com.sun.javafx.iio.png.PNGImageLoader2 byte[] byte[] int int int int int int int int int int int
StackMap stack: byte[] int
14: iconst_m1
StackMap locals: com.sun.javafx.iio.png.PNGImageLoader2 byte[] byte[] int int int int int int int int int int int
StackMap stack: byte[] int int
15: bastore
end local 13 end local 12 end local 11 16: iload 10
iload 4
iconst_4
imul
iadd
istore 10
iinc 9 1
StackMap locals:
StackMap stack:
17: iload 9
iload 8
if_icmplt 7
end local 10 end local 9 18: return
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 19 0 this Lcom/sun/javafx/iio/png/PNGImageLoader2;
0 19 1 line [B
0 19 2 image [B
0 19 3 pos I
0 19 4 step I
1 19 5 tR B
2 19 6 tG B
3 19 7 tB B
4 19 8 l I
5 18 9 i I
6 18 10 oPos I
8 16 11 r B
9 16 12 g B
10 16 13 b B
MethodParameters:
Name Flags
line
image
pos
step
private void copy_plain(byte[], byte[], int, int, int);
descriptor: ([B[BIII)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=11, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 1
arraylength
istore 6
start local 6 1: iload 4
iload 5
imul
istore 7
start local 7 2: iconst_0
istore 8
start local 8 3: iload 3
istore 9
start local 9 4: goto 11
5: StackMap locals: com.sun.javafx.iio.png.PNGImageLoader2 byte[] byte[] int int int int int int int
StackMap stack:
iconst_0
istore 10
start local 10 6: goto 9
7: StackMap locals: int
StackMap stack:
aload 2
iload 9
iload 10
iadd
aload 1
iload 8
iload 10
iadd
baload
bastore
8: iinc 10 1
StackMap locals:
StackMap stack:
9: iload 10
iload 5
if_icmpne 7
end local 10 10: iload 9
iload 7
iadd
istore 9
iload 8
iload 5
iadd
istore 8
StackMap locals:
StackMap stack:
11: iload 8
iload 6
if_icmpne 5
end local 9 end local 8 12: return
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 13 0 this Lcom/sun/javafx/iio/png/PNGImageLoader2;
0 13 1 line [B
0 13 2 image [B
0 13 3 pos I
0 13 4 step I
0 13 5 bpp I
1 13 6 l I
2 13 7 stepBpp I
3 12 8 i I
4 12 9 oPos I
6 10 10 b I
MethodParameters:
Name Flags
line
image
pos
step
bpp
private void copy(byte[], byte[], int, int, int);
descriptor: ([B[BIII)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.tRNS_GRAY_RGB:Z
ifne 6
1: iload 4
iconst_1
if_icmpne 4
2: aload 1
iconst_0
aload 2
iload 3
aload 1
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
3: goto 11
4: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
iload 3
iload 4
iload 5
invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.copy_plain:([B[BIII)V
5: goto 11
StackMap locals:
StackMap stack:
6: aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.colorType:I
ifne 9
7: aload 0
aload 1
aload 2
iload 3
iload 4
invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.copyTrns_gray:([B[BII)V
8: goto 11
StackMap locals:
StackMap stack:
9: aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.colorType:I
iconst_2
if_icmpne 11
10: aload 0
aload 1
aload 2
iload 3
iload 4
invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.copyTrns_rgb:([B[BII)V
11: StackMap locals:
StackMap stack:
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 12 0 this Lcom/sun/javafx/iio/png/PNGImageLoader2;
0 12 1 line [B
0 12 2 image [B
0 12 3 pos I
0 12 4 step I
0 12 5 resultBpp I
MethodParameters:
Name Flags
line
image
pos
step
resultBpp
private void upsampleTo8Palette(byte[], byte[], int, int, int);
descriptor: ([B[BIII)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=13, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: bipush 8
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.bitDepth:I
idiv
istore 6
start local 6 1: iconst_1
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.bitDepth:I
ishl
iconst_1
isub
istore 7
start local 7 2: iconst_0
istore 8
start local 8 3: iconst_0
istore 9
start local 9 4: goto 16
5: StackMap locals: com.sun.javafx.iio.png.PNGImageLoader2 byte[] byte[] int int int int int int int
StackMap stack:
iload 4
iload 8
isub
iload 6
if_icmpge 6
iload 4
iload 8
isub
goto 7
StackMap locals:
StackMap stack:
6: iload 6
StackMap locals:
StackMap stack: int
7: istore 10
start local 10 8: aload 1
iload 9
baload
iload 6
iload 10
isub
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.bitDepth:I
imul
ishr
istore 11
start local 11 9: iload 10
iconst_1
isub
istore 12
start local 12 10: goto 14
11: StackMap locals: int int int
StackMap stack:
aload 2
iload 3
iload 8
iload 12
iadd
iload 5
imul
iadd
iload 11
iload 7
iand
i2b
bastore
12: iload 11
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.bitDepth:I
ishr
istore 11
13: iinc 12 -1
StackMap locals:
StackMap stack:
14: iload 12
ifge 11
end local 12 end local 11 end local 10 15: iinc 9 1
iload 8
iload 6
iadd
istore 8
StackMap locals:
StackMap stack:
16: iload 8
iload 4
if_icmplt 5
end local 9 end local 8 17: return
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 18 0 this Lcom/sun/javafx/iio/png/PNGImageLoader2;
0 18 1 line [B
0 18 2 image [B
0 18 3 pos I
0 18 4 w I
0 18 5 step I
1 18 6 samplesInByte I
2 18 7 maxV I
3 17 8 i I
4 17 9 k I
8 15 10 p I
9 15 11 in I
10 15 12 pp I
MethodParameters:
Name Flags
line
image
pos
w
step
private void upsampleTo8Gray(byte[], byte[], int, int, int);
descriptor: ([B[BIII)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=14, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: bipush 8
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.bitDepth:I
idiv
istore 6
start local 6 1: iconst_1
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.bitDepth:I
ishl
iconst_1
isub
istore 7
start local 7 2: iload 7
iconst_2
idiv
istore 8
start local 8 3: iconst_0
istore 9
start local 9 4: iconst_0
istore 10
start local 10 5: goto 17
6: StackMap locals: com.sun.javafx.iio.png.PNGImageLoader2 byte[] byte[] int int int int int int int int
StackMap stack:
iload 4
iload 9
isub
iload 6
if_icmpge 7
iload 4
iload 9
isub
goto 8
StackMap locals:
StackMap stack:
7: iload 6
StackMap locals:
StackMap stack: int
8: istore 11
start local 11 9: aload 1
iload 10
baload
iload 6
iload 11
isub
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.bitDepth:I
imul
ishr
istore 12
start local 12 10: iload 11
iconst_1
isub
istore 13
start local 13 11: goto 15
12: StackMap locals: int int int
StackMap stack:
aload 2
iload 3
iload 9
iload 13
iadd
iload 5
imul
iadd
iload 12
iload 7
iand
sipush 255
imul
iload 8
iadd
iload 7
idiv
i2b
bastore
13: iload 12
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.bitDepth:I
ishr
istore 12
14: iinc 13 -1
StackMap locals:
StackMap stack:
15: iload 13
ifge 12
end local 13 end local 12 end local 11 16: iinc 10 1
iload 9
iload 6
iadd
istore 9
StackMap locals:
StackMap stack:
17: iload 9
iload 4
if_icmplt 6
end local 10 end local 9 18: return
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 19 0 this Lcom/sun/javafx/iio/png/PNGImageLoader2;
0 19 1 line [B
0 19 2 image [B
0 19 3 pos I
0 19 4 w I
0 19 5 step I
1 19 6 samplesInByte I
2 19 7 maxV I
3 19 8 hmaxV I
4 18 9 i I
5 18 10 k I
9 16 11 p I
10 16 12 in I
11 16 13 pp I
MethodParameters:
Name Flags
line
image
pos
w
step
private void upsampleTo8GrayTrns(byte[], byte[], int, int, int);
descriptor: ([B[BIII)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=16, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: bipush 8
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.bitDepth:I
idiv
istore 6
start local 6 1: iconst_1
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.bitDepth:I
ishl
iconst_1
isub
istore 7
start local 7 2: iload 7
iconst_2
idiv
istore 8
start local 8 3: iconst_0
istore 9
start local 9 4: iconst_0
istore 10
start local 10 5: goto 22
6: StackMap locals: com.sun.javafx.iio.png.PNGImageLoader2 byte[] byte[] int int int int int int int int
StackMap stack:
iload 4
iload 9
isub
iload 6
if_icmpge 7
iload 4
iload 9
isub
goto 8
StackMap locals:
StackMap stack:
7: iload 6
StackMap locals:
StackMap stack: int
8: istore 11
start local 11 9: aload 1
iload 10
baload
iload 6
iload 11
isub
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.bitDepth:I
imul
ishr
istore 12
start local 12 10: iload 11
iconst_1
isub
istore 13
start local 13 11: goto 20
12: StackMap locals: int int int
StackMap stack:
iload 3
iload 9
iload 13
iadd
iload 5
imul
iconst_2
imul
iadd
istore 14
start local 14 13: iload 12
iload 7
iand
istore 15
start local 15 14: aload 2
iload 14
iload 15
sipush 255
imul
iload 8
iadd
iload 7
idiv
i2b
bastore
15: aload 2
iload 14
iconst_1
iadd
iload 15
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.trnsG:I
if_icmpne 16
iconst_0
goto 17
StackMap locals: com.sun.javafx.iio.png.PNGImageLoader2 byte[] byte[] int int int int int int int int int int int int int
StackMap stack: byte[] int
16: iconst_m1
StackMap locals: com.sun.javafx.iio.png.PNGImageLoader2 byte[] byte[] int int int int int int int int int int int int int
StackMap stack: byte[] int int
17: bastore
18: iload 12
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.bitDepth:I
ishr
istore 12
end local 15 end local 14 19: iinc 13 -1
StackMap locals:
StackMap stack:
20: iload 13
ifge 12
end local 13 end local 12 end local 11 21: iinc 10 1
iload 9
iload 6
iadd
istore 9
StackMap locals:
StackMap stack:
22: iload 9
iload 4
if_icmplt 6
end local 10 end local 9 23: return
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 24 0 this Lcom/sun/javafx/iio/png/PNGImageLoader2;
0 24 1 line [B
0 24 2 image [B
0 24 3 pos I
0 24 4 w I
0 24 5 step I
1 24 6 samplesInByte I
2 24 7 maxV I
3 24 8 hmaxV I
4 23 9 i I
5 23 10 k I
9 21 11 p I
10 21 12 in I
11 21 13 pp I
13 19 14 idx I
14 19 15 value I
MethodParameters:
Name Flags
line
image
pos
w
step
private void upsampleTo8(byte[], byte[], int, int, int, int);
descriptor: ([B[BIIII)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.colorType:I
iconst_3
if_icmpne 3
1: aload 0
aload 1
aload 2
iload 3
iload 4
iload 5
invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.upsampleTo8Palette:([B[BIII)V
2: goto 8
StackMap locals:
StackMap stack:
3: iload 6
iconst_1
if_icmpne 6
4: aload 0
aload 1
aload 2
iload 3
iload 4
iload 5
invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.upsampleTo8Gray:([B[BIII)V
5: goto 8
StackMap locals:
StackMap stack:
6: aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.tRNS_GRAY_RGB:Z
ifeq 8
iload 6
iconst_2
if_icmpne 8
7: aload 0
aload 1
aload 2
iload 3
iload 4
iload 5
invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.upsampleTo8GrayTrns:([B[BIII)V
8: StackMap locals:
StackMap stack:
return
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 9 0 this Lcom/sun/javafx/iio/png/PNGImageLoader2;
0 9 1 line [B
0 9 2 image [B
0 9 3 pos I
0 9 4 w I
0 9 5 step I
0 9 6 bpp I
MethodParameters:
Name Flags
line
image
pos
w
step
bpp
private static int mipSize(int, int, int[], int[]);
descriptor: (II[I[I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 0
aload 2
iload 1
iaload
isub
aload 3
iload 1
iaload
iadd
iconst_1
isub
aload 3
iload 1
iaload
idiv
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 size I
0 1 1 mip I
0 1 2 start [I
0 1 3 increment [I
MethodParameters:
Name Flags
size
mip
start
increment
private static int mipPos(int, int, int[], int[]);
descriptor: (II[I[I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
iload 1
iaload
iload 0
aload 3
iload 1
iaload
imul
iadd
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 pos I
0 1 1 mip I
0 1 2 start [I
0 1 3 increment [I
MethodParameters:
Name Flags
pos
mip
start
increment
private void loadMip(byte[], java.io.InputStream, int);
descriptor: ([BLjava/io/InputStream;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=16, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.width:I
iload 3
getstatic com.sun.javafx.iio.png.PNGImageLoader2.starting_x:[I
getstatic com.sun.javafx.iio.png.PNGImageLoader2.increment_x:[I
invokestatic com.sun.javafx.iio.png.PNGImageLoader2.mipSize:(II[I[I)I
istore 4
start local 4 1: aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.height:I
iload 3
getstatic com.sun.javafx.iio.png.PNGImageLoader2.starting_y:[I
getstatic com.sun.javafx.iio.png.PNGImageLoader2.increment_y:[I
invokestatic com.sun.javafx.iio.png.PNGImageLoader2.mipSize:(II[I[I)I
istore 5
start local 5 2: iload 4
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.bitDepth:I
imul
getstatic com.sun.javafx.iio.png.PNGImageLoader2.numBandsPerColorType:[I
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.colorType:I
iaload
imul
bipush 7
iadd
bipush 8
idiv
istore 6
start local 6 3: iload 6
newarray 8
astore 7
start local 7 4: iload 6
newarray 8
astore 8
start local 8 5: aload 0
invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.bpp:()I
istore 9
start local 9 6: getstatic com.sun.javafx.iio.png.PNGImageLoader2.numBandsPerColorType:[I
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.colorType:I
iaload
aload 0
invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.bytesPerColor:()I
imul
istore 10
start local 10 7: iconst_0
istore 11
start local 11 8: goto 28
9: StackMap locals: com.sun.javafx.iio.png.PNGImageLoader2 byte[] java.io.InputStream int int int int byte[] byte[] int int int
StackMap stack:
aload 2
invokevirtual java.io.InputStream.read:()I
istore 12
start local 12 10: iload 12
iconst_m1
if_icmpne 12
11: new java.io.EOFException
dup
invokespecial java.io.EOFException.<init>:()V
athrow
12: StackMap locals: int
StackMap stack:
aload 2
aload 7
invokevirtual java.io.InputStream.read:([B)I
iload 6
if_icmpeq 14
13: new java.io.EOFException
dup
invokespecial java.io.EOFException.<init>:()V
athrow
14: StackMap locals:
StackMap stack:
aload 0
aload 7
aload 8
iload 12
iload 10
invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.doFilter:([B[BII)V
15: iload 11
iload 3
getstatic com.sun.javafx.iio.png.PNGImageLoader2.starting_y:[I
getstatic com.sun.javafx.iio.png.PNGImageLoader2.increment_y:[I
invokestatic com.sun.javafx.iio.png.PNGImageLoader2.mipPos:(II[I[I)I
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.width:I
imul
getstatic com.sun.javafx.iio.png.PNGImageLoader2.starting_x:[I
iload 3
iaload
iadd
iload 9
imul
istore 13
start local 13 16: getstatic com.sun.javafx.iio.png.PNGImageLoader2.increment_x:[I
iload 3
iaload
istore 14
start local 14 17: aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.bitDepth:I
bipush 16
if_icmpne 20
18: aload 0
aload 7
aload 1
iload 13
iload 14
iload 9
invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.downsample16to8:([B[BIII)V
19: goto 24
StackMap locals: int int
StackMap stack:
20: aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.bitDepth:I
bipush 8
if_icmpge 23
21: aload 0
aload 7
aload 1
iload 13
iload 4
iload 14
iload 9
invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.upsampleTo8:([B[BIIII)V
22: goto 24
23: StackMap locals:
StackMap stack:
aload 0
aload 7
aload 1
iload 13
iload 14
iload 9
invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.copy:([B[BIII)V
24: StackMap locals:
StackMap stack:
aload 7
astore 15
start local 15 25: aload 8
astore 7
26: aload 15
astore 8
end local 15 end local 14 end local 13 end local 12 27: iinc 11 1
StackMap locals:
StackMap stack:
28: iload 11
iload 5
if_icmpne 9
end local 11 29: return
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 30 0 this Lcom/sun/javafx/iio/png/PNGImageLoader2;
0 30 1 image [B
0 30 2 data Ljava/io/InputStream;
0 30 3 mip I
1 30 4 mipWidth I
2 30 5 mipHeight I
3 30 6 scanLineSize I
4 30 7 scanLine0 [B
5 30 8 scanLine1 [B
6 30 9 resultBpp I
7 30 10 srcBpp I
8 29 11 y I
10 27 12 filterByte I
16 27 13 pos I
17 27 14 step I
25 27 15 scanLineSwp [B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
image
data
mip
private void load(byte[], java.io.InputStream);
descriptor: ([BLjava/io/InputStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.isInterlaced:Z
ifeq 8
1: iconst_0
istore 3
start local 3 2: goto 6
3: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.width:I
getstatic com.sun.javafx.iio.png.PNGImageLoader2.starting_x:[I
iload 3
iaload
if_icmple 5
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.height:I
getstatic com.sun.javafx.iio.png.PNGImageLoader2.starting_y:[I
iload 3
iaload
if_icmple 5
4: aload 0
aload 1
aload 2
iload 3
invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.loadMip:([BLjava/io/InputStream;I)V
5: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
bipush 7
if_icmpne 3
end local 3 7: goto 9
8: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
bipush 7
invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.loadMip:([BLjava/io/InputStream;I)V
9: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/javafx/iio/png/PNGImageLoader2;
0 10 1 image [B
0 10 2 data Ljava/io/InputStream;
2 7 3 mip I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
image
data
private com.sun.javafx.iio.ImageFrame decodePalette(byte[], com.sun.javafx.iio.ImageMetadata);
descriptor: ([BLcom/sun/javafx/iio/ImageMetadata;)Lcom/sun/javafx/iio/ImageFrame;
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.tRNS_present:Z
ifeq 1
iconst_4
goto 2
StackMap locals:
StackMap stack:
1: iconst_3
StackMap locals:
StackMap stack: int
2: istore 3
start local 3 3: aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.width:I
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.height:I
imul
iload 3
imul
newarray 8
astore 4
start local 4 4: aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.width:I
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.height:I
imul
istore 5
start local 5 5: aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.tRNS_present:Z
ifeq 17
6: iconst_0
istore 6
start local 6 7: iconst_0
istore 7
start local 7 8: goto 15
9: StackMap locals: com.sun.javafx.iio.png.PNGImageLoader2 byte[] com.sun.javafx.iio.ImageMetadata int byte[] int int int
StackMap stack:
sipush 255
aload 1
iload 6
baload
iand
istore 8
start local 8 10: aload 4
iload 7
iconst_0
iadd
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.palette:[[B
iconst_0
aaload
iload 8
baload
bastore
11: aload 4
iload 7
iconst_1
iadd
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.palette:[[B
iconst_1
aaload
iload 8
baload
bastore
12: aload 4
iload 7
iconst_2
iadd
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.palette:[[B
iconst_2
aaload
iload 8
baload
bastore
13: aload 4
iload 7
iconst_3
iadd
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.palette:[[B
iconst_3
aaload
iload 8
baload
bastore
end local 8 14: iinc 7 4
iinc 6 1
StackMap locals:
StackMap stack:
15: iload 6
iload 5
if_icmpne 9
end local 7 end local 6 16: goto 26
17: StackMap locals:
StackMap stack:
iconst_0
istore 6
start local 6 18: iconst_0
istore 7
start local 7 19: goto 25
20: StackMap locals: int int
StackMap stack:
sipush 255
aload 1
iload 6
baload
iand
istore 8
start local 8 21: aload 4
iload 7
iconst_0
iadd
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.palette:[[B
iconst_0
aaload
iload 8
baload
bastore
22: aload 4
iload 7
iconst_1
iadd
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.palette:[[B
iconst_1
aaload
iload 8
baload
bastore
23: aload 4
iload 7
iconst_2
iadd
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.palette:[[B
iconst_2
aaload
iload 8
baload
bastore
end local 8 24: iinc 7 3
iinc 6 1
StackMap locals:
StackMap stack:
25: iload 6
iload 5
if_icmpne 20
end local 7 end local 6 26: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.tRNS_present:Z
ifeq 28
27: getstatic com.sun.javafx.iio.ImageStorage$ImageType.RGBA:Lcom/sun/javafx/iio/ImageStorage$ImageType;
goto 29
28: StackMap locals:
StackMap stack:
getstatic com.sun.javafx.iio.ImageStorage$ImageType.RGB:Lcom/sun/javafx/iio/ImageStorage$ImageType;
29: StackMap locals:
StackMap stack: com.sun.javafx.iio.ImageStorage$ImageType
astore 6
start local 6 30: new com.sun.javafx.iio.ImageFrame
dup
aload 6
aload 4
invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.width:I
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.height:I
31: aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.width:I
iload 3
imul
aconst_null
aload 2
32: 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 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/png/PNGImageLoader2;
0 33 1 srcImage [B
0 33 2 metadata Lcom/sun/javafx/iio/ImageMetadata;
3 33 3 bpp I
4 33 4 newImage [B
5 33 5 l I
7 16 6 i I
8 16 7 j I
10 14 8 index I
18 26 6 i I
19 26 7 j I
21 24 8 index I
30 33 6 type Lcom/sun/javafx/iio/ImageStorage$ImageType;
MethodParameters:
Name Flags
srcImage
metadata
private int bpp();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic com.sun.javafx.iio.png.PNGImageLoader2.numBandsPerColorType:[I
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.colorType:I
iaload
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.tRNS_GRAY_RGB:Z
ifeq 1
iconst_1
goto 2
StackMap locals:
StackMap stack: int
1: iconst_0
StackMap locals: com.sun.javafx.iio.png.PNGImageLoader2
StackMap stack: int int
2: iadd
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/javafx/iio/png/PNGImageLoader2;
private int bytesPerColor();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.bitDepth:I
bipush 16
if_icmpne 1
iconst_2
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/javafx/iio/png/PNGImageLoader2;
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=14, locals=16, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: iload 1
ifeq 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.parsePngMeta:()I
istore 6
start local 6 3: iload 6
ifne 6
4: aload 0
ldc "No image data in PNG"
invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.emitWarning:(Ljava/lang/String;)V
5: aconst_null
areturn
6: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.width:I
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.height:I
iload 2
iload 3
iload 4
invokestatic com.sun.javafx.iio.common.ImageTools.computeDimensions:(IIIIZ)[I
astore 7
start local 7 7: aload 7
iconst_0
iaload
istore 2
8: aload 7
iconst_1
iaload
istore 3
9: new com.sun.javafx.iio.ImageMetadata
dup
aconst_null
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
10: aconst_null
aconst_null
aconst_null
aconst_null
aconst_null
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aconst_null
aconst_null
aconst_null
11: 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 8
start local 8 12: aload 0
aload 8
invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.updateImageMetadata:(Lcom/sun/javafx/iio/ImageMetadata;)V
13: aload 0
invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.bpp:()I
istore 9
start local 9 14: iload 9
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.width:I
imul
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.height:I
imul
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
astore 10
start local 10 15: new com.sun.javafx.iio.png.PNGIDATChunkInputStream
dup
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.stream:Ljava/io/DataInputStream;
iload 6
invokespecial com.sun.javafx.iio.png.PNGIDATChunkInputStream.<init>:(Ljava/io/DataInputStream;I)V
astore 11
start local 11 16: new java.util.zip.Inflater
dup
invokespecial java.util.zip.Inflater.<init>:()V
astore 12
start local 12 17: new java.io.BufferedInputStream
dup
new java.util.zip.InflaterInputStream
dup
aload 11
aload 12
invokespecial java.util.zip.InflaterInputStream.<init>:(Ljava/io/InputStream;Ljava/util/zip/Inflater;)V
invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;)V
astore 13
start local 13 18: aload 0
aload 10
invokevirtual java.nio.ByteBuffer.array:()[B
aload 13
invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.load:([BLjava/io/InputStream;)V
19: goto 26
StackMap locals: com.sun.javafx.iio.png.PNGImageLoader2 int int int int int int int[] com.sun.javafx.iio.ImageMetadata int java.nio.ByteBuffer com.sun.javafx.iio.png.PNGIDATChunkInputStream java.util.zip.Inflater java.io.InputStream
StackMap stack: java.io.IOException
20: astore 14
start local 14 21: aload 14
athrow
end local 14 22: StackMap locals:
StackMap stack: java.lang.Throwable
astore 15
23: aload 12
ifnull 25
24: aload 12
invokevirtual java.util.zip.Inflater.end:()V
25: StackMap locals: com.sun.javafx.iio.png.PNGImageLoader2 int int int int int int int[] com.sun.javafx.iio.ImageMetadata int java.nio.ByteBuffer com.sun.javafx.iio.png.PNGIDATChunkInputStream java.util.zip.Inflater java.io.InputStream top java.lang.Throwable
StackMap stack:
aload 15
athrow
26: StackMap locals: com.sun.javafx.iio.png.PNGImageLoader2 int int int int int int int[] com.sun.javafx.iio.ImageMetadata int java.nio.ByteBuffer com.sun.javafx.iio.png.PNGIDATChunkInputStream java.util.zip.Inflater java.io.InputStream
StackMap stack:
aload 12
ifnull 28
27: aload 12
invokevirtual java.util.zip.Inflater.end:()V
28: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.colorType:I
iconst_3
if_icmpne 30
29: aload 0
aload 10
invokevirtual java.nio.ByteBuffer.array:()[B
aload 8
invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.decodePalette:([BLcom/sun/javafx/iio/ImageMetadata;)Lcom/sun/javafx/iio/ImageFrame;
goto 31
30: StackMap locals:
StackMap stack:
new com.sun.javafx.iio.ImageFrame
dup
aload 0
invokevirtual com.sun.javafx.iio.png.PNGImageLoader2.getType:()Lcom/sun/javafx/iio/ImageStorage$ImageType;
aload 10
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.width:I
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.height:I
iload 9
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.width:I
imul
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.palette:[[B
aload 8
invokespecial com.sun.javafx.iio.ImageFrame.<init>:(Lcom/sun/javafx/iio/ImageStorage$ImageType;Ljava/nio/ByteBuffer;III[[BLcom/sun/javafx/iio/ImageMetadata;)V
31: StackMap locals:
StackMap stack: com.sun.javafx.iio.ImageFrame
astore 14
start local 14 32: aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.width:I
iload 2
if_icmpne 33
aload 0
getfield com.sun.javafx.iio.png.PNGImageLoader2.height:I
iload 3
if_icmpeq 34
33: StackMap locals: com.sun.javafx.iio.ImageFrame
StackMap stack:
aload 14
iload 2
iload 3
iload 5
invokestatic com.sun.javafx.iio.common.ImageTools.scaleImageFrame:(Lcom/sun/javafx/iio/ImageFrame;IIZ)Lcom/sun/javafx/iio/ImageFrame;
astore 14
34: StackMap locals:
StackMap stack:
aload 14
areturn
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 35 0 this Lcom/sun/javafx/iio/png/PNGImageLoader2;
0 35 1 imageIndex I
0 35 2 rWidth I
0 35 3 rHeight I
0 35 4 preserveAspectRatio Z
0 35 5 smooth Z
3 35 6 dataSize I
7 35 7 outWH [I
12 35 8 metaData Lcom/sun/javafx/iio/ImageMetadata;
14 35 9 bpp I
15 35 10 bb Ljava/nio/ByteBuffer;
16 35 11 iDat Lcom/sun/javafx/iio/png/PNGIDATChunkInputStream;
17 35 12 inf Ljava/util/zip/Inflater;
18 35 13 data Ljava/io/InputStream;
21 22 14 e Ljava/io/IOException;
32 35 14 imgPNG Lcom/sun/javafx/iio/ImageFrame;
Exception table:
from to target type
18 19 20 Class java.io.IOException
18 22 22 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
imageIndex
rWidth
rHeight
preserveAspectRatio
smooth
}
SourceFile: "PNGImageLoader2.java"
InnerClasses:
public final ImageType = com.sun.javafx.iio.ImageStorage$ImageType of com.sun.javafx.iio.ImageStorage