public class org.hsqldb.map.BitMap
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.hsqldb.map.BitMap
super_class: java.lang.Object
{
private boolean canChangeSize;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int initialSize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int[] map;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private int limitPos;
descriptor: I
flags: (0x0002) ACC_PRIVATE
public void <init>(int, boolean);
descriptor: (IZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=3
start local 0 // org.hsqldb.map.BitMap this
start local 1 // int size
start local 2 // boolean extend
0: .line 54
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 56
iload 1 /* size */
bipush 32
idiv
istore 3 /* words */
start local 3 // int words
2: .line 58
iload 1 /* size */
ifeq 3
iload 1 /* size */
bipush 32
irem
ifeq 4
3: .line 59
StackMap locals: org.hsqldb.map.BitMap int int int
StackMap stack:
iinc 3 /* words */ 1
4: .line 62
StackMap locals:
StackMap stack:
aload 0 /* this */
iload 3 /* words */
newarray 10
putfield org.hsqldb.map.BitMap.map:[I
5: .line 63
aload 0 /* this */
iload 2 /* extend */
putfield org.hsqldb.map.BitMap.canChangeSize:Z
6: .line 64
aload 0 /* this */
iload 1 /* size */
putfield org.hsqldb.map.BitMap.limitPos:I
7: .line 65
aload 0 /* this */
iload 1 /* size */
putfield org.hsqldb.map.BitMap.initialSize:I
8: .line 66
return
end local 3 // int words
end local 2 // boolean extend
end local 1 // int size
end local 0 // org.hsqldb.map.BitMap this
LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/hsqldb/map/BitMap;
0 9 1 size I
0 9 2 extend Z
2 9 3 words I
MethodParameters:
Name Flags
size
extend
public void <init>(int[]);
descriptor: ([I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 // org.hsqldb.map.BitMap this
start local 1 // int[] map
0: .line 68
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 70
aload 0 /* this */
aload 1 /* map */
putfield org.hsqldb.map.BitMap.map:[I
2: .line 71
aload 0 /* this */
aload 1 /* map */
arraylength
bipush 32
imul
putfield org.hsqldb.map.BitMap.initialSize:I
3: .line 72
aload 0 /* this */
aload 0 /* this */
getfield org.hsqldb.map.BitMap.initialSize:I
putfield org.hsqldb.map.BitMap.limitPos:I
4: .line 73
aload 0 /* this */
iconst_0
putfield org.hsqldb.map.BitMap.canChangeSize:Z
5: .line 74
return
end local 1 // int[] map
end local 0 // org.hsqldb.map.BitMap this
LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/hsqldb/map/BitMap;
0 6 1 map [I
MethodParameters:
Name Flags
map
public org.hsqldb.map.BitMap duplicate();
descriptor: ()Lorg/hsqldb/map/BitMap;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 // org.hsqldb.map.BitMap this
0: .line 78
new org.hsqldb.map.BitMap
dup
aload 0 /* this */
getfield org.hsqldb.map.BitMap.map:[I
invokestatic org.hsqldb.lib.ArrayUtil.duplicateArray:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast int[]
invokespecial org.hsqldb.map.BitMap.<init>:([I)V
astore 1 /* newMap */
start local 1 // org.hsqldb.map.BitMap newMap
1: .line 80
aload 1 /* newMap */
aload 0 /* this */
getfield org.hsqldb.map.BitMap.canChangeSize:Z
putfield org.hsqldb.map.BitMap.canChangeSize:Z
2: .line 81
aload 1 /* newMap */
aload 0 /* this */
getfield org.hsqldb.map.BitMap.initialSize:I
putfield org.hsqldb.map.BitMap.initialSize:I
3: .line 82
aload 1 /* newMap */
aload 0 /* this */
getfield org.hsqldb.map.BitMap.limitPos:I
putfield org.hsqldb.map.BitMap.limitPos:I
4: .line 84
aload 1 /* newMap */
areturn
end local 1 // org.hsqldb.map.BitMap newMap
end local 0 // org.hsqldb.map.BitMap this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/hsqldb/map/BitMap;
1 5 1 newMap Lorg/hsqldb/map/BitMap;
public int size();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // org.hsqldb.map.BitMap this
0: .line 88
aload 0 /* this */
getfield org.hsqldb.map.BitMap.limitPos:I
ireturn
end local 0 // org.hsqldb.map.BitMap this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hsqldb/map/BitMap;
public void setSize(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 // org.hsqldb.map.BitMap this
start local 1 // int newSize
0: .line 93
aload 0 /* this */
getfield org.hsqldb.map.BitMap.canChangeSize:Z
ifne 2
1: .line 94
new java.lang.UnsupportedOperationException
dup
ldc "BitMap"
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
2: .line 97
StackMap locals:
StackMap stack:
aload 0 /* this */
iload 1 /* newSize */
invokevirtual org.hsqldb.map.BitMap.ensureCapacity:(I)V
3: .line 100
aload 0 /* this */
getfield org.hsqldb.map.BitMap.limitPos:I
iload 1 /* newSize */
if_icmple 6
4: .line 101
aload 0 /* this */
iload 1 /* newSize */
aload 0 /* this */
getfield org.hsqldb.map.BitMap.limitPos:I
iload 1 /* newSize */
isub
invokevirtual org.hsqldb.map.BitMap.unsetRange:(II)I
pop
5: .line 103
aload 0 /* this */
iload 1 /* newSize */
putfield org.hsqldb.map.BitMap.limitPos:I
6: .line 105
StackMap locals:
StackMap stack:
return
end local 1 // int newSize
end local 0 // org.hsqldb.map.BitMap this
LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/hsqldb/map/BitMap;
0 7 1 newSize I
MethodParameters:
Name Flags
newSize
public void reset();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 // org.hsqldb.map.BitMap this
0: .line 112
iconst_0
istore 1 /* i */
start local 1 // int i
1: goto 4
2: .line 113
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield org.hsqldb.map.BitMap.map:[I
iload 1 /* i */
iconst_0
iastore
3: .line 112
iinc 1 /* i */ 1
StackMap locals:
StackMap stack:
4: iload 1 /* i */
aload 0 /* this */
getfield org.hsqldb.map.BitMap.map:[I
arraylength
if_icmplt 2
end local 1 // int i
5: .line 116
aload 0 /* this */
aload 0 /* this */
getfield org.hsqldb.map.BitMap.initialSize:I
putfield org.hsqldb.map.BitMap.limitPos:I
6: .line 117
return
end local 0 // org.hsqldb.map.BitMap this
LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/hsqldb/map/BitMap;
1 5 1 i I
public int countSetMatches(org.hsqldb.map.BitMap);
descriptor: (Lorg/hsqldb/map/BitMap;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 // org.hsqldb.map.BitMap this
start local 1 // org.hsqldb.map.BitMap other
0: .line 124
iconst_0
istore 2 /* matchCount */
start local 2 // int matchCount
1: .line 126
iconst_0
istore 3 /* i */
start local 3 // int i
2: goto 7
3: .line 127
StackMap locals: int int
StackMap stack:
aload 0 /* this */
getfield org.hsqldb.map.BitMap.map:[I
iload 3 /* i */
iaload
aload 1 /* other */
getfield org.hsqldb.map.BitMap.map:[I
iload 3 /* i */
iaload
iand
istore 4 /* matches */
start local 4 // int matches
4: .line 129
iload 4 /* matches */
ifeq 6
5: .line 130
iload 2 /* matchCount */
iload 4 /* matches */
invokestatic java.lang.Integer.bitCount:(I)I
iadd
istore 2 /* matchCount */
end local 4 // int matches
6: .line 126
StackMap locals:
StackMap stack:
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
7: iload 3 /* i */
aload 0 /* this */
getfield org.hsqldb.map.BitMap.map:[I
arraylength
if_icmplt 3
end local 3 // int i
8: .line 134
iload 2 /* matchCount */
ireturn
end local 2 // int matchCount
end local 1 // org.hsqldb.map.BitMap other
end local 0 // org.hsqldb.map.BitMap this
LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/hsqldb/map/BitMap;
0 9 1 other Lorg/hsqldb/map/BitMap;
1 9 2 matchCount I
2 8 3 i I
4 6 4 matches I
MethodParameters:
Name Flags
other
public int setRange(int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 // org.hsqldb.map.BitMap this
start local 1 // int pos
start local 2 // int count
0: .line 138
aload 0 /* this */
iload 1 /* pos */
iload 2 /* count */
iconst_1
invokevirtual org.hsqldb.map.BitMap.setOrUnsetRange:(IIZ)I
ireturn
end local 2 // int count
end local 1 // int pos
end local 0 // org.hsqldb.map.BitMap this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hsqldb/map/BitMap;
0 1 1 pos I
0 1 2 count I
MethodParameters:
Name Flags
pos
count
public int unsetRange(int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 // org.hsqldb.map.BitMap this
start local 1 // int pos
start local 2 // int count
0: .line 142
aload 0 /* this */
iload 1 /* pos */
iload 2 /* count */
iconst_0
invokevirtual org.hsqldb.map.BitMap.setOrUnsetRange:(IIZ)I
ireturn
end local 2 // int count
end local 1 // int pos
end local 0 // org.hsqldb.map.BitMap this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hsqldb/map/BitMap;
0 1 1 pos I
0 1 2 count I
MethodParameters:
Name Flags
pos
count
private int setOrUnsetRange(int, int, boolean);
descriptor: (IIZ)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=11, args_size=4
start local 0 // org.hsqldb.map.BitMap this
start local 1 // int pos
start local 2 // int count
start local 3 // boolean set
0: .line 150
iload 2 /* count */
ifne 2
1: .line 151
iconst_0
ireturn
2: .line 154
StackMap locals:
StackMap stack:
aload 0 /* this */
iload 1 /* pos */
iload 2 /* count */
iadd
invokevirtual org.hsqldb.map.BitMap.ensureCapacity:(I)V
3: .line 156
iload 1 /* pos */
iconst_5
ishr
istore 4 /* windex */
start local 4 // int windex
4: .line 157
iload 1 /* pos */
iload 2 /* count */
iadd
iconst_1
isub
iconst_5
ishr
istore 5 /* windexend */
start local 5 // int windexend
5: .line 158
iconst_m1
iload 1 /* pos */
bipush 31
iand
iushr
istore 6 /* mask */
start local 6 // int mask
6: .line 159
ldc -2147483648
iload 1 /* pos */
iload 2 /* count */
iadd
iconst_1
isub
bipush 31
iand
ishr
istore 7 /* maskend */
start local 7 // int maskend
7: .line 163
iload 4 /* windex */
iload 5 /* windexend */
if_icmpne 9
8: .line 164
iload 6 /* mask */
iload 7 /* maskend */
iand
istore 6 /* mask */
9: .line 167
StackMap locals: org.hsqldb.map.BitMap int int int int int int int
StackMap stack:
aload 0 /* this */
getfield org.hsqldb.map.BitMap.map:[I
iload 4 /* windex */
iaload
istore 8 /* word */
start local 8 // int word
10: .line 168
iload 8 /* word */
iload 6 /* mask */
iand
invokestatic java.lang.Integer.bitCount:(I)I
istore 9 /* setCount */
start local 9 // int setCount
11: .line 170
iload 3 /* set */
ifeq 14
12: .line 171
aload 0 /* this */
getfield org.hsqldb.map.BitMap.map:[I
iload 4 /* windex */
iload 8 /* word */
iload 6 /* mask */
ior
iastore
13: .line 172
goto 16
14: .line 173
StackMap locals: int int
StackMap stack:
iload 6 /* mask */
iconst_m1
ixor
istore 6 /* mask */
15: .line 174
aload 0 /* this */
getfield org.hsqldb.map.BitMap.map:[I
iload 4 /* windex */
iload 8 /* word */
iload 6 /* mask */
iand
iastore
16: .line 177
StackMap locals:
StackMap stack:
iload 4 /* windex */
iload 5 /* windexend */
if_icmpeq 32
17: .line 178
aload 0 /* this */
getfield org.hsqldb.map.BitMap.map:[I
iload 5 /* windexend */
iaload
istore 8 /* word */
18: .line 179
iload 9 /* setCount */
iload 8 /* word */
iload 7 /* maskend */
iand
invokestatic java.lang.Integer.bitCount:(I)I
iadd
istore 9 /* setCount */
19: .line 181
iload 3 /* set */
ifeq 22
20: .line 182
aload 0 /* this */
getfield org.hsqldb.map.BitMap.map:[I
iload 5 /* windexend */
iload 8 /* word */
iload 7 /* maskend */
ior
iastore
21: .line 183
goto 24
22: .line 184
StackMap locals:
StackMap stack:
iload 7 /* maskend */
iconst_m1
ixor
istore 7 /* maskend */
23: .line 185
aload 0 /* this */
getfield org.hsqldb.map.BitMap.map:[I
iload 5 /* windexend */
iload 8 /* word */
iload 7 /* maskend */
iand
iastore
24: .line 188
StackMap locals:
StackMap stack:
iload 4 /* windex */
iconst_1
iadd
istore 10 /* i */
start local 10 // int i
25: goto 31
26: .line 189
StackMap locals: int
StackMap stack:
iload 9 /* setCount */
aload 0 /* this */
getfield org.hsqldb.map.BitMap.map:[I
iload 10 /* i */
iaload
invokestatic java.lang.Integer.bitCount:(I)I
iadd
istore 9 /* setCount */
27: .line 190
aload 0 /* this */
getfield org.hsqldb.map.BitMap.map:[I
iload 10 /* i */
iload 3 /* set */
ifeq 28
iconst_m1
goto 29
28: .line 191
StackMap locals: org.hsqldb.map.BitMap int int int int int int int int int int
StackMap stack: int[] int
iconst_0
29: .line 190
StackMap locals: org.hsqldb.map.BitMap int int int int int int int int int int
StackMap stack: int[] int int
iastore
30: .line 188
iinc 10 /* i */ 1
StackMap locals:
StackMap stack:
31: iload 10 /* i */
iload 5 /* windexend */
if_icmplt 26
end local 10 // int i
32: .line 195
StackMap locals:
StackMap stack:
iload 3 /* set */
ifeq 33
iload 2 /* count */
iload 9 /* setCount */
isub
goto 34
33: .line 196
StackMap locals:
StackMap stack:
iload 9 /* setCount */
34: .line 195
StackMap locals:
StackMap stack: int
ireturn
end local 9 // int setCount
end local 8 // int word
end local 7 // int maskend
end local 6 // int mask
end local 5 // int windexend
end local 4 // int windex
end local 3 // boolean set
end local 2 // int count
end local 1 // int pos
end local 0 // org.hsqldb.map.BitMap this
LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Lorg/hsqldb/map/BitMap;
0 35 1 pos I
0 35 2 count I
0 35 3 set Z
4 35 4 windex I
5 35 5 windexend I
6 35 6 mask I
7 35 7 maskend I
10 35 8 word I
11 35 9 setCount I
25 32 10 i I
MethodParameters:
Name Flags
pos
count
set
public int setValue(int, boolean);
descriptor: (IZ)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 // org.hsqldb.map.BitMap this
start local 1 // int pos
start local 2 // boolean set
0: .line 200
iload 2 /* set */
ifeq 1
aload 0 /* this */
iload 1 /* pos */
invokevirtual org.hsqldb.map.BitMap.set:(I)I
goto 2
1: .line 201
StackMap locals:
StackMap stack:
aload 0 /* this */
iload 1 /* pos */
invokevirtual org.hsqldb.map.BitMap.unset:(I)I
2: .line 200
StackMap locals:
StackMap stack: int
ireturn
end local 2 // boolean set
end local 1 // int pos
end local 0 // org.hsqldb.map.BitMap this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/hsqldb/map/BitMap;
0 3 1 pos I
0 3 2 set Z
MethodParameters:
Name Flags
pos
set
public int set(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=2
start local 0 // org.hsqldb.map.BitMap this
start local 1 // int pos
0: .line 209
aload 0 /* this */
iload 1 /* pos */
iconst_1
iadd
invokevirtual org.hsqldb.map.BitMap.ensureCapacity:(I)V
1: .line 211
iload 1 /* pos */
iconst_5
ishr
istore 2 /* windex */
start local 2 // int windex
2: .line 212
ldc -2147483648
iload 1 /* pos */
bipush 31
iand
iushr
istore 3 /* mask */
start local 3 // int mask
3: .line 213
aload 0 /* this */
getfield org.hsqldb.map.BitMap.map:[I
iload 2 /* windex */
iaload
istore 4 /* word */
start local 4 // int word
4: .line 214
iload 4 /* word */
iload 3 /* mask */
iand
ifne 5
iconst_0
goto 6
5: .line 215
StackMap locals: int int int
StackMap stack:
iconst_1
6: .line 214
StackMap locals:
StackMap stack: int
istore 5 /* result */
start local 5 // int result
7: .line 217
aload 0 /* this */
getfield org.hsqldb.map.BitMap.map:[I
iload 2 /* windex */
iload 4 /* word */
iload 3 /* mask */
ior
iastore
8: .line 219
iload 5 /* result */
ireturn
end local 5 // int result
end local 4 // int word
end local 3 // int mask
end local 2 // int windex
end local 1 // int pos
end local 0 // org.hsqldb.map.BitMap this
LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/hsqldb/map/BitMap;
0 9 1 pos I
2 9 2 windex I
3 9 3 mask I
4 9 4 word I
7 9 5 result I
MethodParameters:
Name Flags
pos
public int unset(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=2
start local 0 // org.hsqldb.map.BitMap this
start local 1 // int pos
0: .line 227
aload 0 /* this */
iload 1 /* pos */
iconst_1
iadd
invokevirtual org.hsqldb.map.BitMap.ensureCapacity:(I)V
1: .line 229
iload 1 /* pos */
iconst_5
ishr
istore 2 /* windex */
start local 2 // int windex
2: .line 230
ldc -2147483648
iload 1 /* pos */
bipush 31
iand
iushr
istore 3 /* mask */
start local 3 // int mask
3: .line 231
aload 0 /* this */
getfield org.hsqldb.map.BitMap.map:[I
iload 2 /* windex */
iaload
istore 4 /* word */
start local 4 // int word
4: .line 232
iload 4 /* word */
iload 3 /* mask */
iand
ifne 5
iconst_0
goto 6
5: .line 233
StackMap locals: int int int
StackMap stack:
iconst_1
6: .line 232
StackMap locals:
StackMap stack: int
istore 5 /* result */
start local 5 // int result
7: .line 235
iload 3 /* mask */
iconst_m1
ixor
istore 3 /* mask */
8: .line 236
aload 0 /* this */
getfield org.hsqldb.map.BitMap.map:[I
iload 2 /* windex */
iload 4 /* word */
iload 3 /* mask */
iand
iastore
9: .line 238
iload 5 /* result */
ireturn
end local 5 // int result
end local 4 // int word
end local 3 // int mask
end local 2 // int windex
end local 1 // int pos
end local 0 // org.hsqldb.map.BitMap this
LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/hsqldb/map/BitMap;
0 10 1 pos I
2 10 2 windex I
3 10 3 mask I
4 10 4 word I
7 10 5 result I
MethodParameters:
Name Flags
pos
public int get(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 // org.hsqldb.map.BitMap this
start local 1 // int pos
0: .line 243
iload 1 /* pos */
aload 0 /* this */
getfield org.hsqldb.map.BitMap.limitPos:I
if_icmplt 2
1: .line 244
new java.lang.ArrayIndexOutOfBoundsException
dup
iload 1 /* pos */
invokespecial java.lang.ArrayIndexOutOfBoundsException.<init>:(I)V
athrow
2: .line 247
StackMap locals:
StackMap stack:
iload 1 /* pos */
iconst_5
ishr
istore 2 /* windex */
start local 2 // int windex
3: .line 248
aload 0 /* this */
getfield org.hsqldb.map.BitMap.map:[I
iload 2 /* windex */
iaload
istore 3 /* word */
start local 3 // int word
4: .line 250
iload 3 /* word */
ifne 6
5: .line 251
iconst_0
ireturn
6: .line 254
StackMap locals: int int
StackMap stack:
iload 3 /* word */
iconst_m1
if_icmpne 8
7: .line 255
iconst_1
ireturn
8: .line 258
StackMap locals:
StackMap stack:
ldc -2147483648
iload 1 /* pos */
bipush 31
iand
iushr
istore 4 /* mask */
start local 4 // int mask
9: .line 260
iload 3 /* word */
iload 4 /* mask */
iand
ifne 10
iconst_0
goto 11
10: .line 261
StackMap locals: int
StackMap stack:
iconst_1
11: .line 260
StackMap locals:
StackMap stack: int
ireturn
end local 4 // int mask
end local 3 // int word
end local 2 // int windex
end local 1 // int pos
end local 0 // org.hsqldb.map.BitMap this
LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/hsqldb/map/BitMap;
0 12 1 pos I
3 12 2 windex I
4 12 3 word I
9 12 4 mask I
MethodParameters:
Name Flags
pos
public boolean isSet(int);
descriptor: (I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 // org.hsqldb.map.BitMap this
start local 1 // int pos
0: .line 265
aload 0 /* this */
iload 1 /* pos */
invokevirtual org.hsqldb.map.BitMap.get:(I)I
iconst_1
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 // int pos
end local 0 // org.hsqldb.map.BitMap this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/hsqldb/map/BitMap;
0 2 1 pos I
MethodParameters:
Name Flags
pos
public void set(org.hsqldb.map.BitMap);
descriptor: (Lorg/hsqldb/map/BitMap;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 // org.hsqldb.map.BitMap this
start local 1 // org.hsqldb.map.BitMap other
0: .line 273
iconst_0
istore 2 /* windex */
start local 2 // int windex
1: goto 5
2: .line 274
StackMap locals: int
StackMap stack:
aload 1 /* other */
getfield org.hsqldb.map.BitMap.map:[I
iload 2 /* windex */
iaload
istore 3 /* word */
start local 3 // int word
3: .line 276
aload 0 /* this */
getfield org.hsqldb.map.BitMap.map:[I
iload 2 /* windex */
dup2
iaload
iload 3 /* word */
ior
iastore
end local 3 // int word
4: .line 273
iinc 2 /* windex */ 1
StackMap locals:
StackMap stack:
5: iload 2 /* windex */
aload 0 /* this */
getfield org.hsqldb.map.BitMap.map:[I
arraylength
if_icmplt 2
end local 2 // int windex
6: .line 278
return
end local 1 // org.hsqldb.map.BitMap other
end local 0 // org.hsqldb.map.BitMap this
LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/hsqldb/map/BitMap;
0 7 1 other Lorg/hsqldb/map/BitMap;
1 6 2 windex I
3 4 3 word I
MethodParameters:
Name Flags
other
public int countSet(int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=3
start local 0 // org.hsqldb.map.BitMap this
start local 1 // int from
start local 2 // int count
0: .line 282
iconst_0
istore 3 /* set */
start local 3 // int set
1: .line 284
iload 1 /* from */
istore 4 /* i */
start local 4 // int i
2: goto 6
3: .line 285
StackMap locals: int int
StackMap stack:
aload 0 /* this */
iload 4 /* i */
invokevirtual org.hsqldb.map.BitMap.isSet:(I)Z
ifeq 5
4: .line 286
iinc 3 /* set */ 1
5: .line 284
StackMap locals:
StackMap stack:
iinc 4 /* i */ 1
StackMap locals:
StackMap stack:
6: iload 4 /* i */
iload 1 /* from */
iload 2 /* count */
iadd
if_icmplt 3
end local 4 // int i
7: .line 290
iload 3 /* set */
ireturn
end local 3 // int set
end local 2 // int count
end local 1 // int from
end local 0 // org.hsqldb.map.BitMap this
LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/hsqldb/map/BitMap;
0 8 1 from I
0 8 2 count I
1 8 3 set I
2 7 4 i I
MethodParameters:
Name Flags
from
count
public int countSetBits();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 // org.hsqldb.map.BitMap this
0: .line 295
iconst_0
istore 1 /* setCount */
start local 1 // int setCount
1: .line 297
iconst_0
istore 2 /* windex */
start local 2 // int windex
2: goto 11
3: .line 298
StackMap locals: int int
StackMap stack:
aload 0 /* this */
getfield org.hsqldb.map.BitMap.map:[I
iload 2 /* windex */
iaload
istore 3 /* word */
start local 3 // int word
4: .line 300
iload 3 /* word */
ifne 6
5: .line 301
goto 10
6: .line 304
StackMap locals: int
StackMap stack:
iload 3 /* word */
iconst_m1
if_icmpne 9
7: .line 305
iinc 1 /* setCount */ 32
8: .line 307
goto 10
9: .line 310
StackMap locals:
StackMap stack:
iload 1 /* setCount */
iload 3 /* word */
invokestatic java.lang.Integer.bitCount:(I)I
iadd
istore 1 /* setCount */
end local 3 // int word
10: .line 297
StackMap locals:
StackMap stack:
iinc 2 /* windex */ 1
StackMap locals:
StackMap stack:
11: iload 2 /* windex */
aload 0 /* this */
getfield org.hsqldb.map.BitMap.limitPos:I
bipush 32
idiv
if_icmplt 3
end local 2 // int windex
12: .line 313
aload 0 /* this */
getfield org.hsqldb.map.BitMap.limitPos:I
bipush 32
irem
ifeq 16
13: .line 314
ldc -2147483648
aload 0 /* this */
getfield org.hsqldb.map.BitMap.limitPos:I
iconst_1
isub
bipush 31
iand
ishr
istore 2 /* maskend */
start local 2 // int maskend
14: .line 315
aload 0 /* this */
getfield org.hsqldb.map.BitMap.map:[I
aload 0 /* this */
getfield org.hsqldb.map.BitMap.limitPos:I
bipush 32
idiv
iaload
iload 2 /* maskend */
iand
istore 3 /* word */
start local 3 // int word
15: .line 317
iload 1 /* setCount */
iload 3 /* word */
invokestatic java.lang.Integer.bitCount:(I)I
iadd
istore 1 /* setCount */
end local 3 // int word
end local 2 // int maskend
16: .line 320
StackMap locals:
StackMap stack:
iload 1 /* setCount */
ireturn
end local 1 // int setCount
end local 0 // org.hsqldb.map.BitMap this
LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/hsqldb/map/BitMap;
1 17 1 setCount I
2 12 2 windex I
4 10 3 word I
14 16 2 maskend I
15 16 3 word I
public int countSetBitsEnd();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=1
start local 0 // org.hsqldb.map.BitMap this
0: .line 328
iconst_0
istore 1 /* count */
start local 1 // int count
1: .line 329
aload 0 /* this */
getfield org.hsqldb.map.BitMap.limitPos:I
bipush 32
idiv
iconst_1
isub
istore 2 /* windex */
start local 2 // int windex
2: .line 331
goto 10
3: .line 332
StackMap locals: int int
StackMap stack:
aload 0 /* this */
getfield org.hsqldb.map.BitMap.map:[I
iload 2 /* windex */
iaload
iconst_m1
if_icmpne 6
4: .line 333
iinc 1 /* count */ 32
5: .line 335
goto 9
6: .line 338
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield org.hsqldb.map.BitMap.map:[I
iload 2 /* windex */
iaload
invokestatic org.hsqldb.map.BitMap.countSetBitsEnd:(I)I
istore 3 /* val */
start local 3 // int val
7: .line 340
iload 1 /* count */
iload 3 /* val */
iadd
istore 1 /* count */
8: .line 342
goto 11
end local 3 // int val
9: .line 331
StackMap locals:
StackMap stack:
iinc 2 /* windex */ -1
StackMap locals:
StackMap stack:
10: iload 2 /* windex */
ifge 3
11: .line 345
StackMap locals:
StackMap stack:
iload 1 /* count */
ireturn
end local 2 // int windex
end local 1 // int count
end local 0 // org.hsqldb.map.BitMap this
LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/hsqldb/map/BitMap;
1 12 1 count I
2 12 2 windex I
7 9 3 val I
public int[] getIntArray();
descriptor: ()[I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // org.hsqldb.map.BitMap this
0: .line 349
aload 0 /* this */
getfield org.hsqldb.map.BitMap.map:[I
areturn
end local 0 // org.hsqldb.map.BitMap this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hsqldb/map/BitMap;
public byte[] getBytes();
descriptor: ()[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=1
start local 0 // org.hsqldb.map.BitMap this
0: .line 354
aload 0 /* this */
getfield org.hsqldb.map.BitMap.limitPos:I
bipush 7
iadd
bipush 8
idiv
newarray 8
astore 1 /* buf */
start local 1 // byte[] buf
1: .line 356
aload 1 /* buf */
arraylength
ifne 3
2: .line 357
aload 1 /* buf */
areturn
3: .line 360
StackMap locals: byte[]
StackMap stack:
iconst_0
istore 2 /* i */
start local 2 // int i
4: .line 361
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield org.hsqldb.map.BitMap.map:[I
iload 2 /* i */
iconst_4
idiv
iaload
istore 3 /* v */
start local 3 // int v
5: .line 363
aload 1 /* buf */
iload 2 /* i */
iinc 2 /* i */ 1
iload 3 /* v */
bipush 24
iushr
i2b
bastore
6: .line 365
iload 2 /* i */
aload 1 /* buf */
arraylength
if_icmpne 8
7: .line 366
goto 16
8: .line 369
StackMap locals: int
StackMap stack:
aload 1 /* buf */
iload 2 /* i */
iinc 2 /* i */ 1
iload 3 /* v */
bipush 16
iushr
i2b
bastore
9: .line 371
iload 2 /* i */
aload 1 /* buf */
arraylength
if_icmpne 11
10: .line 372
goto 16
11: .line 375
StackMap locals:
StackMap stack:
aload 1 /* buf */
iload 2 /* i */
iinc 2 /* i */ 1
iload 3 /* v */
bipush 8
iushr
i2b
bastore
12: .line 377
iload 2 /* i */
aload 1 /* buf */
arraylength
if_icmpne 14
13: .line 378
goto 16
14: .line 381
StackMap locals:
StackMap stack:
aload 1 /* buf */
iload 2 /* i */
iinc 2 /* i */ 1
iload 3 /* v */
i2b
bastore
15: .line 383
iload 2 /* i */
aload 1 /* buf */
arraylength
if_icmpne 4
end local 3 // int v
end local 2 // int i
16: .line 388
StackMap locals:
StackMap stack:
aload 1 /* buf */
areturn
end local 1 // byte[] buf
end local 0 // org.hsqldb.map.BitMap this
LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/hsqldb/map/BitMap;
1 17 1 buf [B
4 16 2 i I
5 16 3 v I
private void ensureCapacity(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=2
start local 0 // org.hsqldb.map.BitMap this
start local 1 // int newSize
0: .line 397
iload 1 /* newSize */
aload 0 /* this */
getfield org.hsqldb.map.BitMap.limitPos:I
if_icmple 3
1: .line 398
aload 0 /* this */
getfield org.hsqldb.map.BitMap.canChangeSize:Z
ifne 3
2: .line 399
new java.lang.ArrayStoreException
dup
ldc "BitMap extend"
invokespecial java.lang.ArrayStoreException.<init>:(Ljava/lang/String;)V
athrow
3: .line 403
StackMap locals:
StackMap stack:
iload 1 /* newSize */
aload 0 /* this */
getfield org.hsqldb.map.BitMap.map:[I
arraylength
bipush 32
imul
if_icmpgt 7
4: .line 404
iload 1 /* newSize */
aload 0 /* this */
getfield org.hsqldb.map.BitMap.limitPos:I
if_icmple 6
5: .line 405
aload 0 /* this */
iload 1 /* newSize */
putfield org.hsqldb.map.BitMap.limitPos:I
6: .line 408
StackMap locals:
StackMap stack:
return
7: .line 411
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield org.hsqldb.map.BitMap.map:[I
arraylength
istore 2 /* newMapLength */
start local 2 // int newMapLength
8: .line 413
goto 10
9: .line 414
StackMap locals: int
StackMap stack:
iload 2 /* newMapLength */
iconst_2
imul
istore 2 /* newMapLength */
10: .line 413
StackMap locals:
StackMap stack:
iload 1 /* newSize */
iload 2 /* newMapLength */
bipush 32
imul
if_icmpgt 9
11: .line 417
iload 2 /* newMapLength */
newarray 10
astore 3 /* newmap */
start local 3 // int[] newmap
12: .line 419
aload 0 /* this */
getfield org.hsqldb.map.BitMap.map:[I
iconst_0
aload 3 /* newmap */
iconst_0
aload 0 /* this */
getfield org.hsqldb.map.BitMap.map:[I
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
13: .line 421
aload 0 /* this */
aload 3 /* newmap */
putfield org.hsqldb.map.BitMap.map:[I
14: .line 422
aload 0 /* this */
iload 1 /* newSize */
putfield org.hsqldb.map.BitMap.limitPos:I
15: .line 423
return
end local 3 // int[] newmap
end local 2 // int newMapLength
end local 1 // int newSize
end local 0 // org.hsqldb.map.BitMap this
LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/hsqldb/map/BitMap;
0 16 1 newSize I
8 16 2 newMapLength I
12 16 3 newmap [I
MethodParameters:
Name Flags
newSize
public static int countSetBitsEnd(int);
descriptor: (I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 // int map
0: .line 430
iconst_1
istore 1 /* mask */
start local 1 // int mask
1: .line 431
iconst_0
istore 2 /* count */
start local 2 // int count
2: .line 433
goto 7
3: .line 434
StackMap locals: int int
StackMap stack:
iload 0 /* map */
iload 1 /* mask */
iand
ifne 5
4: .line 435
goto 8
5: .line 438
StackMap locals:
StackMap stack:
iload 0 /* map */
iconst_1
ishr
istore 0 /* map */
6: .line 433
iinc 2 /* count */ 1
StackMap locals:
StackMap stack:
7: iload 2 /* count */
bipush 32
if_icmplt 3
8: .line 441
StackMap locals:
StackMap stack:
iload 2 /* count */
ireturn
end local 2 // int count
end local 1 // int mask
end local 0 // int map
LocalVariableTable:
Start End Slot Name Signature
0 9 0 map I
1 9 1 mask I
2 9 2 count I
MethodParameters:
Name Flags
map
public static int countUnsetBitsStart(int);
descriptor: (I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 // int map
0: .line 449
ldc -2147483648
istore 1 /* mask */
start local 1 // int mask
1: .line 450
iconst_0
istore 2 /* count */
start local 2 // int count
2: .line 452
iload 0 /* map */
ifne 8
3: .line 453
bipush 32
ireturn
4: .line 457
StackMap locals: int int
StackMap stack:
iload 0 /* map */
iload 1 /* mask */
iand
ifeq 6
5: .line 458
goto 9
6: .line 461
StackMap locals:
StackMap stack:
iload 1 /* mask */
iconst_1
iushr
istore 1 /* mask */
7: .line 456
iinc 2 /* count */ 1
StackMap locals:
StackMap stack:
8: iload 2 /* count */
bipush 32
if_icmplt 4
9: .line 464
StackMap locals:
StackMap stack:
iload 2 /* count */
ireturn
end local 2 // int count
end local 1 // int mask
end local 0 // int map
LocalVariableTable:
Start End Slot Name Signature
0 10 0 map I
1 10 1 mask I
2 10 2 count I
MethodParameters:
Name Flags
map
public static int setByte(int, byte, int);
descriptor: (IBI)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=5, args_size=3
start local 0 // int map
start local 1 // byte value
start local 2 // int pos
0: .line 472
iload 1 /* value */
sipush 255
iand
bipush 24
iload 2 /* pos */
isub
ishl
istore 3 /* intValue */
start local 3 // int intValue
1: .line 473
ldc -16777216
iload 2 /* pos */
iushr
istore 4 /* mask */
start local 4 // int mask
2: .line 475
iload 4 /* mask */
iconst_m1
ixor
istore 4 /* mask */
3: .line 476
iload 0 /* map */
iload 4 /* mask */
iand
istore 0 /* map */
4: .line 478
iload 0 /* map */
iload 3 /* intValue */
ior
ireturn
end local 4 // int mask
end local 3 // int intValue
end local 2 // int pos
end local 1 // byte value
end local 0 // int map
LocalVariableTable:
Start End Slot Name Signature
0 5 0 map I
0 5 1 value B
0 5 2 pos I
1 5 3 intValue I
2 5 4 mask I
MethodParameters:
Name Flags
map
value
pos
public static int set(int, int);
descriptor: (II)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 // int map
start local 1 // int pos
0: .line 483
ldc -2147483648
iload 1 /* pos */
iushr
istore 2 /* mask */
start local 2 // int mask
1: .line 485
iload 0 /* map */
iload 2 /* mask */
ior
ireturn
end local 2 // int mask
end local 1 // int pos
end local 0 // int map
LocalVariableTable:
Start End Slot Name Signature
0 2 0 map I
0 2 1 pos I
1 2 2 mask I
MethodParameters:
Name Flags
map
pos
public static byte set(byte, int);
descriptor: (BI)B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 // byte map
start local 1 // int pos
0: .line 490
sipush 128
iload 1 /* pos */
iushr
istore 2 /* mask */
start local 2 // int mask
1: .line 492
iload 0 /* map */
iload 2 /* mask */
ior
i2b
ireturn
end local 2 // int mask
end local 1 // int pos
end local 0 // byte map
LocalVariableTable:
Start End Slot Name Signature
0 2 0 map B
0 2 1 pos I
1 2 2 mask I
MethodParameters:
Name Flags
map
pos
public static int unset(int, int);
descriptor: (II)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 // int map
start local 1 // int pos
0: .line 497
ldc -2147483648
iload 1 /* pos */
iushr
istore 2 /* mask */
start local 2 // int mask
1: .line 499
iload 2 /* mask */
iconst_m1
ixor
istore 2 /* mask */
2: .line 501
iload 0 /* map */
iload 2 /* mask */
iand
ireturn
end local 2 // int mask
end local 1 // int pos
end local 0 // int map
LocalVariableTable:
Start End Slot Name Signature
0 3 0 map I
0 3 1 pos I
1 3 2 mask I
MethodParameters:
Name Flags
map
pos
public static boolean isSet(int, int);
descriptor: (II)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 // int map
start local 1 // int pos
0: .line 506
ldc -2147483648
iload 1 /* pos */
iushr
istore 2 /* mask */
start local 2 // int mask
1: .line 508
iload 0 /* map */
iload 2 /* mask */
iand
ifne 2
iconst_0
goto 3
2: .line 509
StackMap locals: int
StackMap stack:
iconst_1
3: .line 508
StackMap locals:
StackMap stack: int
ireturn
end local 2 // int mask
end local 1 // int pos
end local 0 // int map
LocalVariableTable:
Start End Slot Name Signature
0 4 0 map I
0 4 1 pos I
1 4 2 mask I
MethodParameters:
Name Flags
map
pos
public static boolean isSet(byte, int);
descriptor: (BI)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 // byte map
start local 1 // int pos
0: .line 514
sipush 128
iload 1 /* pos */
iushr
istore 2 /* mask */
start local 2 // int mask
1: .line 516
iload 0 /* map */
iload 2 /* mask */
iand
ifne 2
iconst_0
goto 3
2: .line 517
StackMap locals: int
StackMap stack:
iconst_1
3: .line 516
StackMap locals:
StackMap stack: int
ireturn
end local 2 // int mask
end local 1 // int pos
end local 0 // byte map
LocalVariableTable:
Start End Slot Name Signature
0 4 0 map B
0 4 1 pos I
1 4 2 mask I
MethodParameters:
Name Flags
map
pos
public static boolean isSet(byte[], int);
descriptor: ([BI)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=5, args_size=2
start local 0 // byte[] map
start local 1 // int pos
0: .line 522
sipush 128
iload 1 /* pos */
bipush 7
iand
iushr
istore 2 /* mask */
start local 2 // int mask
1: .line 523
iload 1 /* pos */
bipush 8
idiv
istore 3 /* index */
start local 3 // int index
2: .line 525
iload 3 /* index */
aload 0 /* map */
arraylength
if_icmplt 4
3: .line 526
iconst_0
ireturn
4: .line 529
StackMap locals: int int
StackMap stack:
aload 0 /* map */
iload 3 /* index */
baload
istore 4 /* b */
start local 4 // byte b
5: .line 531
iload 4 /* b */
iload 2 /* mask */
iand
ifne 6
iconst_0
goto 7
6: .line 532
StackMap locals: int
StackMap stack:
iconst_1
7: .line 531
StackMap locals:
StackMap stack: int
ireturn
end local 4 // byte b
end local 3 // int index
end local 2 // int mask
end local 1 // int pos
end local 0 // byte[] map
LocalVariableTable:
Start End Slot Name Signature
0 8 0 map [B
0 8 1 pos I
1 8 2 mask I
2 8 3 index I
5 8 4 b B
MethodParameters:
Name Flags
map
pos
public static void unset(byte[], int);
descriptor: ([BI)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=2
start local 0 // byte[] map
start local 1 // int pos
0: .line 537
sipush 128
iload 1 /* pos */
bipush 7
iand
iushr
istore 2 /* mask */
start local 2 // int mask
1: .line 539
iload 2 /* mask */
iconst_m1
ixor
istore 2 /* mask */
2: .line 541
iload 1 /* pos */
bipush 8
idiv
istore 3 /* index */
start local 3 // int index
3: .line 543
iload 3 /* index */
aload 0 /* map */
arraylength
if_icmplt 5
4: .line 544
return
5: .line 547
StackMap locals: int int
StackMap stack:
aload 0 /* map */
iload 3 /* index */
baload
istore 4 /* b */
start local 4 // byte b
6: .line 549
aload 0 /* map */
iload 3 /* index */
iload 4 /* b */
iload 2 /* mask */
iand
i2b
bastore
7: .line 550
return
end local 4 // byte b
end local 3 // int index
end local 2 // int mask
end local 1 // int pos
end local 0 // byte[] map
LocalVariableTable:
Start End Slot Name Signature
0 8 0 map [B
0 8 1 pos I
1 8 2 mask I
3 8 3 index I
6 8 4 b B
MethodParameters:
Name Flags
map
pos
public static void set(byte[], int);
descriptor: ([BI)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=2
start local 0 // byte[] map
start local 1 // int pos
0: .line 554
sipush 128
iload 1 /* pos */
bipush 7
iand
iushr
istore 2 /* mask */
start local 2 // int mask
1: .line 555
iload 1 /* pos */
bipush 8
idiv
istore 3 /* index */
start local 3 // int index
2: .line 557
iload 3 /* index */
aload 0 /* map */
arraylength
if_icmplt 4
3: .line 558
return
4: .line 561
StackMap locals: int int
StackMap stack:
aload 0 /* map */
iload 3 /* index */
baload
istore 4 /* b */
start local 4 // byte b
5: .line 563
aload 0 /* map */
iload 3 /* index */
iload 4 /* b */
iload 2 /* mask */
ior
i2b
bastore
6: .line 564
return
end local 4 // byte b
end local 3 // int index
end local 2 // int mask
end local 1 // int pos
end local 0 // byte[] map
LocalVariableTable:
Start End Slot Name Signature
0 7 0 map [B
0 7 1 pos I
1 7 2 mask I
2 7 3 index I
5 7 4 b B
MethodParameters:
Name Flags
map
pos
public static void and(byte[], int, byte, int);
descriptor: ([BIBI)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=9, args_size=4
start local 0 // byte[] map
start local 1 // int pos
start local 2 // byte source
start local 3 // int count
0: .line 571
iload 1 /* pos */
bipush 7
iand
istore 4 /* shift */
start local 4 // int shift
1: .line 572
iload 2 /* source */
sipush 255
iand
iload 4 /* shift */
iushr
istore 5 /* mask */
start local 5 // int mask
2: .line 573
sipush 255
iload 4 /* shift */
ishr
istore 6 /* innermask */
start local 6 // int innermask
3: .line 574
iload 1 /* pos */
bipush 8
idiv
istore 7 /* index */
start local 7 // int index
4: .line 576
iload 3 /* count */
bipush 8
if_icmpge 7
5: .line 577
iload 6 /* innermask */
bipush 8
iload 3 /* count */
isub
iushr
istore 6 /* innermask */
6: .line 578
iload 6 /* innermask */
bipush 8
iload 3 /* count */
isub
ishl
istore 6 /* innermask */
7: .line 581
StackMap locals: byte[] int int int int int int int
StackMap stack:
iload 5 /* mask */
iload 6 /* innermask */
iand
istore 5 /* mask */
8: .line 582
iload 6 /* innermask */
iconst_m1
ixor
istore 6 /* innermask */
9: .line 584
iload 7 /* index */
aload 0 /* map */
arraylength
if_icmplt 11
10: .line 585
return
11: .line 588
StackMap locals:
StackMap stack:
aload 0 /* map */
iload 7 /* index */
baload
istore 8 /* b */
start local 8 // byte b
12: .line 590
aload 0 /* map */
iload 7 /* index */
iload 8 /* b */
iload 6 /* innermask */
iand
i2b
bastore
13: .line 591
iload 8 /* b */
iload 5 /* mask */
iand
i2b
istore 8 /* b */
14: .line 592
aload 0 /* map */
iload 7 /* index */
aload 0 /* map */
iload 7 /* index */
baload
iload 8 /* b */
ior
i2b
bastore
15: .line 594
iload 4 /* shift */
ifne 17
16: .line 595
return
17: .line 598
StackMap locals: int
StackMap stack:
bipush 8
iload 4 /* shift */
isub
istore 4 /* shift */
18: .line 600
iload 3 /* count */
iload 4 /* shift */
if_icmple 26
19: .line 601
iload 2 /* source */
sipush 255
iand
bipush 8
ishl
iload 4 /* shift */
iushr
istore 5 /* mask */
20: .line 602
ldc 65280
iload 4 /* shift */
iushr
istore 6 /* innermask */
21: .line 603
iload 6 /* innermask */
iconst_m1
ixor
istore 6 /* innermask */
22: .line 604
aload 0 /* map */
iload 7 /* index */
iconst_1
iadd
baload
istore 8 /* b */
23: .line 605
aload 0 /* map */
iload 7 /* index */
iconst_1
iadd
iload 8 /* b */
iload 6 /* innermask */
iand
i2b
bastore
24: .line 606
iload 8 /* b */
iload 5 /* mask */
iand
i2b
istore 8 /* b */
25: .line 607
aload 0 /* map */
iload 7 /* index */
iconst_1
iadd
aload 0 /* map */
iload 7 /* index */
iconst_1
iadd
baload
iload 8 /* b */
ior
i2b
bastore
26: .line 609
StackMap locals:
StackMap stack:
return
end local 8 // byte b
end local 7 // int index
end local 6 // int innermask
end local 5 // int mask
end local 4 // int shift
end local 3 // int count
end local 2 // byte source
end local 1 // int pos
end local 0 // byte[] map
LocalVariableTable:
Start End Slot Name Signature
0 27 0 map [B
0 27 1 pos I
0 27 2 source B
0 27 3 count I
1 27 4 shift I
2 27 5 mask I
3 27 6 innermask I
4 27 7 index I
12 27 8 b B
MethodParameters:
Name Flags
map
pos
source
count
public static void or(byte[], int, byte, int);
descriptor: ([BIBI)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=8, args_size=4
start local 0 // byte[] map
start local 1 // int pos
start local 2 // byte source
start local 3 // int count
0: .line 616
iload 1 /* pos */
bipush 7
iand
istore 4 /* shift */
start local 4 // int shift
1: .line 617
iload 2 /* source */
sipush 255
iand
iload 4 /* shift */
iushr
istore 5 /* mask */
start local 5 // int mask
2: .line 618
iload 1 /* pos */
bipush 8
idiv
istore 6 /* index */
start local 6 // int index
3: .line 620
iload 6 /* index */
aload 0 /* map */
arraylength
if_icmplt 5
4: .line 621
return
5: .line 624
StackMap locals: int int int
StackMap stack:
aload 0 /* map */
iload 6 /* index */
baload
iload 5 /* mask */
ior
i2b
istore 7 /* b */
start local 7 // byte b
6: .line 626
aload 0 /* map */
iload 6 /* index */
iload 7 /* b */
bastore
7: .line 628
iload 4 /* shift */
ifne 9
8: .line 629
return
9: .line 632
StackMap locals: int
StackMap stack:
bipush 8
iload 4 /* shift */
isub
istore 4 /* shift */
10: .line 634
iload 3 /* count */
iload 4 /* shift */
if_icmple 14
11: .line 635
iload 2 /* source */
sipush 255
iand
bipush 8
ishl
iload 4 /* shift */
iushr
istore 5 /* mask */
12: .line 636
aload 0 /* map */
iload 6 /* index */
iconst_1
iadd
baload
iload 5 /* mask */
ior
i2b
istore 7 /* b */
13: .line 637
aload 0 /* map */
iload 6 /* index */
iconst_1
iadd
iload 7 /* b */
bastore
14: .line 639
StackMap locals:
StackMap stack:
return
end local 7 // byte b
end local 6 // int index
end local 5 // int mask
end local 4 // int shift
end local 3 // int count
end local 2 // byte source
end local 1 // int pos
end local 0 // byte[] map
LocalVariableTable:
Start End Slot Name Signature
0 15 0 map [B
0 15 1 pos I
0 15 2 source B
0 15 3 count I
1 15 4 shift I
2 15 5 mask I
3 15 6 index I
6 15 7 b B
MethodParameters:
Name Flags
map
pos
source
count
public static void overlay(byte[], int, byte, int);
descriptor: ([BIBI)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=9, args_size=4
start local 0 // byte[] map
start local 1 // int pos
start local 2 // byte source
start local 3 // int count
0: .line 646
iload 1 /* pos */
bipush 7
iand
istore 4 /* shift */
start local 4 // int shift
1: .line 647
iload 2 /* source */
sipush 255
iand
iload 4 /* shift */
iushr
istore 5 /* mask */
start local 5 // int mask
2: .line 648
sipush 255
iload 4 /* shift */
ishr
istore 6 /* innermask */
start local 6 // int innermask
3: .line 649
iload 1 /* pos */
bipush 8
idiv
istore 7 /* index */
start local 7 // int index
4: .line 651
iload 3 /* count */
bipush 8
if_icmpge 7
5: .line 652
iload 6 /* innermask */
bipush 8
iload 3 /* count */
isub
iushr
istore 6 /* innermask */
6: .line 653
iload 6 /* innermask */
bipush 8
iload 3 /* count */
isub
ishl
istore 6 /* innermask */
7: .line 656
StackMap locals: byte[] int int int int int int int
StackMap stack:
iload 5 /* mask */
iload 6 /* innermask */
iand
istore 5 /* mask */
8: .line 657
iload 6 /* innermask */
iconst_m1
ixor
istore 6 /* innermask */
9: .line 659
iload 7 /* index */
aload 0 /* map */
arraylength
if_icmplt 11
10: .line 660
return
11: .line 663
StackMap locals:
StackMap stack:
aload 0 /* map */
iload 7 /* index */
baload
istore 8 /* b */
start local 8 // byte b
12: .line 665
iload 8 /* b */
iload 6 /* innermask */
iand
i2b
istore 8 /* b */
13: .line 666
aload 0 /* map */
iload 7 /* index */
iload 8 /* b */
iload 5 /* mask */
ior
i2b
bastore
14: .line 668
iload 4 /* shift */
ifne 16
15: .line 669
return
16: .line 672
StackMap locals: int
StackMap stack:
bipush 8
iload 4 /* shift */
isub
istore 4 /* shift */
17: .line 674
iload 3 /* count */
iload 4 /* shift */
if_icmple 24
18: .line 675
iload 2 /* source */
sipush 255
iand
bipush 8
ishl
iload 4 /* shift */
iushr
istore 5 /* mask */
19: .line 676
ldc 65280
iload 4 /* shift */
iushr
istore 6 /* innermask */
20: .line 677
iload 6 /* innermask */
iconst_m1
ixor
istore 6 /* innermask */
21: .line 678
aload 0 /* map */
iload 7 /* index */
iconst_1
iadd
baload
istore 8 /* b */
22: .line 679
iload 8 /* b */
iload 6 /* innermask */
iand
i2b
istore 8 /* b */
23: .line 680
aload 0 /* map */
iload 7 /* index */
iconst_1
iadd
iload 8 /* b */
iload 5 /* mask */
ior
i2b
bastore
24: .line 682
StackMap locals:
StackMap stack:
return
end local 8 // byte b
end local 7 // int index
end local 6 // int innermask
end local 5 // int mask
end local 4 // int shift
end local 3 // int count
end local 2 // byte source
end local 1 // int pos
end local 0 // byte[] map
LocalVariableTable:
Start End Slot Name Signature
0 25 0 map [B
0 25 1 pos I
0 25 2 source B
0 25 3 count I
1 25 4 shift I
2 25 5 mask I
3 25 6 innermask I
4 25 7 index I
12 25 8 b B
MethodParameters:
Name Flags
map
pos
source
count
public static byte[] and(byte[], byte[]);
descriptor: ([B[B)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=6, args_size=2
start local 0 // byte[] a
start local 1 // byte[] b
0: .line 686
aload 0 /* a */
arraylength
aload 1 /* b */
arraylength
if_icmple 1
aload 0 /* a */
arraylength
goto 2
1: .line 687
StackMap locals:
StackMap stack:
aload 1 /* b */
arraylength
2: .line 686
StackMap locals:
StackMap stack: int
istore 2 /* length */
start local 2 // int length
3: .line 688
aload 0 /* a */
arraylength
aload 1 /* b */
arraylength
if_icmple 4
aload 1 /* b */
arraylength
goto 5
4: .line 689
StackMap locals: int
StackMap stack:
aload 0 /* a */
arraylength
5: .line 688
StackMap locals:
StackMap stack: int
istore 3 /* shortLength */
start local 3 // int shortLength
6: .line 690
iload 2 /* length */
newarray 8
astore 4 /* map */
start local 4 // byte[] map
7: .line 692
iconst_0
istore 5 /* i */
start local 5 // int i
8: goto 11
9: .line 693
StackMap locals: int byte[] int
StackMap stack:
aload 4 /* map */
iload 5 /* i */
aload 0 /* a */
iload 5 /* i */
baload
aload 1 /* b */
iload 5 /* i */
baload
iand
i2b
bastore
10: .line 692
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
11: iload 5 /* i */
iload 3 /* shortLength */
if_icmplt 9
end local 5 // int i
12: .line 696
aload 4 /* map */
areturn
end local 4 // byte[] map
end local 3 // int shortLength
end local 2 // int length
end local 1 // byte[] b
end local 0 // byte[] a
LocalVariableTable:
Start End Slot Name Signature
0 13 0 a [B
0 13 1 b [B
3 13 2 length I
6 13 3 shortLength I
7 13 4 map [B
8 12 5 i I
MethodParameters:
Name Flags
a
b
public static byte[] or(byte[], byte[]);
descriptor: ([B[B)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=6, args_size=2
start local 0 // byte[] a
start local 1 // byte[] b
0: .line 701
aload 0 /* a */
arraylength
aload 1 /* b */
arraylength
if_icmple 1
aload 0 /* a */
arraylength
goto 2
1: .line 702
StackMap locals:
StackMap stack:
aload 1 /* b */
arraylength
2: .line 701
StackMap locals:
StackMap stack: int
istore 2 /* length */
start local 2 // int length
3: .line 703
aload 0 /* a */
arraylength
aload 1 /* b */
arraylength
if_icmple 4
aload 1 /* b */
arraylength
goto 5
4: .line 704
StackMap locals: int
StackMap stack:
aload 0 /* a */
arraylength
5: .line 703
StackMap locals:
StackMap stack: int
istore 3 /* shortLength */
start local 3 // int shortLength
6: .line 705
iload 2 /* length */
newarray 8
astore 4 /* map */
start local 4 // byte[] map
7: .line 707
iload 2 /* length */
iload 3 /* shortLength */
if_icmpeq 14
8: .line 708
aload 0 /* a */
arraylength
aload 1 /* b */
arraylength
if_icmple 9
aload 0 /* a */
goto 10
9: .line 709
StackMap locals: int byte[]
StackMap stack:
aload 1 /* b */
10: .line 708
StackMap locals:
StackMap stack: byte[]
astore 5 /* source */
start local 5 // byte[] source
11: .line 711
aload 5 /* source */
iload 3 /* shortLength */
aload 4 /* map */
iload 3 /* shortLength */
12: .line 712
iload 2 /* length */
iload 3 /* shortLength */
isub
13: .line 711
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
end local 5 // byte[] source
14: .line 715
StackMap locals:
StackMap stack:
iconst_0
istore 5 /* i */
start local 5 // int i
15: goto 18
16: .line 716
StackMap locals: int
StackMap stack:
aload 4 /* map */
iload 5 /* i */
aload 0 /* a */
iload 5 /* i */
baload
aload 1 /* b */
iload 5 /* i */
baload
ior
i2b
bastore
17: .line 715
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
18: iload 5 /* i */
iload 3 /* shortLength */
if_icmplt 16
end local 5 // int i
19: .line 719
aload 4 /* map */
areturn
end local 4 // byte[] map
end local 3 // int shortLength
end local 2 // int length
end local 1 // byte[] b
end local 0 // byte[] a
LocalVariableTable:
Start End Slot Name Signature
0 20 0 a [B
0 20 1 b [B
3 20 2 length I
6 20 3 shortLength I
7 20 4 map [B
11 14 5 source [B
15 19 5 i I
MethodParameters:
Name Flags
a
b
public static byte[] xor(byte[], byte[]);
descriptor: ([B[B)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=6, args_size=2
start local 0 // byte[] a
start local 1 // byte[] b
0: .line 724
aload 0 /* a */
arraylength
aload 1 /* b */
arraylength
if_icmple 1
aload 0 /* a */
arraylength
goto 2
1: .line 725
StackMap locals:
StackMap stack:
aload 1 /* b */
arraylength
2: .line 724
StackMap locals:
StackMap stack: int
istore 2 /* length */
start local 2 // int length
3: .line 726
aload 0 /* a */
arraylength
aload 1 /* b */
arraylength
if_icmple 4
aload 1 /* b */
arraylength
goto 5
4: .line 727
StackMap locals: int
StackMap stack:
aload 0 /* a */
arraylength
5: .line 726
StackMap locals:
StackMap stack: int
istore 3 /* shortLength */
start local 3 // int shortLength
6: .line 728
iload 2 /* length */
newarray 8
astore 4 /* map */
start local 4 // byte[] map
7: .line 730
iload 2 /* length */
iload 3 /* shortLength */
if_icmpeq 14
8: .line 731
aload 0 /* a */
arraylength
aload 1 /* b */
arraylength
if_icmple 9
aload 0 /* a */
goto 10
9: .line 732
StackMap locals: int byte[]
StackMap stack:
aload 1 /* b */
10: .line 731
StackMap locals:
StackMap stack: byte[]
astore 5 /* source */
start local 5 // byte[] source
11: .line 734
aload 5 /* source */
iload 3 /* shortLength */
aload 4 /* map */
iload 3 /* shortLength */
12: .line 735
iload 2 /* length */
iload 3 /* shortLength */
isub
13: .line 734
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
end local 5 // byte[] source
14: .line 738
StackMap locals:
StackMap stack:
iconst_0
istore 5 /* i */
start local 5 // int i
15: goto 18
16: .line 739
StackMap locals: int
StackMap stack:
aload 4 /* map */
iload 5 /* i */
aload 0 /* a */
iload 5 /* i */
baload
aload 1 /* b */
iload 5 /* i */
baload
ixor
i2b
bastore
17: .line 738
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
18: iload 5 /* i */
iload 3 /* shortLength */
if_icmplt 16
end local 5 // int i
19: .line 742
aload 4 /* map */
areturn
end local 4 // byte[] map
end local 3 // int shortLength
end local 2 // int length
end local 1 // byte[] b
end local 0 // byte[] a
LocalVariableTable:
Start End Slot Name Signature
0 20 0 a [B
0 20 1 b [B
3 20 2 length I
6 20 3 shortLength I
7 20 4 map [B
11 14 5 source [B
15 19 5 i I
MethodParameters:
Name Flags
a
b
public static byte[] not(byte[]);
descriptor: ([B)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=1
start local 0 // byte[] a
0: .line 747
aload 0 /* a */
arraylength
newarray 8
astore 1 /* map */
start local 1 // byte[] map
1: .line 749
iconst_0
istore 2 /* i */
start local 2 // int i
2: goto 5
3: .line 750
StackMap locals: byte[] int
StackMap stack:
aload 1 /* map */
iload 2 /* i */
aload 0 /* a */
iload 2 /* i */
baload
iconst_m1
ixor
i2b
bastore
4: .line 749
iinc 2 /* i */ 1
StackMap locals:
StackMap stack:
5: iload 2 /* i */
aload 0 /* a */
arraylength
if_icmplt 3
end local 2 // int i
6: .line 753
aload 1 /* map */
areturn
end local 1 // byte[] map
end local 0 // byte[] a
LocalVariableTable:
Start End Slot Name Signature
0 7 0 a [B
1 7 1 map [B
2 6 2 i I
MethodParameters:
Name Flags
a
public static boolean hasAnyBitSet(byte[]);
descriptor: ([B)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 // byte[] map
0: .line 758
iconst_0
istore 1 /* i */
start local 1 // int i
1: goto 5
2: .line 759
StackMap locals: int
StackMap stack:
aload 0 /* map */
iload 1 /* i */
baload
ifeq 4
3: .line 760
iconst_1
ireturn
4: .line 758
StackMap locals:
StackMap stack:
iinc 1 /* i */ 1
StackMap locals:
StackMap stack:
5: iload 1 /* i */
aload 0 /* map */
arraylength
if_icmplt 2
end local 1 // int i
6: .line 764
iconst_0
ireturn
end local 0 // byte[] map
LocalVariableTable:
Start End Slot Name Signature
0 7 0 map [B
1 6 1 i I
MethodParameters:
Name Flags
map
public static byte[] leftShift(byte[], int);
descriptor: ([BI)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=7, args_size=2
start local 0 // byte[] map
start local 1 // int shiftBits
0: .line 769
aload 0 /* map */
arraylength
newarray 8
astore 2 /* newMap */
start local 2 // byte[] newMap
1: .line 770
iload 1 /* shiftBits */
bipush 8
idiv
istore 3 /* shiftBytes */
start local 3 // int shiftBytes
2: .line 772
iload 3 /* shiftBytes */
aload 0 /* map */
arraylength
if_icmplt 4
3: .line 773
aload 2 /* newMap */
areturn
4: .line 776
StackMap locals: byte[] int
StackMap stack:
iload 1 /* shiftBits */
bipush 8
irem
istore 1 /* shiftBits */
5: .line 778
iload 1 /* shiftBits */
ifne 13
6: .line 779
iconst_0
istore 4 /* i */
start local 4 // int i
7: iload 3 /* shiftBytes */
istore 5 /* j */
start local 5 // int j
8: goto 11
9: .line 780
StackMap locals: int int
StackMap stack:
aload 2 /* newMap */
iload 4 /* i */
aload 0 /* map */
iload 5 /* j */
baload
bastore
10: .line 779
iinc 4 /* i */ 1
iinc 5 /* j */ 1
StackMap locals:
StackMap stack:
11: iload 5 /* j */
aload 0 /* map */
arraylength
if_icmplt 9
end local 5 // int j
end local 4 // int i
12: .line 782
goto 22
13: .line 783
StackMap locals:
StackMap stack:
iconst_0
istore 4 /* i */
start local 4 // int i
14: iload 3 /* shiftBytes */
istore 5 /* j */
start local 5 // int j
15: goto 21
16: .line 784
StackMap locals: int int
StackMap stack:
aload 0 /* map */
iload 5 /* j */
baload
sipush 255
iand
iload 1 /* shiftBits */
ishl
istore 6 /* shifted */
start local 6 // int shifted
17: .line 786
aload 2 /* newMap */
iload 4 /* i */
iload 6 /* shifted */
i2b
bastore
18: .line 788
iload 4 /* i */
ifle 20
19: .line 789
aload 2 /* newMap */
iload 4 /* i */
iconst_1
isub
dup2
baload
iload 6 /* shifted */
bipush 8
iushr
i2b
ior
i2b
bastore
end local 6 // int shifted
20: .line 783
StackMap locals:
StackMap stack:
iinc 4 /* i */ 1
iinc 5 /* j */ 1
StackMap locals:
StackMap stack:
21: iload 5 /* j */
aload 0 /* map */
arraylength
if_icmplt 16
end local 5 // int j
end local 4 // int i
22: .line 794
StackMap locals:
StackMap stack:
aload 2 /* newMap */
areturn
end local 3 // int shiftBytes
end local 2 // byte[] newMap
end local 1 // int shiftBits
end local 0 // byte[] map
LocalVariableTable:
Start End Slot Name Signature
0 23 0 map [B
0 23 1 shiftBits I
1 23 2 newMap [B
2 23 3 shiftBytes I
7 12 4 i I
8 12 5 j I
14 22 4 i I
15 22 5 j I
17 20 6 shifted I
MethodParameters:
Name Flags
map
shiftBits
}
SourceFile: "BitMap.java"