public final class jdk.nashorn.internal.runtime.regexp.joni.Regex implements jdk.nashorn.internal.runtime.regexp.joni.constants.RegexState
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: jdk.nashorn.internal.runtime.regexp.joni.Regex
super_class: java.lang.Object
{
int[] code;
descriptor: [I
flags: (0x0000)
int codeLength;
descriptor: I
flags: (0x0000)
boolean stackNeeded;
descriptor: Z
flags: (0x0000)
java.lang.Object[] operands;
descriptor: [Ljava/lang/Object;
flags: (0x0000)
int operandLength;
descriptor: I
flags: (0x0000)
int numMem;
descriptor: I
flags: (0x0000)
int numRepeat;
descriptor: I
flags: (0x0000)
int numNullCheck;
descriptor: I
flags: (0x0000)
int captureHistory;
descriptor: I
flags: (0x0000)
int btMemStart;
descriptor: I
flags: (0x0000)
int btMemEnd;
descriptor: I
flags: (0x0000)
int stackPopLevel;
descriptor: I
flags: (0x0000)
int[] repeatRangeLo;
descriptor: [I
flags: (0x0000)
int[] repeatRangeHi;
descriptor: [I
flags: (0x0000)
jdk.nashorn.internal.runtime.regexp.joni.WarnCallback warnings;
descriptor: Ljdk/nashorn/internal/runtime/regexp/joni/WarnCallback;
flags: (0x0000)
jdk.nashorn.internal.runtime.regexp.joni.MatcherFactory factory;
descriptor: Ljdk/nashorn/internal/runtime/regexp/joni/MatcherFactory;
flags: (0x0000)
protected jdk.nashorn.internal.runtime.regexp.joni.Analyser analyser;
descriptor: Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;
flags: (0x0004) ACC_PROTECTED
int options;
descriptor: I
flags: (0x0000)
final int caseFoldFlag;
descriptor: I
flags: (0x0010) ACC_FINAL
jdk.nashorn.internal.runtime.regexp.joni.SearchAlgorithm searchAlgorithm;
descriptor: Ljdk/nashorn/internal/runtime/regexp/joni/SearchAlgorithm;
flags: (0x0000)
int thresholdLength;
descriptor: I
flags: (0x0000)
int anchor;
descriptor: I
flags: (0x0000)
int anchorDmin;
descriptor: I
flags: (0x0000)
int anchorDmax;
descriptor: I
flags: (0x0000)
int subAnchor;
descriptor: I
flags: (0x0000)
char[] exact;
descriptor: [C
flags: (0x0000)
int exactP;
descriptor: I
flags: (0x0000)
int exactEnd;
descriptor: I
flags: (0x0000)
byte[] map;
descriptor: [B
flags: (0x0000)
int[] intMap;
descriptor: [I
flags: (0x0000)
int[] intMapBackward;
descriptor: [I
flags: (0x0000)
int dMin;
descriptor: I
flags: (0x0000)
int dMax;
descriptor: I
flags: (0x0000)
char[][] templates;
descriptor: [[C
flags: (0x0000)
int templateNum;
descriptor: I
flags: (0x0000)
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic jdk.nashorn.internal.runtime.regexp.joni.Regex.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.lang.CharSequence);
descriptor: (Ljava/lang/CharSequence;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
invokespecial jdk.nashorn.internal.runtime.regexp.joni.Regex.<init>:(Ljava/lang/String;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
0 2 1 cs Ljava/lang/CharSequence;
MethodParameters:
Name Flags
cs final
public void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.lang.String.toCharArray:()[C
iconst_0
aload 1
invokevirtual java.lang.String.length:()I
iconst_0
invokespecial jdk.nashorn.internal.runtime.regexp.joni.Regex.<init>:([CIII)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
0 2 1 str Ljava/lang/String;
MethodParameters:
Name Flags
str final
public void <init>(char[]);
descriptor: ([C)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
aload 1
arraylength
iconst_0
invokespecial jdk.nashorn.internal.runtime.regexp.joni.Regex.<init>:([CIII)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
0 2 1 chars [C
MethodParameters:
Name Flags
chars final
public void <init>(char[], int, int);
descriptor: ([CII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
iload 3
iconst_0
invokespecial jdk.nashorn.internal.runtime.regexp.joni.Regex.<init>:([CIII)V
1: return
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/Regex;
0 2 1 chars [C
0 2 2 p I
0 2 3 end I
MethodParameters:
Name Flags
chars final
p final
end final
public void <init>(char[], int, int, int);
descriptor: ([CIII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, 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
iload 2
iload 3
iload 4
getstatic jdk.nashorn.internal.runtime.regexp.joni.Syntax.RUBY:Ljdk/nashorn/internal/runtime/regexp/joni/Syntax;
getstatic jdk.nashorn.internal.runtime.regexp.joni.WarnCallback.DEFAULT:Ljdk/nashorn/internal/runtime/regexp/joni/WarnCallback;
invokespecial jdk.nashorn.internal.runtime.regexp.joni.Regex.<init>:([CIIILjdk/nashorn/internal/runtime/regexp/joni/Syntax;Ljdk/nashorn/internal/runtime/regexp/joni/WarnCallback;)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/Regex;
0 2 1 chars [C
0 2 2 p I
0 2 3 end I
0 2 4 option I
MethodParameters:
Name Flags
chars final
p final
end final
option final
public void <init>(char[], int, int, int, jdk.nashorn.internal.runtime.regexp.joni.Syntax);
descriptor: ([CIIILjdk/nashorn/internal/runtime/regexp/joni/Syntax;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
iload 2
iload 3
iload 4
ldc 1073741824
aload 5
getstatic jdk.nashorn.internal.runtime.regexp.joni.WarnCallback.DEFAULT:Ljdk/nashorn/internal/runtime/regexp/joni/WarnCallback;
invokespecial jdk.nashorn.internal.runtime.regexp.joni.Regex.<init>:([CIIIILjdk/nashorn/internal/runtime/regexp/joni/Syntax;Ljdk/nashorn/internal/runtime/regexp/joni/WarnCallback;)V
1: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
0 2 1 chars [C
0 2 2 p I
0 2 3 end I
0 2 4 option I
0 2 5 syntax Ljdk/nashorn/internal/runtime/regexp/joni/Syntax;
MethodParameters:
Name Flags
chars final
p final
end final
option final
syntax final
public void <init>(char[], int, int, int, jdk.nashorn.internal.runtime.regexp.joni.WarnCallback);
descriptor: ([CIIILjdk/nashorn/internal/runtime/regexp/joni/WarnCallback;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
iload 2
iload 3
iload 4
getstatic jdk.nashorn.internal.runtime.regexp.joni.Syntax.RUBY:Ljdk/nashorn/internal/runtime/regexp/joni/Syntax;
aload 5
invokespecial jdk.nashorn.internal.runtime.regexp.joni.Regex.<init>:([CIIILjdk/nashorn/internal/runtime/regexp/joni/Syntax;Ljdk/nashorn/internal/runtime/regexp/joni/WarnCallback;)V
1: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
0 2 1 chars [C
0 2 2 p I
0 2 3 end I
0 2 4 option I
0 2 5 warnings Ljdk/nashorn/internal/runtime/regexp/joni/WarnCallback;
MethodParameters:
Name Flags
chars final
p final
end final
option final
warnings final
public void <init>(char[], int, int, int, jdk.nashorn.internal.runtime.regexp.joni.Syntax, jdk.nashorn.internal.runtime.regexp.joni.WarnCallback);
descriptor: ([CIIILjdk/nashorn/internal/runtime/regexp/joni/Syntax;Ljdk/nashorn/internal/runtime/regexp/joni/WarnCallback;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=7, 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 0
aload 1
iload 2
iload 3
iload 4
ldc 1073741824
aload 5
aload 6
invokespecial jdk.nashorn.internal.runtime.regexp.joni.Regex.<init>:([CIIIILjdk/nashorn/internal/runtime/regexp/joni/Syntax;Ljdk/nashorn/internal/runtime/regexp/joni/WarnCallback;)V
1: return
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 2 0 this Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
0 2 1 chars [C
0 2 2 p I
0 2 3 end I
0 2 4 option I
0 2 5 syntax Ljdk/nashorn/internal/runtime/regexp/joni/Syntax;
0 2 6 warnings Ljdk/nashorn/internal/runtime/regexp/joni/WarnCallback;
MethodParameters:
Name Flags
chars final
p final
end final
option final
syntax final
warnings final
public void <init>(char[], int, int, int, int, jdk.nashorn.internal.runtime.regexp.joni.Syntax, jdk.nashorn.internal.runtime.regexp.joni.WarnCallback);
descriptor: ([CIIIILjdk/nashorn/internal/runtime/regexp/joni/Syntax;Ljdk/nashorn/internal/runtime/regexp/joni/WarnCallback;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=9, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: iload 4
istore 8
start local 8 2: iload 8
sipush 384
iand
3: sipush 384
4: if_icmpne 6
5: new jdk.nashorn.internal.runtime.regexp.joni.exception.ValueException
dup
ldc "invalid combination of options"
invokespecial jdk.nashorn.internal.runtime.regexp.joni.exception.ValueException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Regex char[] int int int int jdk.nashorn.internal.runtime.regexp.joni.Syntax jdk.nashorn.internal.runtime.regexp.joni.WarnCallback int
StackMap stack:
iload 8
bipush 64
iand
ifeq 10
7: iload 8
aload 6
getfield jdk.nashorn.internal.runtime.regexp.joni.Syntax.options:I
ior
istore 8
8: iload 8
bipush -9
iand
istore 8
9: goto 11
10: StackMap locals:
StackMap stack:
iload 8
aload 6
getfield jdk.nashorn.internal.runtime.regexp.joni.Syntax.options:I
ior
istore 8
11: StackMap locals:
StackMap stack:
aload 0
iload 8
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.options:I
12: aload 0
iload 5
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.caseFoldFlag:I
13: aload 0
aload 7
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.warnings:Ljdk/nashorn/internal/runtime/regexp/joni/WarnCallback;
14: aload 0
new jdk.nashorn.internal.runtime.regexp.joni.Analyser
dup
new jdk.nashorn.internal.runtime.regexp.joni.ScanEnvironment
dup
aload 0
aload 6
invokespecial jdk.nashorn.internal.runtime.regexp.joni.ScanEnvironment.<init>:(Ljdk/nashorn/internal/runtime/regexp/joni/Regex;Ljdk/nashorn/internal/runtime/regexp/joni/Syntax;)V
aload 1
iload 2
iload 3
invokespecial jdk.nashorn.internal.runtime.regexp.joni.Analyser.<init>:(Ljdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment;[CII)V
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.analyser:Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;
15: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.analyser:Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.compile:()V
16: aload 0
aconst_null
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.warnings:Ljdk/nashorn/internal/runtime/regexp/joni/WarnCallback;
17: return
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
0 18 1 chars [C
0 18 2 p I
0 18 3 end I
0 18 4 optionp I
0 18 5 caseFoldFlag I
0 18 6 syntax Ljdk/nashorn/internal/runtime/regexp/joni/Syntax;
0 18 7 warnings Ljdk/nashorn/internal/runtime/regexp/joni/WarnCallback;
2 18 8 option I
MethodParameters:
Name Flags
chars final
p final
end final
optionp final
caseFoldFlag final
syntax final
warnings final
public synchronized jdk.nashorn.internal.runtime.regexp.joni.MatcherFactory compile();
descriptor: ()Ljdk/nashorn/internal/runtime/regexp/joni/MatcherFactory;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.factory:Ljdk/nashorn/internal/runtime/regexp/joni/MatcherFactory;
ifnonnull 3
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.analyser:Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;
ifnull 3
1: new jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler
dup
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.analyser:Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;
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
2: aload 0
aconst_null
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.analyser:Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;
3: StackMap locals:
StackMap stack:
getstatic jdk.nashorn.internal.runtime.regexp.joni.Regex.$assertionsDisabled:Z
ifne 4
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.factory:Ljdk/nashorn/internal/runtime/regexp/joni/MatcherFactory;
ifnonnull 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.factory:Ljdk/nashorn/internal/runtime/regexp/joni/MatcherFactory;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
public jdk.nashorn.internal.runtime.regexp.joni.Matcher matcher(char[]);
descriptor: ([C)Ljdk/nashorn/internal/runtime/regexp/joni/Matcher;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
aload 1
arraylength
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Regex.matcher:([CII)Ljdk/nashorn/internal/runtime/regexp/joni/Matcher;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
0 1 1 chars [C
MethodParameters:
Name Flags
chars final
public jdk.nashorn.internal.runtime.regexp.joni.Matcher matcher(char[], int, int);
descriptor: ([CII)Ljdk/nashorn/internal/runtime/regexp/joni/Matcher;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.factory:Ljdk/nashorn/internal/runtime/regexp/joni/MatcherFactory;
astore 4
start local 4 1: aload 4
ifnonnull 3
2: aload 0
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Regex.compile:()Ljdk/nashorn/internal/runtime/regexp/joni/MatcherFactory;
astore 4
3: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.MatcherFactory
StackMap stack:
aload 4
aload 0
aload 1
iload 2
iload 3
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.MatcherFactory.create:(Ljdk/nashorn/internal/runtime/regexp/joni/Regex;[CII)Ljdk/nashorn/internal/runtime/regexp/joni/Matcher;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
0 4 1 chars [C
0 4 2 p I
0 4 3 end I
1 4 4 matcherFactory Ljdk/nashorn/internal/runtime/regexp/joni/MatcherFactory;
MethodParameters:
Name Flags
chars final
p final
end final
public jdk.nashorn.internal.runtime.regexp.joni.WarnCallback getWarnings();
descriptor: ()Ljdk/nashorn/internal/runtime/regexp/joni/WarnCallback;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.warnings:Ljdk/nashorn/internal/runtime/regexp/joni/WarnCallback;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
public int numberOfCaptures();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.numMem:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
void setupBMSkipMap();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=6, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.exact:[C
astore 1
start local 1 1: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.exactP:I
istore 2
start local 2 2: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.exactEnd:I
istore 3
start local 3 3: iload 3
iload 2
isub
istore 4
start local 4 4: iload 4
sipush 256
if_icmpge 18
5: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.map:[B
ifnonnull 7
6: aload 0
sipush 256
newarray 8
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.map:[B
7: StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Regex char[] int int int
StackMap stack:
iconst_0
istore 5
start local 5 8: goto 11
9: StackMap locals: int
StackMap stack:
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.map:[B
iload 5
iload 4
i2b
bastore
10: iinc 5 1
StackMap locals:
StackMap stack:
11: iload 5
sipush 256
if_icmplt 9
end local 5 12: iconst_0
istore 5
start local 5 13: goto 16
14: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.map:[B
aload 1
iload 2
iload 5
iadd
caload
sipush 255
iand
iload 4
iconst_1
isub
iload 5
isub
i2b
bastore
15: iinc 5 1
StackMap locals:
StackMap stack:
16: iload 5
iload 4
iconst_1
isub
if_icmplt 14
end local 5 17: goto 25
18: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.intMap:[I
ifnonnull 20
19: aload 0
sipush 256
newarray 10
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.intMap:[I
20: StackMap locals:
StackMap stack:
iconst_0
istore 5
start local 5 21: goto 24
22: StackMap locals: int
StackMap stack:
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.intMap:[I
aload 1
iload 2
iload 5
iadd
caload
sipush 255
iand
iload 4
iconst_1
isub
iload 5
isub
iastore
23: iinc 5 1
StackMap locals:
StackMap stack:
24: iload 5
iload 4
iconst_1
isub
if_icmplt 22
end local 5 25: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
1 26 1 chars [C
2 26 2 p I
3 26 3 end I
4 26 4 len I
8 12 5 i I
13 17 5 i I
21 25 5 i I
void setExactInfo(jdk.nashorn.internal.runtime.regexp.joni.OptExactInfo);
descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.OptExactInfo.length:I
ifne 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.OptExactInfo.chars:[C
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.exact:[C
3: aload 0
iconst_0
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.exactP:I
4: aload 0
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.OptExactInfo.length:I
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.exactEnd:I
5: aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.OptExactInfo.ignoreCase:Z
ifeq 8
6: aload 0
new jdk.nashorn.internal.runtime.regexp.joni.SearchAlgorithm$SLOW_IC
dup
aload 0
invokespecial jdk.nashorn.internal.runtime.regexp.joni.SearchAlgorithm$SLOW_IC.<init>:(Ljdk/nashorn/internal/runtime/regexp/joni/Regex;)V
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.searchAlgorithm:Ljdk/nashorn/internal/runtime/regexp/joni/SearchAlgorithm;
7: goto 13
8: StackMap locals:
StackMap stack:
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.OptExactInfo.length:I
iconst_2
if_icmplt 12
9: aload 0
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Regex.setupBMSkipMap:()V
10: aload 0
getstatic jdk.nashorn.internal.runtime.regexp.joni.SearchAlgorithm.BM:Ljdk/nashorn/internal/runtime/regexp/joni/SearchAlgorithm;
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.searchAlgorithm:Ljdk/nashorn/internal/runtime/regexp/joni/SearchAlgorithm;
11: goto 13
12: StackMap locals:
StackMap stack:
aload 0
getstatic jdk.nashorn.internal.runtime.regexp.joni.SearchAlgorithm.SLOW:Ljdk/nashorn/internal/runtime/regexp/joni/SearchAlgorithm;
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.searchAlgorithm:Ljdk/nashorn/internal/runtime/regexp/joni/SearchAlgorithm;
13: StackMap locals:
StackMap stack:
aload 0
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.OptExactInfo.mmd: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.dMin:I
14: aload 0
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.OptExactInfo.mmd: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.dMax:I
15: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.dMin:I
ldc 2147483647
if_icmpeq 17
16: aload 0
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.dMin:I
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.exactEnd:I
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.exactP:I
isub
iadd
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.thresholdLength:I
17: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
0 18 1 e Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
MethodParameters:
Name Flags
e final
void setOptimizeMapInfo(jdk.nashorn.internal.runtime.regexp.joni.OptMapInfo);
descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/OptMapInfo;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.OptMapInfo.map:[B
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.map:[B
1: aload 0
getstatic jdk.nashorn.internal.runtime.regexp.joni.SearchAlgorithm.MAP:Ljdk/nashorn/internal/runtime/regexp/joni/SearchAlgorithm;
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.searchAlgorithm:Ljdk/nashorn/internal/runtime/regexp/joni/SearchAlgorithm;
2: aload 0
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.OptMapInfo.mmd: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.dMin:I
3: aload 0
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.OptMapInfo.mmd: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.dMax:I
4: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.dMin:I
ldc 2147483647
if_icmpeq 6
5: aload 0
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.dMin:I
iconst_1
iadd
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.thresholdLength:I
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
0 7 1 m Ljdk/nashorn/internal/runtime/regexp/joni/OptMapInfo;
MethodParameters:
Name Flags
m final
void setSubAnchor(jdk.nashorn.internal.runtime.regexp.joni.OptAnchorInfo);
descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/OptAnchorInfo;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
dup
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.subAnchor:I
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.OptAnchorInfo.leftAnchor:I
iconst_2
iand
ior
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.subAnchor:I
1: aload 0
dup
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.subAnchor:I
aload 1
getfield jdk.nashorn.internal.runtime.regexp.joni.OptAnchorInfo.rightAnchor:I
bipush 32
iand
ior
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.subAnchor:I
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
0 3 1 anc Ljdk/nashorn/internal/runtime/regexp/joni/OptAnchorInfo;
MethodParameters:
Name Flags
anc final
void clearOptimizeInfo();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getstatic jdk.nashorn.internal.runtime.regexp.joni.SearchAlgorithm.NONE:Ljdk/nashorn/internal/runtime/regexp/joni/SearchAlgorithm;
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.searchAlgorithm:Ljdk/nashorn/internal/runtime/regexp/joni/SearchAlgorithm;
1: aload 0
iconst_0
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.anchor:I
2: aload 0
iconst_0
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.anchorDmax:I
3: aload 0
iconst_0
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.anchorDmin:I
4: aload 0
iconst_0
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.subAnchor:I
5: aload 0
aconst_null
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.exact:[C
6: aload 0
aload 0
iconst_0
dup_x1
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.exactEnd:I
putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.exactP:I
7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
public java.lang.String optimizeInfoToString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 1: aload 1
ldc "optimize: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.searchAlgorithm:Ljdk/nashorn/internal/runtime/regexp/joni/SearchAlgorithm;
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.SearchAlgorithm.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
2: aload 1
ldc " anchor: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.anchor:I
invokestatic jdk.nashorn.internal.runtime.regexp.joni.OptAnchorInfo.anchorToString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
3: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.anchor:I
bipush 24
iand
ifeq 5
4: aload 1
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.anchorDmin:I
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.anchorDmax:I
invokestatic jdk.nashorn.internal.runtime.regexp.joni.MinMaxLen.distanceRangeToString:(II)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
5: StackMap locals: java.lang.StringBuilder
StackMap stack:
aload 1
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
6: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.searchAlgorithm:Ljdk/nashorn/internal/runtime/regexp/joni/SearchAlgorithm;
getstatic jdk.nashorn.internal.runtime.regexp.joni.SearchAlgorithm.NONE:Ljdk/nashorn/internal/runtime/regexp/joni/SearchAlgorithm;
if_acmpeq 8
7: aload 1
ldc " sub anchor: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.subAnchor:I
invokestatic jdk.nashorn.internal.runtime.regexp.joni.OptAnchorInfo.anchorToString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
8: StackMap locals:
StackMap stack:
aload 1
ldc "dmin: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.dMin:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " dmax: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.dMax:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
9: aload 1
ldc "threshold length: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.thresholdLength:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
10: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.exact:[C
ifnull 13
11: aload 1
ldc "exact: ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.exact:[C
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.exactP:I
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.exactEnd:I
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.exactP:I
isub
invokevirtual java.lang.StringBuilder.append:([CII)Ljava/lang/StringBuilder;
ldc "]: length: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.exactEnd:I
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.exactP:I
isub
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
12: goto 35
StackMap locals:
StackMap stack:
13: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.searchAlgorithm:Ljdk/nashorn/internal/runtime/regexp/joni/SearchAlgorithm;
getstatic jdk.nashorn.internal.runtime.regexp.joni.SearchAlgorithm.MAP:Ljdk/nashorn/internal/runtime/regexp/joni/SearchAlgorithm;
if_acmpne 35
14: iconst_0
istore 2
start local 2 15: iconst_0
istore 3
start local 3 16: goto 20
17: StackMap locals: int int
StackMap stack:
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.map:[B
iload 3
baload
ifeq 19
18: iinc 2 1
19: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
20: iload 3
sipush 256
if_icmplt 17
end local 3 21: aload 1
ldc "map: n = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
22: iload 2
ifle 35
23: iconst_0
istore 3
start local 3 24: aload 1
ldc "["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
25: iconst_0
istore 4
start local 4 26: goto 33
27: StackMap locals: int
StackMap stack:
aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.map:[B
iload 4
baload
ifeq 32
28: iload 3
ifle 30
29: aload 1
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
30: StackMap locals:
StackMap stack:
iinc 3 1
31: aload 1
iload 4
i2c
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
32: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
33: iload 4
sipush 256
if_icmplt 27
end local 4 34: aload 1
ldc "]\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 3 end local 2 35: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
1 36 1 s Ljava/lang/StringBuilder;
15 35 2 n I
16 21 3 i I
24 35 3 c I
26 34 4 i I
public int getOptions();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.options:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
public java.lang.String dumpTree();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.analyser:Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;
ifnonnull 1
aconst_null
goto 2
StackMap locals:
StackMap stack:
1: aload 0
getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.analyser:Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;
getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.root:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.Node.toString:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
public java.lang.String dumpByteCode();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Regex.compile:()Ljdk/nashorn/internal/runtime/regexp/joni/MatcherFactory;
pop
1: new jdk.nashorn.internal.runtime.regexp.joni.ByteCodePrinter
dup
aload 0
invokespecial jdk.nashorn.internal.runtime.regexp.joni.ByteCodePrinter.<init>:(Ljdk/nashorn/internal/runtime/regexp/joni/Regex;)V
invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ByteCodePrinter.byteCodeListToString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
}
SourceFile: "Regex.java"
InnerClasses:
public final SLOW_IC = jdk.nashorn.internal.runtime.regexp.joni.SearchAlgorithm$SLOW_IC of jdk.nashorn.internal.runtime.regexp.joni.SearchAlgorithm