public class sun.awt.image.ImagingLib
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.awt.image.ImagingLib
super_class: java.lang.Object
{
static boolean useLib;
descriptor: Z
flags: (0x0008) ACC_STATIC
static boolean verbose;
descriptor: Z
flags: (0x0008) ACC_STATIC
private static final int NUM_NATIVE_OPS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private static final int LOOKUP_OP;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int AFFINE_OP;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int CONVOLVE_OP;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static java.lang.Class<?>[] nativeOpClass;
descriptor: [Ljava/lang/Class;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Signature: [Ljava/lang/Class<*>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=2, args_size=0
0: iconst_1
putstatic sun.awt.image.ImagingLib.useLib:Z
1: iconst_0
putstatic sun.awt.image.ImagingLib.verbose:Z
2: iconst_3
anewarray java.lang.Class
putstatic sun.awt.image.ImagingLib.nativeOpClass:[Ljava/lang/Class;
3: new sun.awt.image.ImagingLib$1
dup
invokespecial sun.awt.image.ImagingLib$1.<init>:()V
4: astore 0
start local 0 5: aload 0
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
putstatic sun.awt.image.ImagingLib.useLib:Z
6: getstatic sun.awt.image.ImagingLib.nativeOpClass:[Ljava/lang/Class;
iconst_0
7: ldc "java.awt.image.LookupOp"
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
8: aastore
9: goto 12
StackMap locals: java.security.PrivilegedAction
StackMap stack: java.lang.ClassNotFoundException
10: astore 1
start local 1 11: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Could not find class: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 1 12: StackMap locals:
StackMap stack:
getstatic sun.awt.image.ImagingLib.nativeOpClass:[Ljava/lang/Class;
iconst_1
13: ldc "java.awt.image.AffineTransformOp"
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
14: aastore
15: goto 18
StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
16: astore 1
start local 1 17: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Could not find class: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 1 18: StackMap locals:
StackMap stack:
getstatic sun.awt.image.ImagingLib.nativeOpClass:[Ljava/lang/Class;
iconst_2
19: ldc "java.awt.image.ConvolveOp"
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
20: aastore
21: goto 24
StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
22: astore 1
start local 1 23: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Could not find class: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 1 end local 0 24: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
5 24 0 doMlibInitialization Ljava/security/PrivilegedAction<Ljava/lang/Boolean;>;
11 12 1 e Ljava/lang/ClassNotFoundException;
17 18 1 e Ljava/lang/ClassNotFoundException;
23 24 1 e Ljava/lang/ClassNotFoundException;
Exception table:
from to target type
6 9 10 Class java.lang.ClassNotFoundException
12 15 16 Class java.lang.ClassNotFoundException
18 21 22 Class java.lang.ClassNotFoundException
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/awt/image/ImagingLib;
private static native boolean init();
descriptor: ()Z
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
public static native int transformBI(java.awt.image.BufferedImage, java.awt.image.BufferedImage, double[], int);
descriptor: (Ljava/awt/image/BufferedImage;Ljava/awt/image/BufferedImage;[DI)I
flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
src
dst
matrix
interpType
public static native int transformRaster(java.awt.image.Raster, java.awt.image.Raster, double[], int);
descriptor: (Ljava/awt/image/Raster;Ljava/awt/image/Raster;[DI)I
flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
src
dst
matrix
interpType
public static native int convolveBI(java.awt.image.BufferedImage, java.awt.image.BufferedImage, java.awt.image.Kernel, int);
descriptor: (Ljava/awt/image/BufferedImage;Ljava/awt/image/BufferedImage;Ljava/awt/image/Kernel;I)I
flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
src
dst
kernel
edgeHint
public static native int convolveRaster(java.awt.image.Raster, java.awt.image.Raster, java.awt.image.Kernel, int);
descriptor: (Ljava/awt/image/Raster;Ljava/awt/image/Raster;Ljava/awt/image/Kernel;I)I
flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
src
dst
kernel
edgeHint
public static native int lookupByteBI(java.awt.image.BufferedImage, java.awt.image.BufferedImage, byte[][]);
descriptor: (Ljava/awt/image/BufferedImage;Ljava/awt/image/BufferedImage;[[B)I
flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
src
dst
table
public static native int lookupByteRaster(java.awt.image.Raster, java.awt.image.Raster, byte[][]);
descriptor: (Ljava/awt/image/Raster;Ljava/awt/image/Raster;[[B)I
flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
src
dst
table
private static int getNativeOpIndex(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: iconst_m1
istore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 7
3: StackMap locals: int int
StackMap stack:
aload 0
getstatic sun.awt.image.ImagingLib.nativeOpClass:[Ljava/lang/Class;
iload 2
aaload
if_acmpne 6
4: iload 2
istore 1
5: goto 8
6: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
7: iload 2
iconst_3
if_icmplt 3
end local 2 8: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 opClass Ljava/lang/Class<*>;
1 9 1 opIndex I
2 8 2 i I
Signature: (Ljava/lang/Class<*>;)I
MethodParameters:
Name Flags
opClass
public static java.awt.image.WritableRaster filter(java.awt.image.RasterOp, java.awt.image.Raster, java.awt.image.WritableRaster);
descriptor: (Ljava/awt/image/RasterOp;Ljava/awt/image/Raster;Ljava/awt/image/WritableRaster;)Ljava/awt/image/WritableRaster;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: getstatic sun.awt.image.ImagingLib.useLib:Z
ifne 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 2
ifnonnull 4
3: aload 0
aload 1
invokeinterface java.awt.image.RasterOp.createCompatibleDestRaster:(Ljava/awt/image/Raster;)Ljava/awt/image/WritableRaster;
astore 2
4: StackMap locals:
StackMap stack:
aconst_null
astore 3
start local 3 5: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic sun.awt.image.ImagingLib.getNativeOpIndex:(Ljava/lang/Class;)I
tableswitch { // 0 - 2
0: 6
1: 14
2: 22
default: 28
}
6: StackMap locals: java.awt.image.WritableRaster
StackMap stack:
aload 0
checkcast java.awt.image.LookupOp
invokevirtual java.awt.image.LookupOp.getTable:()Ljava/awt/image/LookupTable;
astore 4
start local 4 7: aload 4
invokevirtual java.awt.image.LookupTable.getOffset:()I
ifeq 9
8: aconst_null
areturn
9: StackMap locals: java.awt.image.LookupTable
StackMap stack:
aload 4
instanceof java.awt.image.ByteLookupTable
ifeq 28
10: aload 4
checkcast java.awt.image.ByteLookupTable
astore 5
start local 5 11: aload 1
aload 2
aload 5
invokevirtual java.awt.image.ByteLookupTable.getTable:()[[B
invokestatic sun.awt.image.ImagingLib.lookupByteRaster:(Ljava/awt/image/Raster;Ljava/awt/image/Raster;[[B)I
ifle 28
12: aload 2
astore 3
end local 5 13: goto 28
end local 4 14: StackMap locals:
StackMap stack:
aload 0
checkcast java.awt.image.AffineTransformOp
astore 5
start local 5 15: bipush 6
newarray 7
astore 6
start local 6 16: aload 5
invokevirtual java.awt.image.AffineTransformOp.getTransform:()Ljava/awt/geom/AffineTransform;
aload 6
invokevirtual java.awt.geom.AffineTransform.getMatrix:([D)V
17: aload 1
aload 2
aload 6
18: aload 5
invokevirtual java.awt.image.AffineTransformOp.getInterpolationType:()I
19: invokestatic sun.awt.image.ImagingLib.transformRaster:(Ljava/awt/image/Raster;Ljava/awt/image/Raster;[DI)I
ifle 28
20: aload 2
astore 3
21: goto 28
end local 6 end local 5 22: StackMap locals:
StackMap stack:
aload 0
checkcast java.awt.image.ConvolveOp
astore 7
start local 7 23: aload 1
aload 2
24: aload 7
invokevirtual java.awt.image.ConvolveOp.getKernel:()Ljava/awt/image/Kernel;
aload 7
invokevirtual java.awt.image.ConvolveOp.getEdgeCondition:()I
25: invokestatic sun.awt.image.ImagingLib.convolveRaster:(Ljava/awt/image/Raster;Ljava/awt/image/Raster;Ljava/awt/image/Kernel;I)I
ifle 28
26: aload 2
astore 3
27: goto 28
end local 7 28: StackMap locals:
StackMap stack:
aload 3
ifnull 30
29: aload 3
invokestatic sun.awt.image.SunWritableRaster.markDirty:(Ljava/awt/image/WritableRaster;)V
30: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 op Ljava/awt/image/RasterOp;
0 31 1 src Ljava/awt/image/Raster;
0 31 2 dst Ljava/awt/image/WritableRaster;
5 31 3 retRaster Ljava/awt/image/WritableRaster;
7 14 4 table Ljava/awt/image/LookupTable;
11 13 5 bt Ljava/awt/image/ByteLookupTable;
15 22 5 bOp Ljava/awt/image/AffineTransformOp;
16 22 6 matrix [D
23 28 7 cOp Ljava/awt/image/ConvolveOp;
MethodParameters:
Name Flags
op
src
dst
public static java.awt.image.BufferedImage filter(java.awt.image.BufferedImageOp, java.awt.image.BufferedImage, java.awt.image.BufferedImage);
descriptor: (Ljava/awt/image/BufferedImageOp;Ljava/awt/image/BufferedImage;Ljava/awt/image/BufferedImage;)Ljava/awt/image/BufferedImage;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: getstatic sun.awt.image.ImagingLib.verbose:Z
ifeq 4
1: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "in filter and op is "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2: ldc "bufimage is "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " and "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
4: StackMap locals:
StackMap stack:
getstatic sun.awt.image.ImagingLib.useLib:Z
ifne 6
5: aconst_null
areturn
6: StackMap locals:
StackMap stack:
aload 2
ifnonnull 8
7: aload 0
aload 1
aconst_null
invokeinterface java.awt.image.BufferedImageOp.createCompatibleDestImage:(Ljava/awt/image/BufferedImage;Ljava/awt/image/ColorModel;)Ljava/awt/image/BufferedImage;
astore 2
8: StackMap locals:
StackMap stack:
aconst_null
astore 3
start local 3 9: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic sun.awt.image.ImagingLib.getNativeOpIndex:(Ljava/lang/Class;)I
tableswitch { // 0 - 2
0: 10
1: 18
2: 27
default: 33
}
10: StackMap locals: java.awt.image.BufferedImage
StackMap stack:
aload 0
checkcast java.awt.image.LookupOp
invokevirtual java.awt.image.LookupOp.getTable:()Ljava/awt/image/LookupTable;
astore 4
start local 4 11: aload 4
invokevirtual java.awt.image.LookupTable.getOffset:()I
ifeq 13
12: aconst_null
areturn
13: StackMap locals: java.awt.image.LookupTable
StackMap stack:
aload 4
instanceof java.awt.image.ByteLookupTable
ifeq 33
14: aload 4
checkcast java.awt.image.ByteLookupTable
astore 5
start local 5 15: aload 1
aload 2
aload 5
invokevirtual java.awt.image.ByteLookupTable.getTable:()[[B
invokestatic sun.awt.image.ImagingLib.lookupByteBI:(Ljava/awt/image/BufferedImage;Ljava/awt/image/BufferedImage;[[B)I
ifle 33
16: aload 2
astore 3
end local 5 17: goto 33
end local 4 18: StackMap locals:
StackMap stack:
aload 0
checkcast java.awt.image.AffineTransformOp
astore 5
start local 5 19: bipush 6
newarray 7
astore 6
start local 6 20: aload 5
invokevirtual java.awt.image.AffineTransformOp.getTransform:()Ljava/awt/geom/AffineTransform;
pop
21: aload 5
invokevirtual java.awt.image.AffineTransformOp.getTransform:()Ljava/awt/geom/AffineTransform;
aload 6
invokevirtual java.awt.geom.AffineTransform.getMatrix:([D)V
22: aload 1
aload 2
aload 6
23: aload 5
invokevirtual java.awt.image.AffineTransformOp.getInterpolationType:()I
24: invokestatic sun.awt.image.ImagingLib.transformBI:(Ljava/awt/image/BufferedImage;Ljava/awt/image/BufferedImage;[DI)I
ifle 33
25: aload 2
astore 3
26: goto 33
end local 6 end local 5 27: StackMap locals:
StackMap stack:
aload 0
checkcast java.awt.image.ConvolveOp
astore 7
start local 7 28: aload 1
aload 2
aload 7
invokevirtual java.awt.image.ConvolveOp.getKernel:()Ljava/awt/image/Kernel;
29: aload 7
invokevirtual java.awt.image.ConvolveOp.getEdgeCondition:()I
30: invokestatic sun.awt.image.ImagingLib.convolveBI:(Ljava/awt/image/BufferedImage;Ljava/awt/image/BufferedImage;Ljava/awt/image/Kernel;I)I
ifle 33
31: aload 2
astore 3
32: goto 33
end local 7 33: StackMap locals:
StackMap stack:
aload 3
ifnull 35
34: aload 3
invokestatic sun.awt.image.SunWritableRaster.markDirty:(Ljava/awt/Image;)V
35: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 op Ljava/awt/image/BufferedImageOp;
0 36 1 src Ljava/awt/image/BufferedImage;
0 36 2 dst Ljava/awt/image/BufferedImage;
9 36 3 retBI Ljava/awt/image/BufferedImage;
11 18 4 table Ljava/awt/image/LookupTable;
15 17 5 bt Ljava/awt/image/ByteLookupTable;
19 27 5 bOp Ljava/awt/image/AffineTransformOp;
20 27 6 matrix [D
28 33 7 cOp Ljava/awt/image/ConvolveOp;
MethodParameters:
Name Flags
op
src
dst
}
SourceFile: "ImagingLib.java"
NestMembers:
sun.awt.image.ImagingLib$1
InnerClasses:
sun.awt.image.ImagingLib$1