public final class sun.tools.tree.Vset implements sun.tools.java.Constants
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: sun.tools.tree.Vset
super_class: java.lang.Object
{
long vset;
descriptor: J
flags: (0x0000)
long uset;
descriptor: J
flags: (0x0000)
long[] x;
descriptor: [J
flags: (0x0000)
static final long[] emptyX;
descriptor: [J
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final long[] fullX;
descriptor: [J
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final int VBITS;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 64
static final sun.tools.tree.Vset DEAD_END;
descriptor: Lsun/tools/tree/Vset;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=0, args_size=0
0: .line 58
iconst_0
newarray 11
putstatic sun.tools.tree.Vset.emptyX:[J
1: .line 59
iconst_0
newarray 11
putstatic sun.tools.tree.Vset.fullX:[J
2: .line 78
new sun.tools.tree.Vset
dup
ldc -1
ldc -1
getstatic sun.tools.tree.Vset.fullX:[J
invokespecial sun.tools.tree.Vset.<init>:(JJ[J)V
putstatic sun.tools.tree.Vset.DEAD_END:Lsun/tools/tree/Vset;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 // sun.tools.tree.Vset this
0: .line 83
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 84
aload 0 /* this */
getstatic sun.tools.tree.Vset.emptyX:[J
putfield sun.tools.tree.Vset.x:[J
2: .line 85
return
end local 0 // sun.tools.tree.Vset this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/tools/tree/Vset;
private void <init>(long, long, long[]);
descriptor: (JJ[J)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=4
start local 0 // sun.tools.tree.Vset this
start local 1 // long vset
start local 3 // long uset
start local 5 // long[] x
0: .line 87
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 88
aload 0 /* this */
lload 1 /* vset */
putfield sun.tools.tree.Vset.vset:J
2: .line 89
aload 0 /* this */
lload 3 /* uset */
putfield sun.tools.tree.Vset.uset:J
3: .line 90
aload 0 /* this */
aload 5 /* x */
putfield sun.tools.tree.Vset.x:[J
4: .line 91
return
end local 5 // long[] x
end local 3 // long uset
end local 1 // long vset
end local 0 // sun.tools.tree.Vset this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/tools/tree/Vset;
0 5 1 vset J
0 5 3 uset J
0 5 5 x [J
MethodParameters:
Name Flags
vset
uset
x
public sun.tools.tree.Vset copy();
descriptor: ()Lsun/tools/tree/Vset;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=1
start local 0 // sun.tools.tree.Vset this
0: .line 98
aload 0 /* this */
getstatic sun.tools.tree.Vset.DEAD_END:Lsun/tools/tree/Vset;
if_acmpne 2
1: .line 99
aload 0 /* this */
areturn
2: .line 101
StackMap locals:
StackMap stack:
new sun.tools.tree.Vset
dup
aload 0 /* this */
getfield sun.tools.tree.Vset.vset:J
aload 0 /* this */
getfield sun.tools.tree.Vset.uset:J
aload 0 /* this */
getfield sun.tools.tree.Vset.x:[J
invokespecial sun.tools.tree.Vset.<init>:(JJ[J)V
astore 1 /* vs */
start local 1 // sun.tools.tree.Vset vs
3: .line 102
aload 0 /* this */
getfield sun.tools.tree.Vset.x:[J
arraylength
ifle 5
4: .line 103
aload 1 /* vs */
aload 0 /* this */
getfield sun.tools.tree.Vset.x:[J
arraylength
invokevirtual sun.tools.tree.Vset.growX:(I)V
5: .line 105
StackMap locals: sun.tools.tree.Vset
StackMap stack:
aload 1 /* vs */
areturn
end local 1 // sun.tools.tree.Vset vs
end local 0 // sun.tools.tree.Vset this
LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/tools/tree/Vset;
3 6 1 vs Lsun/tools/tree/Vset;
private void growX(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 // sun.tools.tree.Vset this
start local 1 // int length
0: .line 109
iload 1 /* length */
newarray 11
astore 2 /* newX */
start local 2 // long[] newX
1: .line 110
aload 0 /* this */
getfield sun.tools.tree.Vset.x:[J
astore 3 /* oldX */
start local 3 // long[] oldX
2: .line 111
iconst_0
istore 4 /* i */
start local 4 // int i
3: goto 6
4: .line 112
StackMap locals: long[] long[] int
StackMap stack:
aload 2 /* newX */
iload 4 /* i */
aload 3 /* oldX */
iload 4 /* i */
laload
lastore
5: .line 111
iinc 4 /* i */ 1
StackMap locals:
StackMap stack:
6: iload 4 /* i */
aload 3 /* oldX */
arraylength
if_icmplt 4
end local 4 // int i
7: .line 114
aload 0 /* this */
aload 2 /* newX */
putfield sun.tools.tree.Vset.x:[J
8: .line 115
return
end local 3 // long[] oldX
end local 2 // long[] newX
end local 1 // int length
end local 0 // sun.tools.tree.Vset this
LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/tools/tree/Vset;
0 9 1 length I
1 9 2 newX [J
2 9 3 oldX [J
3 7 4 i I
MethodParameters:
Name Flags
length
public boolean isDeadEnd();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 // sun.tools.tree.Vset this
0: .line 128
aload 0 /* this */
getstatic sun.tools.tree.Vset.DEAD_END:Lsun/tools/tree/Vset;
if_acmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 // sun.tools.tree.Vset this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/tools/tree/Vset;
public boolean isReallyDeadEnd();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 // sun.tools.tree.Vset this
0: .line 141
aload 0 /* this */
getfield sun.tools.tree.Vset.x:[J
getstatic sun.tools.tree.Vset.fullX:[J
if_acmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 // sun.tools.tree.Vset this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/tools/tree/Vset;
public sun.tools.tree.Vset clearDeadEnd();
descriptor: ()Lsun/tools/tree/Vset;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=1, args_size=1
start local 0 // sun.tools.tree.Vset this
0: .line 155
aload 0 /* this */
getstatic sun.tools.tree.Vset.DEAD_END:Lsun/tools/tree/Vset;
if_acmpne 2
1: .line 156
new sun.tools.tree.Vset
dup
ldc -1
ldc -1
getstatic sun.tools.tree.Vset.fullX:[J
invokespecial sun.tools.tree.Vset.<init>:(JJ[J)V
areturn
2: .line 158
StackMap locals:
StackMap stack:
aload 0 /* this */
areturn
end local 0 // sun.tools.tree.Vset this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/tools/tree/Vset;
public boolean testVar(int);
descriptor: (I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 // sun.tools.tree.Vset this
start local 1 // int varNumber
0: .line 165
lconst_1
iload 1 /* varNumber */
lshl
lstore 2 /* bit */
start local 2 // long bit
1: .line 166
iload 1 /* varNumber */
bipush 64
if_icmplt 8
2: .line 167
iload 1 /* varNumber */
bipush 64
idiv
iconst_1
isub
iconst_2
imul
istore 4 /* i */
start local 4 // int i
3: .line 168
iload 4 /* i */
aload 0 /* this */
getfield sun.tools.tree.Vset.x:[J
arraylength
if_icmplt 6
4: .line 169
aload 0 /* this */
getfield sun.tools.tree.Vset.x:[J
getstatic sun.tools.tree.Vset.fullX:[J
if_acmpne 5
iconst_1
ireturn
StackMap locals: long int
StackMap stack:
5: iconst_0
ireturn
6: .line 171
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.tools.tree.Vset.x:[J
iload 4 /* i */
laload
lload 2 /* bit */
land
lconst_0
lcmp
ifeq 7
iconst_1
ireturn
StackMap locals:
StackMap stack:
7: iconst_0
ireturn
end local 4 // int i
8: .line 173
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.tools.tree.Vset.vset:J
lload 2 /* bit */
land
lconst_0
lcmp
ifeq 9
iconst_1
ireturn
StackMap locals:
StackMap stack:
9: iconst_0
ireturn
end local 2 // long bit
end local 1 // int varNumber
end local 0 // sun.tools.tree.Vset this
LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/tools/tree/Vset;
0 10 1 varNumber I
1 10 2 bit J
3 8 4 i I
MethodParameters:
Name Flags
varNumber
public boolean testVarUnassigned(int);
descriptor: (I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 // sun.tools.tree.Vset this
start local 1 // int varNumber
0: .line 183
lconst_1
iload 1 /* varNumber */
lshl
lstore 2 /* bit */
start local 2 // long bit
1: .line 184
iload 1 /* varNumber */
bipush 64
if_icmplt 8
2: .line 186
iload 1 /* varNumber */
bipush 64
idiv
iconst_1
isub
iconst_2
imul
iconst_1
iadd
istore 4 /* i */
start local 4 // int i
3: .line 187
iload 4 /* i */
aload 0 /* this */
getfield sun.tools.tree.Vset.x:[J
arraylength
if_icmplt 6
4: .line 188
aload 0 /* this */
getfield sun.tools.tree.Vset.x:[J
getstatic sun.tools.tree.Vset.fullX:[J
if_acmpne 5
iconst_1
ireturn
StackMap locals: long int
StackMap stack:
5: iconst_0
ireturn
6: .line 190
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.tools.tree.Vset.x:[J
iload 4 /* i */
laload
lload 2 /* bit */
land
lconst_0
lcmp
ifeq 7
iconst_1
ireturn
StackMap locals:
StackMap stack:
7: iconst_0
ireturn
end local 4 // int i
8: .line 192
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.tools.tree.Vset.uset:J
lload 2 /* bit */
land
lconst_0
lcmp
ifeq 9
iconst_1
ireturn
StackMap locals:
StackMap stack:
9: iconst_0
ireturn
end local 2 // long bit
end local 1 // int varNumber
end local 0 // sun.tools.tree.Vset this
LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/tools/tree/Vset;
0 10 1 varNumber I
1 10 2 bit J
3 8 4 i I
MethodParameters:
Name Flags
varNumber
public sun.tools.tree.Vset addVar(int);
descriptor: (I)Lsun/tools/tree/Vset;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=5, args_size=2
start local 0 // sun.tools.tree.Vset this
start local 1 // int varNumber
0: .line 201
aload 0 /* this */
getfield sun.tools.tree.Vset.x:[J
getstatic sun.tools.tree.Vset.fullX:[J
if_acmpne 2
1: .line 202
aload 0 /* this */
areturn
2: .line 207
StackMap locals:
StackMap stack:
lconst_1
iload 1 /* varNumber */
lshl
lstore 2 /* bit */
start local 2 // long bit
3: .line 208
iload 1 /* varNumber */
bipush 64
if_icmplt 11
4: .line 209
iload 1 /* varNumber */
bipush 64
idiv
iconst_1
isub
iconst_2
imul
istore 4 /* i */
start local 4 // int i
5: .line 210
iload 4 /* i */
aload 0 /* this */
getfield sun.tools.tree.Vset.x:[J
arraylength
if_icmplt 7
6: .line 211
aload 0 /* this */
iload 4 /* i */
iconst_1
iadd
invokevirtual sun.tools.tree.Vset.growX:(I)V
7: .line 213
StackMap locals: long int
StackMap stack:
aload 0 /* this */
getfield sun.tools.tree.Vset.x:[J
iload 4 /* i */
dup2
laload
lload 2 /* bit */
lor
lastore
8: .line 214
iload 4 /* i */
iconst_1
iadd
aload 0 /* this */
getfield sun.tools.tree.Vset.x:[J
arraylength
if_icmpge 13
9: .line 215
aload 0 /* this */
getfield sun.tools.tree.Vset.x:[J
iload 4 /* i */
iconst_1
iadd
dup2
laload
lload 2 /* bit */
ldc -1
lxor
land
lastore
end local 4 // int i
10: .line 217
goto 13
11: .line 218
StackMap locals:
StackMap stack:
aload 0 /* this */
dup
getfield sun.tools.tree.Vset.vset:J
lload 2 /* bit */
lor
putfield sun.tools.tree.Vset.vset:J
12: .line 219
aload 0 /* this */
dup
getfield sun.tools.tree.Vset.uset:J
lload 2 /* bit */
ldc -1
lxor
land
putfield sun.tools.tree.Vset.uset:J
13: .line 221
StackMap locals:
StackMap stack:
aload 0 /* this */
areturn
end local 2 // long bit
end local 1 // int varNumber
end local 0 // sun.tools.tree.Vset this
LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lsun/tools/tree/Vset;
0 14 1 varNumber I
3 14 2 bit J
5 10 4 i I
MethodParameters:
Name Flags
varNumber
public sun.tools.tree.Vset addVarUnassigned(int);
descriptor: (I)Lsun/tools/tree/Vset;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=5, args_size=2
start local 0 // sun.tools.tree.Vset this
start local 1 // int varNumber
0: .line 229
aload 0 /* this */
getfield sun.tools.tree.Vset.x:[J
getstatic sun.tools.tree.Vset.fullX:[J
if_acmpne 2
1: .line 230
aload 0 /* this */
areturn
2: .line 235
StackMap locals:
StackMap stack:
lconst_1
iload 1 /* varNumber */
lshl
lstore 2 /* bit */
start local 2 // long bit
3: .line 236
iload 1 /* varNumber */
bipush 64
if_icmplt 10
4: .line 238
iload 1 /* varNumber */
bipush 64
idiv
iconst_1
isub
iconst_2
imul
iconst_1
iadd
istore 4 /* i */
start local 4 // int i
5: .line 239
iload 4 /* i */
aload 0 /* this */
getfield sun.tools.tree.Vset.x:[J
arraylength
if_icmplt 7
6: .line 240
aload 0 /* this */
iload 4 /* i */
iconst_1
iadd
invokevirtual sun.tools.tree.Vset.growX:(I)V
7: .line 242
StackMap locals: long int
StackMap stack:
aload 0 /* this */
getfield sun.tools.tree.Vset.x:[J
iload 4 /* i */
dup2
laload
lload 2 /* bit */
lor
lastore
8: .line 243
aload 0 /* this */
getfield sun.tools.tree.Vset.x:[J
iload 4 /* i */
iconst_1
isub
dup2
laload
lload 2 /* bit */
ldc -1
lxor
land
lastore
end local 4 // int i
9: .line 244
goto 12
10: .line 245
StackMap locals:
StackMap stack:
aload 0 /* this */
dup
getfield sun.tools.tree.Vset.uset:J
lload 2 /* bit */
lor
putfield sun.tools.tree.Vset.uset:J
11: .line 246
aload 0 /* this */
dup
getfield sun.tools.tree.Vset.vset:J
lload 2 /* bit */
ldc -1
lxor
land
putfield sun.tools.tree.Vset.vset:J
12: .line 248
StackMap locals:
StackMap stack:
aload 0 /* this */
areturn
end local 2 // long bit
end local 1 // int varNumber
end local 0 // sun.tools.tree.Vset this
LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lsun/tools/tree/Vset;
0 13 1 varNumber I
3 13 2 bit J
5 9 4 i I
MethodParameters:
Name Flags
varNumber
public sun.tools.tree.Vset clearVar(int);
descriptor: (I)Lsun/tools/tree/Vset;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=5, args_size=2
start local 0 // sun.tools.tree.Vset this
start local 1 // int varNumber
0: .line 257
aload 0 /* this */
getfield sun.tools.tree.Vset.x:[J
getstatic sun.tools.tree.Vset.fullX:[J
if_acmpne 2
1: .line 258
aload 0 /* this */
areturn
2: .line 260
StackMap locals:
StackMap stack:
lconst_1
iload 1 /* varNumber */
lshl
lstore 2 /* bit */
start local 2 // long bit
3: .line 261
iload 1 /* varNumber */
bipush 64
if_icmplt 11
4: .line 262
iload 1 /* varNumber */
bipush 64
idiv
iconst_1
isub
iconst_2
imul
istore 4 /* i */
start local 4 // int i
5: .line 263
iload 4 /* i */
aload 0 /* this */
getfield sun.tools.tree.Vset.x:[J
arraylength
if_icmplt 7
6: .line 264
aload 0 /* this */
areturn
7: .line 266
StackMap locals: long int
StackMap stack:
aload 0 /* this */
getfield sun.tools.tree.Vset.x:[J
iload 4 /* i */
dup2
laload
lload 2 /* bit */
ldc -1
lxor
land
lastore
8: .line 267
iload 4 /* i */
iconst_1
iadd
aload 0 /* this */
getfield sun.tools.tree.Vset.x:[J
arraylength
if_icmpge 13
9: .line 268
aload 0 /* this */
getfield sun.tools.tree.Vset.x:[J
iload 4 /* i */
iconst_1
iadd
dup2
laload
lload 2 /* bit */
ldc -1
lxor
land
lastore
end local 4 // int i
10: .line 270
goto 13
11: .line 271
StackMap locals:
StackMap stack:
aload 0 /* this */
dup
getfield sun.tools.tree.Vset.vset:J
lload 2 /* bit */
ldc -1
lxor
land
putfield sun.tools.tree.Vset.vset:J
12: .line 272
aload 0 /* this */
dup
getfield sun.tools.tree.Vset.uset:J
lload 2 /* bit */
ldc -1
lxor
land
putfield sun.tools.tree.Vset.uset:J
13: .line 274
StackMap locals:
StackMap stack:
aload 0 /* this */
areturn
end local 2 // long bit
end local 1 // int varNumber
end local 0 // sun.tools.tree.Vset this
LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lsun/tools/tree/Vset;
0 14 1 varNumber I
3 14 2 bit J
5 10 4 i I
MethodParameters:
Name Flags
varNumber
public sun.tools.tree.Vset join(sun.tools.tree.Vset);
descriptor: (Lsun/tools/tree/Vset;)Lsun/tools/tree/Vset;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=2
start local 0 // sun.tools.tree.Vset this
start local 1 // sun.tools.tree.Vset other
0: .line 288
aload 0 /* this */
getstatic sun.tools.tree.Vset.DEAD_END:Lsun/tools/tree/Vset;
if_acmpne 2
1: .line 289
aload 1 /* other */
invokevirtual sun.tools.tree.Vset.copy:()Lsun/tools/tree/Vset;
areturn
2: .line 291
StackMap locals:
StackMap stack:
aload 1 /* other */
getstatic sun.tools.tree.Vset.DEAD_END:Lsun/tools/tree/Vset;
if_acmpne 4
3: .line 292
aload 0 /* this */
areturn
4: .line 294
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.tools.tree.Vset.x:[J
getstatic sun.tools.tree.Vset.fullX:[J
if_acmpne 6
5: .line 295
aload 1 /* other */
invokevirtual sun.tools.tree.Vset.copy:()Lsun/tools/tree/Vset;
areturn
6: .line 297
StackMap locals:
StackMap stack:
aload 1 /* other */
getfield sun.tools.tree.Vset.x:[J
getstatic sun.tools.tree.Vset.fullX:[J
if_acmpne 8
7: .line 298
aload 0 /* this */
areturn
8: .line 304
StackMap locals:
StackMap stack:
aload 0 /* this */
dup
getfield sun.tools.tree.Vset.vset:J
aload 1 /* other */
getfield sun.tools.tree.Vset.vset:J
land
putfield sun.tools.tree.Vset.vset:J
9: .line 305
aload 0 /* this */
dup
getfield sun.tools.tree.Vset.uset:J
aload 1 /* other */
getfield sun.tools.tree.Vset.uset:J
land
putfield sun.tools.tree.Vset.uset:J
10: .line 307
aload 1 /* other */
getfield sun.tools.tree.Vset.x:[J
getstatic sun.tools.tree.Vset.emptyX:[J
if_acmpne 13
11: .line 308
aload 0 /* this */
getstatic sun.tools.tree.Vset.emptyX:[J
putfield sun.tools.tree.Vset.x:[J
12: .line 309
goto 28
13: .line 311
StackMap locals:
StackMap stack:
aload 1 /* other */
getfield sun.tools.tree.Vset.x:[J
astore 2 /* otherX */
start local 2 // long[] otherX
14: .line 312
aload 0 /* this */
getfield sun.tools.tree.Vset.x:[J
arraylength
istore 3 /* selfLength */
start local 3 // int selfLength
15: .line 313
aload 2 /* otherX */
arraylength
iload 3 /* selfLength */
if_icmpge 16
aload 2 /* otherX */
arraylength
goto 17
StackMap locals: long[] int
StackMap stack:
16: iload 3 /* selfLength */
StackMap locals:
StackMap stack: int
17: istore 4 /* limit */
start local 4 // int limit
18: .line 314
iconst_0
istore 5 /* i */
start local 5 // int i
19: goto 22
20: .line 315
StackMap locals: int int
StackMap stack:
aload 0 /* this */
getfield sun.tools.tree.Vset.x:[J
iload 5 /* i */
dup2
laload
aload 2 /* otherX */
iload 5 /* i */
laload
land
lastore
21: .line 314
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
22: iload 5 /* i */
iload 4 /* limit */
if_icmplt 20
end local 5 // int i
23: .line 320
iload 4 /* limit */
istore 5 /* i */
start local 5 // int i
24: goto 27
25: .line 321
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.tools.tree.Vset.x:[J
iload 5 /* i */
lconst_0
lastore
26: .line 320
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
27: iload 5 /* i */
iload 3 /* selfLength */
if_icmplt 25
end local 5 // int i
end local 4 // int limit
end local 3 // int selfLength
end local 2 // long[] otherX
28: .line 324
StackMap locals: sun.tools.tree.Vset sun.tools.tree.Vset
StackMap stack:
aload 0 /* this */
areturn
end local 1 // sun.tools.tree.Vset other
end local 0 // sun.tools.tree.Vset this
LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lsun/tools/tree/Vset;
0 29 1 other Lsun/tools/tree/Vset;
14 28 2 otherX [J
15 28 3 selfLength I
18 28 4 limit I
19 23 5 i I
24 28 5 i I
MethodParameters:
Name Flags
other
public sun.tools.tree.Vset addDAandJoinDU(sun.tools.tree.Vset);
descriptor: (Lsun/tools/tree/Vset;)Lsun/tools/tree/Vset;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=6, args_size=2
start local 0 // sun.tools.tree.Vset this
start local 1 // sun.tools.tree.Vset other
0: .line 340
aload 0 /* this */
getstatic sun.tools.tree.Vset.DEAD_END:Lsun/tools/tree/Vset;
if_acmpne 2
1: .line 341
aload 0 /* this */
areturn
2: .line 343
StackMap locals:
StackMap stack:
aload 1 /* other */
getstatic sun.tools.tree.Vset.DEAD_END:Lsun/tools/tree/Vset;
if_acmpne 4
3: .line 344
aload 1 /* other */
areturn
4: .line 346
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.tools.tree.Vset.x:[J
getstatic sun.tools.tree.Vset.fullX:[J
if_acmpne 6
5: .line 347
aload 0 /* this */
areturn
6: .line 349
StackMap locals:
StackMap stack:
aload 1 /* other */
getfield sun.tools.tree.Vset.x:[J
getstatic sun.tools.tree.Vset.fullX:[J
if_acmpne 8
7: .line 350
aload 1 /* other */
invokevirtual sun.tools.tree.Vset.copy:()Lsun/tools/tree/Vset;
areturn
8: .line 356
StackMap locals:
StackMap stack:
aload 0 /* this */
dup
getfield sun.tools.tree.Vset.vset:J
aload 1 /* other */
getfield sun.tools.tree.Vset.vset:J
lor
putfield sun.tools.tree.Vset.vset:J
9: .line 357
aload 0 /* this */
aload 0 /* this */
getfield sun.tools.tree.Vset.uset:J
aload 1 /* other */
getfield sun.tools.tree.Vset.uset:J
land
aload 1 /* other */
getfield sun.tools.tree.Vset.vset:J
ldc -1
lxor
land
putfield sun.tools.tree.Vset.uset:J
10: .line 359
aload 0 /* this */
getfield sun.tools.tree.Vset.x:[J
arraylength
istore 2 /* selfLength */
start local 2 // int selfLength
11: .line 360
aload 1 /* other */
getfield sun.tools.tree.Vset.x:[J
astore 3 /* otherX */
start local 3 // long[] otherX
12: .line 361
aload 3 /* otherX */
arraylength
istore 4 /* otherLength */
start local 4 // int otherLength
13: .line 363
aload 3 /* otherX */
getstatic sun.tools.tree.Vset.emptyX:[J
if_acmpeq 24
14: .line 365
iload 4 /* otherLength */
iload 2 /* selfLength */
if_icmple 16
15: .line 366
aload 0 /* this */
iload 4 /* otherLength */
invokevirtual sun.tools.tree.Vset.growX:(I)V
16: .line 368
StackMap locals: int long[] int
StackMap stack:
iconst_0
istore 5 /* i */
start local 5 // int i
17: .line 369
goto 23
18: .line 370
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield sun.tools.tree.Vset.x:[J
iload 5 /* i */
dup2
laload
aload 3 /* otherX */
iload 5 /* i */
laload
lor
lastore
19: .line 371
iinc 5 /* i */ 1
20: .line 372
iload 5 /* i */
iload 4 /* otherLength */
if_icmpne 21
goto 24
21: .line 373
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.tools.tree.Vset.x:[J
iload 5 /* i */
aload 0 /* this */
getfield sun.tools.tree.Vset.x:[J
iload 5 /* i */
laload
aload 3 /* otherX */
iload 5 /* i */
laload
land
aload 3 /* otherX */
iload 5 /* i */
iconst_1
isub
laload
ldc -1
lxor
land
lastore
22: .line 374
iinc 5 /* i */ 1
23: .line 369
StackMap locals:
StackMap stack:
iload 5 /* i */
iload 4 /* otherLength */
if_icmplt 18
end local 5 // int i
24: .line 382
StackMap locals:
StackMap stack:
iload 4 /* otherLength */
iconst_1
ior
istore 5 /* i */
start local 5 // int i
25: goto 28
26: .line 383
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield sun.tools.tree.Vset.x:[J
iload 5 /* i */
lconst_0
lastore
27: .line 382
iinc 5 /* i */ 2
StackMap locals:
StackMap stack:
28: iload 5 /* i */
iload 2 /* selfLength */
if_icmplt 26
end local 5 // int i
29: .line 385
aload 0 /* this */
areturn
end local 4 // int otherLength
end local 3 // long[] otherX
end local 2 // int selfLength
end local 1 // sun.tools.tree.Vset other
end local 0 // sun.tools.tree.Vset this
LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lsun/tools/tree/Vset;
0 30 1 other Lsun/tools/tree/Vset;
11 30 2 selfLength I
12 30 3 otherX [J
13 30 4 otherLength I
17 24 5 i I
25 29 5 i I
MethodParameters:
Name Flags
other
public static sun.tools.tree.Vset firstDAandSecondDU(sun.tools.tree.Vset, sun.tools.tree.Vset);
descriptor: (Lsun/tools/tree/Vset;Lsun/tools/tree/Vset;)Lsun/tools/tree/Vset;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=9, args_size=2
start local 0 // sun.tools.tree.Vset sourceDA
start local 1 // sun.tools.tree.Vset sourceDU
0: .line 404
aload 0 /* sourceDA */
getfield sun.tools.tree.Vset.x:[J
getstatic sun.tools.tree.Vset.fullX:[J
if_acmpne 2
1: .line 405
aload 0 /* sourceDA */
invokevirtual sun.tools.tree.Vset.copy:()Lsun/tools/tree/Vset;
areturn
2: .line 408
StackMap locals:
StackMap stack:
aload 0 /* sourceDA */
getfield sun.tools.tree.Vset.x:[J
astore 2 /* sourceDAx */
start local 2 // long[] sourceDAx
3: .line 409
aload 2 /* sourceDAx */
arraylength
istore 3 /* lenDA */
start local 3 // int lenDA
4: .line 410
aload 1 /* sourceDU */
getfield sun.tools.tree.Vset.x:[J
astore 4 /* sourceDUx */
start local 4 // long[] sourceDUx
5: .line 411
aload 4 /* sourceDUx */
arraylength
istore 5 /* lenDU */
start local 5 // int lenDU
6: .line 412
iload 3 /* lenDA */
iload 5 /* lenDU */
if_icmple 7
iload 3 /* lenDA */
goto 8
StackMap locals: sun.tools.tree.Vset sun.tools.tree.Vset long[] int long[] int
StackMap stack:
7: iload 5 /* lenDU */
StackMap locals:
StackMap stack: int
8: istore 6 /* limit */
start local 6 // int limit
9: .line 413
getstatic sun.tools.tree.Vset.emptyX:[J
astore 7 /* x */
start local 7 // long[] x
10: .line 415
iload 6 /* limit */
ifle 22
11: .line 416
iload 6 /* limit */
newarray 11
astore 7 /* x */
12: .line 417
iconst_0
istore 8 /* i */
start local 8 // int i
13: goto 16
14: .line 418
StackMap locals: int long[] int
StackMap stack:
aload 7 /* x */
iload 8 /* i */
aload 2 /* sourceDAx */
iload 8 /* i */
laload
lastore
15: .line 417
iinc 8 /* i */ 2
StackMap locals:
StackMap stack:
16: iload 8 /* i */
iload 3 /* lenDA */
if_icmplt 14
end local 8 // int i
17: .line 420
iconst_1
istore 8 /* i */
start local 8 // int i
18: goto 21
19: .line 421
StackMap locals:
StackMap stack:
aload 7 /* x */
iload 8 /* i */
aload 4 /* sourceDUx */
iload 8 /* i */
laload
lastore
20: .line 420
iinc 8 /* i */ 2
StackMap locals:
StackMap stack:
21: iload 8 /* i */
iload 5 /* lenDU */
if_icmplt 19
end local 8 // int i
22: .line 425
StackMap locals:
StackMap stack:
new sun.tools.tree.Vset
dup
aload 0 /* sourceDA */
getfield sun.tools.tree.Vset.vset:J
aload 1 /* sourceDU */
getfield sun.tools.tree.Vset.uset:J
aload 7 /* x */
invokespecial sun.tools.tree.Vset.<init>:(JJ[J)V
areturn
end local 7 // long[] x
end local 6 // int limit
end local 5 // int lenDU
end local 4 // long[] sourceDUx
end local 3 // int lenDA
end local 2 // long[] sourceDAx
end local 1 // sun.tools.tree.Vset sourceDU
end local 0 // sun.tools.tree.Vset sourceDA
LocalVariableTable:
Start End Slot Name Signature
0 23 0 sourceDA Lsun/tools/tree/Vset;
0 23 1 sourceDU Lsun/tools/tree/Vset;
3 23 2 sourceDAx [J
4 23 3 lenDA I
5 23 4 sourceDUx [J
6 23 5 lenDU I
9 23 6 limit I
10 23 7 x [J
13 17 8 i I
18 22 8 i I
MethodParameters:
Name Flags
sourceDA
sourceDU
public sun.tools.tree.Vset removeAdditionalVars(int);
descriptor: (I)Lsun/tools/tree/Vset;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=5, args_size=2
start local 0 // sun.tools.tree.Vset this
start local 1 // int varNumber
0: .line 436
aload 0 /* this */
getfield sun.tools.tree.Vset.x:[J
getstatic sun.tools.tree.Vset.fullX:[J
if_acmpne 2
1: .line 437
aload 0 /* this */
areturn
2: .line 439
StackMap locals:
StackMap stack:
lconst_1
iload 1 /* varNumber */
lshl
lstore 2 /* bit */
start local 2 // long bit
3: .line 440
iload 1 /* varNumber */
bipush 64
if_icmplt 13
4: .line 441
iload 1 /* varNumber */
bipush 64
idiv
iconst_1
isub
iconst_2
imul
istore 4 /* i */
start local 4 // int i
5: .line 442
iload 4 /* i */
aload 0 /* this */
getfield sun.tools.tree.Vset.x:[J
arraylength
if_icmpge 17
6: .line 443
aload 0 /* this */
getfield sun.tools.tree.Vset.x:[J
iload 4 /* i */
dup2
laload
lload 2 /* bit */
lconst_1
lsub
land
lastore
7: .line 444
iinc 4 /* i */ 1
iload 4 /* i */
aload 0 /* this */
getfield sun.tools.tree.Vset.x:[J
arraylength
if_icmpge 11
8: .line 445
aload 0 /* this */
getfield sun.tools.tree.Vset.x:[J
iload 4 /* i */
dup2
laload
lload 2 /* bit */
lconst_1
lsub
land
lastore
9: .line 447
goto 11
10: .line 448
StackMap locals: long int
StackMap stack:
aload 0 /* this */
getfield sun.tools.tree.Vset.x:[J
iload 4 /* i */
lconst_0
lastore
11: .line 447
StackMap locals:
StackMap stack:
iinc 4 /* i */ 1
iload 4 /* i */
aload 0 /* this */
getfield sun.tools.tree.Vset.x:[J
arraylength
if_icmplt 10
end local 4 // int i
12: .line 451
goto 17
13: .line 452
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.tools.tree.Vset.x:[J
arraylength
ifle 15
14: .line 453
aload 0 /* this */
getstatic sun.tools.tree.Vset.emptyX:[J
putfield sun.tools.tree.Vset.x:[J
15: .line 455
StackMap locals:
StackMap stack:
aload 0 /* this */
dup
getfield sun.tools.tree.Vset.vset:J
lload 2 /* bit */
lconst_1
lsub
land
putfield sun.tools.tree.Vset.vset:J
16: .line 456
aload 0 /* this */
dup
getfield sun.tools.tree.Vset.uset:J
lload 2 /* bit */
lconst_1
lsub
land
putfield sun.tools.tree.Vset.uset:J
17: .line 458
StackMap locals:
StackMap stack:
aload 0 /* this */
areturn
end local 2 // long bit
end local 1 // int varNumber
end local 0 // sun.tools.tree.Vset this
LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lsun/tools/tree/Vset;
0 18 1 varNumber I
3 18 2 bit J
5 12 4 i I
MethodParameters:
Name Flags
varNumber
public int varLimit();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=1
start local 0 // sun.tools.tree.Vset this
0: .line 468
aload 0 /* this */
getfield sun.tools.tree.Vset.x:[J
arraylength
iconst_2
idiv
iconst_2
imul
istore 4 /* i */
start local 4 // int i
1: goto 10
2: .line 469
StackMap locals: sun.tools.tree.Vset top top top int
StackMap stack:
iload 4 /* i */
aload 0 /* this */
getfield sun.tools.tree.Vset.x:[J
arraylength
if_icmpne 3
goto 9
3: .line 470
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.tools.tree.Vset.x:[J
iload 4 /* i */
laload
lstore 1 /* vset */
start local 1 // long vset
4: .line 471
iload 4 /* i */
iconst_1
iadd
aload 0 /* this */
getfield sun.tools.tree.Vset.x:[J
arraylength
if_icmpge 6
5: .line 472
lload 1 /* vset */
aload 0 /* this */
getfield sun.tools.tree.Vset.x:[J
iload 4 /* i */
iconst_1
iadd
laload
lor
lstore 1 /* vset */
6: .line 474
StackMap locals: sun.tools.tree.Vset long top int
StackMap stack:
lload 1 /* vset */
lconst_0
lcmp
ifeq 9
7: .line 475
iload 4 /* i */
iconst_2
idiv
iconst_1
iadd
bipush 64
imul
istore 3 /* result */
start local 3 // int result
8: .line 476
goto 19
end local 3 // int result
end local 1 // long vset
9: .line 468
StackMap locals: sun.tools.tree.Vset top top top int
StackMap stack:
iinc 4 /* i */ -2
StackMap locals:
StackMap stack:
10: iload 4 /* i */
ifge 2
end local 4 // int i
11: .line 479
aload 0 /* this */
getfield sun.tools.tree.Vset.vset:J
lstore 1 /* vset */
start local 1 // long vset
12: .line 480
lload 1 /* vset */
aload 0 /* this */
getfield sun.tools.tree.Vset.uset:J
lor
lstore 1 /* vset */
13: .line 481
lload 1 /* vset */
lconst_0
lcmp
ifeq 16
14: .line 482
iconst_0
istore 3 /* result */
start local 3 // int result
15: .line 483
goto 19
end local 3 // int result
16: .line 485
StackMap locals: sun.tools.tree.Vset long
StackMap stack:
iconst_0
ireturn
start local 3 // int result
17: .line 489
StackMap locals: int
StackMap stack:
iinc 3 /* result */ 1
18: .line 490
lload 1 /* vset */
iconst_1
lushr
lstore 1 /* vset */
19: .line 488
StackMap locals:
StackMap stack:
lload 1 /* vset */
lconst_0
lcmp
ifne 17
20: .line 492
iload 3 /* result */
ireturn
end local 3 // int result
end local 1 // long vset
end local 0 // sun.tools.tree.Vset this
LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lsun/tools/tree/Vset;
4 9 1 vset J
12 21 1 vset J
8 9 3 result I
15 16 3 result I
17 21 3 result I
1 11 4 i I
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=1
start local 0 // sun.tools.tree.Vset this
0: .line 496
aload 0 /* this */
getstatic sun.tools.tree.Vset.DEAD_END:Lsun/tools/tree/Vset;
if_acmpne 2
1: .line 497
ldc "{DEAD_END}"
areturn
2: .line 498
StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "{"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 1 /* sb */
start local 1 // java.lang.StringBuilder sb
3: .line 499
bipush 64
iconst_1
aload 0 /* this */
getfield sun.tools.tree.Vset.x:[J
arraylength
iconst_1
iadd
iconst_2
idiv
iadd
imul
istore 2 /* maxVar */
start local 2 // int maxVar
4: .line 500
iconst_0
istore 3 /* i */
start local 3 // int i
5: goto 13
6: .line 501
StackMap locals: java.lang.StringBuilder int int
StackMap stack:
aload 0 /* this */
iload 3 /* i */
invokevirtual sun.tools.tree.Vset.testVarUnassigned:(I)Z
ifne 12
7: .line 502
aload 1 /* sb */
invokevirtual java.lang.StringBuilder.length:()I
iconst_1
if_icmple 9
8: .line 503
aload 1 /* sb */
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
9: .line 505
StackMap locals:
StackMap stack:
aload 1 /* sb */
iload 3 /* i */
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
10: .line 506
aload 0 /* this */
iload 3 /* i */
invokevirtual sun.tools.tree.Vset.testVar:(I)Z
ifne 12
11: .line 507
aload 1 /* sb */
bipush 63
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
12: .line 500
StackMap locals:
StackMap stack:
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
13: iload 3 /* i */
iload 2 /* maxVar */
if_icmplt 6
end local 3 // int i
14: .line 511
aload 0 /* this */
getfield sun.tools.tree.Vset.x:[J
getstatic sun.tools.tree.Vset.fullX:[J
if_acmpne 16
15: .line 512
aload 1 /* sb */
ldc "...DEAD_END"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
16: .line 514
StackMap locals:
StackMap stack:
aload 1 /* sb */
bipush 125
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
17: .line 515
aload 1 /* sb */
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 // int maxVar
end local 1 // java.lang.StringBuilder sb
end local 0 // sun.tools.tree.Vset this
LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lsun/tools/tree/Vset;
3 18 1 sb Ljava/lang/StringBuilder;
4 18 2 maxVar I
5 14 3 i I
}
SourceFile: "Vset.java"