public final class jdk.internal.icu.impl.BMPSet
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: jdk.internal.icu.impl.BMPSet
super_class: java.lang.Object
{
private boolean[] latin1Contains;
descriptor: [Z
flags: (0x0002) ACC_PRIVATE
private int[] table7FF;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private int[] bmpBlockBits;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private int[] list4kStarts;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private final int[] list;
descriptor: [I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int listLength;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
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: .line 48
ldc Ljdk/internal/icu/impl/BMPSet;
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 jdk.internal.icu.impl.BMPSet.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(int[], int);
descriptor: ([II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=4, args_size=3
start local 0 // jdk.internal.icu.impl.BMPSet this
start local 1 // int[] parentList
start local 2 // int parentListLength
0: .line 91
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 92
aload 0 /* this */
aload 1 /* parentList */
putfield jdk.internal.icu.impl.BMPSet.list:[I
2: .line 93
aload 0 /* this */
iload 2 /* parentListLength */
putfield jdk.internal.icu.impl.BMPSet.listLength:I
3: .line 94
aload 0 /* this */
sipush 256
newarray 4
putfield jdk.internal.icu.impl.BMPSet.latin1Contains:[Z
4: .line 95
aload 0 /* this */
bipush 64
newarray 10
putfield jdk.internal.icu.impl.BMPSet.table7FF:[I
5: .line 96
aload 0 /* this */
bipush 64
newarray 10
putfield jdk.internal.icu.impl.BMPSet.bmpBlockBits:[I
6: .line 97
aload 0 /* this */
bipush 18
newarray 10
putfield jdk.internal.icu.impl.BMPSet.list4kStarts:[I
7: .line 104
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.list4kStarts:[I
iconst_0
aload 0 /* this */
sipush 2048
iconst_0
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.listLength:I
iconst_1
isub
invokevirtual jdk.internal.icu.impl.BMPSet.findCodePoint:(III)I
iastore
8: .line 106
iconst_1
istore 3 /* i */
start local 3 // int i
9: goto 12
10: .line 107
StackMap locals: jdk.internal.icu.impl.BMPSet int[] int int
StackMap stack:
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.list4kStarts:[I
iload 3 /* i */
aload 0 /* this */
iload 3 /* i */
bipush 12
ishl
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.list4kStarts:[I
iload 3 /* i */
iconst_1
isub
iaload
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.listLength:I
iconst_1
isub
invokevirtual jdk.internal.icu.impl.BMPSet.findCodePoint:(III)I
iastore
11: .line 106
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
12: iload 3 /* i */
bipush 16
if_icmple 10
13: .line 109
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.list4kStarts:[I
bipush 17
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.listLength:I
iconst_1
isub
iastore
14: .line 111
aload 0 /* this */
invokevirtual jdk.internal.icu.impl.BMPSet.initBits:()V
15: .line 112
return
end local 3 // int i
end local 2 // int parentListLength
end local 1 // int[] parentList
end local 0 // jdk.internal.icu.impl.BMPSet this
LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Ljdk/internal/icu/impl/BMPSet;
0 16 1 parentList [I
0 16 2 parentListLength I
9 16 3 i I
MethodParameters:
Name Flags
parentList final
parentListLength
public boolean contains(int);
descriptor: (I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=2
start local 0 // jdk.internal.icu.impl.BMPSet this
start local 1 // int c
0: .line 115
iload 1 /* c */
sipush 255
if_icmpgt 2
1: .line 116
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.latin1Contains:[Z
iload 1 /* c */
baload
ireturn
2: .line 117
StackMap locals:
StackMap stack:
iload 1 /* c */
sipush 2047
if_icmpgt 5
3: .line 118
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.table7FF:[I
iload 1 /* c */
bipush 63
iand
iaload
iconst_1
iload 1 /* c */
bipush 6
ishr
ishl
iand
ifeq 4
iconst_1
ireturn
StackMap locals:
StackMap stack:
4: iconst_0
ireturn
5: .line 119
StackMap locals:
StackMap stack:
iload 1 /* c */
ldc 55296
if_icmplt 6
iload 1 /* c */
ldc 57344
if_icmplt 12
iload 1 /* c */
ldc 65535
if_icmpgt 12
6: .line 120
StackMap locals:
StackMap stack:
iload 1 /* c */
bipush 12
ishr
istore 2 /* lead */
start local 2 // int lead
7: .line 121
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.bmpBlockBits:[I
iload 1 /* c */
bipush 6
ishr
bipush 63
iand
iaload
iload 2 /* lead */
ishr
ldc 65537
iand
istore 3 /* twoBits */
start local 3 // int twoBits
8: .line 122
iload 3 /* twoBits */
iconst_1
if_icmpgt 11
9: .line 125
iload 3 /* twoBits */
ifeq 10
iconst_1
ireturn
StackMap locals: int int
StackMap stack:
10: iconst_0
ireturn
11: .line 128
StackMap locals:
StackMap stack:
aload 0 /* this */
iload 1 /* c */
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.list4kStarts:[I
iload 2 /* lead */
iaload
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.list4kStarts:[I
iload 2 /* lead */
iconst_1
iadd
iaload
invokevirtual jdk.internal.icu.impl.BMPSet.containsSlow:(III)Z
ireturn
end local 3 // int twoBits
end local 2 // int lead
12: .line 130
StackMap locals:
StackMap stack:
iload 1 /* c */
ldc 1114111
if_icmpgt 14
13: .line 132
aload 0 /* this */
iload 1 /* c */
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.list4kStarts:[I
bipush 13
iaload
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.list4kStarts:[I
bipush 17
iaload
invokevirtual jdk.internal.icu.impl.BMPSet.containsSlow:(III)Z
ireturn
14: .line 136
StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 // int c
end local 0 // jdk.internal.icu.impl.BMPSet this
LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Ljdk/internal/icu/impl/BMPSet;
0 15 1 c I
7 12 2 lead I
8 12 3 twoBits I
MethodParameters:
Name Flags
c
public final int span(java.lang.CharSequence, int, jdk.internal.icu.text.UnicodeSet$SpanCondition, jdk.internal.icu.util.OutputInt);
descriptor: (Ljava/lang/CharSequence;ILjdk/internal/icu/text/UnicodeSet$SpanCondition;Ljdk/internal/icu/util/OutputInt;)I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=6, locals=12, args_size=5
start local 0 // jdk.internal.icu.impl.BMPSet this
start local 1 // java.lang.CharSequence s
start local 2 // int start
start local 3 // jdk.internal.icu.text.UnicodeSet$SpanCondition spanCondition
start local 4 // jdk.internal.icu.util.OutputInt outCount
0: .line 155
iload 2 /* start */
istore 7 /* i */
start local 7 // int i
1: .line 156
aload 1 /* s */
invokeinterface java.lang.CharSequence.length:()I
istore 8 /* limit */
start local 8 // int limit
2: .line 157
iconst_0
istore 9 /* numSupplementary */
start local 9 // int numSupplementary
3: .line 158
getstatic jdk.internal.icu.text.UnicodeSet$SpanCondition.NOT_CONTAINED:Ljdk/internal/icu/text/UnicodeSet$SpanCondition;
aload 3 /* spanCondition */
if_acmpeq 53
4: .line 160
goto 28
5: .line 161
StackMap locals: jdk.internal.icu.impl.BMPSet java.lang.CharSequence int jdk.internal.icu.text.UnicodeSet$SpanCondition jdk.internal.icu.util.OutputInt top top int int int
StackMap stack:
aload 1 /* s */
iload 7 /* i */
invokeinterface java.lang.CharSequence.charAt:(I)C
istore 5 /* c */
start local 5 // char c
6: .line 162
iload 5 /* c */
sipush 255
if_icmpgt 9
7: .line 163
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.latin1Contains:[Z
iload 5 /* c */
baload
ifne 27
8: .line 164
goto 54
9: .line 166
StackMap locals: jdk.internal.icu.impl.BMPSet java.lang.CharSequence int jdk.internal.icu.text.UnicodeSet$SpanCondition jdk.internal.icu.util.OutputInt int top int int int
StackMap stack:
iload 5 /* c */
sipush 2047
if_icmpgt 12
10: .line 167
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.table7FF:[I
iload 5 /* c */
bipush 63
iand
iaload
iconst_1
iload 5 /* c */
bipush 6
ishr
ishl
iand
ifne 27
11: .line 168
goto 54
12: .line 170
StackMap locals:
StackMap stack:
iload 5 /* c */
ldc 55296
if_icmplt 15
13: .line 171
iload 5 /* c */
ldc 56320
if_icmpge 15
iload 7 /* i */
iconst_1
iadd
iload 8 /* limit */
if_icmpeq 15
aload 1 /* s */
iload 7 /* i */
iconst_1
iadd
invokeinterface java.lang.CharSequence.charAt:(I)C
dup
istore 6 /* c2 */
start local 6 // char c2
14: ldc 56320
if_icmplt 15
iload 6 /* c2 */
ldc 57344
if_icmplt 22
end local 6 // char c2
15: .line 172
StackMap locals:
StackMap stack:
iload 5 /* c */
bipush 12
ishr
istore 10 /* lead */
start local 10 // int lead
16: .line 173
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.bmpBlockBits:[I
iload 5 /* c */
bipush 6
ishr
bipush 63
iand
iaload
iload 10 /* lead */
ishr
ldc 65537
iand
istore 11 /* twoBits */
start local 11 // int twoBits
17: .line 174
iload 11 /* twoBits */
iconst_1
if_icmpgt 20
18: .line 177
iload 11 /* twoBits */
ifne 27
19: .line 178
goto 54
20: .line 182
StackMap locals: int int
StackMap stack:
aload 0 /* this */
iload 5 /* c */
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.list4kStarts:[I
iload 10 /* lead */
iaload
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.list4kStarts:[I
iload 10 /* lead */
iconst_1
iadd
iaload
invokevirtual jdk.internal.icu.impl.BMPSet.containsSlow:(III)Z
ifne 27
21: .line 183
goto 54
end local 11 // int twoBits
end local 10 // int lead
start local 6 // char c2
22: .line 188
StackMap locals: jdk.internal.icu.impl.BMPSet java.lang.CharSequence int jdk.internal.icu.text.UnicodeSet$SpanCondition jdk.internal.icu.util.OutputInt int int int int int
StackMap stack:
iload 5 /* c */
iload 6 /* c2 */
invokestatic jdk.internal.icu.impl.UCharacterProperty.getRawSupplementary:(CC)I
istore 10 /* supplementary */
start local 10 // int supplementary
23: .line 189
aload 0 /* this */
iload 10 /* supplementary */
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.list4kStarts:[I
bipush 16
iaload
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.list4kStarts:[I
bipush 17
iaload
invokevirtual jdk.internal.icu.impl.BMPSet.containsSlow:(III)Z
ifne 25
24: .line 190
goto 54
25: .line 192
StackMap locals: int
StackMap stack:
iinc 9 /* numSupplementary */ 1
26: .line 193
iinc 7 /* i */ 1
end local 10 // int supplementary
end local 6 // char c2
27: .line 195
StackMap locals: jdk.internal.icu.impl.BMPSet java.lang.CharSequence int jdk.internal.icu.text.UnicodeSet$SpanCondition jdk.internal.icu.util.OutputInt int top int int int
StackMap stack:
iinc 7 /* i */ 1
end local 5 // char c
28: .line 160
StackMap locals: jdk.internal.icu.impl.BMPSet java.lang.CharSequence int jdk.internal.icu.text.UnicodeSet$SpanCondition jdk.internal.icu.util.OutputInt top top int int int
StackMap stack:
iload 7 /* i */
iload 8 /* limit */
if_icmplt 5
29: .line 197
goto 54
30: .line 200
StackMap locals:
StackMap stack:
aload 1 /* s */
iload 7 /* i */
invokeinterface java.lang.CharSequence.charAt:(I)C
istore 5 /* c */
start local 5 // char c
31: .line 201
iload 5 /* c */
sipush 255
if_icmpgt 34
32: .line 202
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.latin1Contains:[Z
iload 5 /* c */
baload
ifeq 52
33: .line 203
goto 54
34: .line 205
StackMap locals: jdk.internal.icu.impl.BMPSet java.lang.CharSequence int jdk.internal.icu.text.UnicodeSet$SpanCondition jdk.internal.icu.util.OutputInt int top int int int
StackMap stack:
iload 5 /* c */
sipush 2047
if_icmpgt 37
35: .line 206
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.table7FF:[I
iload 5 /* c */
bipush 63
iand
iaload
iconst_1
iload 5 /* c */
bipush 6
ishr
ishl
iand
ifeq 52
36: .line 207
goto 54
37: .line 209
StackMap locals:
StackMap stack:
iload 5 /* c */
ldc 55296
if_icmplt 40
38: .line 210
iload 5 /* c */
ldc 56320
if_icmpge 40
iload 7 /* i */
iconst_1
iadd
iload 8 /* limit */
if_icmpeq 40
aload 1 /* s */
iload 7 /* i */
iconst_1
iadd
invokeinterface java.lang.CharSequence.charAt:(I)C
dup
istore 6 /* c2 */
start local 6 // char c2
39: ldc 56320
if_icmplt 40
iload 6 /* c2 */
ldc 57344
if_icmplt 47
end local 6 // char c2
40: .line 211
StackMap locals:
StackMap stack:
iload 5 /* c */
bipush 12
ishr
istore 10 /* lead */
start local 10 // int lead
41: .line 212
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.bmpBlockBits:[I
iload 5 /* c */
bipush 6
ishr
bipush 63
iand
iaload
iload 10 /* lead */
ishr
ldc 65537
iand
istore 11 /* twoBits */
start local 11 // int twoBits
42: .line 213
iload 11 /* twoBits */
iconst_1
if_icmpgt 45
43: .line 216
iload 11 /* twoBits */
ifeq 52
44: .line 217
goto 54
45: .line 221
StackMap locals: int int
StackMap stack:
aload 0 /* this */
iload 5 /* c */
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.list4kStarts:[I
iload 10 /* lead */
iaload
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.list4kStarts:[I
iload 10 /* lead */
iconst_1
iadd
iaload
invokevirtual jdk.internal.icu.impl.BMPSet.containsSlow:(III)Z
ifeq 52
46: .line 222
goto 54
end local 11 // int twoBits
end local 10 // int lead
start local 6 // char c2
47: .line 227
StackMap locals: jdk.internal.icu.impl.BMPSet java.lang.CharSequence int jdk.internal.icu.text.UnicodeSet$SpanCondition jdk.internal.icu.util.OutputInt int int int int int
StackMap stack:
iload 5 /* c */
iload 6 /* c2 */
invokestatic jdk.internal.icu.impl.UCharacterProperty.getRawSupplementary:(CC)I
istore 10 /* supplementary */
start local 10 // int supplementary
48: .line 228
aload 0 /* this */
iload 10 /* supplementary */
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.list4kStarts:[I
bipush 16
iaload
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.list4kStarts:[I
bipush 17
iaload
invokevirtual jdk.internal.icu.impl.BMPSet.containsSlow:(III)Z
ifeq 50
49: .line 229
goto 54
50: .line 231
StackMap locals: int
StackMap stack:
iinc 9 /* numSupplementary */ 1
51: .line 232
iinc 7 /* i */ 1
end local 10 // int supplementary
end local 6 // char c2
52: .line 234
StackMap locals: jdk.internal.icu.impl.BMPSet java.lang.CharSequence int jdk.internal.icu.text.UnicodeSet$SpanCondition jdk.internal.icu.util.OutputInt int top int int int
StackMap stack:
iinc 7 /* i */ 1
end local 5 // char c
53: .line 199
StackMap locals: jdk.internal.icu.impl.BMPSet java.lang.CharSequence int jdk.internal.icu.text.UnicodeSet$SpanCondition jdk.internal.icu.util.OutputInt top top int int int
StackMap stack:
iload 7 /* i */
iload 8 /* limit */
if_icmplt 30
54: .line 237
StackMap locals:
StackMap stack:
aload 4 /* outCount */
ifnull 57
55: .line 238
iload 7 /* i */
iload 2 /* start */
isub
istore 10 /* spanLength */
start local 10 // int spanLength
56: .line 239
aload 4 /* outCount */
iload 10 /* spanLength */
iload 9 /* numSupplementary */
isub
putfield jdk.internal.icu.util.OutputInt.value:I
end local 10 // int spanLength
57: .line 241
StackMap locals:
StackMap stack:
iload 7 /* i */
ireturn
end local 9 // int numSupplementary
end local 8 // int limit
end local 7 // int i
end local 4 // jdk.internal.icu.util.OutputInt outCount
end local 3 // jdk.internal.icu.text.UnicodeSet$SpanCondition spanCondition
end local 2 // int start
end local 1 // java.lang.CharSequence s
end local 0 // jdk.internal.icu.impl.BMPSet this
LocalVariableTable:
Start End Slot Name Signature
0 58 0 this Ljdk/internal/icu/impl/BMPSet;
0 58 1 s Ljava/lang/CharSequence;
0 58 2 start I
0 58 3 spanCondition Ljdk/internal/icu/text/UnicodeSet$SpanCondition;
0 58 4 outCount Ljdk/internal/icu/util/OutputInt;
6 28 5 c C
31 53 5 c C
14 15 6 c2 C
22 27 6 c2 C
39 40 6 c2 C
47 52 6 c2 C
1 58 7 i I
2 58 8 limit I
3 58 9 numSupplementary I
16 22 10 lead I
17 22 11 twoBits I
23 27 10 supplementary I
41 47 10 lead I
42 47 11 twoBits I
48 52 10 supplementary I
56 57 10 spanLength I
MethodParameters:
Name Flags
s
start
spanCondition
outCount
public final int spanBack(java.lang.CharSequence, int, jdk.internal.icu.text.UnicodeSet$SpanCondition);
descriptor: (Ljava/lang/CharSequence;ILjdk/internal/icu/text/UnicodeSet$SpanCondition;)I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=6, locals=8, args_size=4
start local 0 // jdk.internal.icu.impl.BMPSet this
start local 1 // java.lang.CharSequence s
start local 2 // int limit
start local 3 // jdk.internal.icu.text.UnicodeSet$SpanCondition spanCondition
0: .line 254
getstatic jdk.internal.icu.text.UnicodeSet$SpanCondition.NOT_CONTAINED:Ljdk/internal/icu/text/UnicodeSet$SpanCondition;
aload 3 /* spanCondition */
if_acmpeq 24
1: .line 257
StackMap locals:
StackMap stack:
aload 1 /* s */
iinc 2 /* limit */ -1
iload 2 /* limit */
invokeinterface java.lang.CharSequence.charAt:(I)C
istore 4 /* c */
start local 4 // char c
2: .line 258
iload 4 /* c */
sipush 255
if_icmpgt 5
3: .line 259
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.latin1Contains:[Z
iload 4 /* c */
baload
ifne 22
4: .line 260
goto 47
5: .line 262
StackMap locals: int
StackMap stack:
iload 4 /* c */
sipush 2047
if_icmpgt 8
6: .line 263
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.table7FF:[I
iload 4 /* c */
bipush 63
iand
iaload
iconst_1
iload 4 /* c */
bipush 6
ishr
ishl
iand
ifne 22
7: .line 264
goto 47
8: .line 266
StackMap locals:
StackMap stack:
iload 4 /* c */
ldc 55296
if_icmplt 11
9: .line 267
iload 4 /* c */
ldc 56320
if_icmplt 11
iload 2 /* limit */
ifeq 11
aload 1 /* s */
iload 2 /* limit */
iconst_1
isub
invokeinterface java.lang.CharSequence.charAt:(I)C
dup
istore 5 /* c2 */
start local 5 // char c2
10: ldc 55296
if_icmplt 11
iload 5 /* c2 */
ldc 56320
if_icmplt 18
end local 5 // char c2
11: .line 268
StackMap locals:
StackMap stack:
iload 4 /* c */
bipush 12
ishr
istore 6 /* lead */
start local 6 // int lead
12: .line 269
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.bmpBlockBits:[I
iload 4 /* c */
bipush 6
ishr
bipush 63
iand
iaload
iload 6 /* lead */
ishr
ldc 65537
iand
istore 7 /* twoBits */
start local 7 // int twoBits
13: .line 270
iload 7 /* twoBits */
iconst_1
if_icmpgt 16
14: .line 273
iload 7 /* twoBits */
ifne 22
15: .line 274
goto 47
16: .line 278
StackMap locals: jdk.internal.icu.impl.BMPSet java.lang.CharSequence int jdk.internal.icu.text.UnicodeSet$SpanCondition int top int int
StackMap stack:
aload 0 /* this */
iload 4 /* c */
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.list4kStarts:[I
iload 6 /* lead */
iaload
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.list4kStarts:[I
iload 6 /* lead */
iconst_1
iadd
iaload
invokevirtual jdk.internal.icu.impl.BMPSet.containsSlow:(III)Z
ifne 22
17: .line 279
goto 47
end local 7 // int twoBits
end local 6 // int lead
start local 5 // char c2
18: .line 284
StackMap locals: jdk.internal.icu.impl.BMPSet java.lang.CharSequence int jdk.internal.icu.text.UnicodeSet$SpanCondition int int
StackMap stack:
iload 5 /* c2 */
iload 4 /* c */
invokestatic jdk.internal.icu.impl.UCharacterProperty.getRawSupplementary:(CC)I
istore 6 /* supplementary */
start local 6 // int supplementary
19: .line 285
aload 0 /* this */
iload 6 /* supplementary */
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.list4kStarts:[I
bipush 16
iaload
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.list4kStarts:[I
bipush 17
iaload
invokevirtual jdk.internal.icu.impl.BMPSet.containsSlow:(III)Z
ifne 21
20: .line 286
goto 47
21: .line 288
StackMap locals: int
StackMap stack:
iinc 2 /* limit */ -1
end local 6 // int supplementary
end local 5 // char c2
22: .line 290
StackMap locals:
StackMap stack:
iload 2 /* limit */
ifne 1
23: .line 291
iconst_0
ireturn
end local 4 // char c
24: .line 297
StackMap locals:
StackMap stack:
aload 1 /* s */
iinc 2 /* limit */ -1
iload 2 /* limit */
invokeinterface java.lang.CharSequence.charAt:(I)C
istore 4 /* c */
start local 4 // char c
25: .line 298
iload 4 /* c */
sipush 255
if_icmpgt 28
26: .line 299
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.latin1Contains:[Z
iload 4 /* c */
baload
ifeq 45
27: .line 300
goto 47
28: .line 302
StackMap locals: int
StackMap stack:
iload 4 /* c */
sipush 2047
if_icmpgt 31
29: .line 303
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.table7FF:[I
iload 4 /* c */
bipush 63
iand
iaload
iconst_1
iload 4 /* c */
bipush 6
ishr
ishl
iand
ifeq 45
30: .line 304
goto 47
31: .line 306
StackMap locals:
StackMap stack:
iload 4 /* c */
ldc 55296
if_icmplt 34
32: .line 307
iload 4 /* c */
ldc 56320
if_icmplt 34
iload 2 /* limit */
ifeq 34
aload 1 /* s */
iload 2 /* limit */
iconst_1
isub
invokeinterface java.lang.CharSequence.charAt:(I)C
dup
istore 5 /* c2 */
start local 5 // char c2
33: ldc 55296
if_icmplt 34
iload 5 /* c2 */
ldc 56320
if_icmplt 41
end local 5 // char c2
34: .line 308
StackMap locals:
StackMap stack:
iload 4 /* c */
bipush 12
ishr
istore 6 /* lead */
start local 6 // int lead
35: .line 309
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.bmpBlockBits:[I
iload 4 /* c */
bipush 6
ishr
bipush 63
iand
iaload
iload 6 /* lead */
ishr
ldc 65537
iand
istore 7 /* twoBits */
start local 7 // int twoBits
36: .line 310
iload 7 /* twoBits */
iconst_1
if_icmpgt 39
37: .line 313
iload 7 /* twoBits */
ifeq 45
38: .line 314
goto 47
39: .line 318
StackMap locals: jdk.internal.icu.impl.BMPSet java.lang.CharSequence int jdk.internal.icu.text.UnicodeSet$SpanCondition int top int int
StackMap stack:
aload 0 /* this */
iload 4 /* c */
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.list4kStarts:[I
iload 6 /* lead */
iaload
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.list4kStarts:[I
iload 6 /* lead */
iconst_1
iadd
iaload
invokevirtual jdk.internal.icu.impl.BMPSet.containsSlow:(III)Z
ifeq 45
40: .line 319
goto 47
end local 7 // int twoBits
end local 6 // int lead
start local 5 // char c2
41: .line 324
StackMap locals: jdk.internal.icu.impl.BMPSet java.lang.CharSequence int jdk.internal.icu.text.UnicodeSet$SpanCondition int int
StackMap stack:
iload 5 /* c2 */
iload 4 /* c */
invokestatic jdk.internal.icu.impl.UCharacterProperty.getRawSupplementary:(CC)I
istore 6 /* supplementary */
start local 6 // int supplementary
42: .line 325
aload 0 /* this */
iload 6 /* supplementary */
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.list4kStarts:[I
bipush 16
iaload
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.list4kStarts:[I
bipush 17
iaload
invokevirtual jdk.internal.icu.impl.BMPSet.containsSlow:(III)Z
ifeq 44
43: .line 326
goto 47
44: .line 328
StackMap locals: int
StackMap stack:
iinc 2 /* limit */ -1
end local 6 // int supplementary
end local 5 // char c2
45: .line 330
StackMap locals:
StackMap stack:
iload 2 /* limit */
ifne 24
46: .line 331
iconst_0
ireturn
47: .line 335
StackMap locals:
StackMap stack:
iload 2 /* limit */
iconst_1
iadd
ireturn
end local 4 // char c
end local 3 // jdk.internal.icu.text.UnicodeSet$SpanCondition spanCondition
end local 2 // int limit
end local 1 // java.lang.CharSequence s
end local 0 // jdk.internal.icu.impl.BMPSet this
LocalVariableTable:
Start End Slot Name Signature
0 48 0 this Ljdk/internal/icu/impl/BMPSet;
0 48 1 s Ljava/lang/CharSequence;
0 48 2 limit I
0 48 3 spanCondition Ljdk/internal/icu/text/UnicodeSet$SpanCondition;
2 24 4 c C
25 48 4 c C
10 11 5 c2 C
18 22 5 c2 C
33 34 5 c2 C
41 45 5 c2 C
12 18 6 lead I
13 18 7 twoBits I
19 22 6 supplementary I
35 41 6 lead I
36 41 7 twoBits I
42 45 6 supplementary I
MethodParameters:
Name Flags
s
limit
spanCondition
private static void set32x64Bits(int[], int, int);
descriptor: ([III)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=8, args_size=3
start local 0 // int[] table
start local 1 // int start
start local 2 // int limit
0: .line 342
getstatic jdk.internal.icu.impl.BMPSet.$assertionsDisabled:Z
ifne 1
bipush 64
aload 0 /* table */
arraylength
if_icmpeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: .line 343
StackMap locals:
StackMap stack:
iload 1 /* start */
bipush 6
ishr
istore 3 /* lead */
start local 3 // int lead
2: .line 344
iload 1 /* start */
bipush 63
iand
istore 4 /* trail */
start local 4 // int trail
3: .line 347
iconst_1
iload 3 /* lead */
ishl
istore 5 /* bits */
start local 5 // int bits
4: .line 348
iload 1 /* start */
iconst_1
iadd
iload 2 /* limit */
if_icmpne 7
5: .line 349
aload 0 /* table */
iload 4 /* trail */
dup2
iaload
iload 5 /* bits */
ior
iastore
6: .line 350
return
7: .line 353
StackMap locals: int int int
StackMap stack:
iload 2 /* limit */
bipush 6
ishr
istore 6 /* limitLead */
start local 6 // int limitLead
8: .line 354
iload 2 /* limit */
bipush 63
iand
istore 7 /* limitTrail */
start local 7 // int limitTrail
9: .line 356
iload 3 /* lead */
iload 6 /* limitLead */
if_icmpne 14
10: .line 358
goto 12
11: .line 359
StackMap locals: int int
StackMap stack:
aload 0 /* table */
iload 4 /* trail */
iinc 4 /* trail */ 1
dup2
iaload
iload 5 /* bits */
ior
iastore
12: .line 358
StackMap locals:
StackMap stack:
iload 4 /* trail */
iload 7 /* limitTrail */
if_icmplt 11
13: .line 361
goto 32
14: .line 365
StackMap locals:
StackMap stack:
iload 4 /* trail */
ifle 19
15: .line 367
StackMap locals:
StackMap stack:
aload 0 /* table */
iload 4 /* trail */
iinc 4 /* trail */ 1
dup2
iaload
iload 5 /* bits */
ior
iastore
16: .line 368
iload 4 /* trail */
bipush 64
17: .line 366
if_icmplt 15
18: .line 369
iinc 3 /* lead */ 1
19: .line 371
StackMap locals:
StackMap stack:
iload 3 /* lead */
iload 6 /* limitLead */
if_icmpge 27
20: .line 372
iconst_1
iload 3 /* lead */
ishl
iconst_1
isub
iconst_m1
ixor
istore 5 /* bits */
21: .line 373
iload 6 /* limitLead */
bipush 32
if_icmpge 23
22: .line 374
iload 5 /* bits */
iconst_1
iload 6 /* limitLead */
ishl
iconst_1
isub
iand
istore 5 /* bits */
23: .line 376
StackMap locals:
StackMap stack:
iconst_0
istore 4 /* trail */
goto 26
24: .line 377
StackMap locals:
StackMap stack:
aload 0 /* table */
iload 4 /* trail */
dup2
iaload
iload 5 /* bits */
ior
iastore
25: .line 376
iinc 4 /* trail */ 1
StackMap locals:
StackMap stack:
26: iload 4 /* trail */
bipush 64
if_icmplt 24
27: .line 384
StackMap locals:
StackMap stack:
iconst_1
iload 6 /* limitLead */
ishl
istore 5 /* bits */
28: .line 385
iconst_0
istore 4 /* trail */
goto 31
29: .line 386
StackMap locals:
StackMap stack:
aload 0 /* table */
iload 4 /* trail */
dup2
iaload
iload 5 /* bits */
ior
iastore
30: .line 385
iinc 4 /* trail */ 1
StackMap locals:
StackMap stack:
31: iload 4 /* trail */
iload 7 /* limitTrail */
if_icmplt 29
32: .line 389
StackMap locals:
StackMap stack:
return
end local 7 // int limitTrail
end local 6 // int limitLead
end local 5 // int bits
end local 4 // int trail
end local 3 // int lead
end local 2 // int limit
end local 1 // int start
end local 0 // int[] table
LocalVariableTable:
Start End Slot Name Signature
0 33 0 table [I
0 33 1 start I
0 33 2 limit I
2 33 3 lead I
3 33 4 trail I
4 33 5 bits I
8 33 6 limitLead I
9 33 7 limitTrail I
MethodParameters:
Name Flags
table
start
limit
private void initBits();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=1
start local 0 // jdk.internal.icu.impl.BMPSet this
0: .line 393
iconst_0
istore 3 /* listIndex */
start local 3 // int listIndex
1: .line 397
StackMap locals: jdk.internal.icu.impl.BMPSet top top int
StackMap stack:
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.list:[I
iload 3 /* listIndex */
iinc 3 /* listIndex */ 1
iaload
istore 1 /* start */
start local 1 // int start
2: .line 398
iload 3 /* listIndex */
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.listLength:I
if_icmpge 5
3: .line 399
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.list:[I
iload 3 /* listIndex */
iinc 3 /* listIndex */ 1
iaload
istore 2 /* limit */
start local 2 // int limit
4: .line 400
goto 6
end local 2 // int limit
5: .line 401
StackMap locals: jdk.internal.icu.impl.BMPSet int top int
StackMap stack:
ldc 1114112
istore 2 /* limit */
start local 2 // int limit
6: .line 403
StackMap locals: jdk.internal.icu.impl.BMPSet int int int
StackMap stack:
iload 1 /* start */
sipush 256
if_icmplt 8
7: .line 404
goto 25
8: .line 407
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.latin1Contains:[Z
iload 1 /* start */
iinc 1 /* start */ 1
iconst_1
bastore
9: .line 408
iload 1 /* start */
iload 2 /* limit */
if_icmpge 11
iload 1 /* start */
sipush 256
10: .line 406
if_icmplt 8
11: .line 409
StackMap locals:
StackMap stack:
iload 2 /* limit */
sipush 256
12: .line 396
if_icmple 1
13: .line 412
goto 25
14: .line 413
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.table7FF:[I
iload 1 /* start */
iload 2 /* limit */
sipush 2048
if_icmpgt 15
iload 2 /* limit */
goto 16
StackMap locals: jdk.internal.icu.impl.BMPSet int int int
StackMap stack: int[] int
15: sipush 2048
StackMap locals: jdk.internal.icu.impl.BMPSet int int int
StackMap stack: int[] int int
16: invokestatic jdk.internal.icu.impl.BMPSet.set32x64Bits:([III)V
17: .line 414
iload 2 /* limit */
sipush 2048
if_icmple 20
18: .line 415
sipush 2048
istore 1 /* start */
19: .line 416
goto 26
20: .line 419
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.list:[I
iload 3 /* listIndex */
iinc 3 /* listIndex */ 1
iaload
istore 1 /* start */
21: .line 420
iload 3 /* listIndex */
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.listLength:I
if_icmpge 24
22: .line 421
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.list:[I
iload 3 /* listIndex */
iinc 3 /* listIndex */ 1
iaload
istore 2 /* limit */
23: .line 422
goto 25
24: .line 423
StackMap locals:
StackMap stack:
ldc 1114112
istore 2 /* limit */
25: .line 412
StackMap locals:
StackMap stack:
iload 1 /* start */
sipush 2048
if_icmplt 14
26: .line 428
StackMap locals:
StackMap stack:
sipush 2048
istore 4 /* minStart */
start local 4 // int minStart
27: .line 429
goto 53
28: .line 430
StackMap locals: int
StackMap stack:
iload 2 /* limit */
ldc 65536
if_icmple 30
29: .line 431
ldc 65536
istore 2 /* limit */
30: .line 434
StackMap locals:
StackMap stack:
iload 1 /* start */
iload 4 /* minStart */
if_icmpge 32
31: .line 435
iload 4 /* minStart */
istore 1 /* start */
32: .line 437
StackMap locals:
StackMap stack:
iload 1 /* start */
iload 2 /* limit */
if_icmpge 46
33: .line 438
iload 1 /* start */
bipush 63
iand
ifeq 38
34: .line 440
iload 1 /* start */
bipush 6
ishr
istore 1 /* start */
35: .line 441
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.bmpBlockBits:[I
iload 1 /* start */
bipush 63
iand
dup2
iaload
ldc 65537
iload 1 /* start */
bipush 6
ishr
ishl
ior
iastore
36: .line 442
iload 1 /* start */
iconst_1
iadd
bipush 6
ishl
istore 1 /* start */
37: .line 443
iload 1 /* start */
istore 4 /* minStart */
38: .line 445
StackMap locals:
StackMap stack:
iload 1 /* start */
iload 2 /* limit */
if_icmpge 46
39: .line 446
iload 1 /* start */
iload 2 /* limit */
bipush -64
iand
if_icmpge 41
40: .line 448
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.bmpBlockBits:[I
iload 1 /* start */
bipush 6
ishr
iload 2 /* limit */
bipush 6
ishr
invokestatic jdk.internal.icu.impl.BMPSet.set32x64Bits:([III)V
41: .line 451
StackMap locals:
StackMap stack:
iload 2 /* limit */
bipush 63
iand
ifeq 46
42: .line 453
iload 2 /* limit */
bipush 6
ishr
istore 2 /* limit */
43: .line 454
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.bmpBlockBits:[I
iload 2 /* limit */
bipush 63
iand
dup2
iaload
ldc 65537
iload 2 /* limit */
bipush 6
ishr
ishl
ior
iastore
44: .line 455
iload 2 /* limit */
iconst_1
iadd
bipush 6
ishl
istore 2 /* limit */
45: .line 456
iload 2 /* limit */
istore 4 /* minStart */
46: .line 461
StackMap locals:
StackMap stack:
iload 2 /* limit */
ldc 65536
if_icmpne 48
47: .line 462
goto 54
48: .line 465
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.list:[I
iload 3 /* listIndex */
iinc 3 /* listIndex */ 1
iaload
istore 1 /* start */
49: .line 466
iload 3 /* listIndex */
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.listLength:I
if_icmpge 52
50: .line 467
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.list:[I
iload 3 /* listIndex */
iinc 3 /* listIndex */ 1
iaload
istore 2 /* limit */
51: .line 468
goto 53
52: .line 469
StackMap locals:
StackMap stack:
ldc 1114112
istore 2 /* limit */
53: .line 429
StackMap locals:
StackMap stack:
iload 1 /* start */
ldc 65536
if_icmplt 28
54: .line 472
StackMap locals:
StackMap stack:
return
end local 4 // int minStart
end local 3 // int listIndex
end local 2 // int limit
end local 1 // int start
end local 0 // jdk.internal.icu.impl.BMPSet this
LocalVariableTable:
Start End Slot Name Signature
0 55 0 this Ljdk/internal/icu/impl/BMPSet;
2 55 1 start I
4 5 2 limit I
6 55 2 limit I
1 55 3 listIndex I
27 55 4 minStart I
private int findCodePoint(int, int, int);
descriptor: (III)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=4
start local 0 // jdk.internal.icu.impl.BMPSet this
start local 1 // int c
start local 2 // int lo
start local 3 // int hi
0: .line 502
iload 1 /* c */
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.list:[I
iload 2 /* lo */
iaload
if_icmpge 2
1: .line 503
iload 2 /* lo */
ireturn
2: .line 506
StackMap locals:
StackMap stack:
iload 2 /* lo */
iload 3 /* hi */
if_icmpge 3
iload 1 /* c */
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.list:[I
iload 3 /* hi */
iconst_1
isub
iaload
if_icmplt 4
3: .line 507
StackMap locals:
StackMap stack:
iload 3 /* hi */
ireturn
4: .line 511
StackMap locals:
StackMap stack:
iload 2 /* lo */
iload 3 /* hi */
iadd
iconst_1
iushr
istore 4 /* i */
start local 4 // int i
5: .line 512
iload 4 /* i */
iload 2 /* lo */
if_icmpne 7
6: .line 513
goto 12
7: .line 514
StackMap locals: int
StackMap stack:
iload 1 /* c */
aload 0 /* this */
getfield jdk.internal.icu.impl.BMPSet.list:[I
iload 4 /* i */
iaload
if_icmpge 10
8: .line 515
iload 4 /* i */
istore 3 /* hi */
9: .line 516
goto 4
10: .line 517
StackMap locals:
StackMap stack:
iload 4 /* i */
istore 2 /* lo */
end local 4 // int i
11: .line 510
goto 4
12: .line 520
StackMap locals:
StackMap stack:
iload 3 /* hi */
ireturn
end local 3 // int hi
end local 2 // int lo
end local 1 // int c
end local 0 // jdk.internal.icu.impl.BMPSet this
LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljdk/internal/icu/impl/BMPSet;
0 13 1 c I
0 13 2 lo I
0 13 3 hi I
5 11 4 i I
MethodParameters:
Name Flags
c
lo
hi
private final boolean containsSlow(int, int, int);
descriptor: (III)Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Code:
stack=4, locals=4, args_size=4
start local 0 // jdk.internal.icu.impl.BMPSet this
start local 1 // int c
start local 2 // int lo
start local 3 // int hi
0: .line 524
aload 0 /* this */
iload 1 /* c */
iload 2 /* lo */
iload 3 /* hi */
invokevirtual jdk.internal.icu.impl.BMPSet.findCodePoint:(III)I
iconst_1
iand
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 3 // int hi
end local 2 // int lo
end local 1 // int c
end local 0 // jdk.internal.icu.impl.BMPSet this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/icu/impl/BMPSet;
0 2 1 c I
0 2 2 lo I
0 2 3 hi I
MethodParameters:
Name Flags
c
lo
hi
}
SourceFile: "BMPSet.java"
InnerClasses:
public final SpanCondition = jdk.internal.icu.text.UnicodeSet$SpanCondition of jdk.internal.icu.text.UnicodeSet