public class sun.java2d.cmm.ProfileDataVerifier
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.java2d.cmm.ProfileDataVerifier
super_class: java.lang.Object
{
private static final int MAX_TAG_COUNT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 100
private static final int ;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 128
private static final int TOC_OFFSET;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 132
private static final int TOC_RECORD_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 12
private static final int PROFILE_FILE_SIGNATURE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1633907568
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/java2d/cmm/ProfileDataVerifier;
public static void verify(byte[]);
descriptor: ([B)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=7, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "Invalid ICC Profile Data"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
arraylength
sipush 132
if_icmpge 4
3: new java.lang.IllegalArgumentException
dup
ldc "Invalid ICC Profile Data"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
iconst_0
invokestatic sun.java2d.cmm.ProfileDataVerifier.readInt32:([BI)I
istore 1
start local 1 5: aload 0
sipush 128
invokestatic sun.java2d.cmm.ProfileDataVerifier.readInt32:([BI)I
istore 2
start local 2 6: iload 2
iflt 7
iload 2
bipush 100
if_icmple 8
7: StackMap locals: int int
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Invalid ICC Profile Data"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
iload 1
sipush 132
iload 2
bipush 12
imul
iadd
if_icmplt 10
9: iload 1
aload 0
arraylength
if_icmple 11
10: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Invalid ICC Profile Data"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals:
StackMap stack:
aload 0
bipush 36
invokestatic sun.java2d.cmm.ProfileDataVerifier.readInt32:([BI)I
istore 3
start local 3 12: ldc 1633907568
iload 3
if_icmpeq 14
13: new java.lang.IllegalArgumentException
dup
ldc "Invalid ICC Profile Data"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals: int
StackMap stack:
iconst_0
istore 4
start local 4 15: goto 25
16: StackMap locals: int
StackMap stack:
iload 4
aload 0
invokestatic sun.java2d.cmm.ProfileDataVerifier.getTagOffset:(I[B)I
istore 5
start local 5 17: iload 4
aload 0
invokestatic sun.java2d.cmm.ProfileDataVerifier.getTagSize:(I[B)I
istore 6
start local 6 18: iload 5
sipush 132
if_icmplt 19
iload 5
iload 1
if_icmple 20
19: StackMap locals: int int
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Invalid ICC Profile Data"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
20: StackMap locals:
StackMap stack:
iload 6
iflt 23
21: iload 6
ldc 2147483647
iload 5
isub
if_icmpgt 23
22: iload 6
iload 5
iadd
iload 1
if_icmple 24
23: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Invalid ICC Profile Data"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 6 end local 5 24: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
25: iload 4
iload 2
if_icmplt 16
end local 4 26: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 data [B
5 27 1 size I
6 27 2 tagCount I
12 27 3 sig I
15 26 4 i I
17 24 5 tag_offset I
18 24 6 tag_size I
MethodParameters:
Name Flags
data
private static int getTagOffset(int, byte[]);
descriptor: (I[B)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: sipush 132
iload 0
bipush 12
imul
iadd
iconst_4
iadd
istore 2
start local 2 1: aload 1
iload 2
invokestatic sun.java2d.cmm.ProfileDataVerifier.readInt32:([BI)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 idx I
0 2 1 data [B
1 2 2 pos I
MethodParameters:
Name Flags
idx
data
private static int getTagSize(int, byte[]);
descriptor: (I[B)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: sipush 132
iload 0
bipush 12
imul
iadd
bipush 8
iadd
istore 2
start local 2 1: aload 1
iload 2
invokestatic sun.java2d.cmm.ProfileDataVerifier.readInt32:([BI)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 idx I
0 2 1 data [B
1 2 2 pos I
MethodParameters:
Name Flags
idx
data
private static int readInt32(byte[], int);
descriptor: ([BI)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 6
3: StackMap locals: int int
StackMap stack:
iload 2
bipush 8
ishl
istore 2
4: iload 2
sipush 255
aload 0
iload 1
iinc 1 1
baload
iand
ior
istore 2
5: iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
iconst_4
if_icmplt 3
end local 3 7: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 data [B
0 8 1 off I
1 8 2 res I
2 7 3 i I
MethodParameters:
Name Flags
data
off
}
SourceFile: "ProfileDataVerifier.java"