public class org.graalvm.compiler.replacements.ConstantStringIndexOfSnippets implements org.graalvm.compiler.replacements.Snippets
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.replacements.ConstantStringIndexOfSnippets
super_class: java.lang.Object
{
static final org.graalvm.compiler.core.common.spi.ArrayOffsetProvider INJECTED;
descriptor: Lorg/graalvm/compiler/core/common/spi/ArrayOffsetProvider;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: aconst_null
putstatic org.graalvm.compiler.replacements.ConstantStringIndexOfSnippets.INJECTED:Lorg/graalvm/compiler/core/common/spi/ArrayOffsetProvider;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/ConstantStringIndexOfSnippets;
static int md2(char[]);
descriptor: ([C)I
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: aload 0
arraylength
istore 1
start local 1 1: iload 1
ifne 3
2: iconst_0
ireturn
3: StackMap locals: int
StackMap stack:
aload 0
iload 1
iconst_1
isub
caload
istore 2
start local 2 4: iload 1
istore 3
start local 3 5: iconst_0
istore 4
start local 4 6: goto 10
7: StackMap locals: int int int
StackMap stack:
aload 0
iload 4
caload
iload 2
if_icmpne 9
8: iload 1
iconst_1
isub
iload 4
isub
istore 3
9: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
10: iload 4
iload 1
iconst_1
isub
if_icmplt 7
end local 4 11: iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 target [C
1 12 1 c I
4 12 2 lastChar C
5 12 3 md2 I
6 11 4 i I
MethodParameters:
Name Flags
target
static long computeCache(char[]);
descriptor: ([C)J
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
arraylength
istore 1
start local 1 1: iconst_0
istore 2
start local 2 2: iconst_0
istore 3
start local 3 3: goto 6
4: StackMap locals: int int int
StackMap stack:
iload 2
iconst_1
aload 0
iload 3
caload
bipush 63
iand
ishl
ior
istore 2
5: iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
iload 1
iconst_1
isub
if_icmplt 4
7: iload 2
i2l
lreturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 s [C
1 8 1 c I
2 8 2 cache I
3 8 3 i I
MethodParameters:
Name Flags
s
static int charArrayBaseOffset(org.graalvm.compiler.core.common.spi.ArrayOffsetProvider);
descriptor: (Lorg/graalvm/compiler/core/common/spi/ArrayOffsetProvider;)I
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Char:Ljdk/vm/ci/meta/JavaKind;
invokeinterface org.graalvm.compiler.core.common.spi.ArrayOffsetProvider.arrayBaseOffset:(Ljdk/vm/ci/meta/JavaKind;)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 arrayOffsetProvider Lorg/graalvm/compiler/core/common/spi/ArrayOffsetProvider;
RuntimeVisibleAnnotations:
org.graalvm.compiler.api.replacements.Fold()
RuntimeVisibleParameterAnnotations:
0:
org.graalvm.compiler.api.replacements.Fold$InjectedParameter()
MethodParameters:
Name Flags
arrayOffsetProvider
public static int indexOfConstant(char[], int, int, char[], int, int, int, int, long);
descriptor: ([CII[CIIIIJ)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=22, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: iload 6
istore 10
start local 10 1: iload 10
iload 2
if_icmplt 5
2: iload 5
ifne 3
iload 2
goto 4
StackMap locals: int
StackMap stack:
3: iconst_m1
StackMap locals:
StackMap stack: int
4: ireturn
5: StackMap locals:
StackMap stack:
iload 10
ifge 7
6: iconst_0
istore 10
7: StackMap locals:
StackMap stack:
iload 5
ifne 9
8: iload 10
ireturn
9: StackMap locals:
StackMap stack:
iload 5
iconst_1
isub
istore 11
start local 11 10: iload 2
iload 11
isub
istore 12
start local 12 11: getstatic org.graalvm.compiler.replacements.ConstantStringIndexOfSnippets.INJECTED:Lorg/graalvm/compiler/core/common/spi/ArrayOffsetProvider;
invokestatic org.graalvm.compiler.replacements.ConstantStringIndexOfSnippets.charArrayBaseOffset:(Lorg/graalvm/compiler/core/common/spi/ArrayOffsetProvider;)I
i2l
lstore 13
start local 13 12: getstatic org.graalvm.compiler.replacements.UnsafeAccess.UNSAFE:Lsun/misc/Unsafe;
aload 3
lload 13
iload 11
iconst_2
imul
i2l
ladd
invokevirtual sun.misc.Unsafe.getChar:(Ljava/lang/Object;J)C
istore 15
start local 15 13: iload 1
iload 10
iadd
i2l
lstore 16
start local 16 14: goto 35
15: StackMap locals: char[] int int char[] int int int int long int int int long int long
StackMap stack:
getstatic org.graalvm.compiler.replacements.UnsafeAccess.UNSAFE:Lsun/misc/Unsafe;
aload 0
lload 13
lload 16
iload 11
i2l
ladd
ldc 2
lmul
ladd
invokevirtual sun.misc.Unsafe.getChar:(Ljava/lang/Object;J)C
istore 18
start local 18 16: iload 18
iload 15
if_icmpne 32
17: iload 5
bipush 8
if_icmpgt 19
18: invokestatic org.graalvm.compiler.replacements.nodes.ExplodeLoopNode.explodeLoop:()V
19: StackMap locals: int
StackMap stack:
lconst_0
lstore 19
start local 19 20: goto 30
21: StackMap locals: long
StackMap stack:
getstatic org.graalvm.compiler.replacements.UnsafeAccess.UNSAFE:Lsun/misc/Unsafe;
aload 0
lload 13
lload 16
lload 19
ladd
ldc 2
lmul
ladd
invokevirtual sun.misc.Unsafe.getChar:(Ljava/lang/Object;J)C
istore 21
start local 21 22: getstatic org.graalvm.compiler.replacements.UnsafeAccess.UNSAFE:Lsun/misc/Unsafe;
aload 3
lload 13
iload 4
i2l
lload 19
ladd
ldc 2
lmul
ladd
invokevirtual sun.misc.Unsafe.getChar:(Ljava/lang/Object;J)C
iload 21
if_icmpeq 29
23: lload 8
iconst_1
iload 21
ishl
i2l
land
lconst_0
lcmp
ifne 27
24: iload 7
i2l
lload 19
lconst_1
ladd
lcmp
ifge 27
25: lload 16
lload 19
lconst_1
ladd
ladd
lstore 16
26: goto 35
27: StackMap locals: int
StackMap stack:
lload 16
iload 7
i2l
ladd
lstore 16
28: goto 35
end local 21 29: StackMap locals:
StackMap stack:
lload 19
lconst_1
ladd
lstore 19
StackMap locals:
StackMap stack:
30: lload 19
iload 11
i2l
lcmp
iflt 21
end local 19 31: lload 16
iload 1
i2l
lsub
l2i
ireturn
32: StackMap locals:
StackMap stack:
lload 8
iconst_1
iload 18
ishl
i2l
land
lconst_0
lcmp
ifne 34
33: lload 16
iload 11
i2l
ladd
lstore 16
34: StackMap locals:
StackMap stack:
lload 16
lconst_1
ladd
lstore 16
end local 18 35: StackMap locals:
StackMap stack:
lload 16
iload 12
i2l
lcmp
iflt 15
end local 16 36: iconst_m1
ireturn
end local 15 end local 13 end local 12 end local 11 end local 10 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 37 0 source [C
0 37 1 sourceOffset I
0 37 2 sourceCount I
0 37 3 target [C
0 37 4 targetOffset I
0 37 5 targetCount I
0 37 6 origFromIndex I
0 37 7 md2 I
0 37 8 cache J
1 37 10 fromIndex I
10 37 11 targetCountLess1 I
11 37 12 sourceEnd I
12 37 13 base J
13 37 15 lastChar I
14 36 16 i J
16 35 18 src I
20 31 19 j J
22 29 21 sourceChar C
RuntimeVisibleAnnotations:
org.graalvm.compiler.api.replacements.Snippet()
RuntimeVisibleParameterAnnotations:
0:
1:
2:
3:
org.graalvm.compiler.api.replacements.Snippet$ConstantParameter()
4:
5:
6:
7:
org.graalvm.compiler.api.replacements.Snippet$ConstantParameter()
8:
org.graalvm.compiler.api.replacements.Snippet$ConstantParameter()
MethodParameters:
Name Flags
source
sourceOffset
sourceCount
target
targetOffset
targetCount
origFromIndex
md2
cache
}
SourceFile: "ConstantStringIndexOfSnippets.java"
NestMembers:
org.graalvm.compiler.replacements.ConstantStringIndexOfSnippets$Templates
InnerClasses:
public abstract InjectedParameter = org.graalvm.compiler.api.replacements.Fold$InjectedParameter of org.graalvm.compiler.api.replacements.Fold
public abstract ConstantParameter = org.graalvm.compiler.api.replacements.Snippet$ConstantParameter of org.graalvm.compiler.api.replacements.Snippet
public Templates = org.graalvm.compiler.replacements.ConstantStringIndexOfSnippets$Templates of org.graalvm.compiler.replacements.ConstantStringIndexOfSnippets