final class jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler extends jdk.nashorn.internal.runtime.regexp.joni.Compiler
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler
super_class: jdk.nashorn.internal.runtime.regexp.joni.Compiler
{
private int[] code;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private int codeLength;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private char[][] templates;
descriptor: [[C
flags: (0x0002) ACC_PRIVATE
private int templateNum;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private static final int REPEAT_RANGE_ALLOC;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8
private static final int QUANTIFIER_EXPAND_LIMIT_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 50
void <init>(jdk.nashorn.internal.runtime.regexp.joni.Analyser);
descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial jdk.nashorn.internal.runtime.regexp.joni.Compiler.<init>:(Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
0 2 1 analyser Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;
MethodParameters:
Name Flags
analyser final
protected final void prepare();
descriptor: ()V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=2, locals=2, args_size=1
start local 0 0: bipush 8
istore 1
start local 1 1: aload 0
iload 1
newarray 10
putfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.code:[I
2: aload 0
iconst_0
putfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.codeLength:I
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
1 4 1 codeSize I
protected final void finish();
descriptor: ()V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
1: aload 0
iconst_0
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
2: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.code:[I
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.code:[I
3: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.codeLength:I
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.codeLength:I
4: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.templates:[[C
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.templates:[[C
5: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.templateNum:I
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.templateNum:I
6: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
getstatic jdk.nashorn.internal.runtime.regexp.joni.MatcherFactory.DEFAULT:Ljdk/nashorn/internal/runtime/regexp/joni/MatcherFactory;
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.factory:Ljdk/nashorn/internal/runtime/regexp/joni/MatcherFactory;
7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
protected void compileAltNode(jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode);
descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 1
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode int
StackMap stack:
iload 3
aload 0
aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.car:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileLengthTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
iadd
istore 3
3: aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.cdr:Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
ifnull 5
4: iinc 3 4
5: StackMap locals:
StackMap stack:
aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.cdr:Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
dup
astore 2
ifnonnull 2
6: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.codeLength:I
iload 3
iadd
istore 4
start local 4 7: aload 1
astore 2
8: StackMap locals: int
StackMap stack:
aload 0
aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.car:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileLengthTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
istore 3
9: aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.cdr:Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
ifnull 11
10: aload 0
bipush 56
iload 3
iconst_2
iadd
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcodeRelAddr:(II)V
11: StackMap locals:
StackMap stack:
aload 0
aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.car:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)V
12: aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.cdr:Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
ifnull 15
13: iload 4
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.codeLength:I
iconst_2
iadd
isub
istore 3
14: aload 0
bipush 55
iload 3
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcodeRelAddr:(II)V
15: StackMap locals:
StackMap stack:
aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.cdr:Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
dup
astore 2
ifnonnull 8
16: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
0 17 1 node Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
1 17 2 aln Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
2 17 3 len I
7 17 4 pos I
MethodParameters:
Name Flags
node final
private static boolean isNeedStrLenOpExact(int);
descriptor: (I)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
bipush 7
if_icmpeq 1
iload 0
bipush 15
if_icmpeq 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 op I
MethodParameters:
Name Flags
op final
private static boolean opTemplated(int);
descriptor: (I)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
invokestatic jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.isNeedStrLenOpExact:(I)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 op I
MethodParameters:
Name Flags
op final
private static int selectStrOpcode(int, boolean);
descriptor: (IZ)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=3, args_size=2
start local 0 start local 1 0: iload 1
ifeq 6
1: iload 0
tableswitch { // 1 - 1
1: 2
default: 4
}
2: StackMap locals:
StackMap stack:
bipush 14
istore 2
start local 2 3: goto 18
end local 2 4: StackMap locals:
StackMap stack:
bipush 15
istore 2
start local 2 5: goto 18
end local 2 6: StackMap locals:
StackMap stack:
iload 0
tableswitch { // 1 - 5
1: 7
2: 9
3: 11
4: 13
5: 15
default: 17
}
7: StackMap locals:
StackMap stack:
iconst_2
istore 2
start local 2 8: goto 18
end local 2 9: StackMap locals:
StackMap stack:
iconst_3
istore 2
start local 2 10: goto 18
end local 2 11: StackMap locals:
StackMap stack:
iconst_4
istore 2
start local 2 12: goto 18
end local 2 13: StackMap locals:
StackMap stack:
iconst_5
istore 2
start local 2 14: goto 18
end local 2 15: StackMap locals:
StackMap stack:
bipush 6
istore 2
start local 2 16: goto 18
end local 2 17: StackMap locals:
StackMap stack:
bipush 7
istore 2
start local 2 18: StackMap locals: int
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 strLength I
0 19 1 ignoreCase Z
3 4 2 op I
5 6 2 op I
8 9 2 op I
10 11 2 op I
12 13 2 op I
14 15 2 op I
16 17 2 op I
18 19 2 op I
MethodParameters:
Name Flags
strLength final
ignoreCase final
private void compileTreeEmptyCheck(jdk.nashorn.internal.runtime.regexp.joni.ast.Node, int);
descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.numNullCheck:I
istore 3
start local 3 1: iload 2
ifeq 5
2: aload 0
bipush 66
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
3: aload 0
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.numNullCheck:I
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addMemNum:(I)V
4: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
dup
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.numNullCheck:I
iconst_1
iadd
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.numNullCheck:I
5: StackMap locals: int
StackMap stack:
aload 0
aload 1
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)V
6: iload 2
ifeq 13
7: iload 2
tableswitch { // 1 - 2
1: 8
2: 10
default: 12
}
8: StackMap locals:
StackMap stack:
aload 0
bipush 67
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
9: goto 12
10: StackMap locals:
StackMap stack:
aload 0
bipush 68
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
11: goto 12
12: StackMap locals:
StackMap stack:
aload 0
iload 3
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addMemNum:(I)V
13: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
0 14 1 node Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
0 14 2 emptyInfo I
1 14 3 savedNumNullCheck I
MethodParameters:
Name Flags
node final
emptyInfo final
private static int addCompileStringlength(char[], int, int, boolean);
descriptor: ([CIIZ)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
iload 3
invokestatic jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.selectStrOpcode:(IZ)I
istore 4
start local 4 1: iconst_1
istore 5
start local 5 2: iload 4
invokestatic jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.opTemplated:(I)Z
ifeq 5
3: iinc 5 3
4: goto 8
5: StackMap locals: int int
StackMap stack:
iload 4
invokestatic jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.isNeedStrLenOpExact:(I)Z
ifeq 7
6: iinc 5 1
7: StackMap locals:
StackMap stack:
iload 5
iload 2
iadd
istore 5
8: StackMap locals:
StackMap stack:
iload 5
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 chars [C
0 9 1 p I
0 9 2 strLength I
0 9 3 ignoreCase Z
1 9 4 op I
2 9 5 len I
MethodParameters:
Name Flags
chars final
p final
strLength final
ignoreCase final
protected final void addCompileString(char[], int, int, boolean);
descriptor: ([CIIZ)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=4, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 3
iload 4
invokestatic jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.selectStrOpcode:(IZ)I
istore 5
start local 5 1: aload 0
iload 5
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
2: iload 5
invokestatic jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.isNeedStrLenOpExact:(I)Z
ifeq 4
3: aload 0
iload 3
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addLength:(I)V
4: StackMap locals: int
StackMap stack:
iload 5
invokestatic jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.opTemplated:(I)Z
ifeq 9
5: aload 0
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.templateNum:I
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addInt:(I)V
6: aload 0
iload 2
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addInt:(I)V
7: aload 0
aload 1
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addTemplate:([C)V
8: goto 10
9: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
iload 3
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addChars:([CII)V
10: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
0 11 1 chars [C
0 11 2 p I
0 11 3 strLength I
0 11 4 ignoreCase Z
1 11 5 op I
MethodParameters:
Name Flags
chars final
p final
strLength final
ignoreCase final
private static int compileLengthStringNode(jdk.nashorn.internal.runtime.regexp.joni.ast.Node);
descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=10, args_size=1
start local 0 0: aload 0
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
astore 1
start local 1 1: aload 1
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.length:()I
ifgt 3
2: iconst_0
ireturn
3: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
StackMap stack:
aload 1
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.isAmbig:()Z
istore 2
start local 2 4: aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.p:I
dup
istore 4
start local 4 5: istore 3
start local 3 6: aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.end:I
istore 5
start local 5 7: aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.chars:[C
astore 6
start local 6 8: iinc 3 1
9: iconst_1
istore 7
start local 7 10: iconst_0
istore 8
start local 8 11: goto 14
12: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.Node jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode int int int int char[] int int
StackMap stack:
iinc 7 1
13: iinc 3 1
14: StackMap locals:
StackMap stack:
iload 3
iload 5
if_icmplt 12
15: aload 6
iload 4
iload 7
iload 2
invokestatic jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addCompileStringlength:([CIIZ)I
istore 9
start local 9 16: iload 8
iload 9
iadd
istore 8
17: iload 8
ireturn
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 node Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
1 18 1 sn Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
4 18 2 ambig Z
6 18 3 p I
5 18 4 prev I
7 18 5 end I
8 18 6 chars [C
10 18 7 slen I
11 18 8 rlen I
16 18 9 r I
MethodParameters:
Name Flags
node final
private static int compileLengthStringRawNode(jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode);
descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.length:()I
ifgt 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.chars:[C
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.p:I
aload 0
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.length:()I
iconst_0
invokestatic jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addCompileStringlength:([CIIZ)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 sn Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
MethodParameters:
Name Flags
sn final
private void addMultiByteCClass(jdk.nashorn.internal.runtime.regexp.joni.CodeRangeBuffer);
descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/CodeRangeBuffer;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.CodeRangeBuffer.used:I
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addLength:(I)V
1: aload 0
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.CodeRangeBuffer.p:[I
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.CodeRangeBuffer.used:I
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addInts:([II)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
0 3 1 mbuf Ljdk/nashorn/internal/runtime/regexp/joni/CodeRangeBuffer;
MethodParameters:
Name Flags
mbuf final
private static int compileLengthCClassNode(jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode);
descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/CClassNode;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.isShare:()Z
ifeq 2
1: iconst_2
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.mbuf:Ljdk/nashorn/internal/runtime/regexp/joni/CodeRangeBuffer;
ifnonnull 5
3: bipush 9
istore 1
start local 1 4: goto 10
end local 1 5: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.bs:Ljdk/nashorn/internal/runtime/regexp/joni/BitSet;
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.BitSet.isEmpty:()Z
ifeq 8
6: iconst_1
istore 1
start local 1 7: goto 9
end local 1 8: StackMap locals:
StackMap stack:
bipush 9
istore 1
start local 1 9: StackMap locals: int
StackMap stack:
iload 1
iconst_1
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.mbuf:Ljdk/nashorn/internal/runtime/regexp/joni/CodeRangeBuffer;
getfield jdk.nashorn.internal.runtime.regexp.joni.CodeRangeBuffer.used:I
iadd
iadd
istore 1
10: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 cc Ljdk/nashorn/internal/runtime/regexp/joni/ast/CClassNode;
4 5 1 len I
7 8 1 len I
9 11 1 len I
MethodParameters:
Name Flags
cc final
protected void compileCClassNode(jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode);
descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/CClassNode;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.isShare:()Z
ifeq 4
1: aload 0
bipush 22
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
2: aload 0
aload 1
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addPointer:(Ljava/lang/Object;)V
3: return
4: StackMap locals:
StackMap stack:
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.mbuf:Ljdk/nashorn/internal/runtime/regexp/joni/CodeRangeBuffer;
ifnonnull 11
5: aload 1
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.isNot:()Z
ifeq 8
6: aload 0
bipush 19
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
7: goto 9
8: StackMap locals:
StackMap stack:
aload 0
bipush 16
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
9: StackMap locals:
StackMap stack:
aload 0
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.bs:Ljdk/nashorn/internal/runtime/regexp/joni/BitSet;
getfield jdk.nashorn.internal.runtime.regexp.joni.BitSet.bits:[I
bipush 8
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addInts:([II)V
10: goto 24
11: StackMap locals:
StackMap stack:
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.bs:Ljdk/nashorn/internal/runtime/regexp/joni/BitSet;
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.BitSet.isEmpty:()Z
ifeq 18
12: aload 1
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.isNot:()Z
ifeq 15
13: aload 0
bipush 20
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
14: goto 16
15: StackMap locals:
StackMap stack:
aload 0
bipush 17
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
16: StackMap locals:
StackMap stack:
aload 0
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.mbuf:Ljdk/nashorn/internal/runtime/regexp/joni/CodeRangeBuffer;
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addMultiByteCClass:(Ljdk/nashorn/internal/runtime/regexp/joni/CodeRangeBuffer;)V
17: goto 24
18: StackMap locals:
StackMap stack:
aload 1
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.isNot:()Z
ifeq 21
19: aload 0
bipush 21
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
20: goto 22
21: StackMap locals:
StackMap stack:
aload 0
bipush 18
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
22: StackMap locals:
StackMap stack:
aload 0
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.bs:Ljdk/nashorn/internal/runtime/regexp/joni/BitSet;
getfield jdk.nashorn.internal.runtime.regexp.joni.BitSet.bits:[I
bipush 8
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addInts:([II)V
23: aload 0
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.mbuf:Ljdk/nashorn/internal/runtime/regexp/joni/CodeRangeBuffer;
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addMultiByteCClass:(Ljdk/nashorn/internal/runtime/regexp/joni/CodeRangeBuffer;)V
24: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
0 25 1 cc Ljdk/nashorn/internal/runtime/regexp/joni/ast/CClassNode;
MethodParameters:
Name Flags
cc final
protected void compileAnyCharNode();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.options:I
invokestatic jdk.nashorn.internal.runtime.regexp.joni.Option.isMultiline:(I)Z
ifeq 3
1: aload 0
bipush 24
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
bipush 23
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
protected void compileBackrefNode(jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode);
descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/BackRefNode;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.options:I
invokestatic jdk.nashorn.internal.runtime.regexp.joni.Option.isIgnoreCase:(I)Z
ifeq 4
1: aload 0
bipush 44
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
2: aload 0
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode.backRef:I
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addMemNum:(I)V
3: goto 11
4: StackMap locals:
StackMap stack:
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode.backRef:I
tableswitch { // 1 - 2
1: 5
2: 7
default: 9
}
5: StackMap locals:
StackMap stack:
aload 0
bipush 41
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
6: goto 11
7: StackMap locals:
StackMap stack:
aload 0
bipush 42
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
8: goto 11
9: StackMap locals:
StackMap stack:
aload 0
bipush 43
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
10: aload 0
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode.backRef:I
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
11: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
0 12 1 node Ljdk/nashorn/internal/runtime/regexp/joni/ast/BackRefNode;
MethodParameters:
Name Flags
node final
private void entryRepeatRange(int, int, int);
descriptor: (III)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.repeatRangeLo:[I
ifnonnull 4
1: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
bipush 8
newarray 10
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.repeatRangeLo:[I
2: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
bipush 8
newarray 10
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.repeatRangeHi:[I
3: goto 11
StackMap locals:
StackMap stack:
4: iload 1
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.repeatRangeLo:[I
arraylength
if_icmplt 11
5: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.repeatRangeLo:[I
arraylength
bipush 8
iadd
newarray 10
astore 4
start local 4 6: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.repeatRangeLo:[I
iconst_0
aload 4
iconst_0
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.repeatRangeLo:[I
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
7: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
aload 4
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.repeatRangeLo:[I
8: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.repeatRangeHi:[I
arraylength
bipush 8
iadd
newarray 10
astore 4
9: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.repeatRangeHi:[I
iconst_0
aload 4
iconst_0
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.repeatRangeHi:[I
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
10: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
aload 4
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.repeatRangeHi:[I
end local 4 11: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.repeatRangeLo:[I
iload 1
iload 2
iastore
12: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.repeatRangeHi:[I
iload 1
iload 3
invokestatic jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.isRepeatInfinite:(I)Z
ifeq 13
ldc 2147483647
goto 14
StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler int int int
StackMap stack: int[] int
13: iload 3
StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler int int int
StackMap stack: int[] int int
14: iastore
15: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
0 16 1 id I
0 16 2 lower I
0 16 3 upper I
6 11 4 tmp [I
MethodParameters:
Name Flags
id final
lower final
upper final
private void compileRangeRepeatNode(jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode, int, int);
descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/QuantifierNode;II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.numRepeat:I
istore 4
start local 4 1: aload 0
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.greedy:Z
ifeq 2
bipush 60
goto 3
StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode int int int
StackMap stack: jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler
2: bipush 61
StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode int int int
StackMap stack: jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler int
3: invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
4: aload 0
iload 4
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addMemNum:(I)V
5: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
dup
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.numRepeat:I
iconst_1
iadd
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.numRepeat:I
6: aload 0
iload 2
iconst_2
iadd
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addRelAddr:(I)V
7: aload 0
iload 4
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.upper:I
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.entryRepeatRange:(III)V
8: aload 0
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
iload 3
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileTreeEmptyCheck:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)V
9: aload 1
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.isInRepeat:()Z
ifeq 14
10: aload 0
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.greedy:Z
ifeq 11
bipush 64
goto 12
StackMap locals:
StackMap stack: jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler
11: bipush 65
StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode int int int
StackMap stack: jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler int
12: invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
13: goto 17
14: StackMap locals:
StackMap stack:
aload 0
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.greedy:Z
ifeq 15
bipush 62
goto 16
StackMap locals:
StackMap stack: jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler
15: bipush 63
StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode int int int
StackMap stack: jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler int
16: invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
17: StackMap locals:
StackMap stack:
aload 0
iload 4
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addMemNum:(I)V
18: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
0 19 1 qn Ljdk/nashorn/internal/runtime/regexp/joni/ast/QuantifierNode;
0 19 2 targetLen I
0 19 3 emptyInfo I
1 19 4 numRepeat I
MethodParameters:
Name Flags
qn final
targetLen final
emptyInfo final
private static boolean cknOn(int);
descriptor: (I)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
ifle 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 ckn I
MethodParameters:
Name Flags
ckn final
private int compileNonCECLengthQuantifierNode(jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode);
descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/QuantifierNode;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.upper:I
invokestatic jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.isRepeatInfinite:(I)Z
istore 2
start local 2 1: aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.targetEmptyInfo:I
istore 3
start local 3 2: aload 0
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileLengthTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
istore 4
start local 4 3: aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.Node.getType:()I
iconst_3
if_icmpne 8
4: aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.greedy:Z
ifeq 8
iload 2
ifeq 8
5: aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.nextHeadExact:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
ifnull 7
6: iconst_2
iload 4
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
imul
iadd
ireturn
7: StackMap locals: int int int
StackMap stack:
iconst_1
iload 4
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
imul
iadd
ireturn
8: StackMap locals:
StackMap stack:
iconst_0
istore 5
start local 5 9: iload 3
ifeq 12
10: iload 4
iconst_4
iadd
istore 5
11: goto 13
12: StackMap locals: int
StackMap stack:
iload 4
istore 5
13: StackMap locals:
StackMap stack:
iload 2
ifeq 29
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
iconst_1
if_icmple 14
iload 4
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
imul
bipush 50
if_icmpgt 29
14: StackMap locals:
StackMap stack:
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
iconst_1
if_icmpne 17
iload 4
bipush 50
if_icmple 17
15: iconst_2
istore 6
start local 6 16: goto 18
end local 6 17: StackMap locals:
StackMap stack:
iload 4
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
imul
istore 6
start local 6 18: StackMap locals: int
StackMap stack:
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.greedy:Z
ifeq 27
19: aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.headExact:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
ifnull 22
20: iload 6
iconst_3
iload 5
iadd
iconst_2
iadd
iadd
istore 6
21: goto 41
StackMap locals:
StackMap stack:
22: aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.nextHeadExact:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
ifnull 25
23: iload 6
iconst_3
iload 5
iadd
iconst_2
iadd
iadd
istore 6
24: goto 41
25: StackMap locals:
StackMap stack:
iload 6
iconst_2
iload 5
iadd
iconst_2
iadd
iadd
istore 6
26: goto 41
27: StackMap locals:
StackMap stack:
iload 6
iconst_2
iload 5
iadd
iconst_2
iadd
iadd
istore 6
28: goto 41
end local 6 StackMap locals:
StackMap stack:
29: aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.upper:I
ifne 32
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.isRefered:Z
ifeq 32
30: iconst_2
iload 4
iadd
istore 6
start local 6 31: goto 41
end local 6 StackMap locals:
StackMap stack:
32: iload 2
ifne 37
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.greedy:Z
ifeq 37
33: aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.upper:I
iconst_1
if_icmpeq 34
iload 4
iconst_2
iadd
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.upper:I
imul
bipush 50
if_icmpgt 37
34: StackMap locals:
StackMap stack:
iload 4
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
imul
istore 6
start local 6 35: iload 6
iconst_2
iload 4
iadd
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.upper:I
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
isub
imul
iadd
istore 6
36: goto 41
end local 6 StackMap locals:
StackMap stack:
37: aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.greedy:Z
ifne 40
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.upper:I
iconst_1
if_icmpne 40
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
ifne 40
38: iconst_4
iload 4
iadd
istore 6
start local 6 39: goto 41
end local 6 40: StackMap locals:
StackMap stack:
iconst_2
iload 5
iadd
iconst_1
iadd
iconst_1
iadd
iconst_1
iadd
istore 6
start local 6 41: StackMap locals: int
StackMap stack:
iload 6
ireturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 42 0 this Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
0 42 1 qn Ljdk/nashorn/internal/runtime/regexp/joni/ast/QuantifierNode;
1 42 2 infinite Z
2 42 3 emptyInfo I
3 42 4 tlen I
9 42 5 modTLen I
16 17 6 len I
18 29 6 len I
31 32 6 len I
35 37 6 len I
39 40 6 len I
41 42 6 len I
MethodParameters:
Name Flags
qn final
protected void compileNonCECQuantifierNode(jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode);
descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/QuantifierNode;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=8, args_size=2
start local 0 start local 1 0: aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.upper:I
invokestatic jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.isRepeatInfinite:(I)Z
istore 2
start local 2 1: aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.targetEmptyInfo:I
istore 3
start local 3 2: aload 0
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileLengthTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
istore 4
start local 4 3: aload 1
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.isAnyCharStar:()Z
ifeq 18
4: aload 0
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileTreeNTimes:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)V
5: aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.nextHeadExact:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
ifnull 13
6: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.options:I
invokestatic jdk.nashorn.internal.runtime.regexp.joni.Option.isMultiline:(I)Z
ifeq 9
7: aload 0
bipush 28
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
8: goto 10
9: StackMap locals: int int int
StackMap stack:
aload 0
bipush 27
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
10: StackMap locals:
StackMap stack:
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.nextHeadExact:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
astore 5
start local 5 11: aload 0
aload 5
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.chars:[C
aload 5
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.p:I
iconst_1
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addChars:([CII)V
12: return
end local 5 13: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.options:I
invokestatic jdk.nashorn.internal.runtime.regexp.joni.Option.isMultiline:(I)Z
ifeq 16
14: aload 0
bipush 26
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
15: goto 17
16: StackMap locals:
StackMap stack:
aload 0
bipush 25
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
17: StackMap locals:
StackMap stack:
return
18: StackMap locals:
StackMap stack:
iload 3
ifeq 21
19: iload 4
iconst_4
iadd
istore 5
start local 5 20: goto 22
end local 5 21: StackMap locals:
StackMap stack:
iload 4
istore 5
start local 5 22: StackMap locals: int
StackMap stack:
iload 2
ifeq 59
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
iconst_1
if_icmple 23
iload 4
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
imul
bipush 50
if_icmpgt 59
23: StackMap locals:
StackMap stack:
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
iconst_1
if_icmpne 35
iload 4
bipush 50
if_icmple 35
24: aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.greedy:Z
ifeq 33
25: aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.headExact:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
ifnull 28
26: aload 0
bipush 55
iconst_3
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcodeRelAddr:(II)V
27: goto 36
StackMap locals:
StackMap stack:
28: aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.nextHeadExact:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
ifnull 31
29: aload 0
bipush 55
iconst_3
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcodeRelAddr:(II)V
30: goto 36
31: StackMap locals:
StackMap stack:
aload 0
bipush 55
iconst_2
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcodeRelAddr:(II)V
32: goto 36
33: StackMap locals:
StackMap stack:
aload 0
bipush 55
iconst_2
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcodeRelAddr:(II)V
34: goto 36
35: StackMap locals:
StackMap stack:
aload 0
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileTreeNTimes:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)V
36: StackMap locals:
StackMap stack:
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.greedy:Z
ifeq 55
37: aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.headExact:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
ifnull 44
38: aload 0
bipush 58
iload 5
iconst_2
iadd
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcodeRelAddr:(II)V
39: aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.headExact:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
astore 6
start local 6 40: aload 0
aload 6
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.chars:[C
aload 6
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.p:I
iconst_1
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addChars:([CII)V
41: aload 0
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
iload 3
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileTreeEmptyCheck:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)V
42: aload 0
bipush 55
iload 5
iconst_2
iadd
iconst_3
iadd
ineg
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcodeRelAddr:(II)V
end local 6 43: goto 80
StackMap locals:
StackMap stack:
44: aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.nextHeadExact:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
ifnull 51
45: aload 0
bipush 59
iload 5
iconst_2
iadd
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcodeRelAddr:(II)V
46: aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.nextHeadExact:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
astore 6
start local 6 47: aload 0
aload 6
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.chars:[C
aload 6
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.p:I
iconst_1
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addChars:([CII)V
48: aload 0
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
iload 3
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileTreeEmptyCheck:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)V
49: aload 0
bipush 55
iload 5
iconst_2
iadd
iconst_3
iadd
ineg
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcodeRelAddr:(II)V
end local 6 50: goto 80
51: StackMap locals:
StackMap stack:
aload 0
bipush 56
iload 5
iconst_2
iadd
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcodeRelAddr:(II)V
52: aload 0
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
iload 3
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileTreeEmptyCheck:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)V
53: aload 0
bipush 55
iload 5
iconst_2
iadd
iconst_2
iadd
ineg
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcodeRelAddr:(II)V
54: goto 80
55: StackMap locals:
StackMap stack:
aload 0
bipush 55
iload 5
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcodeRelAddr:(II)V
56: aload 0
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
iload 3
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileTreeEmptyCheck:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)V
57: aload 0
bipush 56
iload 5
iconst_2
iadd
ineg
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcodeRelAddr:(II)V
58: goto 80
StackMap locals:
StackMap stack:
59: aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.upper:I
ifne 63
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.isRefered:Z
ifeq 63
60: aload 0
bipush 55
iload 4
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcodeRelAddr:(II)V
61: aload 0
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)V
62: goto 80
StackMap locals:
StackMap stack:
63: iload 2
ifne 74
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.greedy:Z
ifeq 74
64: aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.upper:I
iconst_1
if_icmpeq 65
iload 4
iconst_2
iadd
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.upper:I
imul
bipush 50
if_icmpgt 74
65: StackMap locals:
StackMap stack:
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.upper:I
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
isub
istore 6
start local 6 66: aload 0
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileTreeNTimes:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)V
67: iconst_0
istore 7
start local 7 68: goto 72
69: StackMap locals: int int
StackMap stack:
aload 0
bipush 56
iload 6
iload 7
isub
iload 4
imul
iload 6
iload 7
isub
iconst_1
isub
iconst_2
imul
iadd
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcodeRelAddr:(II)V
70: aload 0
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)V
71: iinc 7 1
StackMap locals:
StackMap stack:
72: iload 7
iload 6
if_icmplt 69
end local 7 end local 6 73: goto 80
StackMap locals:
StackMap stack:
74: aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.greedy:Z
ifne 79
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.upper:I
iconst_1
if_icmpne 79
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
ifne 79
75: aload 0
bipush 56
iconst_2
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcodeRelAddr:(II)V
76: aload 0
bipush 55
iload 4
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcodeRelAddr:(II)V
77: aload 0
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)V
78: goto 80
79: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 5
iload 3
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileRangeRepeatNode:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/QuantifierNode;II)V
80: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 81 0 this Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
0 81 1 qn Ljdk/nashorn/internal/runtime/regexp/joni/ast/QuantifierNode;
1 81 2 infinite Z
2 81 3 emptyInfo I
3 81 4 tlen I
11 13 5 sn Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
20 21 5 modTLen I
22 81 5 modTLen I
40 43 6 sn Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
47 50 6 sn Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
66 73 6 n I
68 73 7 i I
MethodParameters:
Name Flags
qn final
private int compileLengthOptionNode(jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode);
descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/EncloseNode;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.options:I
istore 2
start local 2 1: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.option:I
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.options:I
2: aload 0
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileLengthTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
istore 3
start local 3 3: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
iload 2
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.options:I
4: iload 2
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.option:I
ixor
invokestatic jdk.nashorn.internal.runtime.regexp.joni.Option.isDynamic:(I)Z
ifeq 6
5: iconst_5
iload 3
iadd
iconst_2
iadd
ireturn
6: StackMap locals: int int
StackMap stack:
iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
0 7 1 node Ljdk/nashorn/internal/runtime/regexp/joni/ast/EncloseNode;
1 7 2 prev I
3 7 3 tlen I
MethodParameters:
Name Flags
node final
protected void compileOptionNode(jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode);
descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/EncloseNode;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.options:I
istore 2
start local 2 1: iload 2
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.option:I
ixor
invokestatic jdk.nashorn.internal.runtime.regexp.joni.Option.isDynamic:(I)Z
ifeq 5
2: aload 0
bipush 86
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.option:I
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcodeOption:(II)V
3: aload 0
bipush 87
iload 2
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcodeOption:(II)V
4: aload 0
bipush 54
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
5: StackMap locals: int
StackMap stack:
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.option:I
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.options:I
6: aload 0
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)V
7: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
iload 2
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.options:I
8: iload 2
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.option:I
ixor
invokestatic jdk.nashorn.internal.runtime.regexp.joni.Option.isDynamic:(I)Z
ifeq 10
9: aload 0
bipush 87
iload 2
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcodeOption:(II)V
10: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
0 11 1 node Ljdk/nashorn/internal/runtime/regexp/joni/ast/EncloseNode;
1 11 2 prev I
MethodParameters:
Name Flags
node final
private int compileLengthEncloseNode(jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode);
descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/EncloseNode;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.isOption:()Z
ifeq 2
1: aload 0
aload 1
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileLengthOptionNode:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/EncloseNode;)I
ireturn
2: StackMap locals:
StackMap stack:
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
ifnull 5
3: aload 0
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileLengthTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
istore 2
start local 2 4: goto 6
end local 2 5: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 6: StackMap locals: int
StackMap stack:
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.type:I
tableswitch { // 1 - 4
1: 7
2: 22
3: 22
4: 15
default: 22
}
7: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.btMemStart:I
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.regNum:I
invokestatic jdk.nashorn.internal.runtime.regexp.joni.BitStatus.bsAt:(II)Z
ifeq 10
8: iconst_2
istore 3
start local 3 9: goto 11
end local 3 10: StackMap locals:
StackMap stack:
iconst_2
istore 3
start local 3 11: StackMap locals: int
StackMap stack:
iload 3
iload 2
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.btMemEnd:I
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.regNum:I
invokestatic jdk.nashorn.internal.runtime.regexp.joni.BitStatus.bsAt:(II)Z
ifeq 12
iconst_2
goto 13
StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode int int
StackMap stack: int int
12: iconst_2
StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode int int
StackMap stack: int int int
13: iadd
iadd
istore 3
14: goto 24
end local 3 15: StackMap locals:
StackMap stack:
aload 1
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.isStopBtSimpleRepeat:()Z
ifeq 20
16: aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode
astore 4
start local 4 17: aload 0
aload 4
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileLengthTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
istore 2
18: iload 2
aload 4
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
imul
iconst_2
iadd
iload 2
iadd
iconst_1
iadd
iconst_2
iadd
istore 3
end local 4 start local 3 19: goto 24
end local 3 20: StackMap locals:
StackMap stack:
iconst_1
iload 2
iadd
iconst_1
iadd
istore 3
start local 3 21: goto 24
end local 3 22: StackMap locals:
StackMap stack:
aload 0
ldc "internal parser error (bug)"
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.newInternalException:(Ljava/lang/String;)V
23: iconst_0
ireturn
start local 3 24: StackMap locals: int
StackMap stack:
iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
0 25 1 node Ljdk/nashorn/internal/runtime/regexp/joni/ast/EncloseNode;
4 5 2 tlen I
6 25 2 tlen I
9 10 3 len I
11 15 3 len I
19 20 3 len I
21 22 3 len I
24 25 3 len I
17 19 4 qn Ljdk/nashorn/internal/runtime/regexp/joni/ast/QuantifierNode;
MethodParameters:
Name Flags
node final
protected void compileEncloseNode(jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode);
descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/EncloseNode;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.type:I
tableswitch { // 1 - 4
1: 1
2: 26
3: 26
4: 13
default: 26
}
1: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.btMemStart:I
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.regNum:I
invokestatic jdk.nashorn.internal.runtime.regexp.joni.BitStatus.bsAt:(II)Z
ifeq 4
2: aload 0
bipush 49
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
3: goto 5
4: StackMap locals:
StackMap stack:
aload 0
bipush 48
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
5: StackMap locals:
StackMap stack:
aload 0
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.regNum:I
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addMemNum:(I)V
6: aload 0
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)V
7: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.btMemEnd:I
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.regNum:I
invokestatic jdk.nashorn.internal.runtime.regexp.joni.BitStatus.bsAt:(II)Z
ifeq 10
8: aload 0
bipush 50
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
9: goto 11
10: StackMap locals:
StackMap stack:
aload 0
bipush 52
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
11: StackMap locals:
StackMap stack:
aload 0
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.regNum:I
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addMemNum:(I)V
12: goto 27
13: StackMap locals:
StackMap stack:
aload 1
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.isStopBtSimpleRepeat:()Z
ifeq 22
14: aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode
astore 3
start local 3 15: aload 0
aload 3
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
aload 3
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileTreeNTimes:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)V
16: aload 0
aload 3
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileLengthTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
istore 2
start local 2 17: aload 0
bipush 56
iload 2
iconst_1
iadd
iconst_2
iadd
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcodeRelAddr:(II)V
18: aload 0
aload 3
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)V
19: aload 0
bipush 57
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
20: aload 0
bipush 55
iconst_2
iload 2
iadd
iconst_1
iadd
iconst_2
iadd
ineg
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcodeRelAddr:(II)V
end local 3 21: goto 27
end local 2 22: StackMap locals:
StackMap stack:
aload 0
bipush 74
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
23: aload 0
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)V
24: aload 0
bipush 75
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
25: goto 27
26: StackMap locals:
StackMap stack:
aload 0
ldc "internal parser error (bug)"
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.newInternalException:(Ljava/lang/String;)V
27: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
0 28 1 node Ljdk/nashorn/internal/runtime/regexp/joni/ast/EncloseNode;
17 22 2 len I
15 21 3 qn Ljdk/nashorn/internal/runtime/regexp/joni/ast/QuantifierNode;
MethodParameters:
Name Flags
node final
private int compileLengthAnchorNode(jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode);
descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/AnchorNode;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
ifnull 3
1: aload 0
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileLengthTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
istore 2
start local 2 2: goto 4
end local 2 3: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 4: StackMap locals: int
StackMap stack:
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.type:I
lookupswitch { // 4
1024: 5
2048: 7
4096: 9
8192: 11
default: 13
}
5: StackMap locals:
StackMap stack:
iconst_1
iload 2
iadd
iconst_1
iadd
istore 3
start local 3 6: goto 14
end local 3 7: StackMap locals:
StackMap stack:
iconst_2
iload 2
iadd
iconst_1
iadd
istore 3
start local 3 8: goto 14
end local 3 9: StackMap locals:
StackMap stack:
iconst_2
iload 2
iadd
istore 3
start local 3 10: goto 14
end local 3 11: StackMap locals:
StackMap stack:
iconst_3
iload 2
iadd
iconst_1
iadd
istore 3
start local 3 12: goto 14
end local 3 13: StackMap locals:
StackMap stack:
iconst_1
istore 3
start local 3 14: StackMap locals: int
StackMap stack:
iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
0 15 1 node Ljdk/nashorn/internal/runtime/regexp/joni/ast/AnchorNode;
2 3 2 tlen I
4 15 2 tlen I
6 7 3 len I
8 9 3 len I
10 11 3 len I
12 13 3 len I
14 15 3 len I
MethodParameters:
Name Flags
node final
protected void compileAnchorNode(jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode);
descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/AnchorNode;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.type:I
lookupswitch { // 14
1: 1
2: 3
4: 6
8: 2
16: 5
32: 4
64: 7
128: 9
256: 11
512: 13
1024: 15
2048: 19
4096: 24
8192: 34
default: 46
}
1: StackMap locals:
StackMap stack:
aload 0
bipush 35
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
goto 47
2: StackMap locals:
StackMap stack:
aload 0
bipush 36
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
goto 47
3: StackMap locals:
StackMap stack:
aload 0
bipush 37
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
goto 47
4: StackMap locals:
StackMap stack:
aload 0
bipush 38
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
goto 47
5: StackMap locals:
StackMap stack:
aload 0
bipush 39
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
goto 47
6: StackMap locals:
StackMap stack:
aload 0
bipush 40
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
goto 47
7: StackMap locals:
StackMap stack:
aload 0
bipush 31
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
8: goto 47
9: StackMap locals:
StackMap stack:
aload 0
bipush 32
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
10: goto 47
11: StackMap locals:
StackMap stack:
aload 0
bipush 33
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
12: goto 47
13: StackMap locals:
StackMap stack:
aload 0
bipush 34
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
14: goto 47
15: StackMap locals:
StackMap stack:
aload 0
bipush 70
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
16: aload 0
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)V
17: aload 0
bipush 71
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
18: goto 47
19: StackMap locals:
StackMap stack:
aload 0
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileLengthTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
istore 2
start local 2 20: aload 0
bipush 72
iload 2
iconst_1
iadd
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcodeRelAddr:(II)V
21: aload 0
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)V
22: aload 0
bipush 73
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
23: goto 47
end local 2 24: StackMap locals:
StackMap stack:
aload 0
bipush 76
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
25: aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.charLength:I
ifge 30
26: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.analyser:Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getCharLengthTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
istore 3
start local 3 27: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.analyser:Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.returnCode:I
ifeq 31
28: aload 0
ldc "invalid pattern in look-behind"
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.newSyntaxException:(Ljava/lang/String;)V
29: goto 31
end local 3 30: StackMap locals:
StackMap stack:
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.charLength:I
istore 3
start local 3 31: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode top int
StackMap stack:
aload 0
iload 3
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addLength:(I)V
32: aload 0
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)V
33: goto 47
end local 3 34: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode
StackMap stack:
aload 0
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileLengthTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
istore 2
start local 2 35: aload 0
bipush 77
iload 2
iconst_1
iadd
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcodeRelAddr:(II)V
36: aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.charLength:I
ifge 41
37: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.analyser:Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getCharLengthTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
istore 3
start local 3 38: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.analyser:Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.returnCode:I
ifeq 42
39: aload 0
ldc "invalid pattern in look-behind"
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.newSyntaxException:(Ljava/lang/String;)V
40: goto 42
end local 3 41: StackMap locals: int
StackMap stack:
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.charLength:I
istore 3
start local 3 42: StackMap locals: int
StackMap stack:
aload 0
iload 3
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addLength:(I)V
43: aload 0
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)V
44: aload 0
bipush 78
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
45: goto 47
end local 3 end local 2 46: StackMap locals:
StackMap stack:
aload 0
ldc "internal parser error (bug)"
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.newInternalException:(Ljava/lang/String;)V
47: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 48 0 this Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
0 48 1 node Ljdk/nashorn/internal/runtime/regexp/joni/ast/AnchorNode;
20 24 2 len I
35 46 2 len I
27 30 3 n I
31 34 3 n I
38 41 3 n I
42 46 3 n I
MethodParameters:
Name Flags
node final
private int compileLengthTree(jdk.nashorn.internal.runtime.regexp.joni.ast.Node);
descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: aload 1
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.Node.getType:()I
tableswitch { // 0 - 9
0: 13
1: 19
2: 21
3: 21
4: 23
5: 29
6: 31
7: 33
8: 2
9: 6
default: 35
}
2: StackMap locals: int
StackMap stack:
aload 1
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
astore 3
start local 3 3: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
StackMap stack:
iload 2
aload 0
aload 3
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.car:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileLengthTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
iadd
istore 2
4: aload 3
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.cdr:Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
dup
astore 3
ifnonnull 3
5: goto 36
end local 3 6: StackMap locals:
StackMap stack:
aload 1
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
astore 4
start local 4 7: iconst_0
istore 5
start local 5 8: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler jdk.nashorn.internal.runtime.regexp.joni.ast.Node int top jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode int
StackMap stack:
iload 2
aload 0
aload 4
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.car:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileLengthTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
iadd
istore 2
9: iinc 5 1
10: aload 4
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.cdr:Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
dup
astore 4
ifnonnull 8
11: iload 2
iconst_4
iload 5
iconst_1
isub
imul
iadd
istore 2
12: goto 36
end local 5 end local 4 13: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler jdk.nashorn.internal.runtime.regexp.joni.ast.Node int
StackMap stack:
aload 1
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
astore 6
start local 6 14: aload 6
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.isRaw:()Z
ifeq 17
15: aload 6
invokestatic jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileLengthStringRawNode:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;)I
istore 2
16: goto 36
17: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler jdk.nashorn.internal.runtime.regexp.joni.ast.Node int top top top jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
StackMap stack:
aload 6
invokestatic jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileLengthStringNode:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
istore 2
18: goto 36
end local 6 19: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler jdk.nashorn.internal.runtime.regexp.joni.ast.Node int
StackMap stack:
aload 1
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode
invokestatic jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileLengthCClassNode:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/CClassNode;)I
istore 2
20: goto 36
21: StackMap locals:
StackMap stack:
iconst_1
istore 2
22: goto 36
23: StackMap locals:
StackMap stack:
aload 1
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode
astore 7
start local 7 24: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.options:I
invokestatic jdk.nashorn.internal.runtime.regexp.joni.Option.isIgnoreCase:(I)Z
ifne 26
aload 7
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode.backRef:I
iconst_2
if_icmpgt 26
25: iconst_1
goto 27
StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler jdk.nashorn.internal.runtime.regexp.joni.ast.Node int top top top top jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode
StackMap stack:
26: iconst_2
27: StackMap locals:
StackMap stack: int
istore 2
28: goto 36
end local 7 29: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler jdk.nashorn.internal.runtime.regexp.joni.ast.Node int
StackMap stack:
aload 0
aload 1
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileNonCECLengthQuantifierNode:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/QuantifierNode;)I
istore 2
30: goto 36
31: StackMap locals:
StackMap stack:
aload 0
aload 1
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileLengthEncloseNode:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/EncloseNode;)I
istore 2
32: goto 36
33: StackMap locals:
StackMap stack:
aload 0
aload 1
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compileLengthAnchorNode:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/AnchorNode;)I
istore 2
34: goto 36
35: StackMap locals:
StackMap stack:
aload 0
ldc "internal parser error (bug)"
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.newInternalException:(Ljava/lang/String;)V
36: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
0 37 1 node Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
1 37 2 len I
3 6 3 lin Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
7 13 4 aln Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
8 13 5 n I
14 19 6 sn Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
24 29 7 br Ljdk/nashorn/internal/runtime/regexp/joni/ast/BackRefNode;
MethodParameters:
Name Flags
node final
private void ensure(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: iload 1
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.code:[I
arraylength
if_icmplt 8
1: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.code:[I
arraylength
iconst_1
ishl
istore 2
start local 2 2: goto 4
3: StackMap locals: int
StackMap stack:
iload 2
iconst_1
ishl
istore 2
4: StackMap locals:
StackMap stack:
iload 2
iload 1
if_icmple 3
5: iload 2
newarray 10
astore 3
start local 3 6: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.code:[I
iconst_0
aload 3
iconst_0
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.code:[I
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
7: aload 0
aload 3
putfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.code:[I
end local 3 end local 2 8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
0 9 1 size I
2 8 2 length I
6 8 3 tmp [I
MethodParameters:
Name Flags
size final
private void addInt(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.codeLength:I
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.code:[I
arraylength
if_icmplt 4
1: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.code:[I
arraylength
iconst_1
ishl
newarray 10
astore 2
start local 2 2: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.code:[I
iconst_0
aload 2
iconst_0
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.code:[I
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
3: aload 0
aload 2
putfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.code:[I
end local 2 4: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.code:[I
aload 0
dup
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.codeLength:I
dup_x1
iconst_1
iadd
putfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.codeLength:I
iload 1
iastore
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
0 6 1 i I
2 4 2 tmp [I
MethodParameters:
Name Flags
i final
void setInt(int, int);
descriptor: (II)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 2
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.ensure:(I)V
1: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.code:[I
iload 2
iload 1
iastore
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
0 3 1 i I
0 3 2 offset I
MethodParameters:
Name Flags
i final
offset final
private void addObject(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.operands:[Ljava/lang/Object;
ifnonnull 3
1: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
iconst_4
anewarray java.lang.Object
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.operands:[Ljava/lang/Object;
2: goto 7
StackMap locals:
StackMap stack:
3: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.operandLength:I
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.operands:[Ljava/lang/Object;
arraylength
if_icmplt 7
4: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.operands:[Ljava/lang/Object;
arraylength
iconst_1
ishl
anewarray java.lang.Object
astore 2
start local 2 5: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.operands:[Ljava/lang/Object;
iconst_0
aload 2
iconst_0
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.operands:[Ljava/lang/Object;
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
6: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
aload 2
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.operands:[Ljava/lang/Object;
end local 2 7: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.operandLength:I
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addInt:(I)V
8: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.operands:[Ljava/lang/Object;
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
dup
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.operandLength:I
dup_x1
iconst_1
iadd
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.operandLength:I
aload 1
aastore
9: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
0 10 1 o Ljava/lang/Object;
5 7 2 tmp [Ljava/lang/Object;
MethodParameters:
Name Flags
o final
private void addChars(char[], int, int);
descriptor: ([CII)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.codeLength:I
iload 3
iadd
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.ensure:(I)V
1: iload 2
istore 4
start local 4 2: iload 4
iload 3
iadd
istore 5
start local 5 3: goto 5
4: StackMap locals: int int
StackMap stack:
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.code:[I
aload 0
dup
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.codeLength:I
dup_x1
iconst_1
iadd
putfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.codeLength:I
aload 1
iload 4
iinc 4 1
caload
iastore
5: StackMap locals:
StackMap stack:
iload 4
iload 5
if_icmplt 4
6: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
0 7 1 chars [C
0 7 2 pp I
0 7 3 length I
2 7 4 p I
3 7 5 end I
MethodParameters:
Name Flags
chars final
pp final
length final
private void addInts(int[], int);
descriptor: ([II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.codeLength:I
iload 2
iadd
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.ensure:(I)V
1: aload 1
iconst_0
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.code:[I
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.codeLength:I
iload 2
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
2: aload 0
dup
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.codeLength:I
iload 2
iadd
putfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.codeLength:I
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
0 4 1 ints [I
0 4 2 length I
MethodParameters:
Name Flags
ints final
length final
private void addOpcode(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addInt:(I)V
1: iload 1
tableswitch { // 25 - 85
25: 2
26: 2
27: 2
28: 2
29: 4
30: 4
31: 4
32: 4
33: 4
34: 4
35: 4
36: 4
37: 4
38: 4
39: 4
40: 4
41: 4
42: 4
43: 4
44: 4
45: 4
46: 4
47: 4
48: 4
49: 2
50: 2
51: 2
52: 4
53: 2
54: 4
55: 4
56: 2
57: 4
58: 2
59: 2
60: 2
61: 2
62: 4
63: 2
64: 2
65: 2
66: 2
67: 4
68: 4
69: 2
70: 2
71: 4
72: 2
73: 4
74: 2
75: 4
76: 4
77: 2
78: 4
79: 2
80: 2
81: 2
82: 2
83: 2
84: 2
85: 2
default: 4
}
2: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
iconst_1
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.stackNeeded:Z
3: goto 4
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
0 5 1 opcode I
MethodParameters:
Name Flags
opcode final
private void addStateCheckNum(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addInt:(I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
0 2 1 num I
MethodParameters:
Name Flags
num final
private void addRelAddr(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addInt:(I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
0 2 1 addr I
MethodParameters:
Name Flags
addr final
private void addAbsAddr(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addInt:(I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
0 2 1 addr I
MethodParameters:
Name Flags
addr final
private void addLength(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addInt:(I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
0 2 1 length I
MethodParameters:
Name Flags
length final
private void addMemNum(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addInt:(I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
0 2 1 num I
MethodParameters:
Name Flags
num final
private void addPointer(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addObject:(Ljava/lang/Object;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
0 2 1 o Ljava/lang/Object;
MethodParameters:
Name Flags
o final
private void addOption(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addInt:(I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
0 2 1 option I
MethodParameters:
Name Flags
option final
private void addOpcodeRelAddr(int, int);
descriptor: (II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
1: aload 0
iload 2
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addRelAddr:(I)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
0 3 1 opcode I
0 3 2 addr I
MethodParameters:
Name Flags
opcode final
addr final
private void addOpcodeOption(int, int);
descriptor: (II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOpcode:(I)V
1: aload 0
iload 2
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.addOption:(I)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
0 3 1 opcode I
0 3 2 option I
MethodParameters:
Name Flags
opcode final
option final
private void addTemplate(char[]);
descriptor: ([C)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.templateNum:I
ifne 3
1: aload 0
iconst_2
anewarray char[]
putfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.templates:[[C
2: goto 7
StackMap locals:
StackMap stack:
3: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.templateNum:I
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.templates:[[C
arraylength
if_icmpne 7
4: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.templateNum:I
iconst_2
imul
anewarray char[]
astore 2
start local 2 5: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.templates:[[C
iconst_0
aload 2
iconst_0
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.templateNum:I
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
6: aload 0
aload 2
putfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.templates:[[C
end local 2 7: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.templates:[[C
aload 0
dup
getfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.templateNum:I
dup_x1
iconst_1
iadd
putfield jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.templateNum:I
aload 1
aastore
8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler;
0 9 1 chars [C
5 7 2 tmp [[C
MethodParameters:
Name Flags
chars final
}
SourceFile: "ArrayCompiler.java"