final class jdk.nashorn.internal.runtime.regexp.joni.Analyser extends jdk.nashorn.internal.runtime.regexp.joni.Parser
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: jdk.nashorn.internal.runtime.regexp.joni.Analyser
super_class: jdk.nashorn.internal.runtime.regexp.joni.Parser
{
private static final int GET_CHAR_LEN_VARLEN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -1
private static final int GET_CHAR_LEN_TOP_ALT_VARLEN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -2
private static final int THRESHOLD_CASE_FOLD_ALT_FOR_EXPANSION;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8
private static final int IN_ALT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int IN_NOT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int IN_REPEAT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private static final int IN_VAR_REPEAT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8
private static final int EXPAND_STRING_MAX_LENGTH;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 100
private static final int MAX_NODE_OPT_INFO_REF_COUNT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 5
protected void <init>(jdk.nashorn.internal.runtime.regexp.joni.ScanEnvironment, char[], int, int);
descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment;[CII)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
iload 3
iload 4
invokespecial jdk.nashorn.internal.runtime.regexp.joni.Parser.<init>:(Ljdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment;[CII)V
1: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;
0 2 1 env Ljdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment;
0 2 2 chars [C
0 2 3 p I
0 2 4 end I
MethodParameters:
Name Flags
env final
chars final
p final
end final
protected final void compile();
descriptor: ()V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.reset:()V
1: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
iconst_0
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.numMem:I
2: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
iconst_0
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.numRepeat:I
3: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
iconst_0
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.numNullCheck:I
4: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
aconst_null
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.repeatRangeLo:[I
5: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
aconst_null
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.repeatRangeHi:[I
6: aload 0
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.parse:()Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
pop
7: aload 0
aload 0
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.root:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
iconst_0
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.setupTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
putfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.root:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
8: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.env:Ljdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment;
getfield jdk.nashorn.internal.runtime.regexp.joni.ScanEnvironment.captureHistory:I
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.captureHistory:I
9: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.env:Ljdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment;
getfield jdk.nashorn.internal.runtime.regexp.joni.ScanEnvironment.btMemStart:I
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.btMemStart:I
10: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.env:Ljdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment;
getfield jdk.nashorn.internal.runtime.regexp.joni.ScanEnvironment.btMemEnd:I
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.btMemEnd:I
11: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.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.isFindCondition:(I)Z
ifeq 14
12: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
invokestatic jdk.nashorn.internal.runtime.regexp.joni.BitStatus.bsAll:()I
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.btMemEnd:I
13: goto 16
14: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.env:Ljdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment;
getfield jdk.nashorn.internal.runtime.regexp.joni.ScanEnvironment.btMemEnd:I
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.btMemEnd:I
15: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
dup
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.btMemEnd:I
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.captureHistory:I
ior
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.btMemEnd:I
16: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Regex.clearOptimizeInfo:()V
17: aload 0
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.root:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.setOptimizedInfoFromTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)V
18: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.env:Ljdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment;
aconst_null
putfield jdk.nashorn.internal.runtime.regexp.joni.ScanEnvironment.memNodes:[Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
19: new jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler
dup
aload 0
invokespecial jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.<init>:(Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;)V
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compile:()V
20: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.numRepeat:I
ifne 21
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.btMemEnd:I
ifeq 23
21: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
iconst_2
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.stackPopLevel:I
22: goto 27
23: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.btMemStart:I
ifeq 26
24: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
iconst_1
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.stackPopLevel:I
25: goto 27
26: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
iconst_0
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.stackPopLevel:I
27: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;
private void swap(jdk.nashorn.internal.runtime.regexp.joni.ast.Node, jdk.nashorn.internal.runtime.regexp.joni.ast.Node);
descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.Node.swap:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)V
1: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.root:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
aload 2
if_acmpne 4
2: aload 0
aload 1
putfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.root:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
3: goto 6
StackMap locals:
StackMap stack:
4: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.root:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
aload 1
if_acmpne 6
5: aload 0
aload 2
putfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.root:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
6: StackMap locals:
StackMap stack:
return
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/Analyser;
0 7 1 a Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
0 7 2 b Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
MethodParameters:
Name Flags
a final
b final
private int quantifiersMemoryInfo(jdk.nashorn.internal.runtime.regexp.joni.ast.Node);
descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=6, 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: 18
1: 18
2: 18
3: 18
4: 18
5: 8
6: 12
7: 18
8: 2
9: 2
default: 18
}
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:
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.Analyser.quantifiersMemoryInfo:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
istore 4
start local 4 4: iload 4
iload 2
if_icmple 6
5: iload 4
istore 2
end local 4 6: StackMap locals:
StackMap stack:
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
7: goto 18
end local 3 8: StackMap locals:
StackMap stack:
aload 1
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode
astore 4
start local 4 9: aload 4
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.upper:I
ifeq 18
10: 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.Analyser.quantifiersMemoryInfo:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
istore 2
11: goto 18
end local 4 12: StackMap locals:
StackMap stack:
aload 1
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode
astore 5
start local 5 13: aload 5
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.type:I
tableswitch { // 1 - 4
1: 14
2: 15
3: 17
4: 15
default: 17
}
14: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int top top jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode
StackMap stack:
iconst_2
ireturn
15: StackMap locals:
StackMap stack:
aload 0
aload 5
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.Analyser.quantifiersMemoryInfo:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
istore 2
16: goto 18
17: StackMap locals:
StackMap stack:
goto 18
end local 5 18: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int
StackMap stack:
iload 2
ireturn
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/Analyser;
0 19 1 node Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
1 19 2 info I
3 8 3 can Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
4 6 4 v I
9 12 4 qn Ljdk/nashorn/internal/runtime/regexp/joni/ast/QuantifierNode;
13 18 5 en Ljdk/nashorn/internal/runtime/regexp/joni/ast/EncloseNode;
MethodParameters:
Name Flags
node final
private int getMinMatchLength(jdk.nashorn.internal.runtime.regexp.joni.ast.Node);
descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, 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: 23
1: 27
2: 25
3: 27
4: 2
5: 29
6: 34
7: 46
8: 9
9: 13
default: 46
}
2: StackMap locals: int
StackMap stack:
aload 1
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode
astore 3
start local 3 3: aload 3
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode.isRecursion:()Z
ifeq 5
4: goto 46
5: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode
StackMap stack:
aload 3
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode.backRef:I
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.env:Ljdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment;
getfield jdk.nashorn.internal.runtime.regexp.joni.ScanEnvironment.numMem:I
if_icmple 7
6: new jdk.nashorn.internal.runtime.regexp.joni.exception.ValueException
dup
ldc "invalid backref number"
invokespecial jdk.nashorn.internal.runtime.regexp.joni.exception.ValueException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.env:Ljdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment;
getfield jdk.nashorn.internal.runtime.regexp.joni.ScanEnvironment.memNodes:[Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
aload 3
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode.backRef:I
aaload
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getMinMatchLength:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
istore 2
8: goto 46
end local 3 9: StackMap locals:
StackMap stack:
aload 1
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
astore 4
start local 4 10: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int top jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
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.Analyser.getMinMatchLength:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
iadd
istore 2
11: aload 4
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.cdr:Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
dup
astore 4
ifnonnull 10
12: goto 46
end local 4 13: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int
StackMap stack:
aload 1
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
astore 5
start local 5 14: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int top top jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
StackMap stack:
aload 5
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.car:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
astore 6
start local 6 15: aload 0
aload 6
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getMinMatchLength:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
istore 7
start local 7 16: aload 5
aload 1
if_acmpne 19
17: iload 7
istore 2
18: goto 21
StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.Node int
StackMap stack:
19: iload 2
iload 7
if_icmple 21
20: iload 7
istore 2
end local 7 end local 6 21: StackMap locals:
StackMap stack:
aload 5
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.cdr:Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
dup
astore 5
ifnonnull 14
22: goto 46
end local 5 23: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int
StackMap stack:
aload 1
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.length:()I
istore 2
24: goto 46
25: StackMap locals:
StackMap stack:
iconst_1
istore 2
26: goto 46
27: StackMap locals:
StackMap stack:
iconst_1
istore 2
28: goto 46
29: StackMap locals:
StackMap stack:
aload 1
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode
astore 6
start local 6 30: aload 6
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
ifle 46
31: aload 0
aload 6
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.Analyser.getMinMatchLength:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
istore 2
32: iload 2
aload 6
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
invokestatic jdk.nashorn.internal.runtime.regexp.joni.MinMaxLen.distanceMultiply:(II)I
istore 2
33: goto 46
end local 6 34: StackMap locals:
StackMap stack:
aload 1
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode
astore 7
start local 7 35: aload 7
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.type:I
tableswitch { // 1 - 4
1: 36
2: 43
3: 45
4: 43
default: 45
}
36: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int top top top top jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode
StackMap stack:
aload 7
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.isMinFixed:()Z
ifeq 39
37: aload 7
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.minLength:I
istore 2
38: goto 46
39: StackMap locals:
StackMap stack:
aload 0
aload 7
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.Analyser.getMinMatchLength:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
istore 2
40: aload 7
iload 2
putfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.minLength:I
41: aload 7
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.setMinFixed:()V
42: goto 46
43: StackMap locals:
StackMap stack:
aload 0
aload 7
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.Analyser.getMinMatchLength:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
istore 2
44: goto 46
45: StackMap locals:
StackMap stack:
goto 46
end local 7 46: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 47 0 this Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;
0 47 1 node Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
1 47 2 min I
3 9 3 br Ljdk/nashorn/internal/runtime/regexp/joni/ast/BackRefNode;
10 13 4 can Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
14 23 5 y Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
15 21 6 x Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
16 21 7 tmin I
30 34 6 qn Ljdk/nashorn/internal/runtime/regexp/joni/ast/QuantifierNode;
35 46 7 en Ljdk/nashorn/internal/runtime/regexp/joni/ast/EncloseNode;
MethodParameters:
Name Flags
node final
private int getMaxMatchLength(jdk.nashorn.internal.runtime.regexp.joni.ast.Node);
descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=9, 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: 17
2: 15
3: 17
4: 19
5: 29
6: 38
7: 50
8: 2
9: 7
default: 50
}
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:
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.Analyser.getMaxMatchLength:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
istore 4
start local 4 4: iload 2
iload 4
invokestatic jdk.nashorn.internal.runtime.regexp.joni.MinMaxLen.distanceAdd:(II)I
istore 2
end local 4 5: 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
6: goto 50
end local 3 7: StackMap locals:
StackMap stack:
aload 1
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
astore 4
start local 4 8: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int top jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
StackMap stack:
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.Analyser.getMaxMatchLength:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
istore 5
start local 5 9: iload 2
iload 5
if_icmpge 11
10: iload 5
istore 2
end local 5 11: StackMap locals:
StackMap stack:
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
12: goto 50
end local 4 13: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int
StackMap stack:
aload 1
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.length:()I
istore 2
14: goto 50
15: StackMap locals:
StackMap stack:
iconst_1
istore 2
16: goto 50
17: StackMap locals:
StackMap stack:
iconst_1
istore 2
18: goto 50
19: StackMap locals:
StackMap stack:
aload 1
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode
astore 5
start local 5 20: aload 5
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode.isRecursion:()Z
ifeq 23
21: ldc 2147483647
istore 2
22: goto 50
23: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int top top jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode
StackMap stack:
aload 5
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode.backRef:I
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.env:Ljdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment;
getfield jdk.nashorn.internal.runtime.regexp.joni.ScanEnvironment.numMem:I
if_icmple 25
24: new jdk.nashorn.internal.runtime.regexp.joni.exception.ValueException
dup
ldc "invalid backref number"
invokespecial jdk.nashorn.internal.runtime.regexp.joni.exception.ValueException.<init>:(Ljava/lang/String;)V
athrow
25: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.env:Ljdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment;
getfield jdk.nashorn.internal.runtime.regexp.joni.ScanEnvironment.memNodes:[Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
aload 5
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode.backRef:I
aaload
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getMaxMatchLength:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
istore 6
start local 6 26: iload 2
iload 6
if_icmpge 50
27: iload 6
istore 2
28: goto 50
end local 6 end local 5 29: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int
StackMap stack:
aload 1
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode
astore 7
start local 7 30: aload 7
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.upper:I
ifeq 50
31: aload 0
aload 7
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.Analyser.getMaxMatchLength:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
istore 2
32: iload 2
ifeq 50
33: aload 7
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.upper:I
invokestatic jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.isRepeatInfinite:(I)Z
ifne 36
34: iload 2
aload 7
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.upper:I
invokestatic jdk.nashorn.internal.runtime.regexp.joni.MinMaxLen.distanceMultiply:(II)I
istore 2
35: goto 50
36: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int top top top top jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode
StackMap stack:
ldc 2147483647
istore 2
37: goto 50
end local 7 38: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int
StackMap stack:
aload 1
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode
astore 8
start local 8 39: aload 8
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.type:I
tableswitch { // 1 - 4
1: 40
2: 47
3: 49
4: 47
default: 49
}
40: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int top top top top top jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode
StackMap stack:
aload 8
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.isMaxFixed:()Z
ifeq 43
41: aload 8
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.maxLength:I
istore 2
42: goto 50
43: StackMap locals:
StackMap stack:
aload 0
aload 8
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.Analyser.getMaxMatchLength:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
istore 2
44: aload 8
iload 2
putfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.maxLength:I
45: aload 8
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.setMaxFixed:()V
46: goto 50
47: StackMap locals:
StackMap stack:
aload 0
aload 8
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.Analyser.getMaxMatchLength:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
istore 2
48: goto 50
49: StackMap locals:
StackMap stack:
goto 50
end local 8 50: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 51 0 this Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;
0 51 1 node Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
1 51 2 max I
3 7 3 ln Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
4 5 4 tmax I
8 13 4 an Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
9 11 5 tmax I
20 29 5 br Ljdk/nashorn/internal/runtime/regexp/joni/ast/BackRefNode;
26 29 6 tmax I
30 38 7 qn Ljdk/nashorn/internal/runtime/regexp/joni/ast/QuantifierNode;
39 50 8 en Ljdk/nashorn/internal/runtime/regexp/joni/ast/EncloseNode;
MethodParameters:
Name Flags
node final
protected final int getCharLengthTree(jdk.nashorn.internal.runtime.regexp.joni.ast.Node);
descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getCharLengthTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;
0 1 1 node Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
MethodParameters:
Name Flags
node final
private int getCharLengthTree(jdk.nashorn.internal.runtime.regexp.joni.ast.Node, int);
descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=12, args_size=3
start local 0 start local 1 start local 2 0: iload 2
iconst_1
iadd
istore 3
start local 3 1: iconst_0
istore 4
start local 4 2: aload 0
iconst_0
putfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.returnCode:I
3: aload 1
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.Node.getType:()I
tableswitch { // 0 - 9
0: 28
1: 39
2: 39
3: 39
4: 55
5: 31
6: 41
7: 54
8: 4
9: 10
default: 55
}
4: StackMap locals: int int
StackMap stack:
aload 1
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
astore 5
start local 5 5: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
StackMap stack:
aload 0
aload 5
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.car:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
iload 3
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getCharLengthTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)I
istore 6
start local 6 6: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.returnCode:I
ifne 8
7: iload 4
iload 6
invokestatic jdk.nashorn.internal.runtime.regexp.joni.MinMaxLen.distanceAdd:(II)I
istore 4
end local 6 8: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.returnCode:I
ifne 56
aload 5
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.cdr:Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
dup
astore 5
ifnonnull 5
9: goto 56
end local 5 10: StackMap locals:
StackMap stack:
aload 1
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
astore 6
start local 6 11: iconst_0
istore 7
start local 7 12: aload 0
aload 6
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.car:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
iload 3
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getCharLengthTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)I
istore 8
start local 8 13: goto 18
14: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int int int top jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode int int
StackMap stack:
aload 0
aload 6
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.car:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
iload 3
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getCharLengthTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)I
istore 9
start local 9 15: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.returnCode:I
ifne 18
16: iload 8
iload 9
if_icmpeq 18
17: iconst_1
istore 7
end local 9 18: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.returnCode:I
ifne 19
aload 6
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.cdr:Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
dup
astore 6
ifnonnull 14
19: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.returnCode:I
ifne 56
20: iload 7
ifeq 26
21: iload 3
iconst_1
if_icmpne 24
22: aload 0
bipush -2
putfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.returnCode:I
23: goto 56
24: StackMap locals:
StackMap stack:
aload 0
iconst_m1
putfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.returnCode:I
25: goto 56
26: StackMap locals:
StackMap stack:
iload 8
istore 4
27: goto 56
end local 8 end local 7 end local 6 28: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int int int
StackMap stack:
aload 1
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
astore 9
start local 9 29: aload 9
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.length:()I
istore 4
30: goto 56
end local 9 31: StackMap locals:
StackMap stack:
aload 1
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode
astore 10
start local 10 32: aload 10
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
aload 10
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.upper:I
if_icmpne 37
33: aload 0
aload 10
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.Analyser.getCharLengthTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)I
istore 8
start local 8 34: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.returnCode:I
ifne 56
35: iload 8
aload 10
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
invokestatic jdk.nashorn.internal.runtime.regexp.joni.MinMaxLen.distanceMultiply:(II)I
istore 4
36: goto 56
end local 8 37: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int int int top top top top top jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode
StackMap stack:
aload 0
iconst_m1
putfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.returnCode:I
38: goto 56
end local 10 39: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int int int
StackMap stack:
iconst_1
istore 4
40: goto 56
41: StackMap locals:
StackMap stack:
aload 1
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode
astore 11
start local 11 42: aload 11
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.type:I
tableswitch { // 1 - 4
1: 43
2: 51
3: 53
4: 51
default: 53
}
43: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int int int top top top top top top jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode
StackMap stack:
aload 11
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.isCLenFixed:()Z
ifeq 46
44: aload 11
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.charLength:I
istore 4
45: goto 56
46: StackMap locals:
StackMap stack:
aload 0
aload 11
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
iload 3
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getCharLengthTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)I
istore 4
47: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.returnCode:I
ifne 56
48: aload 11
iload 4
putfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.charLength:I
49: aload 11
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.setCLenFixed:()V
50: goto 56
51: StackMap locals:
StackMap stack:
aload 0
aload 11
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
iload 3
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getCharLengthTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)I
istore 4
52: goto 56
53: StackMap locals:
StackMap stack:
goto 56
end local 11 54: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int int int
StackMap stack:
goto 56
55: StackMap locals:
StackMap stack:
aload 0
iconst_m1
putfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.returnCode:I
56: StackMap locals:
StackMap stack:
iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 57 0 this Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;
0 57 1 node Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
0 57 2 levelp I
1 57 3 level I
2 57 4 len I
5 10 5 ln Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
6 8 6 tlen I
11 28 6 an Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
12 28 7 varLen Z
13 28 8 tlen I
34 37 8 tlen I
15 18 9 tlen2 I
29 31 9 sn Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
32 39 10 qn Ljdk/nashorn/internal/runtime/regexp/joni/ast/QuantifierNode;
42 54 11 en Ljdk/nashorn/internal/runtime/regexp/joni/ast/EncloseNode;
MethodParameters:
Name Flags
node final
levelp final
private static boolean isNotIncluded(jdk.nashorn.internal.runtime.regexp.joni.ast.Node, jdk.nashorn.internal.runtime.regexp.joni.ast.Node);
descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=15, args_size=2
start local 0 start local 1 0: aload 0
astore 2
start local 2 1: aload 1
astore 3
start local 3 2: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.Node jdk.nashorn.internal.runtime.regexp.joni.ast.Node
StackMap stack:
aload 3
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.Node.getType:()I
istore 5
start local 5 3: aload 2
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.Node.getType:()I
tableswitch { // 0 - 2
0: 37
1: 14
2: 4
default: 62
}
4: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.Node jdk.nashorn.internal.runtime.regexp.joni.ast.Node jdk.nashorn.internal.runtime.regexp.joni.ast.Node jdk.nashorn.internal.runtime.regexp.joni.ast.Node top int
StackMap stack:
iload 5
tableswitch { // 0 - 1
0: 9
1: 5
default: 13
}
5: StackMap locals:
StackMap stack:
aload 2
astore 4
start local 4 6: aload 3
astore 2
7: aload 4
astore 3
8: goto 2
end local 4 9: StackMap locals:
StackMap stack:
aload 2
astore 4
start local 4 10: aload 3
astore 2
11: aload 4
astore 3
12: goto 2
end local 4 13: StackMap locals:
StackMap stack:
goto 62
14: StackMap locals:
StackMap stack:
aload 2
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode
astore 6
start local 6 15: iload 5
tableswitch { // 0 - 1
0: 32
1: 16
default: 36
}
16: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode
StackMap stack:
aload 3
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode
astore 7
start local 7 17: iconst_0
istore 8
start local 8 18: goto 27
19: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode int
StackMap stack:
aload 6
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.bs:Ljdk/nashorn/internal/runtime/regexp/joni/BitSet;
iload 8
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.BitSet.at:(I)Z
istore 9
start local 9 20: iload 9
ifeq 21
aload 6
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.isNot:()Z
ifeq 22
StackMap locals: int
StackMap stack:
21: iload 9
ifne 26
aload 6
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.isNot:()Z
ifeq 26
22: StackMap locals:
StackMap stack:
aload 7
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.bs:Ljdk/nashorn/internal/runtime/regexp/joni/BitSet;
iload 8
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.BitSet.at:(I)Z
istore 9
23: iload 9
ifeq 24
aload 7
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.isNot:()Z
ifeq 25
StackMap locals:
StackMap stack:
24: iload 9
ifne 26
aload 7
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.isNot:()Z
ifeq 26
25: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 9 26: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
27: iload 8
sipush 256
if_icmplt 19
end local 8 28: aload 6
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.mbuf:Ljdk/nashorn/internal/runtime/regexp/joni/CodeRangeBuffer;
ifnonnull 29
aload 6
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.isNot:()Z
ifeq 30
StackMap locals:
StackMap stack:
29: aload 7
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.mbuf:Ljdk/nashorn/internal/runtime/regexp/joni/CodeRangeBuffer;
ifnonnull 31
aload 7
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.isNot:()Z
ifne 31
30: StackMap locals:
StackMap stack:
iconst_1
ireturn
31: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 7 32: StackMap locals:
StackMap stack:
aload 2
astore 4
start local 4 33: aload 3
astore 2
34: aload 4
astore 3
35: goto 2
end local 4 36: StackMap locals:
StackMap stack:
goto 62
end local 6 37: StackMap locals:
StackMap stack:
aload 2
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
astore 7
start local 7 38: aload 7
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.length:()I
ifne 40
39: goto 62
40: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.Node jdk.nashorn.internal.runtime.regexp.joni.ast.Node jdk.nashorn.internal.runtime.regexp.joni.ast.Node jdk.nashorn.internal.runtime.regexp.joni.ast.Node top int top jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
StackMap stack:
iload 5
tableswitch { // 0 - 1
0: 46
1: 41
default: 61
}
41: StackMap locals:
StackMap stack:
aload 3
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode
astore 8
start local 8 42: aload 7
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.chars:[C
aload 7
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.p:I
caload
istore 9
start local 9 43: aload 8
iload 9
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.isCodeInCC:(I)Z
ifeq 44
iconst_0
goto 45
StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode int
StackMap stack:
44: iconst_1
StackMap locals:
StackMap stack: int
45: ireturn
end local 9 end local 8 46: StackMap locals:
StackMap stack:
aload 3
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
astore 10
start local 10 47: aload 7
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.length:()I
istore 11
start local 11 48: iload 11
aload 10
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.length:()I
if_icmple 50
49: aload 10
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.length:()I
istore 11
50: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.Node jdk.nashorn.internal.runtime.regexp.joni.ast.Node jdk.nashorn.internal.runtime.regexp.joni.ast.Node jdk.nashorn.internal.runtime.regexp.joni.ast.Node top int top jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode top top jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode int
StackMap stack:
aload 7
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.isAmbig:()Z
ifne 51
aload 10
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.isAmbig:()Z
ifeq 52
51: StackMap locals:
StackMap stack:
iconst_0
ireturn
52: StackMap locals:
StackMap stack:
iconst_0
istore 12
start local 12 53: aload 10
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.p:I
istore 13
start local 13 54: aload 7
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.p:I
istore 14
start local 14 55: goto 59
56: StackMap locals: int int int
StackMap stack:
aload 10
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.chars:[C
iload 13
caload
aload 7
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.chars:[C
iload 14
caload
if_icmpeq 58
57: iconst_1
ireturn
58: StackMap locals:
StackMap stack:
iinc 12 1
iinc 13 1
iinc 14 1
StackMap locals:
StackMap stack:
59: iload 12
iload 11
if_icmplt 56
end local 14 end local 13 end local 12 60: goto 62
end local 11 end local 10 61: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.Node jdk.nashorn.internal.runtime.regexp.joni.ast.Node jdk.nashorn.internal.runtime.regexp.joni.ast.Node jdk.nashorn.internal.runtime.regexp.joni.ast.Node top int top jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
StackMap stack:
goto 62
end local 7 end local 5 62: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.Node jdk.nashorn.internal.runtime.regexp.joni.ast.Node jdk.nashorn.internal.runtime.regexp.joni.ast.Node jdk.nashorn.internal.runtime.regexp.joni.ast.Node
StackMap stack:
iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 63 0 xn Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
0 63 1 yn Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
1 63 2 x Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
2 63 3 y Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
6 9 4 tmp Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
10 13 4 tmp Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
33 36 4 tmp Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
3 62 5 yType I
15 37 6 xc Ljdk/nashorn/internal/runtime/regexp/joni/ast/CClassNode;
17 32 7 yc Ljdk/nashorn/internal/runtime/regexp/joni/ast/CClassNode;
18 28 8 i I
20 26 9 v Z
38 62 7 xs Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
42 46 8 cc Ljdk/nashorn/internal/runtime/regexp/joni/ast/CClassNode;
43 46 9 code I
47 61 10 ys Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
48 61 11 len I
53 60 12 i I
54 60 13 pt I
55 60 14 q I
MethodParameters:
Name Flags
xn final
yn final
private jdk.nashorn.internal.runtime.regexp.joni.ast.Node getHeadValueNode(jdk.nashorn.internal.runtime.regexp.joni.ast.Node, boolean);
descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Z)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aload 1
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.Node.getType:()I
tableswitch { // 0 - 9
0: 8
1: 3
2: 3
3: 2
4: 2
5: 14
6: 21
7: 31
8: 6
9: 2
default: 35
}
2: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.Node
StackMap stack:
goto 35
3: StackMap locals:
StackMap stack:
iload 2
ifne 35
4: aload 1
astore 3
5: goto 35
6: StackMap locals:
StackMap stack:
aload 0
aload 1
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.car:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
iload 2
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getHeadValueNode:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Z)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
astore 3
7: goto 35
8: StackMap locals:
StackMap stack:
aload 1
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
astore 4
start local 4 9: aload 4
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.end:I
aload 4
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.p:I
if_icmpgt 11
10: goto 35
11: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
StackMap stack:
iload 2
ifeq 12
aload 4
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.isRaw:()Z
ifne 12
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.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 35
12: StackMap locals:
StackMap stack:
aload 1
astore 3
13: goto 35
end local 4 14: StackMap locals:
StackMap stack:
aload 1
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode
astore 5
start local 5 15: aload 5
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
ifle 35
16: aload 5
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.headExact:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
ifnull 19
17: aload 5
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.headExact:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
astore 3
18: goto 35
19: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int jdk.nashorn.internal.runtime.regexp.joni.ast.Node top jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode
StackMap stack:
aload 0
aload 5
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
iload 2
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getHeadValueNode:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Z)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
astore 3
20: goto 35
end local 5 21: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int jdk.nashorn.internal.runtime.regexp.joni.ast.Node
StackMap stack:
aload 1
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode
astore 6
start local 6 22: aload 6
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.type:I
tableswitch { // 1 - 4
1: 28
2: 23
3: 30
4: 28
default: 30
}
23: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int jdk.nashorn.internal.runtime.regexp.joni.ast.Node top top jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode
StackMap stack:
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.options:I
istore 7
start local 7 24: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
aload 6
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.option:I
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.options:I
25: aload 0
aload 6
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
iload 2
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getHeadValueNode:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Z)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
astore 3
26: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
iload 7
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.options:I
27: goto 35
end local 7 28: StackMap locals:
StackMap stack:
aload 0
aload 6
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
iload 2
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getHeadValueNode:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Z)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
astore 3
29: goto 35
30: StackMap locals:
StackMap stack:
goto 35
end local 6 31: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int jdk.nashorn.internal.runtime.regexp.joni.ast.Node
StackMap stack:
aload 1
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode
astore 7
start local 7 32: aload 7
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.type:I
sipush 1024
if_icmpne 35
33: aload 0
aload 7
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
iload 2
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getHeadValueNode:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Z)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
astore 3
34: goto 35
end local 7 35: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;
0 36 1 node Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
0 36 2 exact Z
1 36 3 n Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
9 14 4 sn Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
15 21 5 qn Ljdk/nashorn/internal/runtime/regexp/joni/ast/QuantifierNode;
22 31 6 en Ljdk/nashorn/internal/runtime/regexp/joni/ast/EncloseNode;
24 28 7 options I
32 35 7 an Ljdk/nashorn/internal/runtime/regexp/joni/ast/AnchorNode;
MethodParameters:
Name Flags
node final
exact final
private boolean checkTypeTree(jdk.nashorn.internal.runtime.regexp.joni.ast.Node, int, int, int);
descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;III)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.Node.getType2Bit:()I
iload 2
iand
ifne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
istore 5
start local 5 3: aload 1
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.Node.getType:()I
tableswitch { // 5 - 9
5: 8
6: 10
7: 15
8: 4
9: 4
default: 21
}
4: StackMap locals: int
StackMap stack:
aload 1
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
astore 6
start local 6 5: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
StackMap stack:
aload 0
aload 6
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.car:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
iload 2
iload 3
iload 4
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.checkTypeTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;III)Z
istore 5
6: iload 5
ifne 21
aload 6
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.cdr:Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
dup
astore 6
ifnonnull 5
7: goto 21
end local 6 8: StackMap locals:
StackMap stack:
aload 0
aload 1
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
iload 2
iload 3
iload 4
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.checkTypeTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;III)Z
istore 5
9: goto 21
10: StackMap locals:
StackMap stack:
aload 1
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode
astore 7
start local 7 11: aload 7
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.type:I
iload 3
iand
ifne 13
12: iconst_1
ireturn
13: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int int int int top jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode
StackMap stack:
aload 0
aload 7
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
iload 2
iload 3
iload 4
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.checkTypeTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;III)Z
istore 5
14: goto 21
end local 7 15: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int int int int
StackMap stack:
aload 1
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode
astore 8
start local 8 16: aload 8
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.type:I
iload 4
iand
ifne 18
17: iconst_1
ireturn
18: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int int int int top top jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode
StackMap stack:
aload 8
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
ifnull 21
19: aload 0
aload 8
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
iload 2
iload 3
iload 4
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.checkTypeTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;III)Z
istore 5
20: goto 21
end local 8 21: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int int int int
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 22 0 this Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;
0 22 1 node Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
0 22 2 typeMask I
0 22 3 encloseMask I
0 22 4 anchorMask I
3 22 5 invalid Z
5 8 6 can Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
11 15 7 en Ljdk/nashorn/internal/runtime/regexp/joni/ast/EncloseNode;
16 21 8 an Ljdk/nashorn/internal/runtime/regexp/joni/ast/AnchorNode;
MethodParameters:
Name Flags
node final
typeMask final
encloseMask final
anchorMask final
private jdk.nashorn.internal.runtime.regexp.joni.ast.Node divideLookBehindAlternatives(jdk.nashorn.internal.runtime.regexp.joni.ast.Node);
descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=9, args_size=2
start local 0 start local 1 0: aload 1
astore 2
start local 2 1: aload 2
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode
astore 3
start local 3 2: aload 3
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.type:I
istore 4
start local 4 3: aload 3
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
astore 5
start local 5 4: aload 5
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.car:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
astore 6
start local 6 5: aload 0
aload 2
aload 5
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.swap:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)V
6: aload 2
astore 7
start local 7 7: aload 5
astore 2
8: aload 7
astore 5
9: aload 2
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
aload 5
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.setCar:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
pop
10: aload 5
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode
aload 6
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.setTarget:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)V
11: aload 2
astore 6
12: goto 16
13: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node jdk.nashorn.internal.runtime.regexp.joni.ast.Node jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode int jdk.nashorn.internal.runtime.regexp.joni.ast.Node jdk.nashorn.internal.runtime.regexp.joni.ast.Node jdk.nashorn.internal.runtime.regexp.joni.ast.Node
StackMap stack:
new jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode
dup
iload 4
invokespecial jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.<init>:(I)V
astore 8
start local 8 14: aload 8
aload 6
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
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.ast.AnchorNode.setTarget:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)V
15: aload 6
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
aload 8
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.setCar:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
pop
end local 8 16: StackMap locals:
StackMap stack:
aload 6
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.cdr:Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
dup
astore 6
ifnonnull 13
17: iload 4
sipush 8192
if_icmpne 21
18: aload 2
astore 6
19: StackMap locals:
StackMap stack:
aload 6
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.toListNode:()V
20: aload 6
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.cdr:Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
dup
astore 6
ifnonnull 19
21: StackMap locals:
StackMap stack:
aload 2
areturn
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 22 0 this Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;
0 22 1 nodep Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
1 22 2 node Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
2 22 3 an Ljdk/nashorn/internal/runtime/regexp/joni/ast/AnchorNode;
3 22 4 anchorType I
4 22 5 head Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
5 22 6 np Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
7 22 7 tmp Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
14 16 8 insert Ljdk/nashorn/internal/runtime/regexp/joni/ast/AnchorNode;
MethodParameters:
Name Flags
nodep final
private jdk.nashorn.internal.runtime.regexp.joni.ast.Node setupLookBehind(jdk.nashorn.internal.runtime.regexp.joni.ast.Node);
descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode
astore 2
start local 2 1: aload 0
aload 2
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 2: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.returnCode:I
tableswitch { // -2 - 0
-2: 6
-1: 5
0: 3
default: 9
}
3: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode int
StackMap stack:
aload 2
iload 3
putfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.charLength:I
4: goto 9
5: StackMap locals:
StackMap stack:
new jdk.nashorn.internal.runtime.regexp.joni.exception.SyntaxException
dup
ldc "invalid pattern in look-behind"
invokespecial jdk.nashorn.internal.runtime.regexp.joni.exception.SyntaxException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.syntax:Ljdk/nashorn/internal/runtime/regexp/joni/Syntax;
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Syntax.differentLengthAltLookBehind:()Z
ifeq 8
7: aload 0
aload 1
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.divideLookBehindAlternatives:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
areturn
8: StackMap locals:
StackMap stack:
new jdk.nashorn.internal.runtime.regexp.joni.exception.SyntaxException
dup
ldc "invalid pattern in look-behind"
invokespecial jdk.nashorn.internal.runtime.regexp.joni.exception.SyntaxException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
aload 1
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;
0 10 1 node Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
1 10 2 an Ljdk/nashorn/internal/runtime/regexp/joni/ast/AnchorNode;
2 10 3 len I
MethodParameters:
Name Flags
node final
private void nextSetup(jdk.nashorn.internal.runtime.regexp.joni.ast.Node, jdk.nashorn.internal.runtime.regexp.joni.ast.Node);
descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 1
astore 3
start local 3 1: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.Node
StackMap stack:
aload 3
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.Node.getType:()I
istore 4
start local 4 2: iload 4
iconst_5
if_icmpne 19
3: aload 3
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode
astore 5
start local 5 4: aload 5
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.greedy:Z
ifeq 24
aload 5
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.upper:I
invokestatic jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.isRepeatInfinite:(I)Z
ifeq 24
5: aload 0
aload 2
iconst_1
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getHeadValueNode:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Z)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
astore 6
start local 6 6: aload 6
ifnull 8
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
caload
ifeq 8
7: aload 5
aload 6
putfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.nextHeadExact:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
end local 6 8: StackMap locals: int jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode
StackMap stack:
aload 5
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
iconst_1
if_icmpgt 24
9: aload 5
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.isSimple:()Z
ifeq 24
10: aload 0
aload 5
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
iconst_0
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getHeadValueNode:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Z)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
astore 6
start local 6 11: aload 6
ifnull 24
12: aload 0
aload 2
iconst_0
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getHeadValueNode:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Z)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
astore 7
start local 7 13: aload 7
ifnull 24
aload 6
aload 7
invokestatic jdk.nashorn.internal.runtime.regexp.joni.Analyser.isNotIncluded:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)Z
ifeq 24
14: new jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode
dup
iconst_4
invokespecial jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.<init>:(I)V
astore 8
start local 8 15: aload 8
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.setStopBtSimpleRepeat:()V
16: aload 0
aload 3
aload 8
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.swap:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)V
17: aload 8
aload 3
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.setTarget:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)V
end local 8 end local 7 end local 6 end local 5 18: goto 24
StackMap locals:
StackMap stack:
19: iload 4
bipush 6
if_icmpne 24
20: aload 3
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode
astore 5
start local 5 21: aload 5
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.isMemory:()Z
ifeq 24
22: aload 5
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
astore 3
end local 5 end local 4 23: goto 1
24: StackMap locals:
StackMap stack:
return
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/Analyser;
0 25 1 nodep Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
0 25 2 nextNode Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
1 25 3 node Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
2 23 4 type I
4 18 5 qn Ljdk/nashorn/internal/runtime/regexp/joni/ast/QuantifierNode;
6 8 6 n Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
11 18 6 x Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
13 18 7 y Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
15 18 8 en Ljdk/nashorn/internal/runtime/regexp/joni/ast/EncloseNode;
21 23 5 en Ljdk/nashorn/internal/runtime/regexp/joni/ast/EncloseNode;
MethodParameters:
Name Flags
nodep final
nextNode final
private void updateStringNodeCaseFoldMultiByte(jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode);
descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=9, args_size=2
start local 0 start local 1 0: aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.chars:[C
astore 2
start local 2 1: aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.end:I
istore 3
start local 3 2: aload 0
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.p:I
putfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.value:I
3: iconst_0
istore 4
start local 4 4: goto 22
5: StackMap locals: char[] int int
StackMap stack:
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.value:I
istore 6
start local 6 6: aload 2
aload 0
dup
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.value:I
dup_x1
iconst_1
iadd
putfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.value:I
caload
invokestatic jdk.nashorn.internal.runtime.regexp.joni.EncodingHelper.toLowerCase:(C)C
istore 5
start local 5 7: aload 2
iload 6
caload
iload 5
if_icmpeq 21
8: aload 1
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.length:()I
iconst_1
ishl
newarray 5
astore 7
start local 7 9: aload 2
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.p:I
aload 7
iconst_0
iload 6
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.p:I
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
10: aload 0
iload 6
putfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.value:I
11: goto 18
12: StackMap locals: int int char[]
StackMap stack:
aload 2
aload 0
dup
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.value:I
dup_x1
iconst_1
iadd
putfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.value:I
caload
invokestatic jdk.nashorn.internal.runtime.regexp.joni.EncodingHelper.toLowerCase:(C)C
istore 5
13: iload 4
aload 7
arraylength
if_icmplt 17
14: aload 7
arraylength
iconst_1
ishl
newarray 5
astore 8
start local 8 15: aload 7
iconst_0
aload 8
iconst_0
aload 7
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
16: aload 8
astore 7
end local 8 17: StackMap locals:
StackMap stack:
aload 7
iload 4
iinc 4 1
iload 5
castore
18: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.value:I
iload 3
if_icmplt 12
19: aload 1
aload 7
iconst_0
iload 4
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.set:([CII)V
20: return
end local 7 21: StackMap locals:
StackMap stack:
iinc 4 1
end local 6 end local 5 22: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.value:I
iload 3
if_icmplt 5
23: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;
0 24 1 sn Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
1 24 2 ch [C
2 24 3 end I
4 24 4 sp I
7 22 5 buf C
6 22 6 ovalue I
9 21 7 sbuf [C
15 17 8 tmp [C
MethodParameters:
Name Flags
sn final
private void updateStringNodeCaseFold(jdk.nashorn.internal.runtime.regexp.joni.ast.Node);
descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
astore 2
start local 2 1: aload 0
aload 2
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.updateStringNodeCaseFoldMultiByte:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;)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/Analyser;
0 3 1 node Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
1 3 2 sn Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
MethodParameters:
Name Flags
node final
private jdk.nashorn.internal.runtime.regexp.joni.ast.Node expandCaseFoldMakeRemString(char[], int, int);
descriptor: ([CII)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
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: new jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
dup
aload 1
iload 2
iload 3
invokespecial jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.<init>:([CII)V
astore 4
start local 4 1: aload 0
aload 4
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.updateStringNodeCaseFold:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)V
2: aload 4
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.setAmbig:()V
3: aload 4
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.setDontGetOptInfo:()V
4: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;
0 5 1 ch [C
0 5 2 pp I
0 5 3 end I
1 5 4 node Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
MethodParameters:
Name Flags
ch final
pp final
end final
private static boolean expandCaseFoldStringAlt(int, char[], char[], int, int, int, jdk.nashorn.internal.runtime.regexp.joni.encoding.ObjPtr<jdk.nashorn.internal.runtime.regexp.joni.ast.Node>);
descriptor: (I[C[CIIILjdk/nashorn/internal/runtime/regexp/joni/encoding/ObjPtr;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=11, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 6
aconst_null
aconst_null
invokestatic jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.newAltNode:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;)Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
dup
astore 7
start local 7 1: putfield jdk.nashorn.internal.runtime.regexp.joni.encoding.ObjPtr.p:Ljava/lang/Object;
2: new jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
dup
aload 2
iload 3
iload 3
iload 4
iadd
invokespecial jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.<init>:([CII)V
astore 8
start local 8 3: aload 7
aload 8
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.setCar:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
pop
4: iconst_0
istore 9
start local 9 5: goto 13
6: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode int
StackMap stack:
new jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
dup
invokespecial jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.<init>:()V
astore 8
7: aload 8
aload 1
iload 9
caload
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.catCode:(I)V
8: aconst_null
aconst_null
invokestatic jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.newAltNode:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;)Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
astore 10
start local 10 9: aload 10
aload 8
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.setCar:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
pop
10: aload 7
aload 10
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.setCdr:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;)Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
pop
11: aload 10
astore 7
end local 10 12: iinc 9 1
StackMap locals:
StackMap stack:
13: iload 9
iload 0
if_icmplt 6
end local 9 14: iconst_0
ireturn
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 15 0 itemNum I
0 15 1 items [C
0 15 2 chars [C
0 15 3 p I
0 15 4 slen I
0 15 5 end I
0 15 6 node Ljdk/nashorn/internal/runtime/regexp/joni/encoding/ObjPtr<Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;>;
1 15 7 altNode Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
3 15 8 snode Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
5 14 9 i I
9 12 10 an Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
Signature: (I[C[CIIILjdk/nashorn/internal/runtime/regexp/joni/encoding/ObjPtr<Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;>;)Z
MethodParameters:
Name Flags
itemNum final
items final
chars final
p final
slen final
end final
node final
private jdk.nashorn.internal.runtime.regexp.joni.ast.Node expandCaseFoldString(jdk.nashorn.internal.runtime.regexp.joni.ast.Node);
descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=12, args_size=2
start local 0 start local 1 0: aload 1
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
astore 2
start local 2 1: aload 2
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.isAmbig:()Z
ifne 2
aload 2
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.length:()I
ifgt 3
2: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
StackMap stack:
aload 1
areturn
3: StackMap locals:
StackMap stack:
aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.chars:[C
astore 3
start local 3 4: aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.p:I
istore 4
start local 4 5: aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.end:I
istore 5
start local 5 6: iconst_1
istore 6
start local 6 7: aconst_null
astore 7
start local 7 8: aconst_null
astore 8
start local 8 9: new jdk.nashorn.internal.runtime.regexp.joni.encoding.ObjPtr
dup
invokespecial jdk.nashorn.internal.runtime.regexp.joni.encoding.ObjPtr.<init>:()V
astore 9
start local 9 10: aconst_null
astore 10
start local 10 11: goto 32
12: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode char[] int int int jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode jdk.nashorn.internal.runtime.regexp.joni.encoding.ObjPtr jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
StackMap stack:
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.caseFoldFlag:I
aload 3
iload 4
caload
invokestatic jdk.nashorn.internal.runtime.regexp.joni.EncodingHelper.caseFoldCodesByString:(IC)[C
astore 11
start local 11 13: aload 11
arraylength
ifne 22
14: aload 10
ifnonnull 20
15: aload 8
ifnonnull 17
aload 9
getfield jdk.nashorn.internal.runtime.regexp.joni.encoding.ObjPtr.p:Ljava/lang/Object;
ifnull 17
16: aconst_null
aload 9
getfield jdk.nashorn.internal.runtime.regexp.joni.encoding.ObjPtr.p:Ljava/lang/Object;
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.Node
invokestatic jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.listAdd:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
dup
astore 8
astore 7
17: StackMap locals: char[]
StackMap stack:
aload 9
new jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
dup
invokespecial jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.<init>:()V
dup
astore 10
putfield jdk.nashorn.internal.runtime.regexp.joni.encoding.ObjPtr.p:Ljava/lang/Object;
18: aload 8
ifnull 20
19: aload 8
aload 10
invokestatic jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.listAdd:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
pop
20: StackMap locals:
StackMap stack:
aload 10
aload 3
iload 4
iload 4
iconst_1
iadd
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.cat:([CII)V
21: goto 31
22: StackMap locals:
StackMap stack:
iload 6
aload 11
arraylength
iconst_1
iadd
imul
istore 6
23: iload 6
bipush 8
if_icmple 25
24: goto 33
25: StackMap locals:
StackMap stack:
aload 8
ifnonnull 27
aload 9
getfield jdk.nashorn.internal.runtime.regexp.joni.encoding.ObjPtr.p:Ljava/lang/Object;
ifnull 27
26: aconst_null
aload 9
getfield jdk.nashorn.internal.runtime.regexp.joni.encoding.ObjPtr.p:Ljava/lang/Object;
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.Node
invokestatic jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.listAdd:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
dup
astore 8
astore 7
27: StackMap locals:
StackMap stack:
aload 11
arraylength
aload 11
aload 3
iload 4
iconst_1
iload 5
aload 9
invokestatic jdk.nashorn.internal.runtime.regexp.joni.Analyser.expandCaseFoldStringAlt:(I[C[CIIILjdk/nashorn/internal/runtime/regexp/joni/encoding/ObjPtr;)Z
pop
28: aload 8
ifnull 30
29: aload 8
aload 9
getfield jdk.nashorn.internal.runtime.regexp.joni.encoding.ObjPtr.p:Ljava/lang/Object;
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.Node
invokestatic jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.listAdd:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
pop
30: StackMap locals:
StackMap stack:
aconst_null
astore 10
31: StackMap locals:
StackMap stack:
iinc 4 1
end local 11 32: StackMap locals:
StackMap stack:
iload 4
iload 5
if_icmplt 12
33: StackMap locals:
StackMap stack:
iload 4
iload 5
if_icmpge 41
34: aload 0
aload 3
iload 4
iload 5
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.expandCaseFoldMakeRemString:([CII)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
astore 11
start local 11 35: aload 9
getfield jdk.nashorn.internal.runtime.regexp.joni.encoding.ObjPtr.p:Ljava/lang/Object;
ifnull 37
aload 8
ifnonnull 37
36: aconst_null
aload 9
getfield jdk.nashorn.internal.runtime.regexp.joni.encoding.ObjPtr.p:Ljava/lang/Object;
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.Node
invokestatic jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.listAdd:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
dup
astore 8
astore 7
37: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.Node
StackMap stack:
aload 8
ifnonnull 40
38: aload 9
aload 11
putfield jdk.nashorn.internal.runtime.regexp.joni.encoding.ObjPtr.p:Ljava/lang/Object;
39: goto 41
40: StackMap locals:
StackMap stack:
aload 8
aload 11
invokestatic jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.listAdd:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
pop
end local 11 41: StackMap locals:
StackMap stack:
aload 7
ifnull 42
aload 7
goto 43
StackMap locals:
StackMap stack:
42: aload 9
getfield jdk.nashorn.internal.runtime.regexp.joni.encoding.ObjPtr.p:Ljava/lang/Object;
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.Node
StackMap locals:
StackMap stack: jdk.nashorn.internal.runtime.regexp.joni.ast.Node
43: astore 11
start local 11 44: aload 0
aload 1
aload 11
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.swap:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)V
45: aload 11
areturn
end local 11 end local 10 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 46 0 this Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;
0 46 1 node Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
1 46 2 sn Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
4 46 3 chars1 [C
5 46 4 pt I
6 46 5 end I
7 46 6 altNum I
8 46 7 topRoot Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
9 46 8 r Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
10 46 9 prevNode Ljdk/nashorn/internal/runtime/regexp/joni/encoding/ObjPtr<Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;>;
11 46 10 stringNode Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
13 32 11 items [C
35 41 11 srem Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
44 46 11 xnode Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
MethodParameters:
Name Flags
node final
protected final jdk.nashorn.internal.runtime.regexp.joni.ast.Node setupTree(jdk.nashorn.internal.runtime.regexp.joni.ast.Node, int);
descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=5, locals=16, args_size=3
start local 0 start local 1 start local 2 0: aload 1
astore 3
start local 3 1: iload 2
istore 4
start local 4 2: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.Node int
StackMap stack:
aload 3
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.Node.getType:()I
tableswitch { // 0 - 9
0: 16
1: 15
2: 19
3: 19
4: 20
5: 27
6: 65
7: 84
8: 3
9: 11
default: 105
}
3: StackMap locals:
StackMap stack:
aload 3
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
astore 5
start local 5 4: aconst_null
astore 6
start local 6 5: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode jdk.nashorn.internal.runtime.regexp.joni.ast.Node
StackMap stack:
aload 0
aload 5
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.car:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
iload 4
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.setupTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
pop
6: aload 6
ifnull 8
7: aload 0
aload 6
aload 5
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.Analyser.nextSetup:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)V
8: StackMap locals:
StackMap stack:
aload 5
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.car:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
astore 6
9: aload 5
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.cdr:Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
dup
astore 5
ifnonnull 5
10: goto 105
end local 6 end local 5 11: StackMap locals:
StackMap stack:
aload 3
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
astore 7
start local 7 12: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int jdk.nashorn.internal.runtime.regexp.joni.ast.Node int top top jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
StackMap stack:
aload 0
aload 7
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.car:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
iload 4
iconst_1
ior
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.setupTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
pop
13: aload 7
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.cdr:Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
dup
astore 7
ifnonnull 12
14: goto 105
end local 7 15: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int jdk.nashorn.internal.runtime.regexp.joni.ast.Node int
StackMap stack:
goto 105
16: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.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 105
aload 3
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.isRaw:()Z
ifne 105
17: aload 0
aload 3
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.expandCaseFoldString:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
astore 3
18: goto 105
19: StackMap locals:
StackMap stack:
goto 105
20: StackMap locals:
StackMap stack:
aload 3
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode
astore 8
start local 8 21: aload 8
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode.backRef:I
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.env:Ljdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment;
getfield jdk.nashorn.internal.runtime.regexp.joni.ScanEnvironment.numMem:I
if_icmple 23
22: new jdk.nashorn.internal.runtime.regexp.joni.exception.ValueException
dup
ldc "invalid backref number"
invokespecial jdk.nashorn.internal.runtime.regexp.joni.exception.ValueException.<init>:(Ljava/lang/String;)V
athrow
23: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int jdk.nashorn.internal.runtime.regexp.joni.ast.Node int top top top jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode
StackMap stack:
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.env:Ljdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment;
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.env:Ljdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment;
getfield jdk.nashorn.internal.runtime.regexp.joni.ScanEnvironment.backrefedMem:I
aload 8
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode.backRef:I
invokestatic jdk.nashorn.internal.runtime.regexp.joni.BitStatus.bsOnAt:(II)I
putfield jdk.nashorn.internal.runtime.regexp.joni.ScanEnvironment.backrefedMem:I
24: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.env:Ljdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment;
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.env:Ljdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment;
getfield jdk.nashorn.internal.runtime.regexp.joni.ScanEnvironment.btMemStart:I
aload 8
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode.backRef:I
invokestatic jdk.nashorn.internal.runtime.regexp.joni.BitStatus.bsOnAt:(II)I
putfield jdk.nashorn.internal.runtime.regexp.joni.ScanEnvironment.btMemStart:I
25: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.env:Ljdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment;
getfield jdk.nashorn.internal.runtime.regexp.joni.ScanEnvironment.memNodes:[Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
aload 8
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode.backRef:I
aaload
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.setMemBackrefed:()V
26: goto 105
end local 8 27: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int jdk.nashorn.internal.runtime.regexp.joni.ast.Node int
StackMap stack:
aload 3
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode
astore 9
start local 9 28: aload 9
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
astore 10
start local 10 29: iload 4
iconst_4
iand
ifeq 31
30: aload 9
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.setInRepeat:()V
31: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int jdk.nashorn.internal.runtime.regexp.joni.ast.Node int top top top top jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode jdk.nashorn.internal.runtime.regexp.joni.ast.Node
StackMap stack:
aload 9
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.upper:I
invokestatic jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.isRepeatInfinite:(I)Z
ifne 32
aload 9
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
iconst_1
if_icmplt 38
32: StackMap locals:
StackMap stack:
aload 0
aload 10
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getMinMatchLength:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
istore 11
start local 11 33: iload 11
ifne 38
34: aload 9
iconst_1
putfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.targetEmptyInfo:I
35: aload 0
aload 10
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.quantifiersMemoryInfo:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
istore 12
start local 12 36: iload 12
ifle 38
37: aload 9
iload 12
putfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.targetEmptyInfo:I
end local 12 end local 11 38: StackMap locals:
StackMap stack:
iload 4
iconst_4
ior
istore 4
39: aload 9
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
aload 9
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.upper:I
if_icmpeq 41
40: iload 4
bipush 8
ior
istore 4
41: StackMap locals:
StackMap stack:
aload 0
aload 10
iload 4
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.setupTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
astore 10
42: aload 10
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.Node.getType:()I
ifne 56
43: aload 9
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
invokestatic jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.isRepeatInfinite:(I)Z
ifne 56
aload 9
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
aload 9
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.upper:I
if_icmpne 56
44: aload 9
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
iconst_1
if_icmple 56
aload 9
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
bipush 100
if_icmpgt 56
45: aload 10
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
astore 11
start local 11 46: aload 11
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.length:()I
istore 12
start local 12 47: iload 12
aload 9
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
imul
bipush 100
if_icmpgt 56
48: aload 9
aload 11
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.flag:I
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.convertToString:(I)Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
astore 13
start local 13 49: aload 9
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
istore 14
start local 14 50: iconst_0
istore 15
start local 15 51: goto 54
52: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int jdk.nashorn.internal.runtime.regexp.joni.ast.Node int top top top top jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode jdk.nashorn.internal.runtime.regexp.joni.ast.Node jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode int jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode int int
StackMap stack:
aload 13
aload 11
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.chars:[C
aload 11
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.p:I
aload 11
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.end:I
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.cat:([CII)V
53: iinc 15 1
StackMap locals:
StackMap stack:
54: iload 15
iload 14
if_icmplt 52
end local 15 55: goto 105
end local 14 end local 13 end local 12 end local 11 56: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int jdk.nashorn.internal.runtime.regexp.joni.ast.Node int top top top top jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode jdk.nashorn.internal.runtime.regexp.joni.ast.Node
StackMap stack:
aload 9
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.greedy:Z
ifeq 105
aload 9
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.targetEmptyInfo:I
ifeq 105
57: aload 10
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.Node.getType:()I
iconst_5
if_icmpne 63
58: aload 10
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode
astore 11
start local 11 59: aload 11
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.headExact:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
ifnull 105
60: aload 9
aload 11
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.headExact:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
putfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.headExact:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
61: aload 11
aconst_null
putfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.headExact:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
end local 11 62: goto 105
63: StackMap locals:
StackMap stack:
aload 9
aload 0
aload 9
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
iconst_1
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getHeadValueNode:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Z)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
putfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.headExact:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
64: goto 105
end local 10 end local 9 65: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int jdk.nashorn.internal.runtime.regexp.joni.ast.Node int
StackMap stack:
aload 3
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode
astore 11
start local 11 66: aload 11
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.type:I
tableswitch { // 1 - 4
1: 72
2: 67
3: 83
4: 76
default: 83
}
67: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int jdk.nashorn.internal.runtime.regexp.joni.ast.Node int top top top top top top jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode
StackMap stack:
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.options:I
istore 12
start local 12 68: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
aload 11
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.option:I
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.options:I
69: aload 0
aload 11
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
iload 4
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.setupTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
pop
70: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
iload 12
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.options:I
71: goto 105
end local 12 72: StackMap locals:
StackMap stack:
iload 4
bipush 11
iand
ifeq 74
73: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.env:Ljdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment;
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.env:Ljdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment;
getfield jdk.nashorn.internal.runtime.regexp.joni.ScanEnvironment.btMemStart:I
aload 11
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.regNum:I
invokestatic jdk.nashorn.internal.runtime.regexp.joni.BitStatus.bsOnAt:(II)I
putfield jdk.nashorn.internal.runtime.regexp.joni.ScanEnvironment.btMemStart:I
74: StackMap locals:
StackMap stack:
aload 0
aload 11
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
iload 4
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.setupTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
pop
75: goto 105
76: StackMap locals:
StackMap stack:
aload 0
aload 11
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
iload 4
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.setupTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
pop
77: aload 11
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.ast.Node.getType:()I
iconst_5
if_icmpne 105
78: aload 11
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 13
start local 13 79: aload 13
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.upper:I
invokestatic jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.isRepeatInfinite:(I)Z
ifeq 105
aload 13
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
iconst_1
if_icmpgt 105
aload 13
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.greedy:Z
ifeq 105
80: aload 13
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.isSimple:()Z
ifeq 105
81: aload 11
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.setStopBtSimpleRepeat:()V
end local 13 82: goto 105
83: StackMap locals:
StackMap stack:
goto 105
end local 11 84: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int jdk.nashorn.internal.runtime.regexp.joni.ast.Node int
StackMap stack:
aload 3
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode
astore 12
start local 12 85: aload 12
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.type:I
lookupswitch { // 4
1024: 86
2048: 88
4096: 90
8192: 97
default: 104
}
86: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int jdk.nashorn.internal.runtime.regexp.joni.ast.Node int top top top top top top top jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode
StackMap stack:
aload 0
aload 12
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
iload 4
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.setupTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
pop
87: goto 105
88: StackMap locals:
StackMap stack:
aload 0
aload 12
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
iload 4
iconst_2
ior
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.setupTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
pop
89: goto 105
90: StackMap locals:
StackMap stack:
aload 0
aload 12
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
sipush 2031
iconst_1
sipush 4135
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.checkTypeTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;III)Z
ifeq 92
91: new jdk.nashorn.internal.runtime.regexp.joni.exception.SyntaxException
dup
ldc "invalid pattern in look-behind"
invokespecial jdk.nashorn.internal.runtime.regexp.joni.exception.SyntaxException.<init>:(Ljava/lang/String;)V
athrow
92: StackMap locals:
StackMap stack:
aload 0
aload 3
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.setupLookBehind:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
astore 3
93: aload 3
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.Node.getType:()I
bipush 7
if_icmpeq 95
94: goto 2
95: StackMap locals:
StackMap stack:
aload 0
aload 3
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
iload 4
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.setupTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
pop
96: goto 105
97: StackMap locals:
StackMap stack:
aload 0
aload 12
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
sipush 2031
iconst_1
sipush 4135
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.checkTypeTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;III)Z
ifeq 99
98: new jdk.nashorn.internal.runtime.regexp.joni.exception.SyntaxException
dup
ldc "invalid pattern in look-behind"
invokespecial jdk.nashorn.internal.runtime.regexp.joni.exception.SyntaxException.<init>:(Ljava/lang/String;)V
athrow
99: StackMap locals:
StackMap stack:
aload 0
aload 3
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.setupLookBehind:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
astore 3
100: aload 3
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.Node.getType:()I
bipush 7
if_icmpeq 102
101: goto 2
102: StackMap locals:
StackMap stack:
aload 0
aload 3
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
iload 4
iconst_2
ior
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.setupTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
pop
103: goto 105
104: StackMap locals:
StackMap stack:
goto 105
end local 12 105: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int jdk.nashorn.internal.runtime.regexp.joni.ast.Node int
StackMap stack:
aload 3
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 106 0 this Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;
0 106 1 nodep Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
0 106 2 statep I
1 106 3 node Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
2 106 4 state I
4 11 5 lin Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
5 11 6 prev Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
12 15 7 aln Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
21 27 8 br Ljdk/nashorn/internal/runtime/regexp/joni/ast/BackRefNode;
28 65 9 qn Ljdk/nashorn/internal/runtime/regexp/joni/ast/QuantifierNode;
29 65 10 target Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
33 38 11 d I
36 38 12 info I
46 56 11 sn Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
47 56 12 len I
49 56 13 str Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
50 56 14 n I
51 55 15 i I
59 62 11 tqn Ljdk/nashorn/internal/runtime/regexp/joni/ast/QuantifierNode;
66 84 11 en Ljdk/nashorn/internal/runtime/regexp/joni/ast/EncloseNode;
68 72 12 options I
79 82 13 tqn Ljdk/nashorn/internal/runtime/regexp/joni/ast/QuantifierNode;
85 105 12 an Ljdk/nashorn/internal/runtime/regexp/joni/ast/AnchorNode;
MethodParameters:
Name Flags
nodep final
statep final
private void optimizeNodeLeft(jdk.nashorn.internal.runtime.regexp.joni.ast.Node, jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo, jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment);
descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Ljdk/nashorn/internal/runtime/regexp/joni/NodeOptInfo;Ljdk/nashorn/internal/runtime/regexp/joni/OptEnvironment;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.clear:()V
1: aload 2
aload 3
getfield jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment.mmd:Ljdk/nashorn/internal/runtime/regexp/joni/MinMaxLen;
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.setBoundNode:(Ljdk/nashorn/internal/runtime/regexp/joni/MinMaxLen;)V
2: aload 1
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.Node.getType:()I
tableswitch { // 0 - 9
0: 21
1: 41
2: 142
3: 55
4: 74
5: 83
6: 118
7: 57
8: 3
9: 12
default: 142
}
3: StackMap locals:
StackMap stack:
new jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment
dup
invokespecial jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment.<init>:()V
astore 4
start local 4 4: new jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo
dup
invokespecial jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.<init>:()V
astore 5
start local 5 5: aload 4
aload 3
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment.copy:(Ljdk/nashorn/internal/runtime/regexp/joni/OptEnvironment;)V
6: aload 1
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
astore 6
start local 6 7: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
StackMap stack:
aload 0
aload 6
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.car:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
aload 5
aload 4
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.optimizeNodeLeft:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Ljdk/nashorn/internal/runtime/regexp/joni/NodeOptInfo;Ljdk/nashorn/internal/runtime/regexp/joni/OptEnvironment;)V
8: aload 4
getfield jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment.mmd:Ljdk/nashorn/internal/runtime/regexp/joni/MinMaxLen;
aload 5
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.length:Ljdk/nashorn/internal/runtime/regexp/joni/MinMaxLen;
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.MinMaxLen.add:(Ljdk/nashorn/internal/runtime/regexp/joni/MinMaxLen;)V
9: aload 2
aload 5
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.concatLeftNode:(Ljdk/nashorn/internal/runtime/regexp/joni/NodeOptInfo;)V
10: aload 6
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.cdr:Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
dup
astore 6
ifnonnull 7
11: goto 143
end local 6 end local 5 end local 4 12: StackMap locals:
StackMap stack:
new jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo
dup
invokespecial jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.<init>:()V
astore 4
start local 4 13: aload 1
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
astore 5
start local 5 14: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
StackMap stack:
aload 0
aload 5
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.car:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
aload 4
aload 3
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.optimizeNodeLeft:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Ljdk/nashorn/internal/runtime/regexp/joni/NodeOptInfo;Ljdk/nashorn/internal/runtime/regexp/joni/OptEnvironment;)V
15: aload 5
aload 1
if_acmpne 18
16: aload 2
aload 4
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.copy:(Ljdk/nashorn/internal/runtime/regexp/joni/NodeOptInfo;)V
17: goto 19
18: StackMap locals:
StackMap stack:
aload 2
aload 4
aload 3
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.altMerge:(Ljdk/nashorn/internal/runtime/regexp/joni/NodeOptInfo;Ljdk/nashorn/internal/runtime/regexp/joni/OptEnvironment;)V
19: StackMap locals:
StackMap stack:
aload 5
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.cdr:Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
dup
astore 5
ifnonnull 14
20: goto 143
end local 5 end local 4 21: StackMap locals:
StackMap stack:
aload 1
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
astore 4
start local 4 22: aload 4
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.length:()I
istore 5
start local 5 23: aload 4
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.isAmbig:()Z
ifne 29
24: aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.exb:Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
aload 4
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.chars:[C
aload 4
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.p:I
aload 4
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.end:I
aload 4
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.isRaw:()Z
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.OptExactInfo.concatStr:([CIIZ)V
25: iload 5
ifle 27
26: aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.map:Ljdk/nashorn/internal/runtime/regexp/joni/OptMapInfo;
aload 4
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.chars:[C
aload 4
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.p:I
caload
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.OptMapInfo.addChar:(I)V
27: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode int
StackMap stack:
aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.length:Ljdk/nashorn/internal/runtime/regexp/joni/MinMaxLen;
iload 5
iload 5
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.MinMaxLen.set:(II)V
28: goto 38
29: StackMap locals:
StackMap stack:
aload 4
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.isDontGetOptInfo:()Z
ifeq 32
30: aload 4
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.length:()I
istore 6
start local 6 31: goto 37
end local 6 32: StackMap locals:
StackMap stack:
aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.exb:Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
aload 4
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.chars:[C
aload 4
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.p:I
aload 4
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.end:I
aload 4
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.isRaw:()Z
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.OptExactInfo.concatStr:([CIIZ)V
33: aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.exb:Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
iconst_1
putfield jdk.nashorn.internal.runtime.regexp.joni.OptExactInfo.ignoreCase:Z
34: iload 5
ifle 36
35: aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.map:Ljdk/nashorn/internal/runtime/regexp/joni/OptMapInfo;
aload 4
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.chars:[C
aload 4
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.p:I
aload 4
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.end:I
aload 3
getfield jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment.caseFoldFlag:I
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.OptMapInfo.addCharAmb:([CIII)V
36: StackMap locals:
StackMap stack:
iload 5
istore 6
start local 6 37: StackMap locals: int
StackMap stack:
aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.length:Ljdk/nashorn/internal/runtime/regexp/joni/MinMaxLen;
iload 5
iload 6
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.MinMaxLen.set:(II)V
end local 6 38: StackMap locals:
StackMap stack:
aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.exb:Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
getfield jdk.nashorn.internal.runtime.regexp.joni.OptExactInfo.length:I
iload 5
if_icmpne 143
39: aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.exb:Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
iconst_1
putfield jdk.nashorn.internal.runtime.regexp.joni.OptExactInfo.reachEnd:Z
40: goto 143
end local 5 end local 4 41: StackMap locals:
StackMap stack:
aload 1
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode
astore 4
start local 4 42: aload 4
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.mbuf:Ljdk/nashorn/internal/runtime/regexp/joni/CodeRangeBuffer;
ifnonnull 43
aload 4
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.isNot:()Z
ifeq 45
43: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode
StackMap stack:
aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.length:Ljdk/nashorn/internal/runtime/regexp/joni/MinMaxLen;
iconst_1
iconst_1
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.MinMaxLen.set:(II)V
44: goto 143
45: StackMap locals:
StackMap stack:
iconst_0
istore 5
start local 5 46: goto 52
47: StackMap locals: int
StackMap stack:
aload 4
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.bs:Ljdk/nashorn/internal/runtime/regexp/joni/BitSet;
iload 5
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.BitSet.at:(I)Z
istore 6
start local 6 48: iload 6
ifeq 49
aload 4
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.isNot:()Z
ifeq 50
StackMap locals: int
StackMap stack:
49: iload 6
ifne 51
aload 4
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.isNot:()Z
ifeq 51
50: StackMap locals:
StackMap stack:
aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.map:Ljdk/nashorn/internal/runtime/regexp/joni/OptMapInfo;
iload 5
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.OptMapInfo.addChar:(I)V
end local 6 51: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
52: iload 5
sipush 256
if_icmplt 47
end local 5 53: aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.length:Ljdk/nashorn/internal/runtime/regexp/joni/MinMaxLen;
iconst_1
iconst_1
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.MinMaxLen.set:(II)V
54: goto 143
end local 4 55: StackMap locals:
StackMap stack:
aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.length:Ljdk/nashorn/internal/runtime/regexp/joni/MinMaxLen;
iconst_1
iconst_1
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.MinMaxLen.set:(II)V
56: goto 143
57: StackMap locals:
StackMap stack:
aload 1
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode
astore 4
start local 4 58: aload 4
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.type:I
lookupswitch { // 10
1: 59
2: 59
4: 59
8: 59
16: 59
32: 59
1024: 61
2048: 72
4096: 72
8192: 72
default: 73
}
59: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode
StackMap stack:
aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.anchor:Ljdk/nashorn/internal/runtime/regexp/joni/OptAnchorInfo;
aload 4
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.type:I
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.OptAnchorInfo.add:(I)V
60: goto 143
61: StackMap locals:
StackMap stack:
new jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo
dup
invokespecial jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.<init>:()V
astore 5
start local 5 62: aload 0
aload 4
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
aload 5
aload 3
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.optimizeNodeLeft:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Ljdk/nashorn/internal/runtime/regexp/joni/NodeOptInfo;Ljdk/nashorn/internal/runtime/regexp/joni/OptEnvironment;)V
63: aload 5
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.exb:Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
getfield jdk.nashorn.internal.runtime.regexp.joni.OptExactInfo.length:I
ifle 66
64: aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.expr:Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
aload 5
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.exb:Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.OptExactInfo.copy:(Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;)V
65: goto 68
StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo
StackMap stack:
66: aload 5
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.exm:Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
getfield jdk.nashorn.internal.runtime.regexp.joni.OptExactInfo.length:I
ifle 68
67: aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.expr:Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
aload 5
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.exm:Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.OptExactInfo.copy:(Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;)V
68: StackMap locals:
StackMap stack:
aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.expr:Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
iconst_0
putfield jdk.nashorn.internal.runtime.regexp.joni.OptExactInfo.reachEnd:Z
69: aload 5
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.map:Ljdk/nashorn/internal/runtime/regexp/joni/OptMapInfo;
getfield jdk.nashorn.internal.runtime.regexp.joni.OptMapInfo.value:I
ifle 143
70: aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.map:Ljdk/nashorn/internal/runtime/regexp/joni/OptMapInfo;
aload 5
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.map:Ljdk/nashorn/internal/runtime/regexp/joni/OptMapInfo;
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.OptMapInfo.copy:(Ljdk/nashorn/internal/runtime/regexp/joni/OptMapInfo;)V
71: goto 143
end local 5 72: StackMap locals:
StackMap stack:
goto 143
73: StackMap locals:
StackMap stack:
goto 143
end local 4 74: StackMap locals:
StackMap stack:
aload 1
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode
astore 4
start local 4 75: aload 4
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode.isRecursion:()Z
ifeq 78
76: aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.length:Ljdk/nashorn/internal/runtime/regexp/joni/MinMaxLen;
iconst_0
ldc 2147483647
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.MinMaxLen.set:(II)V
77: goto 143
78: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode
StackMap stack:
aload 3
getfield jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment.scanEnv:Ljdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment;
getfield jdk.nashorn.internal.runtime.regexp.joni.ScanEnvironment.memNodes:[Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
astore 5
start local 5 79: aload 0
aload 5
aload 4
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode.backRef:I
aaload
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getMinMatchLength:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
istore 6
start local 6 80: aload 0
aload 5
aload 4
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode.backRef:I
aaload
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getMaxMatchLength:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
istore 7
start local 7 81: aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.length:Ljdk/nashorn/internal/runtime/regexp/joni/MinMaxLen;
iload 6
iload 7
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.MinMaxLen.set:(II)V
82: goto 143
end local 7 end local 6 end local 5 end local 4 83: StackMap locals:
StackMap stack:
new jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo
dup
invokespecial jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.<init>:()V
astore 4
start local 4 84: aload 1
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode
astore 5
start local 5 85: aload 0
aload 5
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
aload 4
aload 3
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.optimizeNodeLeft:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Ljdk/nashorn/internal/runtime/regexp/joni/NodeOptInfo;Ljdk/nashorn/internal/runtime/regexp/joni/OptEnvironment;)V
86: aload 5
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
ifne 93
aload 5
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.upper:I
invokestatic jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.isRepeatInfinite:(I)Z
ifeq 93
87: aload 3
getfield jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment.mmd:Ljdk/nashorn/internal/runtime/regexp/joni/MinMaxLen;
getfield jdk.nashorn.internal.runtime.regexp.joni.MinMaxLen.max:I
ifne 109
aload 5
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 109
aload 5
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.greedy:Z
ifeq 109
88: aload 3
getfield jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment.options:I
invokestatic jdk.nashorn.internal.runtime.regexp.joni.Option.isMultiline:(I)Z
ifeq 91
89: aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.anchor:Ljdk/nashorn/internal/runtime/regexp/joni/OptAnchorInfo;
ldc 32768
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.OptAnchorInfo.add:(I)V
90: goto 109
91: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode
StackMap stack:
aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.anchor:Ljdk/nashorn/internal/runtime/regexp/joni/OptAnchorInfo;
sipush 16384
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.OptAnchorInfo.add:(I)V
92: goto 109
93: StackMap locals:
StackMap stack:
aload 5
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
ifle 109
94: aload 2
aload 4
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.copy:(Ljdk/nashorn/internal/runtime/regexp/joni/NodeOptInfo;)V
95: aload 4
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.exb:Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
getfield jdk.nashorn.internal.runtime.regexp.joni.OptExactInfo.length:I
ifle 104
96: aload 4
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.exb:Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
getfield jdk.nashorn.internal.runtime.regexp.joni.OptExactInfo.reachEnd:Z
ifeq 104
97: iconst_2
istore 6
start local 6 98: goto 101
99: StackMap locals: int
StackMap stack:
aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.exb:Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
aload 4
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.exb:Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.OptExactInfo.concat:(Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;)V
100: iinc 6 1
StackMap locals:
StackMap stack:
101: iload 6
aload 5
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
if_icmpgt 102
aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.exb:Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.OptExactInfo.isFull:()Z
ifeq 99
102: StackMap locals:
StackMap stack:
iload 6
aload 5
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
if_icmpge 104
103: aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.exb:Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
iconst_0
putfield jdk.nashorn.internal.runtime.regexp.joni.OptExactInfo.reachEnd:Z
end local 6 104: StackMap locals:
StackMap stack:
aload 5
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
aload 5
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.upper:I
if_icmpeq 107
105: aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.exb:Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
iconst_0
putfield jdk.nashorn.internal.runtime.regexp.joni.OptExactInfo.reachEnd:Z
106: aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.exm:Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
iconst_0
putfield jdk.nashorn.internal.runtime.regexp.joni.OptExactInfo.reachEnd:Z
107: StackMap locals:
StackMap stack:
aload 5
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
iconst_1
if_icmple 109
108: aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.exm:Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
iconst_0
putfield jdk.nashorn.internal.runtime.regexp.joni.OptExactInfo.reachEnd:Z
109: StackMap locals:
StackMap stack:
aload 4
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.length:Ljdk/nashorn/internal/runtime/regexp/joni/MinMaxLen;
getfield jdk.nashorn.internal.runtime.regexp.joni.MinMaxLen.min:I
aload 5
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
invokestatic jdk.nashorn.internal.runtime.regexp.joni.MinMaxLen.distanceMultiply:(II)I
istore 6
start local 6 110: aload 5
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.upper:I
invokestatic jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.isRepeatInfinite:(I)Z
ifeq 115
111: aload 4
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.length:Ljdk/nashorn/internal/runtime/regexp/joni/MinMaxLen;
getfield jdk.nashorn.internal.runtime.regexp.joni.MinMaxLen.max:I
ifle 112
ldc 2147483647
goto 113
StackMap locals: int
StackMap stack:
112: iconst_0
StackMap locals:
StackMap stack: int
113: istore 7
start local 7 114: goto 116
end local 7 115: StackMap locals:
StackMap stack:
aload 4
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.length:Ljdk/nashorn/internal/runtime/regexp/joni/MinMaxLen;
getfield jdk.nashorn.internal.runtime.regexp.joni.MinMaxLen.max:I
aload 5
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.upper:I
invokestatic jdk.nashorn.internal.runtime.regexp.joni.MinMaxLen.distanceMultiply:(II)I
istore 7
start local 7 116: StackMap locals: int
StackMap stack:
aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.length:Ljdk/nashorn/internal/runtime/regexp/joni/MinMaxLen;
iload 6
iload 7
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.MinMaxLen.set:(II)V
117: goto 143
end local 7 end local 6 end local 5 end local 4 118: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment
StackMap stack:
aload 1
checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode
astore 4
start local 4 119: aload 4
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.type:I
tableswitch { // 1 - 4
1: 125
2: 120
3: 141
4: 139
default: 141
}
120: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode
StackMap stack:
aload 3
getfield jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment.options:I
istore 5
start local 5 121: aload 3
aload 4
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.option:I
putfield jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment.options:I
122: aload 0
aload 4
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
aload 2
aload 3
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.optimizeNodeLeft:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Ljdk/nashorn/internal/runtime/regexp/joni/NodeOptInfo;Ljdk/nashorn/internal/runtime/regexp/joni/OptEnvironment;)V
123: aload 3
iload 5
putfield jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment.options:I
124: goto 143
end local 5 125: StackMap locals:
StackMap stack:
aload 4
dup
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.optCount:I
iconst_1
iadd
dup_x1
putfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.optCount:I
iconst_5
if_icmple 134
126: iconst_0
istore 6
start local 6 127: ldc 2147483647
istore 7
start local 7 128: aload 4
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.isMinFixed:()Z
ifeq 130
129: aload 4
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.minLength:I
istore 6
130: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode top int int
StackMap stack:
aload 4
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.isMaxFixed:()Z
ifeq 132
131: aload 4
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.maxLength:I
istore 7
132: StackMap locals:
StackMap stack:
aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.length:Ljdk/nashorn/internal/runtime/regexp/joni/MinMaxLen;
iload 6
iload 7
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.MinMaxLen.set:(II)V
end local 7 end local 6 133: goto 143
134: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode
StackMap stack:
aload 0
aload 4
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
aload 2
aload 3
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.optimizeNodeLeft:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Ljdk/nashorn/internal/runtime/regexp/joni/NodeOptInfo;Ljdk/nashorn/internal/runtime/regexp/joni/OptEnvironment;)V
135: aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.anchor:Ljdk/nashorn/internal/runtime/regexp/joni/OptAnchorInfo;
ldc 49152
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.OptAnchorInfo.isSet:(I)Z
ifeq 143
136: aload 3
getfield jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment.scanEnv:Ljdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment;
getfield jdk.nashorn.internal.runtime.regexp.joni.ScanEnvironment.backrefedMem:I
aload 4
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.regNum:I
invokestatic jdk.nashorn.internal.runtime.regexp.joni.BitStatus.bsAt:(II)Z
ifeq 143
137: aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.anchor:Ljdk/nashorn/internal/runtime/regexp/joni/OptAnchorInfo;
ldc 49152
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.OptAnchorInfo.remove:(I)V
138: goto 143
139: StackMap locals:
StackMap stack:
aload 0
aload 4
getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
aload 2
aload 3
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.optimizeNodeLeft:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Ljdk/nashorn/internal/runtime/regexp/joni/NodeOptInfo;Ljdk/nashorn/internal/runtime/regexp/joni/OptEnvironment;)V
140: goto 143
141: StackMap locals:
StackMap stack:
goto 143
end local 4 142: StackMap locals:
StackMap stack:
new jdk.nashorn.internal.runtime.regexp.joni.exception.InternalException
dup
ldc "internal parser error (bug)"
invokespecial jdk.nashorn.internal.runtime.regexp.joni.exception.InternalException.<init>:(Ljava/lang/String;)V
athrow
143: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 144 0 this Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;
0 144 1 node Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
0 144 2 opt Ljdk/nashorn/internal/runtime/regexp/joni/NodeOptInfo;
0 144 3 oenv Ljdk/nashorn/internal/runtime/regexp/joni/OptEnvironment;
4 12 4 nenv Ljdk/nashorn/internal/runtime/regexp/joni/OptEnvironment;
5 12 5 nopt Ljdk/nashorn/internal/runtime/regexp/joni/NodeOptInfo;
7 12 6 lin Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
13 21 4 nopt Ljdk/nashorn/internal/runtime/regexp/joni/NodeOptInfo;
14 21 5 aln Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
22 41 4 sn Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
23 41 5 slen I
31 32 6 max I
37 38 6 max I
42 55 4 cc Ljdk/nashorn/internal/runtime/regexp/joni/ast/CClassNode;
46 53 5 i I
48 51 6 z Z
58 74 4 an Ljdk/nashorn/internal/runtime/regexp/joni/ast/AnchorNode;
62 72 5 nopt Ljdk/nashorn/internal/runtime/regexp/joni/NodeOptInfo;
75 83 4 br Ljdk/nashorn/internal/runtime/regexp/joni/ast/BackRefNode;
79 83 5 nodes [Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
80 83 6 min I
81 83 7 max I
84 118 4 nopt Ljdk/nashorn/internal/runtime/regexp/joni/NodeOptInfo;
85 118 5 qn Ljdk/nashorn/internal/runtime/regexp/joni/ast/QuantifierNode;
98 104 6 i I
110 118 6 min I
114 115 7 max I
116 118 7 max I
119 142 4 en Ljdk/nashorn/internal/runtime/regexp/joni/ast/EncloseNode;
121 125 5 save I
127 133 6 min I
128 133 7 max I
MethodParameters:
Name Flags
node final
opt final
oenv final
protected final void setOptimizedInfoFromTree(jdk.nashorn.internal.runtime.regexp.joni.ast.Node);
descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: new jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo
dup
invokespecial jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.<init>:()V
astore 2
start local 2 1: new jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment
dup
invokespecial jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment.<init>:()V
astore 3
start local 3 2: aload 3
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.options:I
putfield jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment.options:I
3: aload 3
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.caseFoldFlag:I
putfield jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment.caseFoldFlag:I
4: aload 3
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.env:Ljdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment;
putfield jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment.scanEnv:Ljdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment;
5: aload 3
getfield jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment.mmd:Ljdk/nashorn/internal/runtime/regexp/joni/MinMaxLen;
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.MinMaxLen.clear:()V
6: aload 0
aload 1
aload 2
aload 3
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.optimizeNodeLeft:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Ljdk/nashorn/internal/runtime/regexp/joni/NodeOptInfo;Ljdk/nashorn/internal/runtime/regexp/joni/OptEnvironment;)V
7: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.anchor:Ljdk/nashorn/internal/runtime/regexp/joni/OptAnchorInfo;
getfield jdk.nashorn.internal.runtime.regexp.joni.OptAnchorInfo.leftAnchor:I
ldc 49157
iand
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.anchor:I
8: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
dup
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.anchor:I
aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.anchor:Ljdk/nashorn/internal/runtime/regexp/joni/OptAnchorInfo;
getfield jdk.nashorn.internal.runtime.regexp.joni.OptAnchorInfo.rightAnchor:I
bipush 24
iand
ior
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.anchor:I
9: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.anchor:I
bipush 24
iand
ifeq 12
10: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.length:Ljdk/nashorn/internal/runtime/regexp/joni/MinMaxLen;
getfield jdk.nashorn.internal.runtime.regexp.joni.MinMaxLen.min:I
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.anchorDmin:I
11: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.length:Ljdk/nashorn/internal/runtime/regexp/joni/MinMaxLen;
getfield jdk.nashorn.internal.runtime.regexp.joni.MinMaxLen.max:I
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.anchorDmax:I
12: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment
StackMap stack:
aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.exb:Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
getfield jdk.nashorn.internal.runtime.regexp.joni.OptExactInfo.length:I
ifgt 13
aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.exm:Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
getfield jdk.nashorn.internal.runtime.regexp.joni.OptExactInfo.length:I
ifle 21
13: StackMap locals:
StackMap stack:
aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.exb:Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.exm:Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.OptExactInfo.select:(Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;)V
14: aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.map:Ljdk/nashorn/internal/runtime/regexp/joni/OptMapInfo;
getfield jdk.nashorn.internal.runtime.regexp.joni.OptMapInfo.value:I
ifle 18
aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.exb:Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.map:Ljdk/nashorn/internal/runtime/regexp/joni/OptMapInfo;
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.OptExactInfo.compare:(Ljdk/nashorn/internal/runtime/regexp/joni/OptMapInfo;)I
ifle 18
15: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.map:Ljdk/nashorn/internal/runtime/regexp/joni/OptMapInfo;
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Regex.setOptimizeMapInfo:(Ljdk/nashorn/internal/runtime/regexp/joni/OptMapInfo;)V
16: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.map:Ljdk/nashorn/internal/runtime/regexp/joni/OptMapInfo;
getfield jdk.nashorn.internal.runtime.regexp.joni.OptMapInfo.anchor:Ljdk/nashorn/internal/runtime/regexp/joni/OptAnchorInfo;
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Regex.setSubAnchor:(Ljdk/nashorn/internal/runtime/regexp/joni/OptAnchorInfo;)V
17: goto 28
18: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.exb:Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Regex.setExactInfo:(Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;)V
19: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.exb:Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
getfield jdk.nashorn.internal.runtime.regexp.joni.OptExactInfo.anchor:Ljdk/nashorn/internal/runtime/regexp/joni/OptAnchorInfo;
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Regex.setSubAnchor:(Ljdk/nashorn/internal/runtime/regexp/joni/OptAnchorInfo;)V
20: goto 28
StackMap locals:
StackMap stack:
21: aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.map:Ljdk/nashorn/internal/runtime/regexp/joni/OptMapInfo;
getfield jdk.nashorn.internal.runtime.regexp.joni.OptMapInfo.value:I
ifle 25
22: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.map:Ljdk/nashorn/internal/runtime/regexp/joni/OptMapInfo;
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Regex.setOptimizeMapInfo:(Ljdk/nashorn/internal/runtime/regexp/joni/OptMapInfo;)V
23: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.map:Ljdk/nashorn/internal/runtime/regexp/joni/OptMapInfo;
getfield jdk.nashorn.internal.runtime.regexp.joni.OptMapInfo.anchor:Ljdk/nashorn/internal/runtime/regexp/joni/OptAnchorInfo;
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Regex.setSubAnchor:(Ljdk/nashorn/internal/runtime/regexp/joni/OptAnchorInfo;)V
24: goto 28
25: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
dup
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.subAnchor:I
aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.anchor:Ljdk/nashorn/internal/runtime/regexp/joni/OptAnchorInfo;
getfield jdk.nashorn.internal.runtime.regexp.joni.OptAnchorInfo.leftAnchor:I
iconst_2
iand
ior
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.subAnchor:I
26: aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.length:Ljdk/nashorn/internal/runtime/regexp/joni/MinMaxLen;
getfield jdk.nashorn.internal.runtime.regexp.joni.MinMaxLen.max:I
ifne 28
27: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
dup
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.subAnchor:I
aload 2
getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.anchor:Ljdk/nashorn/internal/runtime/regexp/joni/OptAnchorInfo;
getfield jdk.nashorn.internal.runtime.regexp.joni.OptAnchorInfo.rightAnchor:I
bipush 32
iand
ior
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.subAnchor:I
28: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;
0 29 1 node Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
1 29 2 opt Ljdk/nashorn/internal/runtime/regexp/joni/NodeOptInfo;
2 29 3 oenv Ljdk/nashorn/internal/runtime/regexp/joni/OptEnvironment;
MethodParameters:
Name Flags
node final
}
SourceFile: "Analyser.java"