public class com.sun.imageio.plugins.jpeg.JPEGImageReader extends javax.imageio.ImageReader
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.imageio.plugins.jpeg.JPEGImageReader
super_class: javax.imageio.ImageReader
{
private boolean debug;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private long structPointer;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private javax.imageio.stream.ImageInputStream iis;
descriptor: Ljavax/imageio/stream/ImageInputStream;
flags: (0x0002) ACC_PRIVATE
private java.util.List imagePositions;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
private int numImages;
descriptor: I
flags: (0x0002) ACC_PRIVATE
protected static final int WARNING_NO_EOI;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 0
protected static final int WARNING_NO_JFIF_IN_THUMB;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 1
protected static final int WARNING_IGNORE_INVALID_ICC;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int MAX_WARNING;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private int currentImage;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int width;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int height;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int colorSpaceCode;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int outColorSpaceCode;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int numComponents;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.awt.color.ColorSpace iccCS;
descriptor: Ljava/awt/color/ColorSpace;
flags: (0x0002) ACC_PRIVATE
private java.awt.image.ColorConvertOp convert;
descriptor: Ljava/awt/image/ColorConvertOp;
flags: (0x0002) ACC_PRIVATE
private java.awt.image.BufferedImage image;
descriptor: Ljava/awt/image/BufferedImage;
flags: (0x0002) ACC_PRIVATE
private java.awt.image.WritableRaster raster;
descriptor: Ljava/awt/image/WritableRaster;
flags: (0x0002) ACC_PRIVATE
private java.awt.image.WritableRaster target;
descriptor: Ljava/awt/image/WritableRaster;
flags: (0x0002) ACC_PRIVATE
private java.awt.image.DataBufferByte buffer;
descriptor: Ljava/awt/image/DataBufferByte;
flags: (0x0002) ACC_PRIVATE
private java.awt.Rectangle destROI;
descriptor: Ljava/awt/Rectangle;
flags: (0x0002) ACC_PRIVATE
private int[] destinationBands;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private com.sun.imageio.plugins.jpeg.JPEGMetadata streamMetadata;
descriptor: Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
flags: (0x0002) ACC_PRIVATE
private com.sun.imageio.plugins.jpeg.JPEGMetadata imageMetadata;
descriptor: Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
flags: (0x0002) ACC_PRIVATE
private int imageMetadataIndex;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean haveSeeked;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private javax.imageio.plugins.jpeg.JPEGQTable[] abbrevQTables;
descriptor: [Ljavax/imageio/plugins/jpeg/JPEGQTable;
flags: (0x0002) ACC_PRIVATE
private javax.imageio.plugins.jpeg.JPEGHuffmanTable[] abbrevDCHuffmanTables;
descriptor: [Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
flags: (0x0002) ACC_PRIVATE
private javax.imageio.plugins.jpeg.JPEGHuffmanTable[] abbrevACHuffmanTables;
descriptor: [Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
flags: (0x0002) ACC_PRIVATE
private int minProgressivePass;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int maxProgressivePass;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private static final int UNKNOWN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -1
private static final int MIN_ESTIMATED_PASSES;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 10
private int knownPassCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int pass;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private float percentToDate;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private float previousPassPercentage;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private int progInterval;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean tablesOnlyChecked;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.lang.Object disposerReferent;
descriptor: Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
private sun.java2d.DisposerRecord disposerRecord;
descriptor: Lsun/java2d/DisposerRecord;
flags: (0x0002) ACC_PRIVATE
private java.lang.Thread theThread;
descriptor: Ljava/lang/Thread;
flags: (0x0002) ACC_PRIVATE
private int theLockCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock cbLock;
descriptor: Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new sun.security.action.LoadLibraryAction
dup
ldc "jpeg"
invokespecial sun.security.action.LoadLibraryAction.<init>:(Ljava/lang/String;)V
1: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
2: ldc Ljavax/imageio/stream/ImageInputStream;
3: ldc Ljavax/imageio/plugins/jpeg/JPEGQTable;
4: ldc Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
5: invokestatic com.sun.imageio.plugins.jpeg.JPEGImageReader.initReaderIDs:(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;)V
6: return
LocalVariableTable:
Start End Slot Name Signature
private static native void initReaderIDs(java.lang.Class, java.lang.Class, java.lang.Class);
descriptor: (Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;)V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
iisClass
qTableClass
huffClass
public void <init>(javax.imageio.spi.ImageReaderSpi);
descriptor: (Ljavax/imageio/spi/ImageReaderSpi;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial javax.imageio.ImageReader.<init>:(Ljavax/imageio/spi/ImageReaderSpi;)V
1: aload 0
iconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.debug:Z
2: aload 0
lconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.structPointer:J
3: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.iis:Ljavax/imageio/stream/ImageInputStream;
4: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.imagePositions:Ljava/util/List;
5: aload 0
iconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.numImages:I
6: aload 0
iconst_m1
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.currentImage:I
7: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.iccCS:Ljava/awt/color/ColorSpace;
8: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.convert:Ljava/awt/image/ColorConvertOp;
9: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.image:Ljava/awt/image/BufferedImage;
10: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.raster:Ljava/awt/image/WritableRaster;
11: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.target:Ljava/awt/image/WritableRaster;
12: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.buffer:Ljava/awt/image/DataBufferByte;
13: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.destROI:Ljava/awt/Rectangle;
14: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.destinationBands:[I
15: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.streamMetadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
16: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.imageMetadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
17: aload 0
iconst_m1
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.imageMetadataIndex:I
18: aload 0
iconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.haveSeeked:Z
19: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.abbrevQTables:[Ljavax/imageio/plugins/jpeg/JPEGQTable;
20: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.abbrevDCHuffmanTables:[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
21: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.abbrevACHuffmanTables:[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
22: aload 0
iconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.minProgressivePass:I
23: aload 0
ldc 2147483647
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.maxProgressivePass:I
24: aload 0
iconst_m1
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.knownPassCount:I
25: aload 0
iconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.pass:I
26: aload 0
fconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.percentToDate:F
27: aload 0
fconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.previousPassPercentage:F
28: aload 0
iconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.progInterval:I
29: aload 0
iconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.tablesOnlyChecked:Z
30: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.disposerReferent:Ljava/lang/Object;
31: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.theThread:Ljava/lang/Thread;
32: aload 0
iconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.theLockCount:I
33: aload 0
new com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock
dup
invokespecial com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.<init>:()V
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
34: aload 0
aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.initJPEGImageReader:()J
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.structPointer:J
35: aload 0
new com.sun.imageio.plugins.jpeg.JPEGImageReader$JPEGReaderDisposerRecord
dup
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.structPointer:J
invokespecial com.sun.imageio.plugins.jpeg.JPEGImageReader$JPEGReaderDisposerRecord.<init>:(J)V
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.disposerRecord:Lsun/java2d/DisposerRecord;
36: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.disposerReferent:Ljava/lang/Object;
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.disposerRecord:Lsun/java2d/DisposerRecord;
invokestatic sun.java2d.Disposer.addRecord:(Ljava/lang/Object;Lsun/java2d/DisposerRecord;)V
37: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 38 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;
0 38 1 originator Ljavax/imageio/spi/ImageReaderSpi;
MethodParameters:
Name Flags
originator
private native long initJPEGImageReader();
descriptor: ()J
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
protected void warningOccurred(int);
descriptor: (I)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.lock:()V
1: iload 1
iflt 2
iload 1
iconst_2
if_icmple 3
2: StackMap locals:
StackMap stack:
new java.lang.InternalError
dup
ldc "Invalid warning index"
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
4: ldc "com.sun.imageio.plugins.jpeg.JPEGImageReaderResources"
5: iload 1
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
6: invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.processWarningOccurred:(Ljava/lang/String;Ljava/lang/String;)V
7: goto 11
StackMap locals:
StackMap stack: java.lang.Throwable
8: astore 2
9: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.unlock:()V
10: aload 2
athrow
11: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.unlock:()V
12: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;
0 13 1 code I
Exception table:
from to target type
1 8 8 any
MethodParameters:
Name Flags
code
protected void warningWithMessage(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.lock:()V
1: aload 0
aload 1
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.processWarningOccurred:(Ljava/lang/String;)V
2: goto 6
StackMap locals:
StackMap stack: java.lang.Throwable
3: astore 2
4: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.unlock:()V
5: aload 2
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.unlock:()V
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;
0 8 1 msg Ljava/lang/String;
Exception table:
from to target type
1 3 3 any
MethodParameters:
Name Flags
msg
public void setInput(java.lang.Object, boolean, boolean);
descriptor: (Ljava/lang/Object;ZZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.setThreadLock:()V
1: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.check:()V
2: aload 0
aload 1
iload 2
iload 3
invokespecial javax.imageio.ImageReader.setInput:(Ljava/lang/Object;ZZ)V
3: aload 0
iload 3
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.ignoreMetadata:Z
4: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.resetInternalState:()V
5: aload 0
aload 1
checkcast javax.imageio.stream.ImageInputStream
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.iis:Ljavax/imageio/stream/ImageInputStream;
6: aload 0
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.structPointer:J
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.setSource:(J)V
7: goto 11
StackMap locals:
StackMap stack: java.lang.Throwable
8: astore 4
9: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.clearThreadLock:()V
10: aload 4
athrow
11: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.clearThreadLock:()V
12: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;
0 13 1 input Ljava/lang/Object;
0 13 2 seekForwardOnly Z
0 13 3 ignoreMetadata Z
Exception table:
from to target type
1 8 8 any
MethodParameters:
Name Flags
input
seekForwardOnly
ignoreMetadata
private int readInputData(byte[], int, int);
descriptor: ([BII)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.lock:()V
1: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.iis:Ljavax/imageio/stream/ImageInputStream;
aload 1
iload 2
iload 3
invokeinterface javax.imageio.stream.ImageInputStream.read:([BII)I
istore 5
2: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.unlock:()V
3: iload 5
ireturn
4: StackMap locals:
StackMap stack: java.lang.Throwable
astore 4
5: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.unlock:()V
6: aload 4
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;
0 7 1 buf [B
0 7 2 off I
0 7 3 len I
Exception table:
from to target type
1 2 4 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
buf
off
len
private long skipInputBytes(long);
descriptor: (J)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.lock:()V
1: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.iis:Ljavax/imageio/stream/ImageInputStream;
lload 1
invokeinterface javax.imageio.stream.ImageInputStream.skipBytes:(J)J
lstore 4
2: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.unlock:()V
3: lload 4
lreturn
4: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
5: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.unlock:()V
6: aload 3
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;
0 7 1 n J
Exception table:
from to target type
1 2 4 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
n
private native void setSource(long);
descriptor: (J)V
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
MethodParameters:
Name Flags
structPointer
private void checkTablesOnly();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=6, args_size=1
start local 0 0: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.debug:Z
ifeq 2
1: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Checking for tables-only image"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.iis:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.getStreamPosition:()J
lstore 1
start local 1 3: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.debug:Z
ifeq 6
4: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "saved pos is "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 1
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
5: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "length is "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.iis:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.length:()J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
6: StackMap locals: long
StackMap stack:
aload 0
iconst_1
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.readNativeHeader:(Z)Z
istore 3
start local 3 7: iload 3
ifeq 26
8: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.debug:Z
ifeq 12
9: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "tables-only image found"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
10: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.iis:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.getStreamPosition:()J
lstore 4
start local 4 11: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "pos after return from native is "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 4
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 4 12: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.ignoreMetadata:Z
ifne 23
13: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.iis:Ljavax/imageio/stream/ImageInputStream;
lload 1
invokeinterface javax.imageio.stream.ImageInputStream.seek:(J)V
14: aload 0
iconst_1
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.haveSeeked:Z
15: aload 0
new com.sun.imageio.plugins.jpeg.JPEGMetadata
dup
iconst_1
iconst_0
16: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.iis:Ljavax/imageio/stream/ImageInputStream;
aload 0
invokespecial com.sun.imageio.plugins.jpeg.JPEGMetadata.<init>:(ZZLjavax/imageio/stream/ImageInputStream;Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;)V
17: putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.streamMetadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
18: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.iis:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.getStreamPosition:()J
lstore 4
start local 4 19: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.debug:Z
ifeq 23
20: getstatic java.lang.System.out:Ljava/io/PrintStream;
21: new java.lang.StringBuilder
dup
ldc "pos after constructing stream metadata is "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 4
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
22: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 4 23: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.hasNextImage:()Z
ifeq 28
24: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.imagePositions:Ljava/util/List;
new java.lang.Long
dup
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.iis:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.getStreamPosition:()J
invokespecial java.lang.Long.<init>:(J)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
25: goto 28
26: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.imagePositions:Ljava/util/List;
new java.lang.Long
dup
lload 1
invokespecial java.lang.Long.<init>:(J)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
27: aload 0
iconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.currentImage:I
28: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.seekForwardOnly:Z
ifeq 31
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.imagePositions:Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifne 31
29: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.imagePositions:Ljava/util/List;
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.imagePositions:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
isub
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.Long
astore 4
start local 4 30: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.iis:Ljavax/imageio/stream/ImageInputStream;
aload 4
invokevirtual java.lang.Long.longValue:()J
invokeinterface javax.imageio.stream.ImageInputStream.flushBefore:(J)V
end local 4 31: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.tablesOnlyChecked:Z
32: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;
3 33 1 savePos J
7 33 3 tablesOnly Z
11 12 4 pos J
19 23 4 pos J
30 31 4 pos Ljava/lang/Long;
Exceptions:
throws java.io.IOException
public int getNumImages(boolean);
descriptor: (Z)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.setThreadLock:()V
1: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.check:()V
2: aload 0
iload 1
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.getNumImagesOnThread:(Z)I
istore 3
3: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.clearThreadLock:()V
4: iload 3
ireturn
5: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
6: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.clearThreadLock:()V
7: aload 2
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;
0 8 1 allowSearch Z
Exception table:
from to target type
1 3 5 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
allowSearch
private void skipPastImage(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.lock:()V
1: aload 0
iload 1
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.gotoImage:(I)V
2: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.skipImage:()V
3: goto 9
StackMap locals:
StackMap stack: java.lang.Exception
4: pop
5: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.unlock:()V
goto 10
6: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
7: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.unlock:()V
8: aload 2
athrow
9: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.unlock:()V
10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;
0 11 1 imageIndex I
Exception table:
from to target type
1 3 4 Class java.io.IOException
1 3 4 Class java.lang.IndexOutOfBoundsException
1 5 6 any
MethodParameters:
Name Flags
imageIndex
private int getNumImagesOnThread(boolean);
descriptor: (Z)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.numImages:I
ifeq 2
1: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.numImages:I
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.iis:Ljavax/imageio/stream/ImageInputStream;
ifnonnull 4
3: new java.lang.IllegalStateException
dup
ldc "Input not set"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
iload 1
ifeq 35
5: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.seekForwardOnly:Z
ifeq 9
6: new java.lang.IllegalStateException
dup
7: ldc "seekForwardOnly and allowSearch can't both be true!"
8: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.tablesOnlyChecked:Z
ifne 11
10: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.checkTablesOnly:()V
11: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.iis:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.mark:()V
12: aload 0
iconst_0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.gotoImage:(I)V
13: new com.sun.imageio.plugins.jpeg.JPEGBuffer
dup
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.iis:Ljavax/imageio/stream/ImageInputStream;
invokespecial com.sun.imageio.plugins.jpeg.JPEGBuffer.<init>:(Ljavax/imageio/stream/ImageInputStream;)V
astore 2
start local 2 14: aload 2
iconst_0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGBuffer.loadBuf:(I)V
15: iconst_0
istore 3
start local 3 16: goto 32
17: StackMap locals: com.sun.imageio.plugins.jpeg.JPEGBuffer int
StackMap stack:
aload 2
aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGBuffer.scanForFF:(Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;)Z
istore 3
18: aload 2
getfield com.sun.imageio.plugins.jpeg.JPEGBuffer.buf:[B
aload 2
getfield com.sun.imageio.plugins.jpeg.JPEGBuffer.bufPtr:I
baload
sipush 255
iand
lookupswitch { // 11
0: 20
208: 20
209: 20
210: 20
211: 20
212: 20
213: 20
214: 20
215: 20
216: 19
217: 20
default: 23
}
19: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.numImages:I
iconst_1
iadd
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.numImages:I
20: StackMap locals:
StackMap stack:
aload 2
dup
getfield com.sun.imageio.plugins.jpeg.JPEGBuffer.bufAvail:I
iconst_1
isub
putfield com.sun.imageio.plugins.jpeg.JPEGBuffer.bufAvail:I
21: aload 2
dup
getfield com.sun.imageio.plugins.jpeg.JPEGBuffer.bufPtr:I
iconst_1
iadd
putfield com.sun.imageio.plugins.jpeg.JPEGBuffer.bufPtr:I
22: goto 32
23: StackMap locals:
StackMap stack:
aload 2
dup
getfield com.sun.imageio.plugins.jpeg.JPEGBuffer.bufAvail:I
iconst_1
isub
putfield com.sun.imageio.plugins.jpeg.JPEGBuffer.bufAvail:I
24: aload 2
dup
getfield com.sun.imageio.plugins.jpeg.JPEGBuffer.bufPtr:I
iconst_1
iadd
putfield com.sun.imageio.plugins.jpeg.JPEGBuffer.bufPtr:I
25: aload 2
iconst_2
invokevirtual com.sun.imageio.plugins.jpeg.JPEGBuffer.loadBuf:(I)V
26: aload 2
getfield com.sun.imageio.plugins.jpeg.JPEGBuffer.buf:[B
aload 2
dup
getfield com.sun.imageio.plugins.jpeg.JPEGBuffer.bufPtr:I
dup_x1
iconst_1
iadd
putfield com.sun.imageio.plugins.jpeg.JPEGBuffer.bufPtr:I
baload
sipush 255
iand
bipush 8
ishl
27: aload 2
getfield com.sun.imageio.plugins.jpeg.JPEGBuffer.buf:[B
aload 2
dup
getfield com.sun.imageio.plugins.jpeg.JPEGBuffer.bufPtr:I
dup_x1
iconst_1
iadd
putfield com.sun.imageio.plugins.jpeg.JPEGBuffer.bufPtr:I
baload
sipush 255
iand
28: ior
istore 4
start local 4 29: aload 2
dup
getfield com.sun.imageio.plugins.jpeg.JPEGBuffer.bufAvail:I
iconst_2
isub
putfield com.sun.imageio.plugins.jpeg.JPEGBuffer.bufAvail:I
30: iinc 4 -2
31: aload 2
iload 4
invokevirtual com.sun.imageio.plugins.jpeg.JPEGBuffer.skipData:(I)V
end local 4 32: StackMap locals:
StackMap stack:
iload 3
ifeq 17
33: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.iis:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.reset:()V
34: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.numImages:I
ireturn
end local 3 end local 2 35: StackMap locals:
StackMap stack:
iconst_m1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;
0 36 1 allowSearch Z
14 35 2 buffer Lcom/sun/imageio/plugins/jpeg/JPEGBuffer;
16 35 3 done Z
29 32 4 length I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
allowSearch
private void gotoImage(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.iis:Ljavax/imageio/stream/ImageInputStream;
ifnonnull 2
1: new java.lang.IllegalStateException
dup
ldc "Input not set"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iload 1
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.minIndex:I
if_icmpge 4
3: new java.lang.IndexOutOfBoundsException
dup
invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.tablesOnlyChecked:Z
ifne 6
5: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.checkTablesOnly:()V
6: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.imagePositions:Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifeq 8
7: new javax.imageio.IIOException
dup
ldc "No image data present to read"
invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
iload 1
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.imagePositions:Ljava/util/List;
invokeinterface java.util.List.size:()I
if_icmpge 11
9: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.iis:Ljavax/imageio/stream/ImageInputStream;
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.imagePositions:Ljava/util/List;
iload 1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
invokeinterface javax.imageio.stream.ImageInputStream.seek:(J)V
10: goto 27
11: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.imagePositions:Ljava/util/List;
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.imagePositions:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
isub
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.Long
astore 2
start local 2 12: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.iis:Ljavax/imageio/stream/ImageInputStream;
aload 2
invokevirtual java.lang.Long.longValue:()J
invokeinterface javax.imageio.stream.ImageInputStream.seek:(J)V
13: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.skipImage:()V
14: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.imagePositions:Ljava/util/List;
invokeinterface java.util.List.size:()I
istore 3
start local 3 15: goto 25
16: StackMap locals: java.lang.Long int
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.hasNextImage:()Z
ifne 18
17: new java.lang.IndexOutOfBoundsException
dup
invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
athrow
18: StackMap locals:
StackMap stack:
new java.lang.Long
dup
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.iis:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.getStreamPosition:()J
invokespecial java.lang.Long.<init>:(J)V
astore 2
19: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.imagePositions:Ljava/util/List;
aload 2
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
20: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.seekForwardOnly:Z
ifeq 22
21: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.iis:Ljavax/imageio/stream/ImageInputStream;
aload 2
invokevirtual java.lang.Long.longValue:()J
invokeinterface javax.imageio.stream.ImageInputStream.flushBefore:(J)V
22: StackMap locals:
StackMap stack:
iload 3
iload 1
if_icmpge 24
23: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.skipImage:()V
24: StackMap locals:
StackMap stack:
iinc 3 1
25: StackMap locals:
StackMap stack:
iload 3
iload 1
26: if_icmple 16
end local 3 end local 2 27: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.seekForwardOnly:Z
ifeq 29
28: aload 0
iload 1
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.minIndex:I
29: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.haveSeeked:Z
30: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;
0 31 1 imageIndex I
12 27 2 pos Ljava/lang/Long;
15 27 3 index I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
imageIndex
private void skipImage();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.debug:Z
ifeq 2
1: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "skipImage called"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
iconst_0
istore 1
start local 1 3: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.iis:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.read:()I
istore 2
start local 2 4: goto 12
5: StackMap locals: int int
StackMap stack:
iload 1
ifeq 8
6: iload 2
sipush 217
if_icmpne 8
7: return
8: StackMap locals:
StackMap stack:
iload 2
sipush 255
if_icmpne 9
iconst_1
goto 10
StackMap locals:
StackMap stack:
9: iconst_0
StackMap locals:
StackMap stack: int
10: istore 1
11: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.iis:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.read:()I
istore 2
12: StackMap locals:
StackMap stack:
iload 2
iconst_m1
if_icmpne 5
end local 2 13: new java.lang.IndexOutOfBoundsException
dup
invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;
3 14 1 foundFF Z
4 13 2 byteval I
Exceptions:
throws java.io.IOException
private boolean hasNextImage();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.debug:Z
ifeq 2
1: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "hasNextImage called; returning "
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.iis:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.mark:()V
3: iconst_0
istore 1
start local 1 4: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.iis:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.read:()I
istore 2
start local 2 5: goto 16
6: StackMap locals: int int
StackMap stack:
iload 1
ifeq 12
7: iload 2
sipush 216
if_icmpne 12
8: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.iis:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.reset:()V
9: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.debug:Z
ifeq 11
10: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "true"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
11: StackMap locals:
StackMap stack:
iconst_1
ireturn
12: StackMap locals:
StackMap stack:
iload 2
sipush 255
if_icmpne 13
iconst_1
goto 14
StackMap locals:
StackMap stack:
13: iconst_0
StackMap locals:
StackMap stack: int
14: istore 1
15: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.iis:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.read:()I
istore 2
16: StackMap locals:
StackMap stack:
iload 2
iconst_m1
if_icmpne 6
end local 2 17: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.iis:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.reset:()V
18: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.debug:Z
ifeq 20
19: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "false"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
20: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;
4 21 1 foundFF Z
5 17 2 byteval I
Exceptions:
throws java.io.IOException
private void pushBack(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.debug:Z
ifeq 2
1: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "pushing back "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " bytes"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.lock:()V
3: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.iis:Ljavax/imageio/stream/ImageInputStream;
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.iis:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.getStreamPosition:()J
iload 1
i2l
lsub
invokeinterface javax.imageio.stream.ImageInputStream.seek:(J)V
4: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
5: astore 2
6: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.unlock:()V
7: aload 2
athrow
8: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.unlock:()V
9: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;
0 10 1 num I
Exception table:
from to target type
3 5 5 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
num
private void (int, boolean);
descriptor: (IZ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.gotoImage:(I)V
1: aload 0
iload 2
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.readNativeHeader:(Z)Z
pop
2: aload 0
iload 1
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.currentImage:I
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;
0 4 1 imageIndex I
0 4 2 reset Z
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
imageIndex
reset
private boolean (boolean);
descriptor: (Z)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: aload 0
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.structPointer:J
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.haveSeeked:Z
iload 1
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.readImageHeader:(JZZ)Z
istore 2
2: aload 0
iconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.haveSeeked:Z
3: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;
0 4 1 reset Z
1 4 2 retval Z
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
reset
private native boolean (long, boolean, boolean);
descriptor: (JZZ)Z
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
structPointer
clearBuffer
reset
private void setImageData(int, int, int, int, int, byte[]);
descriptor: (IIIII[B)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=12, 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
iload 1
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.width:I
1: aload 0
iload 2
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.height:I
2: aload 0
iload 3
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.colorSpaceCode:I
3: aload 0
iload 4
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.outColorSpaceCode:I
4: aload 0
iload 5
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.numComponents:I
5: aload 6
ifnonnull 8
6: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.iccCS:Ljava/awt/color/ColorSpace;
7: return
8: StackMap locals:
StackMap stack:
aconst_null
astore 7
start local 7 9: aload 6
invokestatic java.awt.color.ICC_Profile.getInstance:([B)Ljava/awt/color/ICC_Profile;
astore 7
10: goto 15
StackMap locals: com.sun.imageio.plugins.jpeg.JPEGImageReader int int int int int byte[] java.awt.color.ICC_Profile
StackMap stack: java.lang.IllegalArgumentException
11: pop
12: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.iccCS:Ljava/awt/color/ColorSpace;
13: aload 0
iconst_2
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.warningOccurred:(I)V
14: return
15: StackMap locals:
StackMap stack:
aload 7
invokevirtual java.awt.color.ICC_Profile.getData:()[B
astore 8
start local 8 16: aconst_null
astore 9
start local 9 17: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.iccCS:Ljava/awt/color/ColorSpace;
instanceof java.awt.color.ICC_ColorSpace
ifeq 19
18: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.iccCS:Ljava/awt/color/ColorSpace;
checkcast java.awt.color.ICC_ColorSpace
invokevirtual java.awt.color.ICC_ColorSpace.getProfile:()Ljava/awt/color/ICC_Profile;
astore 9
19: StackMap locals: byte[] java.awt.color.ICC_Profile
StackMap stack:
aconst_null
astore 10
start local 10 20: aload 9
ifnull 22
21: aload 9
invokevirtual java.awt.color.ICC_Profile.getData:()[B
astore 10
22: StackMap locals: byte[]
StackMap stack:
aload 10
ifnull 24
23: aload 10
aload 8
invokestatic java.util.Arrays.equals:([B[B)Z
ifne 36
24: StackMap locals:
StackMap stack:
aload 0
new java.awt.color.ICC_ColorSpace
dup
aload 7
invokespecial java.awt.color.ICC_ColorSpace.<init>:(Ljava/awt/color/ICC_Profile;)V
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.iccCS:Ljava/awt/color/ColorSpace;
25: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.iccCS:Ljava/awt/color/ColorSpace;
iconst_3
newarray 6
dup
iconst_0
fconst_1
fastore
dup
iconst_1
fconst_0
fastore
dup
iconst_2
fconst_0
fastore
invokevirtual java.awt.color.ColorSpace.fromRGB:([F)[F
pop
26: goto 36
StackMap locals:
StackMap stack: java.awt.color.CMMException
27: pop
28: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.iccCS:Ljava/awt/color/ColorSpace;
29: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.lock:()V
30: aload 0
iconst_2
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.warningOccurred:(I)V
31: goto 35
StackMap locals:
StackMap stack: java.lang.Throwable
32: astore 11
33: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.unlock:()V
34: aload 11
athrow
35: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.unlock:()V
36: StackMap locals:
StackMap stack:
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 37 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;
0 37 1 width I
0 37 2 height I
0 37 3 colorSpaceCode I
0 37 4 outColorSpaceCode I
0 37 5 numComponents I
0 37 6 iccData [B
9 37 7 newProfile Ljava/awt/color/ICC_Profile;
16 37 8 newData [B
17 37 9 oldProfile Ljava/awt/color/ICC_Profile;
20 37 10 oldData [B
Exception table:
from to target type
9 10 11 Class java.lang.IllegalArgumentException
25 26 27 Class java.awt.color.CMMException
30 32 32 any
MethodParameters:
Name Flags
width
height
colorSpaceCode
outColorSpaceCode
numComponents
iccData
public int getWidth(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.setThreadLock:()V
1: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.currentImage:I
iload 1
if_icmpeq 4
2: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.check:()V
3: aload 0
iload 1
iconst_1
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.readHeader:(IZ)V
4: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.width:I
istore 3
5: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.clearThreadLock:()V
6: iload 3
ireturn
7: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
8: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.clearThreadLock:()V
9: aload 2
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;
0 10 1 imageIndex I
Exception table:
from to target type
1 5 7 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
imageIndex
public int getHeight(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.setThreadLock:()V
1: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.currentImage:I
iload 1
if_icmpeq 4
2: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.check:()V
3: aload 0
iload 1
iconst_1
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.readHeader:(IZ)V
4: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.height:I
istore 3
5: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.clearThreadLock:()V
6: iload 3
ireturn
7: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
8: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.clearThreadLock:()V
9: aload 2
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;
0 10 1 imageIndex I
Exception table:
from to target type
1 5 7 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
imageIndex
private com.sun.imageio.plugins.jpeg.ImageTypeProducer getImageType(int);
descriptor: (I)Lcom/sun/imageio/plugins/jpeg/ImageTypeProducer;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: iload 1
ifle 3
iload 1
bipush 12
if_icmpge 3
2: iload 1
invokestatic com.sun.imageio.plugins.jpeg.ImageTypeProducer.getTypeProducer:(I)Lcom/sun/imageio/plugins/jpeg/ImageTypeProducer;
astore 2
3: StackMap locals: com.sun.imageio.plugins.jpeg.ImageTypeProducer
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;
0 4 1 code I
1 4 2 ret Lcom/sun/imageio/plugins/jpeg/ImageTypeProducer;
MethodParameters:
Name Flags
code
public javax.imageio.ImageTypeSpecifier getRawImageType(int);
descriptor: (I)Ljavax/imageio/ImageTypeSpecifier;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.setThreadLock:()V
1: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.currentImage:I
iload 1
if_icmpeq 4
2: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.check:()V
3: aload 0
iload 1
iconst_1
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.readHeader:(IZ)V
4: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.colorSpaceCode:I
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.getImageType:(I)Lcom/sun/imageio/plugins/jpeg/ImageTypeProducer;
invokevirtual com.sun.imageio.plugins.jpeg.ImageTypeProducer.getType:()Ljavax/imageio/ImageTypeSpecifier;
astore 3
5: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.clearThreadLock:()V
6: aload 3
areturn
7: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
8: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.clearThreadLock:()V
9: aload 2
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;
0 10 1 imageIndex I
Exception table:
from to target type
1 5 7 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
imageIndex
public java.util.Iterator getImageTypes(int);
descriptor: (I)Ljava/util/Iterator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.setThreadLock:()V
1: aload 0
iload 1
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.getImageTypesOnThread:(I)Ljava/util/Iterator;
astore 3
2: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.clearThreadLock:()V
3: aload 3
areturn
4: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
5: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.clearThreadLock:()V
6: aload 2
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;
0 7 1 imageIndex I
Exception table:
from to target type
1 2 4 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
imageIndex
private java.util.Iterator getImageTypesOnThread(int);
descriptor: (I)Ljava/util/Iterator;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.currentImage:I
iload 1
if_icmpeq 3
1: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.check:()V
2: aload 0
iload 1
iconst_1
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.readHeader:(IZ)V
3: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.colorSpaceCode:I
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.getImageType:(I)Lcom/sun/imageio/plugins/jpeg/ImageTypeProducer;
astore 2
start local 2 4: new java.util.ArrayList
dup
iconst_1
invokespecial java.util.ArrayList.<init>:(I)V
astore 3
start local 3 5: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.colorSpaceCode:I
tableswitch { // 1 - 10
1: 6
2: 9
3: 22
4: 29
5: 15
6: 13
7: 28
8: 29
9: 29
10: 19
default: 29
}
6: StackMap locals: com.sun.imageio.plugins.jpeg.ImageTypeProducer java.util.ArrayList
StackMap stack:
aload 3
aload 2
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
7: aload 3
aload 0
iconst_2
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.getImageType:(I)Lcom/sun/imageio/plugins/jpeg/ImageTypeProducer;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
8: goto 29
9: StackMap locals:
StackMap stack:
aload 3
aload 2
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
10: aload 3
aload 0
iconst_1
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.getImageType:(I)Lcom/sun/imageio/plugins/jpeg/ImageTypeProducer;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
11: aload 3
aload 0
iconst_5
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.getImageType:(I)Lcom/sun/imageio/plugins/jpeg/ImageTypeProducer;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
12: goto 29
13: StackMap locals:
StackMap stack:
aload 3
aload 2
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
14: goto 29
15: StackMap locals:
StackMap stack:
aload 2
ifnull 29
16: aload 3
aload 2
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
17: aload 3
aload 0
iconst_2
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.getImageType:(I)Lcom/sun/imageio/plugins/jpeg/ImageTypeProducer;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
18: goto 29
19: StackMap locals:
StackMap stack:
aload 2
ifnull 29
20: aload 3
aload 2
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
21: goto 29
22: StackMap locals:
StackMap stack:
aload 3
aload 0
iconst_2
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.getImageType:(I)Lcom/sun/imageio/plugins/jpeg/ImageTypeProducer;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
23: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.iccCS:Ljava/awt/color/ColorSpace;
ifnull 25
24: aload 3
new com.sun.imageio.plugins.jpeg.JPEGImageReader$1
dup
aload 0
invokespecial com.sun.imageio.plugins.jpeg.JPEGImageReader$1.<init>:(Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;)V
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
25: StackMap locals:
StackMap stack:
aload 3
aload 0
iconst_1
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.getImageType:(I)Lcom/sun/imageio/plugins/jpeg/ImageTypeProducer;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
26: aload 3
aload 0
iconst_5
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.getImageType:(I)Lcom/sun/imageio/plugins/jpeg/ImageTypeProducer;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
27: goto 29
28: StackMap locals:
StackMap stack:
aload 3
aload 0
bipush 6
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.getImageType:(I)Lcom/sun/imageio/plugins/jpeg/ImageTypeProducer;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
29: StackMap locals:
StackMap stack:
new com.sun.imageio.plugins.jpeg.ImageTypeIterator
dup
aload 3
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
invokespecial com.sun.imageio.plugins.jpeg.ImageTypeIterator.<init>:(Ljava/util/Iterator;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;
0 30 1 imageIndex I
4 30 2 raw Lcom/sun/imageio/plugins/jpeg/ImageTypeProducer;
5 30 3 list Ljava/util/ArrayList<Lcom/sun/imageio/plugins/jpeg/ImageTypeProducer;>;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
imageIndex
private void checkColorConversion(java.awt.image.BufferedImage, javax.imageio.ImageReadParam);
descriptor: (Ljava/awt/image/BufferedImage;Ljavax/imageio/ImageReadParam;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnull 4
1: aload 2
invokevirtual javax.imageio.ImageReadParam.getSourceBands:()[I
ifnonnull 3
2: aload 2
invokevirtual javax.imageio.ImageReadParam.getDestinationBands:()[I
ifnull 4
3: StackMap locals:
StackMap stack:
return
4: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.awt.image.BufferedImage.getColorModel:()Ljava/awt/image/ColorModel;
astore 3
start local 3 5: aload 3
instanceof java.awt.image.IndexColorModel
ifeq 7
6: new javax.imageio.IIOException
dup
ldc "IndexColorModel not supported"
invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals: java.awt.image.ColorModel
StackMap stack:
aload 3
invokevirtual java.awt.image.ColorModel.getColorSpace:()Ljava/awt/color/ColorSpace;
astore 4
start local 4 8: aload 4
invokevirtual java.awt.color.ColorSpace.getType:()I
istore 5
start local 5 9: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.convert:Ljava/awt/image/ColorConvertOp;
10: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.outColorSpaceCode:I
tableswitch { // 1 - 10
1: 11
2: 18
3: 51
4: 51
5: 39
6: 36
7: 51
8: 51
9: 51
10: 46
default: 51
}
11: StackMap locals: java.awt.color.ColorSpace int
StackMap stack:
iload 5
iconst_5
if_icmpne 16
12: aload 0
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.structPointer:J
iconst_2
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.setOutColorSpace:(JI)V
13: aload 0
iconst_2
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.outColorSpaceCode:I
14: aload 0
iconst_3
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.numComponents:I
15: goto 52
StackMap locals:
StackMap stack:
16: iload 5
bipush 6
if_icmpeq 52
17: new javax.imageio.IIOException
dup
ldc "Incompatible color conversion"
invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
athrow
18: StackMap locals:
StackMap stack:
iload 5
bipush 6
if_icmpne 24
19: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.colorSpaceCode:I
iconst_3
if_icmpne 52
20: aload 0
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.structPointer:J
iconst_1
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.setOutColorSpace:(JI)V
21: aload 0
iconst_1
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.outColorSpaceCode:I
22: aload 0
iconst_1
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.numComponents:I
23: goto 52
StackMap locals:
StackMap stack:
24: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.iccCS:Ljava/awt/color/ColorSpace;
ifnull 29
25: aload 3
invokevirtual java.awt.image.ColorModel.getNumComponents:()I
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.numComponents:I
if_icmpne 29
26: aload 4
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.iccCS:Ljava/awt/color/ColorSpace;
if_acmpeq 29
27: aload 0
new java.awt.image.ColorConvertOp
dup
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.iccCS:Ljava/awt/color/ColorSpace;
aload 4
aconst_null
invokespecial java.awt.image.ColorConvertOp.<init>:(Ljava/awt/color/ColorSpace;Ljava/awt/color/ColorSpace;Ljava/awt/RenderingHints;)V
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.convert:Ljava/awt/image/ColorConvertOp;
28: goto 52
StackMap locals:
StackMap stack:
29: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.iccCS:Ljava/awt/color/ColorSpace;
ifnonnull 34
30: aload 4
invokevirtual java.awt.color.ColorSpace.isCS_sRGB:()Z
ifne 34
31: aload 3
invokevirtual java.awt.image.ColorModel.getNumComponents:()I
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.numComponents:I
if_icmpne 34
32: aload 0
new java.awt.image.ColorConvertOp
dup
getstatic com.sun.imageio.plugins.jpeg.JPEG$JCS.sRGB:Ljava/awt/color/ColorSpace;
aload 4
aconst_null
invokespecial java.awt.image.ColorConvertOp.<init>:(Ljava/awt/color/ColorSpace;Ljava/awt/color/ColorSpace;Ljava/awt/RenderingHints;)V
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.convert:Ljava/awt/image/ColorConvertOp;
33: goto 52
StackMap locals:
StackMap stack:
34: iload 5
iconst_5
if_icmpeq 52
35: new javax.imageio.IIOException
dup
ldc "Incompatible color conversion"
invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
athrow
36: StackMap locals:
StackMap stack:
iload 5
iconst_5
if_icmpne 38
37: aload 3
invokevirtual java.awt.image.ColorModel.getNumComponents:()I
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.numComponents:I
if_icmpeq 52
38: StackMap locals:
StackMap stack:
new javax.imageio.IIOException
dup
ldc "Incompatible color conversion"
invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
athrow
39: StackMap locals:
StackMap stack:
invokestatic com.sun.imageio.plugins.jpeg.JPEG$JCS.getYCC:()Ljava/awt/color/ColorSpace;
astore 6
start local 6 40: aload 6
ifnonnull 42
41: new javax.imageio.IIOException
dup
ldc "Incompatible color conversion"
invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
athrow
42: StackMap locals: java.awt.color.ColorSpace
StackMap stack:
aload 4
aload 6
if_acmpeq 52
43: aload 3
invokevirtual java.awt.image.ColorModel.getNumComponents:()I
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.numComponents:I
if_icmpne 52
44: aload 0
new java.awt.image.ColorConvertOp
dup
aload 6
aload 4
aconst_null
invokespecial java.awt.image.ColorConvertOp.<init>:(Ljava/awt/color/ColorSpace;Ljava/awt/color/ColorSpace;Ljava/awt/RenderingHints;)V
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.convert:Ljava/awt/image/ColorConvertOp;
end local 6 45: goto 52
46: StackMap locals:
StackMap stack:
invokestatic com.sun.imageio.plugins.jpeg.JPEG$JCS.getYCC:()Ljava/awt/color/ColorSpace;
astore 6
start local 6 47: aload 6
ifnull 50
48: aload 4
aload 6
if_acmpne 50
49: aload 3
invokevirtual java.awt.image.ColorModel.getNumComponents:()I
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.numComponents:I
if_icmpeq 52
50: StackMap locals: java.awt.color.ColorSpace
StackMap stack:
new javax.imageio.IIOException
dup
ldc "Incompatible color conversion"
invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
athrow
end local 6 51: StackMap locals:
StackMap stack:
new javax.imageio.IIOException
dup
ldc "Incompatible color conversion"
invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
athrow
52: 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 53 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;
0 53 1 image Ljava/awt/image/BufferedImage;
0 53 2 param Ljavax/imageio/ImageReadParam;
5 53 3 cm Ljava/awt/image/ColorModel;
8 53 4 cs Ljava/awt/color/ColorSpace;
9 53 5 csType I
40 45 6 YCC Ljava/awt/color/ColorSpace;
47 51 6 YCC Ljava/awt/color/ColorSpace;
Exceptions:
throws javax.imageio.IIOException
MethodParameters:
Name Flags
image
param
private native void setOutColorSpace(long, int);
descriptor: (JI)V
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
MethodParameters:
Name Flags
structPointer
id
public javax.imageio.ImageReadParam getDefaultReadParam();
descriptor: ()Ljavax/imageio/ImageReadParam;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: new javax.imageio.plugins.jpeg.JPEGImageReadParam
dup
invokespecial javax.imageio.plugins.jpeg.JPEGImageReadParam.<init>:()V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;
public javax.imageio.metadata.IIOMetadata getStreamMetadata();
descriptor: ()Ljavax/imageio/metadata/IIOMetadata;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.setThreadLock:()V
1: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.tablesOnlyChecked:Z
ifne 4
2: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.check:()V
3: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.checkTablesOnly:()V
4: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.streamMetadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
astore 2
5: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.clearThreadLock:()V
6: aload 2
areturn
7: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
8: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.clearThreadLock:()V
9: aload 1
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;
Exception table:
from to target type
1 5 7 any
Exceptions:
throws java.io.IOException
public javax.imageio.metadata.IIOMetadata getImageMetadata(int);
descriptor: (I)Ljavax/imageio/metadata/IIOMetadata;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.setThreadLock:()V
1: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.imageMetadataIndex:I
iload 1
if_icmpne 6
2: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.imageMetadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
ifnull 6
3: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.imageMetadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
astore 3
4: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.clearThreadLock:()V
5: aload 3
areturn
6: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.check:()V
7: aload 0
iload 1
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.gotoImage:(I)V
8: aload 0
new com.sun.imageio.plugins.jpeg.JPEGMetadata
dup
iconst_0
iconst_0
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.iis:Ljavax/imageio/stream/ImageInputStream;
aload 0
invokespecial com.sun.imageio.plugins.jpeg.JPEGMetadata.<init>:(ZZLjavax/imageio/stream/ImageInputStream;Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;)V
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.imageMetadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
9: aload 0
iload 1
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.imageMetadataIndex:I
10: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.imageMetadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
astore 3
11: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.clearThreadLock:()V
12: aload 3
areturn
13: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
14: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.clearThreadLock:()V
15: aload 2
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;
0 16 1 imageIndex I
Exception table:
from to target type
1 4 13 any
6 11 13 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
imageIndex
public java.awt.image.BufferedImage read(int, javax.imageio.ImageReadParam);
descriptor: (ILjavax/imageio/ImageReadParam;)Ljava/awt/image/BufferedImage;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.setThreadLock:()V
1: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.check:()V
2: aload 0
iload 1
aload 2
iconst_0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.readInternal:(ILjavax/imageio/ImageReadParam;Z)Ljava/awt/image/Raster;
pop
3: goto 10
StackMap locals:
StackMap stack: java.lang.RuntimeException
4: astore 3
start local 3 5: aload 0
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.structPointer:J
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.resetLibraryState:(J)V
6: aload 3
athrow
end local 3 7: StackMap locals:
StackMap stack: java.io.IOException
astore 3
start local 3 8: aload 0
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.structPointer:J
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.resetLibraryState:(J)V
9: aload 3
athrow
end local 3 10: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.image:Ljava/awt/image/BufferedImage;
astore 3
start local 3 11: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.image:Ljava/awt/image/BufferedImage;
12: aload 3
astore 5
13: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.clearThreadLock:()V
14: aload 5
areturn
end local 3 15: StackMap locals:
StackMap stack: java.lang.Throwable
astore 4
16: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.clearThreadLock:()V
17: aload 4
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;
0 18 1 imageIndex I
0 18 2 param Ljavax/imageio/ImageReadParam;
5 7 3 e Ljava/lang/RuntimeException;
8 10 3 e Ljava/io/IOException;
11 15 3 ret Ljava/awt/image/BufferedImage;
Exception table:
from to target type
2 3 4 Class java.lang.RuntimeException
2 3 7 Class java.io.IOException
1 13 15 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
imageIndex
param
private java.awt.image.Raster readInternal(int, javax.imageio.ImageReadParam, boolean);
descriptor: (ILjavax/imageio/ImageReadParam;Z)Ljava/awt/image/Raster;
flags: (0x0002) ACC_PRIVATE
Code:
stack=20, locals=16, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iload 1
iconst_0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.readHeader:(IZ)V
1: aconst_null
astore 4
start local 4 2: iconst_0
istore 5
start local 5 3: iload 3
ifne 13
4: aload 0
iload 1
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.getImageTypes:(I)Ljava/util/Iterator;
astore 6
start local 6 5: aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
6: new javax.imageio.IIOException
dup
ldc "Unsupported Image Type"
invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals: java.awt.image.WritableRaster int java.util.Iterator
StackMap stack:
aload 0
aload 2
aload 6
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.width:I
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.height:I
invokestatic com.sun.imageio.plugins.jpeg.JPEGImageReader.getDestination:(Ljavax/imageio/ImageReadParam;Ljava/util/Iterator;II)Ljava/awt/image/BufferedImage;
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.image:Ljava/awt/image/BufferedImage;
8: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.image:Ljava/awt/image/BufferedImage;
invokevirtual java.awt.image.BufferedImage.getRaster:()Ljava/awt/image/WritableRaster;
astore 4
9: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.image:Ljava/awt/image/BufferedImage;
invokevirtual java.awt.image.BufferedImage.getSampleModel:()Ljava/awt/image/SampleModel;
invokevirtual java.awt.image.SampleModel.getNumBands:()I
istore 5
10: aload 0
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.image:Ljava/awt/image/BufferedImage;
aload 2
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.checkColorConversion:(Ljava/awt/image/BufferedImage;Ljavax/imageio/ImageReadParam;)V
11: aload 2
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.numComponents:I
iload 5
invokestatic com.sun.imageio.plugins.jpeg.JPEGImageReader.checkReadParamBandSettings:(Ljavax/imageio/ImageReadParam;II)V
end local 6 12: goto 15
13: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.structPointer:J
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.colorSpaceCode:I
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.setOutColorSpace:(JI)V
14: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.image:Ljava/awt/image/BufferedImage;
15: StackMap locals:
StackMap stack:
getstatic com.sun.imageio.plugins.jpeg.JPEG.bandOffsets:[[I
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.numComponents:I
iconst_1
isub
aaload
astore 6
start local 6 16: iload 3
ifeq 17
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.numComponents:I
goto 18
StackMap locals: int[]
StackMap stack:
17: iload 5
StackMap locals:
StackMap stack: int
18: istore 7
start local 7 19: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.destinationBands:[I
20: new java.awt.Rectangle
dup
iconst_0
iconst_0
iconst_0
iconst_0
invokespecial java.awt.Rectangle.<init>:(IIII)V
astore 8
start local 8 21: aload 0
new java.awt.Rectangle
dup
iconst_0
iconst_0
iconst_0
iconst_0
invokespecial java.awt.Rectangle.<init>:(IIII)V
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.destROI:Ljava/awt/Rectangle;
22: aload 2
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.width:I
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.height:I
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.image:Ljava/awt/image/BufferedImage;
aload 8
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.destROI:Ljava/awt/Rectangle;
invokestatic com.sun.imageio.plugins.jpeg.JPEGImageReader.computeRegions:(Ljavax/imageio/ImageReadParam;IILjava/awt/image/BufferedImage;Ljava/awt/Rectangle;Ljava/awt/Rectangle;)V
23: iconst_1
istore 9
start local 9 24: iconst_1
istore 10
start local 10 25: aload 0
iconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.minProgressivePass:I
26: aload 0
ldc 2147483647
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.maxProgressivePass:I
27: aload 2
ifnull 44
28: aload 2
invokevirtual javax.imageio.ImageReadParam.getSourceXSubsampling:()I
istore 9
29: aload 2
invokevirtual javax.imageio.ImageReadParam.getSourceYSubsampling:()I
istore 10
30: aload 2
invokevirtual javax.imageio.ImageReadParam.getSourceBands:()[I
astore 11
start local 11 31: aload 11
ifnull 34
32: aload 11
astore 6
33: aload 6
arraylength
istore 7
34: StackMap locals: com.sun.imageio.plugins.jpeg.JPEGImageReader int javax.imageio.ImageReadParam int java.awt.image.WritableRaster int int[] int java.awt.Rectangle int int int[]
StackMap stack:
iload 3
ifne 36
35: aload 0
aload 2
invokevirtual javax.imageio.ImageReadParam.getDestinationBands:()[I
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.destinationBands:[I
36: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual javax.imageio.ImageReadParam.getSourceMinProgressivePass:()I
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.minProgressivePass:I
37: aload 0
aload 2
invokevirtual javax.imageio.ImageReadParam.getSourceMaxProgressivePass:()I
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.maxProgressivePass:I
38: aload 2
instanceof javax.imageio.plugins.jpeg.JPEGImageReadParam
ifeq 44
39: aload 2
checkcast javax.imageio.plugins.jpeg.JPEGImageReadParam
astore 12
start local 12 40: aload 12
invokevirtual javax.imageio.plugins.jpeg.JPEGImageReadParam.areTablesSet:()Z
ifeq 44
41: aload 0
aload 12
invokevirtual javax.imageio.plugins.jpeg.JPEGImageReadParam.getQTables:()[Ljavax/imageio/plugins/jpeg/JPEGQTable;
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.abbrevQTables:[Ljavax/imageio/plugins/jpeg/JPEGQTable;
42: aload 0
aload 12
invokevirtual javax.imageio.plugins.jpeg.JPEGImageReadParam.getDCHuffmanTables:()[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.abbrevDCHuffmanTables:[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
43: aload 0
aload 12
invokevirtual javax.imageio.plugins.jpeg.JPEGImageReadParam.getACHuffmanTables:()[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.abbrevACHuffmanTables:[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
end local 12 end local 11 44: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.destROI:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.width:I
iload 7
imul
istore 11
start local 11 45: aload 0
new java.awt.image.DataBufferByte
dup
iload 11
invokespecial java.awt.image.DataBufferByte.<init>:(I)V
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.buffer:Ljava/awt/image/DataBufferByte;
46: getstatic com.sun.imageio.plugins.jpeg.JPEG.bandOffsets:[[I
iload 7
iconst_1
isub
aaload
astore 12
start local 12 47: aload 0
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.buffer:Ljava/awt/image/DataBufferByte;
48: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.destROI:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.width:I
iconst_1
49: iload 11
50: iload 7
51: aload 12
52: aconst_null
53: invokestatic java.awt.image.Raster.createInterleavedRaster:(Ljava/awt/image/DataBuffer;IIII[ILjava/awt/Point;)Ljava/awt/image/WritableRaster;
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.raster:Ljava/awt/image/WritableRaster;
54: iload 3
ifeq 64
55: aload 0
iconst_0
56: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.destROI:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.width:I
57: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.destROI:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.height:I
58: iload 11
59: iload 7
60: aload 12
61: aconst_null
62: invokestatic java.awt.image.Raster.createInterleavedRaster:(IIIII[ILjava/awt/Point;)Ljava/awt/image/WritableRaster;
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.target:Ljava/awt/image/WritableRaster;
63: goto 65
64: StackMap locals: int int[]
StackMap stack:
aload 0
aload 4
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.target:Ljava/awt/image/WritableRaster;
65: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.target:Ljava/awt/image/WritableRaster;
invokevirtual java.awt.image.WritableRaster.getSampleModel:()Ljava/awt/image/SampleModel;
invokevirtual java.awt.image.SampleModel.getSampleSize:()[I
astore 13
start local 13 66: iconst_0
istore 14
start local 14 67: goto 71
68: StackMap locals: int[] int
StackMap stack:
aload 13
iload 14
iaload
ifle 69
aload 13
iload 14
iaload
bipush 8
if_icmple 70
69: StackMap locals:
StackMap stack:
new javax.imageio.IIOException
dup
ldc "Illegal band size: should be 0 < size <= 8"
invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
athrow
70: StackMap locals:
StackMap stack:
iinc 14 1
StackMap locals:
StackMap stack:
71: iload 14
aload 13
arraylength
if_icmplt 68
end local 14 72: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.updateListeners:Ljava/util/List;
ifnonnull 75
73: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.progressListeners:Ljava/util/List;
ifnonnull 75
74: iconst_0
goto 76
StackMap locals:
StackMap stack:
75: iconst_1
StackMap locals:
StackMap stack: int
76: istore 14
start local 14 77: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.initProgressData:()V
78: iload 1
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.imageMetadataIndex:I
if_icmpne 85
79: aload 0
iconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.knownPassCount:I
80: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.imageMetadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
getfield com.sun.imageio.plugins.jpeg.JPEGMetadata.markerSequence:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 15
start local 15 81: goto 84
82: StackMap locals: int java.util.Iterator
StackMap stack:
aload 15
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
instanceof com.sun.imageio.plugins.jpeg.SOSMarkerSegment
ifeq 84
83: aload 0
dup
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.knownPassCount:I
iconst_1
iadd
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.knownPassCount:I
84: StackMap locals:
StackMap stack:
aload 15
invokeinterface java.util.Iterator.hasNext:()Z
ifne 82
end local 15 85: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.target:Ljava/awt/image/WritableRaster;
invokevirtual java.awt.image.WritableRaster.getHeight:()I
iconst_1
isub
bipush 20
idiv
iconst_1
invokestatic java.lang.Math.max:(II)I
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.progInterval:I
86: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.knownPassCount:I
ifle 89
87: aload 0
dup
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.progInterval:I
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.knownPassCount:I
imul
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.progInterval:I
88: goto 91
StackMap locals:
StackMap stack:
89: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.maxProgressivePass:I
ldc 2147483647
if_icmpeq 91
90: aload 0
dup
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.progInterval:I
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.maxProgressivePass:I
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.minProgressivePass:I
isub
iconst_1
iadd
imul
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.progInterval:I
91: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.debug:Z
ifeq 116
92: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "**** Read Data *****"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
93: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "numRasterBands is "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
94: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "srcBands:"
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
95: iconst_0
istore 15
start local 15 96: goto 99
97: StackMap locals: int
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc " "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
iload 15
iaload
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
98: iinc 15 1
StackMap locals:
StackMap stack:
99: iload 15
aload 6
arraylength
if_icmplt 97
end local 15 100: getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
101: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "destination bands is "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.destinationBands:[I
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
102: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.destinationBands:[I
ifnull 109
103: iconst_0
istore 15
start local 15 104: goto 107
105: StackMap locals:
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc " "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.destinationBands:[I
iload 15
iaload
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
106: iinc 15 1
StackMap locals:
StackMap stack:
107: iload 15
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.destinationBands:[I
arraylength
if_icmplt 105
end local 15 108: getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
109: StackMap locals:
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "sourceROI is "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
110: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "destROI is "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.destROI:Ljava/awt/Rectangle;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
111: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "periodX is "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 9
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
112: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "periodY is "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 10
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
113: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "minProgressivePass is "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.minProgressivePass:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
114: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "maxProgressivePass is "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.maxProgressivePass:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
115: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "callbackUpdates is "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 14
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
116: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.currentImage:I
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.processImageStarted:(I)V
117: iconst_0
istore 15
start local 15 118: aload 0
iload 1
119: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.structPointer:J
120: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.buffer:Ljava/awt/image/DataBufferByte;
invokevirtual java.awt.image.DataBufferByte.getData:()[B
121: iload 7
122: aload 6
123: aload 13
124: aload 8
getfield java.awt.Rectangle.x:I
aload 8
getfield java.awt.Rectangle.y:I
125: aload 8
getfield java.awt.Rectangle.width:I
aload 8
getfield java.awt.Rectangle.height:I
126: iload 9
iload 10
127: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.abbrevQTables:[Ljavax/imageio/plugins/jpeg/JPEGQTable;
128: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.abbrevDCHuffmanTables:[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
129: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.abbrevACHuffmanTables:[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
130: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.minProgressivePass:I
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.maxProgressivePass:I
131: iload 14
132: invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.readImage:(IJ[BI[I[IIIIIII[Ljavax/imageio/plugins/jpeg/JPEGQTable;[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;IIZ)Z
istore 15
133: iload 15
ifeq 136
134: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.processReadAborted:()V
135: goto 137
136: StackMap locals: int
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.processImageComplete:()V
137: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.target:Ljava/awt/image/WritableRaster;
areturn
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 138 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;
0 138 1 imageIndex I
0 138 2 param Ljavax/imageio/ImageReadParam;
0 138 3 wantRaster Z
2 138 4 imRas Ljava/awt/image/WritableRaster;
3 138 5 numImageBands I
5 12 6 imageTypes Ljava/util/Iterator;
16 138 6 srcBands [I
19 138 7 numRasterBands I
21 138 8 srcROI Ljava/awt/Rectangle;
24 138 9 periodX I
25 138 10 periodY I
31 44 11 sBands [I
40 44 12 jparam Ljavax/imageio/plugins/jpeg/JPEGImageReadParam;
45 138 11 lineSize I
47 138 12 bandOffs [I
66 138 13 bandSizes [I
67 72 14 i I
77 138 14 callbackUpdates Z
81 85 15 iter Ljava/util/Iterator;
96 100 15 i I
104 108 15 i I
118 138 15 aborted Z
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
imageIndex
param
wantRaster
private void acceptPixels(int, boolean);
descriptor: (IZ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.convert:Ljava/awt/image/ColorConvertOp;
ifnull 2
1: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.convert:Ljava/awt/image/ColorConvertOp;
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.raster:Ljava/awt/image/WritableRaster;
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.raster:Ljava/awt/image/WritableRaster;
invokevirtual java.awt.image.ColorConvertOp.filter:(Ljava/awt/image/Raster;Ljava/awt/image/WritableRaster;)Ljava/awt/image/WritableRaster;
pop
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.target:Ljava/awt/image/WritableRaster;
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.destROI:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.x:I
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.destROI:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.y:I
iload 1
iadd
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.raster:Ljava/awt/image/WritableRaster;
invokevirtual java.awt.image.WritableRaster.setRect:(IILjava/awt/image/Raster;)V
3: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.lock:()V
4: aload 0
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.image:Ljava/awt/image/BufferedImage;
5: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.destROI:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.x:I
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.destROI:Ljava/awt/Rectangle;
getfield java.awt.Rectangle.y:I
iload 1
iadd
6: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.raster:Ljava/awt/image/WritableRaster;
invokevirtual java.awt.image.WritableRaster.getWidth:()I
iconst_1
7: iconst_1
iconst_1
8: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.destinationBands:[I
9: invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.processImageUpdate:(Ljava/awt/image/BufferedImage;IIIIII[I)V
10: iload 1
ifle 58
iload 1
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.progInterval:I
irem
ifne 58
11: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.target:Ljava/awt/image/WritableRaster;
invokevirtual java.awt.image.WritableRaster.getHeight:()I
iconst_1
isub
istore 3
start local 3 12: iload 1
i2f
iload 3
i2f
fdiv
fstore 4
start local 4 13: iload 2
ifeq 53
14: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.knownPassCount:I
iconst_m1
if_icmpeq 19
15: aload 0
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.pass:I
i2f
fload 4
fadd
ldc 100.0
fmul
16: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.knownPassCount:I
i2f
fdiv
17: invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.processImageProgress:(F)V
18: goto 58
StackMap locals: int float
StackMap stack:
19: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.maxProgressivePass:I
ldc 2147483647
if_icmpeq 24
20: aload 0
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.pass:I
i2f
fload 4
fadd
ldc 100.0
fmul
21: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.maxProgressivePass:I
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.minProgressivePass:I
isub
iconst_1
iadd
i2f
fdiv
22: invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.processImageProgress:(F)V
23: goto 58
24: StackMap locals:
StackMap stack:
iconst_2
bipush 10
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.pass:I
isub
invokestatic java.lang.Math.max:(II)I
25: istore 5
start local 5 26: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.pass:I
iload 5
iadd
iconst_1
isub
istore 6
start local 6 27: aload 0
iload 3
bipush 20
idiv
iload 6
imul
28: iload 6
29: invokestatic java.lang.Math.max:(II)I
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.progInterval:I
30: iload 1
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.progInterval:I
irem
ifne 58
31: aload 0
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.previousPassPercentage:F
32: fconst_1
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.previousPassPercentage:F
fsub
33: fload 4
34: fmul
35: iload 5
i2f
36: fdiv
fadd
37: putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.percentToDate:F
38: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.debug:Z
ifeq 51
39: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "pass= "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.pass:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
40: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc ", y= "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
41: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc ", progInt= "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.progInterval:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
42: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc ", % of pass: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
fload 4
invokevirtual java.lang.StringBuilder.append:(F)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
43: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc ", rem. passes: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
44: iload 5
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
45: invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
46: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc ", prev%: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
47: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.previousPassPercentage:F
invokevirtual java.lang.StringBuilder.append:(F)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
48: invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
49: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc ", %ToDate: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.percentToDate:F
invokevirtual java.lang.StringBuilder.append:(F)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
50: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc " "
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
51: StackMap locals: int int
StackMap stack:
aload 0
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.percentToDate:F
ldc 100.0
fmul
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.processImageProgress:(F)V
end local 6 end local 5 52: goto 58
53: StackMap locals:
StackMap stack:
aload 0
fload 4
ldc 100.0
fmul
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.processImageProgress:(F)V
end local 4 end local 3 54: goto 58
StackMap locals: com.sun.imageio.plugins.jpeg.JPEGImageReader int int
StackMap stack: java.lang.Throwable
55: astore 7
56: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.unlock:()V
57: aload 7
athrow
58: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.unlock:()V
59: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 60 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;
0 60 1 y I
0 60 2 progressive Z
12 54 3 height I
13 54 4 percentOfPass F
26 52 5 remainingPasses I
27 52 6 totalPasses I
Exception table:
from to target type
4 55 55 any
MethodParameters:
Name Flags
y
progressive
private void initProgressData();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_m1
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.knownPassCount:I
1: aload 0
iconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.pass:I
2: aload 0
fconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.percentToDate:F
3: aload 0
fconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.previousPassPercentage:F
4: aload 0
iconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.progInterval:I
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;
private void passStarted(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=10, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.lock:()V
1: aload 0
iload 1
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.pass:I
2: aload 0
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.percentToDate:F
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.previousPassPercentage:F
3: aload 0
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.image:Ljava/awt/image/BufferedImage;
4: iload 1
5: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.minProgressivePass:I
6: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.maxProgressivePass:I
7: iconst_0
iconst_0
8: iconst_1
iconst_1
9: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.destinationBands:[I
10: invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.processPassStarted:(Ljava/awt/image/BufferedImage;IIIIIII[I)V
11: goto 15
StackMap locals:
StackMap stack: java.lang.Throwable
12: astore 2
13: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.unlock:()V
14: aload 2
athrow
15: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.unlock:()V
16: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;
0 17 1 pass I
Exception table:
from to target type
1 12 12 any
MethodParameters:
Name Flags
pass
private void passComplete();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.lock:()V
1: aload 0
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.image:Ljava/awt/image/BufferedImage;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.processPassComplete:(Ljava/awt/image/BufferedImage;)V
2: goto 6
StackMap locals:
StackMap stack: java.lang.Throwable
3: astore 1
4: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.unlock:()V
5: aload 1
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.unlock:()V
7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;
Exception table:
from to target type
1 3 3 any
void thumbnailStarted(int);
descriptor: (I)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.lock:()V
1: aload 0
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.currentImage:I
iload 1
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.processThumbnailStarted:(II)V
2: goto 6
StackMap locals:
StackMap stack: java.lang.Throwable
3: astore 2
4: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.unlock:()V
5: aload 2
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.unlock:()V
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;
0 8 1 thumbnailIndex I
Exception table:
from to target type
1 3 3 any
MethodParameters:
Name Flags
thumbnailIndex
void thumbnailProgress(float);
descriptor: (F)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.lock:()V
1: aload 0
fload 1
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.processThumbnailProgress:(F)V
2: goto 6
StackMap locals:
StackMap stack: java.lang.Throwable
3: astore 2
4: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.unlock:()V
5: aload 2
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.unlock:()V
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;
0 8 1 percentageDone F
Exception table:
from to target type
1 3 3 any
MethodParameters:
Name Flags
percentageDone
void thumbnailComplete();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.lock:()V
1: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.processThumbnailComplete:()V
2: goto 6
StackMap locals:
StackMap stack: java.lang.Throwable
3: astore 1
4: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.unlock:()V
5: aload 1
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.unlock:()V
7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;
Exception table:
from to target type
1 3 3 any
private native boolean readImage(int, long, byte[], int, int[], int[], int, int, int, int, int, int, javax.imageio.plugins.jpeg.JPEGQTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[], int, int, boolean);
descriptor: (IJ[BI[I[IIIIIII[Ljavax/imageio/plugins/jpeg/JPEGQTable;[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;IIZ)Z
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
MethodParameters:
Name Flags
imageIndex
structPointer
buffer
numRasterBands
srcBands
bandSizes
sourceXOffset
sourceYOffset
sourceWidth
sourceHeight
periodX
periodY
abbrevQTables
abbrevDCHuffmanTables
abbrevACHuffmanTables
minProgressivePass
maxProgressivePass
wantUpdates
public void abort();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.setThreadLock:()V
1: aload 0
invokespecial javax.imageio.ImageReader.abort:()V
2: aload 0
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.structPointer:J
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.abortRead:(J)V
3: goto 7
StackMap locals:
StackMap stack: java.lang.Throwable
4: astore 1
5: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.clearThreadLock:()V
6: aload 1
athrow
7: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.clearThreadLock:()V
8: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;
Exception table:
from to target type
1 4 4 any
private native void abortRead(long);
descriptor: (J)V
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
MethodParameters:
Name Flags
structPointer
private native void resetLibraryState(long);
descriptor: (J)V
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
MethodParameters:
Name Flags
structPointer
public boolean canReadRaster();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;
public java.awt.image.Raster readRaster(int, javax.imageio.ImageReadParam);
descriptor: (ILjavax/imageio/ImageReadParam;)Ljava/awt/image/Raster;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.setThreadLock:()V
1: aconst_null
astore 3
start local 3 2: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.check:()V
3: aconst_null
astore 4
start local 4 4: aload 2
ifnull 7
5: aload 2
invokevirtual javax.imageio.ImageReadParam.getDestinationOffset:()Ljava/awt/Point;
astore 4
6: aload 2
new java.awt.Point
dup
iconst_0
iconst_0
invokespecial java.awt.Point.<init>:(II)V
invokevirtual javax.imageio.ImageReadParam.setDestinationOffset:(Ljava/awt/Point;)V
7: StackMap locals: java.awt.image.Raster java.awt.Point
StackMap stack:
aload 0
iload 1
aload 2
iconst_1
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.readInternal:(ILjavax/imageio/ImageReadParam;Z)Ljava/awt/image/Raster;
astore 3
8: aload 4
ifnull 22
9: aload 0
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.target:Ljava/awt/image/WritableRaster;
aload 4
getfield java.awt.Point.x:I
10: aload 4
getfield java.awt.Point.y:I
11: invokevirtual java.awt.image.WritableRaster.createWritableTranslatedChild:(II)Ljava/awt/image/WritableRaster;
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.target:Ljava/awt/image/WritableRaster;
end local 4 12: goto 22
StackMap locals: com.sun.imageio.plugins.jpeg.JPEGImageReader int javax.imageio.ImageReadParam java.awt.image.Raster
StackMap stack: java.lang.RuntimeException
13: astore 4
start local 4 14: aload 0
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.structPointer:J
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.resetLibraryState:(J)V
15: aload 4
athrow
end local 4 16: StackMap locals:
StackMap stack: java.io.IOException
astore 4
start local 4 17: aload 0
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.structPointer:J
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.resetLibraryState:(J)V
18: aload 4
athrow
end local 4 19: StackMap locals:
StackMap stack: java.lang.Throwable
astore 5
20: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.clearThreadLock:()V
21: aload 5
athrow
22: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.clearThreadLock:()V
23: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;
0 24 1 imageIndex I
0 24 2 param Ljavax/imageio/ImageReadParam;
2 24 3 retval Ljava/awt/image/Raster;
4 12 4 saveDestOffset Ljava/awt/Point;
14 16 4 e Ljava/lang/RuntimeException;
17 19 4 e Ljava/io/IOException;
Exception table:
from to target type
2 12 13 Class java.lang.RuntimeException
2 12 16 Class java.io.IOException
2 19 19 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
imageIndex
param
public boolean readerSupportsThumbnails();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;
public int getNumThumbnails(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.setThreadLock:()V
1: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.check:()V
2: aload 0
iload 1
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.getImageMetadata:(I)Ljavax/imageio/metadata/IIOMetadata;
pop
3: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.imageMetadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
4: ldc Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment;
iconst_1
5: invokevirtual com.sun.imageio.plugins.jpeg.JPEGMetadata.findMarkerSegment:(Ljava/lang/Class;Z)Lcom/sun/imageio/plugins/jpeg/MarkerSegment;
checkcast com.sun.imageio.plugins.jpeg.JFIFMarkerSegment
6: astore 2
start local 2 7: iconst_0
istore 3
start local 3 8: aload 2
ifnull 13
9: aload 2
getfield com.sun.imageio.plugins.jpeg.JFIFMarkerSegment.thumb:Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment$JFIFThumbRGB;
ifnonnull 10
iconst_0
goto 11
StackMap locals: com.sun.imageio.plugins.jpeg.JFIFMarkerSegment int
StackMap stack:
10: iconst_1
StackMap locals:
StackMap stack: int
11: istore 3
12: iload 3
aload 2
getfield com.sun.imageio.plugins.jpeg.JFIFMarkerSegment.extSegments:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
iadd
istore 3
13: StackMap locals:
StackMap stack:
iload 3
istore 5
14: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.clearThreadLock:()V
15: iload 5
ireturn
end local 3 end local 2 16: StackMap locals: com.sun.imageio.plugins.jpeg.JPEGImageReader int
StackMap stack: java.lang.Throwable
astore 4
17: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.clearThreadLock:()V
18: aload 4
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;
0 19 1 imageIndex I
7 16 2 jfif Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment;
8 16 3 retval I
Exception table:
from to target type
1 14 16 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
imageIndex
public int getThumbnailWidth(int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.setThreadLock:()V
1: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.check:()V
2: iload 2
iflt 4
3: iload 2
aload 0
iload 1
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.getNumThumbnails:(I)I
if_icmplt 5
4: StackMap locals:
StackMap stack:
new java.lang.IndexOutOfBoundsException
dup
ldc "No such thumbnail"
invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.imageMetadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
6: ldc Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment;
iconst_1
7: invokevirtual com.sun.imageio.plugins.jpeg.JPEGMetadata.findMarkerSegment:(Ljava/lang/Class;Z)Lcom/sun/imageio/plugins/jpeg/MarkerSegment;
checkcast com.sun.imageio.plugins.jpeg.JFIFMarkerSegment
8: astore 3
start local 3 9: aload 3
iload 2
invokevirtual com.sun.imageio.plugins.jpeg.JFIFMarkerSegment.getThumbnailWidth:(I)I
istore 5
10: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.clearThreadLock:()V
11: iload 5
ireturn
end local 3 12: StackMap locals:
StackMap stack: java.lang.Throwable
astore 4
13: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.clearThreadLock:()V
14: aload 4
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;
0 15 1 imageIndex I
0 15 2 thumbnailIndex I
9 12 3 jfif Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment;
Exception table:
from to target type
1 10 12 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
imageIndex
thumbnailIndex
public int getThumbnailHeight(int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.setThreadLock:()V
1: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.check:()V
2: iload 2
iflt 4
3: iload 2
aload 0
iload 1
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.getNumThumbnails:(I)I
if_icmplt 5
4: StackMap locals:
StackMap stack:
new java.lang.IndexOutOfBoundsException
dup
ldc "No such thumbnail"
invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.imageMetadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
6: ldc Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment;
iconst_1
7: invokevirtual com.sun.imageio.plugins.jpeg.JPEGMetadata.findMarkerSegment:(Ljava/lang/Class;Z)Lcom/sun/imageio/plugins/jpeg/MarkerSegment;
checkcast com.sun.imageio.plugins.jpeg.JFIFMarkerSegment
8: astore 3
start local 3 9: aload 3
iload 2
invokevirtual com.sun.imageio.plugins.jpeg.JFIFMarkerSegment.getThumbnailHeight:(I)I
istore 5
10: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.clearThreadLock:()V
11: iload 5
ireturn
end local 3 12: StackMap locals:
StackMap stack: java.lang.Throwable
astore 4
13: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.clearThreadLock:()V
14: aload 4
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;
0 15 1 imageIndex I
0 15 2 thumbnailIndex I
9 12 3 jfif Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment;
Exception table:
from to target type
1 10 12 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
imageIndex
thumbnailIndex
public java.awt.image.BufferedImage readThumbnail(int, int);
descriptor: (II)Ljava/awt/image/BufferedImage;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.setThreadLock:()V
1: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.check:()V
2: iload 2
iflt 4
3: iload 2
aload 0
iload 1
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.getNumThumbnails:(I)I
if_icmplt 5
4: StackMap locals:
StackMap stack:
new java.lang.IndexOutOfBoundsException
dup
ldc "No such thumbnail"
invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.imageMetadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
6: ldc Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment;
iconst_1
7: invokevirtual com.sun.imageio.plugins.jpeg.JPEGMetadata.findMarkerSegment:(Ljava/lang/Class;Z)Lcom/sun/imageio/plugins/jpeg/MarkerSegment;
checkcast com.sun.imageio.plugins.jpeg.JFIFMarkerSegment
8: astore 3
start local 3 9: aload 3
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.iis:Ljavax/imageio/stream/ImageInputStream;
iload 2
aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JFIFMarkerSegment.getThumbnail:(Ljavax/imageio/stream/ImageInputStream;ILcom/sun/imageio/plugins/jpeg/JPEGImageReader;)Ljava/awt/image/BufferedImage;
astore 5
10: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.clearThreadLock:()V
11: aload 5
areturn
end local 3 12: StackMap locals:
StackMap stack: java.lang.Throwable
astore 4
13: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.clearThreadLock:()V
14: aload 4
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;
0 15 1 imageIndex I
0 15 2 thumbnailIndex I
9 12 3 jfif Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment;
Exception table:
from to target type
1 10 12 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
imageIndex
thumbnailIndex
private void resetInternalState();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.structPointer:J
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.resetReader:(J)V
1: aload 0
iconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.numImages:I
2: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.imagePositions:Ljava/util/List;
3: aload 0
iconst_m1
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.currentImage:I
4: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.image:Ljava/awt/image/BufferedImage;
5: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.raster:Ljava/awt/image/WritableRaster;
6: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.target:Ljava/awt/image/WritableRaster;
7: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.buffer:Ljava/awt/image/DataBufferByte;
8: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.destROI:Ljava/awt/Rectangle;
9: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.destinationBands:[I
10: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.streamMetadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
11: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.imageMetadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
12: aload 0
iconst_m1
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.imageMetadataIndex:I
13: aload 0
iconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.haveSeeked:Z
14: aload 0
iconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.tablesOnlyChecked:Z
15: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.iccCS:Ljava/awt/color/ColorSpace;
16: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.initProgressData:()V
17: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;
public void reset();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.setThreadLock:()V
1: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.check:()V
2: aload 0
invokespecial javax.imageio.ImageReader.reset:()V
3: goto 7
StackMap locals:
StackMap stack: java.lang.Throwable
4: astore 1
5: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.clearThreadLock:()V
6: aload 1
athrow
7: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.clearThreadLock:()V
8: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;
Exception table:
from to target type
1 4 4 any
private native void resetReader(long);
descriptor: (J)V
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
MethodParameters:
Name Flags
structPointer
public void dispose();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.setThreadLock:()V
1: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageReader$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock.check:()V
2: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.structPointer:J
lconst_0
lcmp
ifeq 9
3: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.disposerRecord:Lsun/java2d/DisposerRecord;
invokeinterface sun.java2d.DisposerRecord.dispose:()V
4: aload 0
lconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.structPointer:J
5: goto 9
StackMap locals:
StackMap stack: java.lang.Throwable
6: astore 1
7: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.clearThreadLock:()V
8: aload 1
athrow
9: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageReader.clearThreadLock:()V
10: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;
Exception table:
from to target type
1 6 6 any
private static native void disposeReader(long);
descriptor: (J)V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
structPointer
private synchronized void setThreadLock();
descriptor: ()V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=5, locals=2, args_size=1
start local 0 0: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
astore 1
start local 1 1: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.theThread:Ljava/lang/Thread;
ifnull 10
2: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.theThread:Ljava/lang/Thread;
aload 1
if_acmpeq 8
3: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Attempt to use instance of "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
4: aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " locked on thread "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.theThread:Ljava/lang/Thread;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " from thread "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals: java.lang.Thread
StackMap stack:
aload 0
dup
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.theLockCount:I
iconst_1
iadd
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.theLockCount:I
9: goto 12
10: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.theThread:Ljava/lang/Thread;
11: aload 0
iconst_1
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.theLockCount:I
12: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;
1 13 1 currThread Ljava/lang/Thread;
private synchronized void clearThreadLock();
descriptor: ()V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=5, locals=2, args_size=1
start local 0 0: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
astore 1
start local 1 1: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.theThread:Ljava/lang/Thread;
ifnull 2
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.theThread:Ljava/lang/Thread;
aload 1
if_acmpeq 6
2: StackMap locals: java.lang.Thread
StackMap stack:
new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Attempt to clear thread lock form wrong thread. Locked thread: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
3: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.theThread:Ljava/lang/Thread;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
4: ldc "; current thread: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.theLockCount:I
iconst_1
isub
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.theLockCount:I
7: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageReader.theLockCount:I
ifne 9
8: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageReader.theThread:Ljava/lang/Thread;
9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;
1 10 1 currThread Ljava/lang/Thread;
}
SourceFile: "JPEGImageReader.java"
NestMembers:
com.sun.imageio.plugins.jpeg.JPEGImageReader$1 com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock$State com.sun.imageio.plugins.jpeg.JPEGImageReader$JPEGReaderDisposerRecord
InnerClasses:
public JCS = com.sun.imageio.plugins.jpeg.JPEG$JCS of com.sun.imageio.plugins.jpeg.JPEG
com.sun.imageio.plugins.jpeg.JPEGImageReader$1
private CallBackLock = com.sun.imageio.plugins.jpeg.JPEGImageReader$CallBackLock of com.sun.imageio.plugins.jpeg.JPEGImageReader
private JPEGReaderDisposerRecord = com.sun.imageio.plugins.jpeg.JPEGImageReader$JPEGReaderDisposerRecord of com.sun.imageio.plugins.jpeg.JPEGImageReader