class com.sun.java.util.jar.pack.Code extends com.sun.java.util.jar.pack.Attribute$Holder
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.java.util.jar.pack.Code
super_class: com.sun.java.util.jar.pack.Attribute$Holder
{
com.sun.java.util.jar.pack.Package$Class$Method m;
descriptor: Lcom/sun/java/util/jar/pack/Package$Class$Method;
flags: (0x0000)
private static final com.sun.java.util.jar.pack.ConstantPool$Entry[] noRefs;
descriptor: [Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
int max_stack;
descriptor: I
flags: (0x0000)
int max_locals;
descriptor: I
flags: (0x0000)
com.sun.java.util.jar.pack.ConstantPool$Entry[] handler_class;
descriptor: [Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
flags: (0x0000)
int[] handler_start;
descriptor: [I
flags: (0x0000)
int[] handler_end;
descriptor: [I
flags: (0x0000)
int[] handler_catch;
descriptor: [I
flags: (0x0000)
byte[] bytes;
descriptor: [B
flags: (0x0000)
com.sun.java.util.jar.pack.Fixups fixups;
descriptor: Lcom/sun/java/util/jar/pack/Fixups;
flags: (0x0000)
java.lang.Object insnMap;
descriptor: Ljava/lang/Object;
flags: (0x0000)
static final boolean shrinkMaps;
descriptor: Z
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lcom/sun/java/util/jar/pack/Code;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic com.sun.java.util.jar.pack.Code.$assertionsDisabled:Z
3: getstatic com.sun.java.util.jar.pack.ConstantPool.noRefs:[Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
putstatic com.sun.java.util.jar.pack.Code.noRefs:[Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
4: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(com.sun.java.util.jar.pack.Package$Class$Method);
descriptor: (Lcom/sun/java/util/jar/pack/Package$Class$Method;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial com.sun.java.util.jar.pack.Attribute$Holder.<init>:()V
1: aload 0
getstatic com.sun.java.util.jar.pack.Code.noRefs:[Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
putfield com.sun.java.util.jar.pack.Code.handler_class:[Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
2: aload 0
getstatic com.sun.java.util.jar.pack.Constants.noInts:[I
putfield com.sun.java.util.jar.pack.Code.handler_start:[I
3: aload 0
getstatic com.sun.java.util.jar.pack.Constants.noInts:[I
putfield com.sun.java.util.jar.pack.Code.handler_end:[I
4: aload 0
getstatic com.sun.java.util.jar.pack.Constants.noInts:[I
putfield com.sun.java.util.jar.pack.Code.handler_catch:[I
5: aload 0
aload 1
putfield com.sun.java.util.jar.pack.Code.m:Lcom/sun/java/util/jar/pack/Package$Class$Method;
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/java/util/jar/pack/Code;
0 7 1 m Lcom/sun/java/util/jar/pack/Package$Class$Method;
MethodParameters:
Name Flags
m
public com.sun.java.util.jar.pack.Package$Class$Method getMethod();
descriptor: ()Lcom/sun/java/util/jar/pack/Package$Class$Method;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.java.util.jar.pack.Code.m:Lcom/sun/java/util/jar/pack/Package$Class$Method;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/java/util/jar/pack/Code;
public com.sun.java.util.jar.pack.Package$Class thisClass();
descriptor: ()Lcom/sun/java/util/jar/pack/Package$Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.java.util.jar.pack.Code.m:Lcom/sun/java/util/jar/pack/Package$Class$Method;
invokevirtual com.sun.java.util.jar.pack.Package$Class$Method.thisClass:()Lcom/sun/java/util/jar/pack/Package$Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/java/util/jar/pack/Code;
public com.sun.java.util.jar.pack.Package getPackage();
descriptor: ()Lcom/sun/java/util/jar/pack/Package;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.java.util.jar.pack.Code.m:Lcom/sun/java/util/jar/pack/Package$Class$Method;
invokevirtual com.sun.java.util.jar.pack.Package$Class$Method.thisClass:()Lcom/sun/java/util/jar/pack/Package$Class;
invokevirtual com.sun.java.util.jar.pack.Package$Class.getPackage:()Lcom/sun/java/util/jar/pack/Package;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/java/util/jar/pack/Code;
public com.sun.java.util.jar.pack.ConstantPool$Entry[] getCPMap();
descriptor: ()[Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.java.util.jar.pack.Code.m:Lcom/sun/java/util/jar/pack/Package$Class$Method;
invokevirtual com.sun.java.util.jar.pack.Package$Class$Method.getCPMap:()[Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/java/util/jar/pack/Code;
int getLength();
descriptor: ()I
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.java.util.jar.pack.Code.bytes:[B
arraylength
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/java/util/jar/pack/Code;
int getMaxStack();
descriptor: ()I
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.java.util.jar.pack.Code.max_stack:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/java/util/jar/pack/Code;
void setMaxStack(int);
descriptor: (I)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield com.sun.java.util.jar.pack.Code.max_stack:I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/java/util/jar/pack/Code;
0 2 1 ms I
MethodParameters:
Name Flags
ms
int getMaxNALocals();
descriptor: ()I
flags: (0x0000)
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield com.sun.java.util.jar.pack.Code.m:Lcom/sun/java/util/jar/pack/Package$Class$Method;
invokevirtual com.sun.java.util.jar.pack.Package$Class$Method.getArgumentSize:()I
istore 1
start local 1 1: aload 0
getfield com.sun.java.util.jar.pack.Code.max_locals:I
iload 1
isub
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/java/util/jar/pack/Code;
1 2 1 argsize I
void setMaxNALocals(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.java.util.jar.pack.Code.m:Lcom/sun/java/util/jar/pack/Package$Class$Method;
invokevirtual com.sun.java.util.jar.pack.Package$Class$Method.getArgumentSize:()I
istore 2
start local 2 1: aload 0
iload 2
iload 1
iadd
putfield com.sun.java.util.jar.pack.Code.max_locals:I
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/java/util/jar/pack/Code;
0 3 1 ml I
1 3 2 argsize I
MethodParameters:
Name Flags
ml
int getHandlerCount();
descriptor: ()I
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic com.sun.java.util.jar.pack.Code.$assertionsDisabled:Z
ifne 1
aload 0
getfield com.sun.java.util.jar.pack.Code.handler_class:[Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
arraylength
aload 0
getfield com.sun.java.util.jar.pack.Code.handler_start:[I
arraylength
if_icmpeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic com.sun.java.util.jar.pack.Code.$assertionsDisabled:Z
ifne 2
aload 0
getfield com.sun.java.util.jar.pack.Code.handler_class:[Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
arraylength
aload 0
getfield com.sun.java.util.jar.pack.Code.handler_end:[I
arraylength
if_icmpeq 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
getstatic com.sun.java.util.jar.pack.Code.$assertionsDisabled:Z
ifne 3
aload 0
getfield com.sun.java.util.jar.pack.Code.handler_class:[Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
arraylength
aload 0
getfield com.sun.java.util.jar.pack.Code.handler_catch:[I
arraylength
if_icmpeq 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.java.util.jar.pack.Code.handler_class:[Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
arraylength
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/java/util/jar/pack/Code;
void setHandlerCount(int);
descriptor: (I)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifle 5
1: aload 0
iload 1
anewarray com.sun.java.util.jar.pack.ConstantPool$Entry
putfield com.sun.java.util.jar.pack.Code.handler_class:[Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
2: aload 0
iload 1
newarray 10
putfield com.sun.java.util.jar.pack.Code.handler_start:[I
3: aload 0
iload 1
newarray 10
putfield com.sun.java.util.jar.pack.Code.handler_end:[I
4: aload 0
iload 1
newarray 10
putfield com.sun.java.util.jar.pack.Code.handler_catch:[I
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/java/util/jar/pack/Code;
0 6 1 h I
MethodParameters:
Name Flags
h
void setBytes(byte[]);
descriptor: ([B)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield com.sun.java.util.jar.pack.Code.bytes:[B
1: aload 0
getfield com.sun.java.util.jar.pack.Code.fixups:Lcom/sun/java/util/jar/pack/Fixups;
ifnull 3
2: aload 0
getfield com.sun.java.util.jar.pack.Code.fixups:Lcom/sun/java/util/jar/pack/Fixups;
aload 1
invokevirtual com.sun.java.util.jar.pack.Fixups.setBytes:([B)V
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/java/util/jar/pack/Code;
0 4 1 bytes [B
MethodParameters:
Name Flags
bytes
void setInstructionMap(int[], int);
descriptor: ([II)V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 0
aload 1
iload 2
invokevirtual com.sun.java.util.jar.pack.Code.allocateInstructionMap:([II)Ljava/lang/Object;
putfield com.sun.java.util.jar.pack.Code.insnMap:Ljava/lang/Object;
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/java/util/jar/pack/Code;
0 2 1 insnMap [I
0 2 2 mapLen I
MethodParameters:
Name Flags
insnMap
mapLen
void setInstructionMap(int[]);
descriptor: ([I)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 1
arraylength
invokevirtual com.sun.java.util.jar.pack.Code.setInstructionMap:([II)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/java/util/jar/pack/Code;
0 2 1 insnMap [I
MethodParameters:
Name Flags
insnMap
int[] getInstructionMap();
descriptor: ()[I
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
invokevirtual com.sun.java.util.jar.pack.Code.getInsnMap:()Ljava/lang/Object;
invokevirtual com.sun.java.util.jar.pack.Code.expandInstructionMap:(Ljava/lang/Object;)[I
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/java/util/jar/pack/Code;
void addFixups(java.util.Collection<com.sun.java.util.jar.pack.Fixups$Fixup>);
descriptor: (Ljava/util/Collection;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.java.util.jar.pack.Code.fixups:Lcom/sun/java/util/jar/pack/Fixups;
ifnonnull 2
1: aload 0
new com.sun.java.util.jar.pack.Fixups
dup
aload 0
getfield com.sun.java.util.jar.pack.Code.bytes:[B
invokespecial com.sun.java.util.jar.pack.Fixups.<init>:([B)V
putfield com.sun.java.util.jar.pack.Code.fixups:Lcom/sun/java/util/jar/pack/Fixups;
2: StackMap locals:
StackMap stack:
getstatic com.sun.java.util.jar.pack.Code.$assertionsDisabled:Z
ifne 3
aload 0
getfield com.sun.java.util.jar.pack.Code.fixups:Lcom/sun/java/util/jar/pack/Fixups;
invokevirtual com.sun.java.util.jar.pack.Fixups.getBytes:()[B
aload 0
getfield com.sun.java.util.jar.pack.Code.bytes:[B
if_acmpeq 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.java.util.jar.pack.Code.fixups:Lcom/sun/java/util/jar/pack/Fixups;
aload 1
invokevirtual com.sun.java.util.jar.pack.Fixups.addAll:(Ljava/util/Collection;)Z
pop
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/java/util/jar/pack/Code;
0 5 1 moreFixups Ljava/util/Collection<Lcom/sun/java/util/jar/pack/Fixups$Fixup;>;
Signature: (Ljava/util/Collection<Lcom/sun/java/util/jar/pack/Fixups$Fixup;>;)V
MethodParameters:
Name Flags
moreFixups
public void trimToSize();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.java.util.jar.pack.Code.fixups:Lcom/sun/java/util/jar/pack/Fixups;
ifnull 4
1: aload 0
getfield com.sun.java.util.jar.pack.Code.fixups:Lcom/sun/java/util/jar/pack/Fixups;
invokevirtual com.sun.java.util.jar.pack.Fixups.trimToSize:()V
2: aload 0
getfield com.sun.java.util.jar.pack.Code.fixups:Lcom/sun/java/util/jar/pack/Fixups;
invokevirtual com.sun.java.util.jar.pack.Fixups.size:()I
ifne 4
3: aload 0
aconst_null
putfield com.sun.java.util.jar.pack.Code.fixups:Lcom/sun/java/util/jar/pack/Fixups;
4: StackMap locals:
StackMap stack:
aload 0
invokespecial com.sun.java.util.jar.pack.Attribute$Holder.trimToSize:()V
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/java/util/jar/pack/Code;
protected void visitRefs(int, java.util.Collection<com.sun.java.util.jar.pack.ConstantPool$Entry>);
descriptor: (ILjava/util/Collection;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.sun.java.util.jar.pack.Code.getPackage:()Lcom/sun/java/util/jar/pack/Package;
getfield com.sun.java.util.jar.pack.Package.verbose:I
istore 3
start local 3 1: iload 3
iconst_2
if_icmple 3
2: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Reference scan "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
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
3: StackMap locals: int
StackMap stack:
aload 2
aload 0
getfield com.sun.java.util.jar.pack.Code.handler_class:[Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokeinterface java.util.Collection.addAll:(Ljava/util/Collection;)Z
pop
4: aload 0
getfield com.sun.java.util.jar.pack.Code.fixups:Lcom/sun/java/util/jar/pack/Fixups;
ifnull 7
5: aload 0
getfield com.sun.java.util.jar.pack.Code.fixups:Lcom/sun/java/util/jar/pack/Fixups;
aload 2
invokevirtual com.sun.java.util.jar.pack.Fixups.visitRefs:(Ljava/util/Collection;)V
6: goto 17
7: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.java.util.jar.pack.Code.getCPMap:()[Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
astore 4
start local 4 8: aload 0
iconst_0
invokevirtual com.sun.java.util.jar.pack.Code.instructionAt:(I)Lcom/sun/java/util/jar/pack/Instruction;
astore 5
start local 5 9: goto 16
10: StackMap locals: com.sun.java.util.jar.pack.ConstantPool$Entry[] com.sun.java.util.jar.pack.Instruction
StackMap stack:
iload 3
iconst_4
if_icmple 12
11: getstatic java.lang.System.out:Ljava/io/PrintStream;
aload 5
invokevirtual java.io.PrintStream.println:(Ljava/lang/Object;)V
12: StackMap locals:
StackMap stack:
aload 5
invokevirtual com.sun.java.util.jar.pack.Instruction.getCPIndex:()I
istore 6
start local 6 13: iload 6
iflt 15
14: aload 2
aload 4
iload 6
aaload
invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
pop
end local 6 15: StackMap locals:
StackMap stack:
aload 5
invokevirtual com.sun.java.util.jar.pack.Instruction.next:()Lcom/sun/java/util/jar/pack/Instruction;
astore 5
StackMap locals:
StackMap stack:
16: aload 5
ifnonnull 10
end local 5 end local 4 17: StackMap locals:
StackMap stack:
aload 0
iload 1
aload 2
invokespecial com.sun.java.util.jar.pack.Attribute$Holder.visitRefs:(ILjava/util/Collection;)V
18: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/sun/java/util/jar/pack/Code;
0 19 1 mode I
0 19 2 refs Ljava/util/Collection<Lcom/sun/java/util/jar/pack/ConstantPool$Entry;>;
1 19 3 verbose I
8 17 4 cpMap [Lcom/sun/java/util/jar/pack/ConstantPool$Entry;
9 17 5 i Lcom/sun/java/util/jar/pack/Instruction;
13 15 6 cpref I
Signature: (ILjava/util/Collection<Lcom/sun/java/util/jar/pack/ConstantPool$Entry;>;)V
MethodParameters:
Name Flags
mode
refs
private java.lang.Object allocateInstructionMap(int[], int);
descriptor: ([II)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.sun.java.util.jar.pack.Code.getLength:()I
istore 3
start local 3 1: iload 3
sipush 255
if_icmpgt 10
2: iload 2
iconst_1
iadd
newarray 8
astore 4
start local 4 3: iconst_0
istore 5
start local 5 4: goto 7
5: StackMap locals: int byte[] int
StackMap stack:
aload 4
iload 5
aload 1
iload 5
iaload
bipush -128
iadd
i2b
bastore
6: iinc 5 1
StackMap locals:
StackMap stack:
7: iload 5
iload 2
if_icmplt 5
end local 5 8: aload 4
iload 2
iload 3
bipush -128
iadd
i2b
bastore
9: aload 4
areturn
end local 4 10: StackMap locals:
StackMap stack:
iload 3
ldc 65535
if_icmpge 19
11: iload 2
iconst_1
iadd
newarray 9
astore 4
start local 4 12: iconst_0
istore 5
start local 5 13: goto 16
14: StackMap locals: short[] int
StackMap stack:
aload 4
iload 5
aload 1
iload 5
iaload
sipush -32768
iadd
i2s
sastore
15: iinc 5 1
StackMap locals:
StackMap stack:
16: iload 5
iload 2
if_icmplt 14
end local 5 17: aload 4
iload 2
iload 3
sipush -32768
iadd
i2s
sastore
18: aload 4
areturn
end local 4 19: StackMap locals:
StackMap stack:
aload 1
iload 2
iconst_1
iadd
invokestatic java.util.Arrays.copyOf:([II)[I
astore 4
start local 4 20: aload 4
iload 2
iload 3
iastore
21: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lcom/sun/java/util/jar/pack/Code;
0 22 1 insnMap [I
0 22 2 mapLen I
1 22 3 PClimit I
3 10 4 map [B
4 8 5 i I
12 19 4 map [S
13 17 5 i I
20 22 4 map [I
MethodParameters:
Name Flags
insnMap
mapLen
private int[] expandInstructionMap(java.lang.Object);
descriptor: (Ljava/lang/Object;)[I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 1
instanceof byte[]
ifeq 9
1: aload 1
checkcast byte[]
astore 3
start local 3 2: aload 3
arraylength
iconst_1
isub
newarray 10
astore 2
start local 2 3: iconst_0
istore 4
start local 4 4: goto 7
5: StackMap locals: int[] byte[] int
StackMap stack:
aload 2
iload 4
aload 3
iload 4
baload
bipush -128
isub
iastore
6: iinc 4 1
StackMap locals:
StackMap stack:
7: iload 4
aload 2
arraylength
if_icmplt 5
end local 4 end local 3 8: goto 20
end local 2 StackMap locals:
StackMap stack:
9: aload 1
instanceof short[]
ifeq 18
10: aload 1
checkcast short[]
astore 3
start local 3 11: aload 3
arraylength
iconst_1
isub
newarray 10
astore 2
start local 2 12: iconst_0
istore 4
start local 4 13: goto 16
14: StackMap locals: int[] short[] int
StackMap stack:
aload 2
iload 4
aload 3
iload 4
saload
bipush -128
isub
iastore
15: iinc 4 1
StackMap locals:
StackMap stack:
16: iload 4
aload 2
arraylength
if_icmplt 14
end local 4 end local 3 17: goto 20
end local 2 18: StackMap locals:
StackMap stack:
aload 1
checkcast int[]
astore 3
start local 3 19: aload 3
iconst_0
aload 3
arraylength
iconst_1
isub
invokestatic java.util.Arrays.copyOfRange:([III)[I
astore 2
end local 3 start local 2 20: StackMap locals: int[]
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lcom/sun/java/util/jar/pack/Code;
0 21 1 map0 Ljava/lang/Object;
3 9 2 imap [I
12 18 2 imap [I
20 21 2 imap [I
2 8 3 map [B
4 8 4 i I
11 17 3 map [S
13 17 4 i I
19 20 3 map [I
MethodParameters:
Name Flags
map0
java.lang.Object getInsnMap();
descriptor: ()Ljava/lang/Object;
flags: (0x0000)
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
getfield com.sun.java.util.jar.pack.Code.insnMap:Ljava/lang/Object;
ifnull 2
1: aload 0
getfield com.sun.java.util.jar.pack.Code.insnMap:Ljava/lang/Object;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.java.util.jar.pack.Code.getLength:()I
newarray 10
astore 1
start local 1 3: iconst_0
istore 2
start local 2 4: aload 0
iconst_0
invokevirtual com.sun.java.util.jar.pack.Code.instructionAt:(I)Lcom/sun/java/util/jar/pack/Instruction;
astore 3
start local 3 5: goto 8
6: StackMap locals: int[] int com.sun.java.util.jar.pack.Instruction
StackMap stack:
aload 1
iload 2
iinc 2 1
aload 3
invokevirtual com.sun.java.util.jar.pack.Instruction.getPC:()I
iastore
7: aload 3
invokevirtual com.sun.java.util.jar.pack.Instruction.next:()Lcom/sun/java/util/jar/pack/Instruction;
astore 3
StackMap locals:
StackMap stack:
8: aload 3
ifnonnull 6
end local 3 9: aload 0
aload 0
aload 1
iload 2
invokevirtual com.sun.java.util.jar.pack.Code.allocateInstructionMap:([II)Ljava/lang/Object;
putfield com.sun.java.util.jar.pack.Code.insnMap:Ljava/lang/Object;
10: aload 0
getfield com.sun.java.util.jar.pack.Code.insnMap:Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/sun/java/util/jar/pack/Code;
3 11 1 map [I
4 11 2 fillp I
5 9 3 i Lcom/sun/java/util/jar/pack/Instruction;
public int encodeBCI(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: iload 1
ifle 1
iload 1
aload 0
invokevirtual com.sun.java.util.jar.pack.Code.getLength:()I
if_icmple 2
StackMap locals:
StackMap stack:
1: iload 1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.java.util.jar.pack.Code.getInsnMap:()Ljava/lang/Object;
astore 2
start local 2 3: aload 2
instanceof byte[]
ifeq 8
4: aload 2
checkcast byte[]
astore 5
start local 5 5: aload 5
arraylength
istore 4
start local 4 6: aload 5
iload 1
bipush -128
iadd
i2b
invokestatic java.util.Arrays.binarySearch:([BB)I
istore 3
end local 5 start local 3 7: goto 16
end local 4 end local 3 StackMap locals: java.lang.Object
StackMap stack:
8: aload 2
instanceof short[]
ifeq 13
9: aload 2
checkcast short[]
astore 5
start local 5 10: aload 5
arraylength
istore 4
start local 4 11: aload 5
iload 1
sipush -32768
iadd
i2s
invokestatic java.util.Arrays.binarySearch:([SS)I
istore 3
end local 5 start local 3 12: goto 16
end local 4 end local 3 13: StackMap locals:
StackMap stack:
aload 2
checkcast int[]
astore 5
start local 5 14: aload 5
arraylength
istore 4
start local 4 15: aload 5
iload 1
invokestatic java.util.Arrays.binarySearch:([II)I
istore 3
end local 5 start local 3 16: StackMap locals: int int
StackMap stack:
getstatic com.sun.java.util.jar.pack.Code.$assertionsDisabled:Z
ifne 17
iload 3
iconst_m1
if_icmpne 17
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
17: StackMap locals:
StackMap stack:
getstatic com.sun.java.util.jar.pack.Code.$assertionsDisabled:Z
ifne 18
iload 3
ifne 18
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
18: StackMap locals:
StackMap stack:
getstatic com.sun.java.util.jar.pack.Code.$assertionsDisabled:Z
ifne 19
iload 3
iload 4
if_icmpne 19
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
19: StackMap locals:
StackMap stack:
getstatic com.sun.java.util.jar.pack.Code.$assertionsDisabled:Z
ifne 20
iload 3
iload 4
ineg
iconst_1
isub
if_icmpne 20
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
20: StackMap locals:
StackMap stack:
iload 3
iflt 21
iload 3
goto 22
StackMap locals:
StackMap stack:
21: iload 4
iload 1
iadd
iload 3
ineg
iconst_1
isub
isub
StackMap locals:
StackMap stack: int
22: ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lcom/sun/java/util/jar/pack/Code;
0 23 1 bci I
3 23 2 map0 Ljava/lang/Object;
7 8 3 i I
12 13 3 i I
16 23 3 i I
6 8 4 len I
11 13 4 len I
15 23 4 len I
5 7 5 map [B
10 12 5 map [S
14 16 5 map [I
MethodParameters:
Name Flags
bci
public int decodeBCI(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: iload 1
ifle 1
iload 1
aload 0
invokevirtual com.sun.java.util.jar.pack.Code.getLength:()I
if_icmple 2
StackMap locals:
StackMap stack:
1: iload 1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.java.util.jar.pack.Code.getInsnMap:()Ljava/lang/Object;
astore 2
start local 2 3: aload 2
instanceof byte[]
ifeq 13
4: aload 2
checkcast byte[]
astore 5
start local 5 5: aload 5
arraylength
istore 4
start local 4 6: iload 1
iload 4
if_icmpge 8
7: aload 5
iload 1
baload
bipush -128
isub
ireturn
8: StackMap locals: com.sun.java.util.jar.pack.Code int java.lang.Object top int byte[]
StackMap stack:
aload 5
iload 1
bipush -128
iadd
i2b
invokestatic java.util.Arrays.binarySearch:([BB)I
istore 3
start local 3 9: iload 3
ifge 10
iload 3
ineg
iconst_1
isub
istore 3
10: StackMap locals: com.sun.java.util.jar.pack.Code int java.lang.Object int int byte[]
StackMap stack:
iload 1
iload 4
isub
bipush -128
iadd
istore 6
start local 6 11: StackMap locals: int
StackMap stack:
aload 5
iload 3
iconst_1
isub
baload
iload 3
iconst_1
isub
isub
iload 6
if_icmpgt 12
goto 32
12: StackMap locals:
StackMap stack:
iinc 3 -1
goto 11
end local 6 end local 5 end local 4 end local 3 13: StackMap locals: com.sun.java.util.jar.pack.Code int java.lang.Object
StackMap stack:
aload 2
instanceof short[]
ifeq 23
14: aload 2
checkcast short[]
astore 5
start local 5 15: aload 5
arraylength
istore 4
start local 4 16: iload 1
iload 4
if_icmpge 18
17: aload 5
iload 1
saload
sipush -32768
isub
ireturn
18: StackMap locals: com.sun.java.util.jar.pack.Code int java.lang.Object top int short[]
StackMap stack:
aload 5
iload 1
sipush -32768
iadd
i2s
invokestatic java.util.Arrays.binarySearch:([SS)I
istore 3
start local 3 19: iload 3
ifge 20
iload 3
ineg
iconst_1
isub
istore 3
20: StackMap locals: com.sun.java.util.jar.pack.Code int java.lang.Object int int short[]
StackMap stack:
iload 1
iload 4
isub
sipush -32768
iadd
istore 6
start local 6 21: StackMap locals: int
StackMap stack:
aload 5
iload 3
iconst_1
isub
saload
iload 3
iconst_1
isub
isub
iload 6
if_icmpgt 22
goto 32
22: StackMap locals:
StackMap stack:
iinc 3 -1
goto 21
end local 6 end local 5 end local 4 end local 3 23: StackMap locals: com.sun.java.util.jar.pack.Code int java.lang.Object
StackMap stack:
aload 2
checkcast int[]
astore 5
start local 5 24: aload 5
arraylength
istore 4
start local 4 25: iload 1
iload 4
if_icmpge 27
26: aload 5
iload 1
iaload
ireturn
27: StackMap locals: com.sun.java.util.jar.pack.Code int java.lang.Object top int int[]
StackMap stack:
aload 5
iload 1
invokestatic java.util.Arrays.binarySearch:([II)I
istore 3
start local 3 28: iload 3
ifge 29
iload 3
ineg
iconst_1
isub
istore 3
29: StackMap locals: com.sun.java.util.jar.pack.Code int java.lang.Object int int int[]
StackMap stack:
iload 1
iload 4
isub
istore 6
start local 6 30: StackMap locals: int
StackMap stack:
aload 5
iload 3
iconst_1
isub
iaload
iload 3
iconst_1
isub
isub
iload 6
if_icmpgt 31
goto 32
31: StackMap locals:
StackMap stack:
iinc 3 -1
goto 30
end local 6 end local 5 32: StackMap locals:
StackMap stack:
iload 1
iload 4
isub
iload 3
iadd
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lcom/sun/java/util/jar/pack/Code;
0 33 1 bciCode I
3 33 2 map0 Ljava/lang/Object;
9 13 3 i I
19 23 3 i I
28 33 3 i I
6 13 4 len I
16 23 4 len I
25 33 4 len I
5 13 5 map [B
11 13 6 key I
15 23 5 map [S
21 23 6 key I
24 32 5 map [I
30 32 6 key I
MethodParameters:
Name Flags
bciCode
public void finishRefs(com.sun.java.util.jar.pack.ConstantPool$Index);
descriptor: (Lcom/sun/java/util/jar/pack/ConstantPool$Index;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.java.util.jar.pack.Code.fixups:Lcom/sun/java/util/jar/pack/Fixups;
ifnull 3
1: aload 0
getfield com.sun.java.util.jar.pack.Code.fixups:Lcom/sun/java/util/jar/pack/Fixups;
aload 1
invokevirtual com.sun.java.util.jar.pack.Fixups.finishRefs:(Lcom/sun/java/util/jar/pack/ConstantPool$Index;)V
2: aload 0
aconst_null
putfield com.sun.java.util.jar.pack.Code.fixups:Lcom/sun/java/util/jar/pack/Fixups;
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/java/util/jar/pack/Code;
0 4 1 ix Lcom/sun/java/util/jar/pack/ConstantPool$Index;
MethodParameters:
Name Flags
ix
com.sun.java.util.jar.pack.Instruction instructionAt(int);
descriptor: (I)Lcom/sun/java/util/jar/pack/Instruction;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.java.util.jar.pack.Code.bytes:[B
iload 1
invokestatic com.sun.java.util.jar.pack.Instruction.at:([BI)Lcom/sun/java/util/jar/pack/Instruction;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/java/util/jar/pack/Code;
0 1 1 pc I
MethodParameters:
Name Flags
pc
static boolean flagsRequireCode(int);
descriptor: (I)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
sipush 1280
iand
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 flags I
MethodParameters:
Name Flags
flags
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 0
getfield com.sun.java.util.jar.pack.Code.m:Lcom/sun/java/util/jar/pack/Package$Class$Method;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ".Code"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/java/util/jar/pack/Code;
public int getInt(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.java.util.jar.pack.Code.bytes:[B
iload 1
invokestatic com.sun.java.util.jar.pack.Instruction.getInt:([BI)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/java/util/jar/pack/Code;
0 1 1 pc I
MethodParameters:
Name Flags
pc
public int getShort(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.java.util.jar.pack.Code.bytes:[B
iload 1
invokestatic com.sun.java.util.jar.pack.Instruction.getShort:([BI)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/java/util/jar/pack/Code;
0 1 1 pc I
MethodParameters:
Name Flags
pc
public int getByte(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.java.util.jar.pack.Code.bytes:[B
iload 1
invokestatic com.sun.java.util.jar.pack.Instruction.getByte:([BI)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/java/util/jar/pack/Code;
0 1 1 pc I
MethodParameters:
Name Flags
pc
void setInt(int, int);
descriptor: (II)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.java.util.jar.pack.Code.bytes:[B
iload 1
iload 2
invokestatic com.sun.java.util.jar.pack.Instruction.setInt:([BII)V
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/java/util/jar/pack/Code;
0 1 1 pc I
0 1 2 x I
MethodParameters:
Name Flags
pc
x
void setShort(int, int);
descriptor: (II)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.java.util.jar.pack.Code.bytes:[B
iload 1
iload 2
invokestatic com.sun.java.util.jar.pack.Instruction.setShort:([BII)V
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/java/util/jar/pack/Code;
0 1 1 pc I
0 1 2 x I
MethodParameters:
Name Flags
pc
x
void setByte(int, int);
descriptor: (II)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.java.util.jar.pack.Code.bytes:[B
iload 1
iload 2
invokestatic com.sun.java.util.jar.pack.Instruction.setByte:([BII)V
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/java/util/jar/pack/Code;
0 1 1 pc I
0 1 2 x I
MethodParameters:
Name Flags
pc
x
}
SourceFile: "Code.java"
InnerClasses:
public abstract Holder = com.sun.java.util.jar.pack.Attribute$Holder of com.sun.java.util.jar.pack.Attribute
public abstract Entry = com.sun.java.util.jar.pack.ConstantPool$Entry of com.sun.java.util.jar.pack.ConstantPool
public final Index = com.sun.java.util.jar.pack.ConstantPool$Index of com.sun.java.util.jar.pack.ConstantPool
public Fixup = com.sun.java.util.jar.pack.Fixups$Fixup of com.sun.java.util.jar.pack.Fixups
public final Class = com.sun.java.util.jar.pack.Package$Class of com.sun.java.util.jar.pack.Package
public Method = com.sun.java.util.jar.pack.Package$Class$Method of com.sun.java.util.jar.pack.Package$Class