public final class org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp extends org.graalvm.compiler.lir.amd64.AMD64LIRInstruction
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp
super_class: org.graalvm.compiler.lir.amd64.AMD64LIRInstruction
{
public static final org.graalvm.compiler.lir.LIRInstructionClass<org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp> TYPE;
descriptor: Lorg/graalvm/compiler/lir/LIRInstructionClass;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Lorg/graalvm/compiler/lir/LIRInstructionClass<Lorg/graalvm/compiler/lir/amd64/AMD64ArrayIndexOfOp;>;
private final jdk.vm.ci.meta.JavaKind kind;
descriptor: Ljdk/vm/ci/meta/JavaKind;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int vmPageSize;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int nValues;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean findTwoConsecutive;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.vm.ci.amd64.AMD64Kind vectorKind;
descriptor: Ljdk/vm/ci/amd64/AMD64Kind;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
protected jdk.vm.ci.meta.Value resultValue;
descriptor: Ljdk/vm/ci/meta/Value;
flags: (0x0004) ACC_PROTECTED
RuntimeVisibleAnnotations:
org.graalvm.compiler.lir.LIRInstruction$Def(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})
protected jdk.vm.ci.meta.Value arrayPtrValue;
descriptor: Ljdk/vm/ci/meta/Value;
flags: (0x0004) ACC_PROTECTED
RuntimeVisibleAnnotations:
org.graalvm.compiler.lir.LIRInstruction$Alive(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})
protected jdk.vm.ci.meta.Value arrayLengthValue;
descriptor: Ljdk/vm/ci/meta/Value;
flags: (0x0004) ACC_PROTECTED
RuntimeVisibleAnnotations:
org.graalvm.compiler.lir.LIRInstruction$Use(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})
protected jdk.vm.ci.meta.Value searchValue1;
descriptor: Ljdk/vm/ci/meta/Value;
flags: (0x0004) ACC_PROTECTED
RuntimeVisibleAnnotations:
org.graalvm.compiler.lir.LIRInstruction$Alive(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})
protected jdk.vm.ci.meta.Value searchValue2;
descriptor: Ljdk/vm/ci/meta/Value;
flags: (0x0004) ACC_PROTECTED
RuntimeVisibleAnnotations:
org.graalvm.compiler.lir.LIRInstruction$Alive(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;, org.graalvm.compiler.lir.LIRInstruction$OperandFlag.ILLEGAL:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})
protected jdk.vm.ci.meta.Value searchValue3;
descriptor: Ljdk/vm/ci/meta/Value;
flags: (0x0004) ACC_PROTECTED
RuntimeVisibleAnnotations:
org.graalvm.compiler.lir.LIRInstruction$Alive(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;, org.graalvm.compiler.lir.LIRInstruction$OperandFlag.ILLEGAL:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})
protected jdk.vm.ci.meta.Value searchValue4;
descriptor: Ljdk/vm/ci/meta/Value;
flags: (0x0004) ACC_PROTECTED
RuntimeVisibleAnnotations:
org.graalvm.compiler.lir.LIRInstruction$Alive(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;, org.graalvm.compiler.lir.LIRInstruction$OperandFlag.ILLEGAL:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})
protected jdk.vm.ci.meta.Value arraySlotsRemaining;
descriptor: Ljdk/vm/ci/meta/Value;
flags: (0x0004) ACC_PROTECTED
RuntimeVisibleAnnotations:
org.graalvm.compiler.lir.LIRInstruction$Temp(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})
protected jdk.vm.ci.meta.Value comparisonResult1;
descriptor: Ljdk/vm/ci/meta/Value;
flags: (0x0004) ACC_PROTECTED
RuntimeVisibleAnnotations:
org.graalvm.compiler.lir.LIRInstruction$Temp(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})
protected jdk.vm.ci.meta.Value comparisonResult2;
descriptor: Ljdk/vm/ci/meta/Value;
flags: (0x0004) ACC_PROTECTED
RuntimeVisibleAnnotations:
org.graalvm.compiler.lir.LIRInstruction$Temp(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})
protected jdk.vm.ci.meta.Value comparisonResult3;
descriptor: Ljdk/vm/ci/meta/Value;
flags: (0x0004) ACC_PROTECTED
RuntimeVisibleAnnotations:
org.graalvm.compiler.lir.LIRInstruction$Temp(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})
protected jdk.vm.ci.meta.Value comparisonResult4;
descriptor: Ljdk/vm/ci/meta/Value;
flags: (0x0004) ACC_PROTECTED
RuntimeVisibleAnnotations:
org.graalvm.compiler.lir.LIRInstruction$Temp(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})
protected jdk.vm.ci.meta.Value vectorCompareVal1;
descriptor: Ljdk/vm/ci/meta/Value;
flags: (0x0004) ACC_PROTECTED
RuntimeVisibleAnnotations:
org.graalvm.compiler.lir.LIRInstruction$Temp(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;, org.graalvm.compiler.lir.LIRInstruction$OperandFlag.ILLEGAL:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})
protected jdk.vm.ci.meta.Value vectorCompareVal2;
descriptor: Ljdk/vm/ci/meta/Value;
flags: (0x0004) ACC_PROTECTED
RuntimeVisibleAnnotations:
org.graalvm.compiler.lir.LIRInstruction$Temp(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;, org.graalvm.compiler.lir.LIRInstruction$OperandFlag.ILLEGAL:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})
protected jdk.vm.ci.meta.Value vectorCompareVal3;
descriptor: Ljdk/vm/ci/meta/Value;
flags: (0x0004) ACC_PROTECTED
RuntimeVisibleAnnotations:
org.graalvm.compiler.lir.LIRInstruction$Temp(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;, org.graalvm.compiler.lir.LIRInstruction$OperandFlag.ILLEGAL:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})
protected jdk.vm.ci.meta.Value vectorCompareVal4;
descriptor: Ljdk/vm/ci/meta/Value;
flags: (0x0004) ACC_PROTECTED
RuntimeVisibleAnnotations:
org.graalvm.compiler.lir.LIRInstruction$Temp(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;, org.graalvm.compiler.lir.LIRInstruction$OperandFlag.ILLEGAL:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})
protected jdk.vm.ci.meta.Value vectorArray1;
descriptor: Ljdk/vm/ci/meta/Value;
flags: (0x0004) ACC_PROTECTED
RuntimeVisibleAnnotations:
org.graalvm.compiler.lir.LIRInstruction$Temp(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;, org.graalvm.compiler.lir.LIRInstruction$OperandFlag.ILLEGAL:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})
protected jdk.vm.ci.meta.Value vectorArray2;
descriptor: Ljdk/vm/ci/meta/Value;
flags: (0x0004) ACC_PROTECTED
RuntimeVisibleAnnotations:
org.graalvm.compiler.lir.LIRInstruction$Temp(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;, org.graalvm.compiler.lir.LIRInstruction$OperandFlag.ILLEGAL:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})
protected jdk.vm.ci.meta.Value vectorArray3;
descriptor: Ljdk/vm/ci/meta/Value;
flags: (0x0004) ACC_PROTECTED
RuntimeVisibleAnnotations:
org.graalvm.compiler.lir.LIRInstruction$Temp(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;, org.graalvm.compiler.lir.LIRInstruction$OperandFlag.ILLEGAL:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})
protected jdk.vm.ci.meta.Value vectorArray4;
descriptor: Ljdk/vm/ci/meta/Value;
flags: (0x0004) ACC_PROTECTED
RuntimeVisibleAnnotations:
org.graalvm.compiler.lir.LIRInstruction$Temp(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;, org.graalvm.compiler.lir.LIRInstruction$OperandFlag.ILLEGAL:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$jdk$vm$ci$meta$JavaKind;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/graalvm/compiler/lir/amd64/AMD64ArrayIndexOfOp;
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 org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.$assertionsDisabled:Z
3: ldc Lorg/graalvm/compiler/lir/amd64/AMD64ArrayIndexOfOp;
invokestatic org.graalvm.compiler.lir.LIRInstructionClass.create:(Ljava/lang/Class;)Lorg/graalvm/compiler/lir/LIRInstructionClass;
putstatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.TYPE:Lorg/graalvm/compiler/lir/LIRInstructionClass;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(jdk.vm.ci.meta.JavaKind, boolean, int, int, org.graalvm.compiler.lir.gen.LIRGeneratorTool, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value[]);
descriptor: (Ljdk/vm/ci/meta/JavaKind;ZIILorg/graalvm/compiler/lir/gen/LIRGeneratorTool;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;[Ljdk/vm/ci/meta/Value;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=3, locals=10, args_size=10
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 start local 9 0: aload 0
getstatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.TYPE:Lorg/graalvm/compiler/lir/LIRInstructionClass;
invokespecial org.graalvm.compiler.lir.amd64.AMD64LIRInstruction.<init>:(Lorg/graalvm/compiler/lir/LIRInstructionClass;)V
1: aload 0
aload 1
putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.kind:Ljdk/vm/ci/meta/JavaKind;
2: aload 0
iload 2
putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.findTwoConsecutive:Z
3: aload 0
iload 3
putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vmPageSize:I
4: getstatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.$assertionsDisabled:Z
ifne 6
aload 9
arraylength
ifle 5
aload 9
arraylength
iconst_4
if_icmple 6
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp jdk.vm.ci.meta.JavaKind int int int org.graalvm.compiler.lir.gen.LIRGeneratorTool jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value[]
StackMap stack:
5: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
6: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.$assertionsDisabled:Z
ifne 7
aload 1
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.byteMode:(Ljdk/vm/ci/meta/JavaKind;)Z
ifne 7
aload 1
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.charMode:(Ljdk/vm/ci/meta/JavaKind;)Z
ifne 7
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
7: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.$assertionsDisabled:Z
ifne 8
aload 5
getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.SSE2:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.supports:(Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;Ljdk/vm/ci/amd64/AMD64$CPUFeature;)Z
ifne 8
aload 5
getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.AVX:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.supports:(Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;Ljdk/vm/ci/amd64/AMD64$CPUFeature;)Z
ifne 8
aload 5
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.supportsAVX2:(Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;)Z
ifne 8
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
8: StackMap locals:
StackMap stack:
aload 0
aload 9
arraylength
putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
9: getstatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.$assertionsDisabled:Z
ifne 10
iload 2
ifeq 10
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
iconst_1
if_icmpeq 10
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
10: StackMap locals:
StackMap stack:
aload 0
aload 6
putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.resultValue:Ljdk/vm/ci/meta/Value;
11: aload 0
aload 7
putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.arrayPtrValue:Ljdk/vm/ci/meta/Value;
12: aload 0
aload 8
putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.arrayLengthValue:Ljdk/vm/ci/meta/Value;
13: aload 0
aload 9
iconst_0
aaload
putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.searchValue1:Ljdk/vm/ci/meta/Value;
14: aload 0
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
iconst_1
if_icmple 15
aload 9
iconst_1
aaload
goto 16
StackMap locals:
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp
15: getstatic jdk.vm.ci.meta.Value.ILLEGAL:Ljdk/vm/ci/meta/AllocatableValue;
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp jdk.vm.ci.meta.JavaKind int int int org.graalvm.compiler.lir.gen.LIRGeneratorTool jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value[]
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp jdk.vm.ci.meta.Value
16: putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.searchValue2:Ljdk/vm/ci/meta/Value;
17: aload 0
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
iconst_2
if_icmple 18
aload 9
iconst_2
aaload
goto 19
StackMap locals:
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp
18: getstatic jdk.vm.ci.meta.Value.ILLEGAL:Ljdk/vm/ci/meta/AllocatableValue;
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp jdk.vm.ci.meta.JavaKind int int int org.graalvm.compiler.lir.gen.LIRGeneratorTool jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value[]
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp jdk.vm.ci.meta.Value
19: putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.searchValue3:Ljdk/vm/ci/meta/Value;
20: aload 0
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
iconst_3
if_icmple 21
aload 9
iconst_3
aaload
goto 22
StackMap locals:
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp
21: getstatic jdk.vm.ci.meta.Value.ILLEGAL:Ljdk/vm/ci/meta/AllocatableValue;
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp jdk.vm.ci.meta.JavaKind int int int org.graalvm.compiler.lir.gen.LIRGeneratorTool jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value[]
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp jdk.vm.ci.meta.Value
22: putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.searchValue4:Ljdk/vm/ci/meta/Value;
23: aload 0
aload 5
getstatic jdk.vm.ci.amd64.AMD64Kind.DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
invokestatic org.graalvm.compiler.core.common.LIRKind.value:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.arraySlotsRemaining:Ljdk/vm/ci/meta/Value;
24: aload 0
aload 5
getstatic jdk.vm.ci.amd64.AMD64Kind.DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
invokestatic org.graalvm.compiler.core.common.LIRKind.value:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.comparisonResult1:Ljdk/vm/ci/meta/Value;
25: aload 0
aload 5
getstatic jdk.vm.ci.amd64.AMD64Kind.DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
invokestatic org.graalvm.compiler.core.common.LIRKind.value:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.comparisonResult2:Ljdk/vm/ci/meta/Value;
26: aload 0
aload 5
getstatic jdk.vm.ci.amd64.AMD64Kind.DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
invokestatic org.graalvm.compiler.core.common.LIRKind.value:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.comparisonResult3:Ljdk/vm/ci/meta/Value;
27: aload 0
aload 5
getstatic jdk.vm.ci.amd64.AMD64Kind.DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
invokestatic org.graalvm.compiler.core.common.LIRKind.value:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.comparisonResult4:Ljdk/vm/ci/meta/Value;
28: aload 0
aload 5
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.supportsAVX2:(Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;)Z
ifeq 31
iload 4
iflt 29
iload 4
bipush 32
if_icmplt 31
StackMap locals:
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp
29: aload 1
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.byteMode:(Ljdk/vm/ci/meta/JavaKind;)Z
ifeq 30
getstatic jdk.vm.ci.amd64.AMD64Kind.V256_BYTE:Ljdk/vm/ci/amd64/AMD64Kind;
goto 33
StackMap locals:
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp
30: getstatic jdk.vm.ci.amd64.AMD64Kind.V256_WORD:Ljdk/vm/ci/amd64/AMD64Kind;
goto 33
31: StackMap locals:
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp
aload 1
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.byteMode:(Ljdk/vm/ci/meta/JavaKind;)Z
ifeq 32
getstatic jdk.vm.ci.amd64.AMD64Kind.V128_BYTE:Ljdk/vm/ci/amd64/AMD64Kind;
goto 33
StackMap locals:
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp
32: getstatic jdk.vm.ci.amd64.AMD64Kind.V128_WORD:Ljdk/vm/ci/amd64/AMD64Kind;
33: StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp jdk.vm.ci.meta.JavaKind int int int org.graalvm.compiler.lir.gen.LIRGeneratorTool jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value[]
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp jdk.vm.ci.amd64.AMD64Kind
putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vectorKind:Ljdk/vm/ci/amd64/AMD64Kind;
34: aload 0
aload 5
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vectorKind:Ljdk/vm/ci/amd64/AMD64Kind;
invokestatic org.graalvm.compiler.core.common.LIRKind.value:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vectorCompareVal1:Ljdk/vm/ci/meta/Value;
35: aload 0
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
iconst_1
if_icmple 36
aload 5
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vectorKind:Ljdk/vm/ci/amd64/AMD64Kind;
invokestatic org.graalvm.compiler.core.common.LIRKind.value:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
goto 37
StackMap locals:
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp
36: getstatic jdk.vm.ci.meta.Value.ILLEGAL:Ljdk/vm/ci/meta/AllocatableValue;
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp jdk.vm.ci.meta.JavaKind int int int org.graalvm.compiler.lir.gen.LIRGeneratorTool jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value[]
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp jdk.vm.ci.meta.AllocatableValue
37: putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vectorCompareVal2:Ljdk/vm/ci/meta/Value;
38: aload 0
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
iconst_2
if_icmple 39
aload 5
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vectorKind:Ljdk/vm/ci/amd64/AMD64Kind;
invokestatic org.graalvm.compiler.core.common.LIRKind.value:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
goto 40
StackMap locals:
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp
39: getstatic jdk.vm.ci.meta.Value.ILLEGAL:Ljdk/vm/ci/meta/AllocatableValue;
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp jdk.vm.ci.meta.JavaKind int int int org.graalvm.compiler.lir.gen.LIRGeneratorTool jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value[]
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp jdk.vm.ci.meta.AllocatableValue
40: putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vectorCompareVal3:Ljdk/vm/ci/meta/Value;
41: aload 0
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
iconst_3
if_icmple 42
aload 5
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vectorKind:Ljdk/vm/ci/amd64/AMD64Kind;
invokestatic org.graalvm.compiler.core.common.LIRKind.value:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
goto 43
StackMap locals:
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp
42: getstatic jdk.vm.ci.meta.Value.ILLEGAL:Ljdk/vm/ci/meta/AllocatableValue;
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp jdk.vm.ci.meta.JavaKind int int int org.graalvm.compiler.lir.gen.LIRGeneratorTool jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value[]
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp jdk.vm.ci.meta.AllocatableValue
43: putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vectorCompareVal4:Ljdk/vm/ci/meta/Value;
44: aload 0
aload 5
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vectorKind:Ljdk/vm/ci/amd64/AMD64Kind;
invokestatic org.graalvm.compiler.core.common.LIRKind.value:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vectorArray1:Ljdk/vm/ci/meta/Value;
45: aload 0
aload 5
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vectorKind:Ljdk/vm/ci/amd64/AMD64Kind;
invokestatic org.graalvm.compiler.core.common.LIRKind.value:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vectorArray2:Ljdk/vm/ci/meta/Value;
46: aload 0
aload 5
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vectorKind:Ljdk/vm/ci/amd64/AMD64Kind;
invokestatic org.graalvm.compiler.core.common.LIRKind.value:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vectorArray3:Ljdk/vm/ci/meta/Value;
47: aload 0
aload 5
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vectorKind:Ljdk/vm/ci/amd64/AMD64Kind;
invokestatic org.graalvm.compiler.core.common.LIRKind.value:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vectorArray4:Ljdk/vm/ci/meta/Value;
48: return
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 49 0 this Lorg/graalvm/compiler/lir/amd64/AMD64ArrayIndexOfOp;
0 49 1 kind Ljdk/vm/ci/meta/JavaKind;
0 49 2 findTwoConsecutive Z
0 49 3 vmPageSize I
0 49 4 maxVectorSize I
0 49 5 tool Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
0 49 6 result Ljdk/vm/ci/meta/Value;
0 49 7 arrayPtr Ljdk/vm/ci/meta/Value;
0 49 8 arrayLength Ljdk/vm/ci/meta/Value;
0 49 9 searchValues [Ljdk/vm/ci/meta/Value;
MethodParameters:
Name Flags
kind
findTwoConsecutive
vmPageSize
maxVectorSize
tool
result
arrayPtr
arrayLength
searchValues
private static boolean byteMode(jdk.vm.ci.meta.JavaKind);
descriptor: (Ljdk/vm/ci/meta/JavaKind;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Byte:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 kind Ljdk/vm/ci/meta/JavaKind;
MethodParameters:
Name Flags
kind
private static boolean charMode(jdk.vm.ci.meta.JavaKind);
descriptor: (Ljdk/vm/ci/meta/JavaKind;)Z
flags: (0x000a) ACC_PRIVATE, 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;
if_acmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 kind Ljdk/vm/ci/meta/JavaKind;
MethodParameters:
Name Flags
kind
private jdk.vm.ci.meta.JavaKind getComparisonKind();
descriptor: ()Ljdk/vm/ci/meta/JavaKind;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.findTwoConsecutive:Z
ifeq 2
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.kind:Ljdk/vm/ci/meta/JavaKind;
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.byteMode:(Ljdk/vm/ci/meta/JavaKind;)Z
ifeq 1
getstatic jdk.vm.ci.meta.JavaKind.Char:Ljdk/vm/ci/meta/JavaKind;
goto 3
StackMap locals:
StackMap stack:
1: getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
goto 3
StackMap locals:
StackMap stack:
2: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.kind:Ljdk/vm/ci/meta/JavaKind;
StackMap locals:
StackMap stack: jdk.vm.ci.meta.JavaKind
3: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/lir/amd64/AMD64ArrayIndexOfOp;
private org.graalvm.compiler.asm.amd64.AVXKind$AVXSize getVectorSize();
descriptor: ()Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vectorKind:Ljdk/vm/ci/amd64/AMD64Kind;
invokestatic org.graalvm.compiler.asm.amd64.AVXKind.getDataSize:(Ljdk/vm/ci/amd64/AMD64Kind;)Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/lir/amd64/AMD64ArrayIndexOfOp;
public void emitCode(org.graalvm.compiler.lir.asm.CompilationResultBuilder, org.graalvm.compiler.asm.amd64.AMD64MacroAssembler);
descriptor: (Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=11, locals=15, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.arrayPtrValue:Ljdk/vm/ci/meta/Value;
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
astore 3
start local 3 1: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.arrayLengthValue:Ljdk/vm/ci/meta/Value;
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
astore 4
start local 4 2: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.resultValue:Ljdk/vm/ci/meta/Value;
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
astore 5
start local 5 3: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.arraySlotsRemaining:Ljdk/vm/ci/meta/Value;
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
astore 6
start local 6 4: iconst_4
anewarray jdk.vm.ci.code.Register
dup
iconst_0
5: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
ifle 6
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.searchValue1:Ljdk/vm/ci/meta/Value;
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
goto 7
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register
StackMap stack: jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] int
6: aconst_null
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register
StackMap stack: jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] int jdk.vm.ci.code.Register
7: aastore
dup
iconst_1
8: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
iconst_1
if_icmple 9
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.searchValue2:Ljdk/vm/ci/meta/Value;
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
goto 10
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register
StackMap stack: jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] int
9: aconst_null
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register
StackMap stack: jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] int jdk.vm.ci.code.Register
10: aastore
dup
iconst_2
11: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
iconst_2
if_icmple 12
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.searchValue3:Ljdk/vm/ci/meta/Value;
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
goto 13
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register
StackMap stack: jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] int
12: aconst_null
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register
StackMap stack: jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] int jdk.vm.ci.code.Register
13: aastore
dup
iconst_3
14: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
iconst_3
if_icmple 15
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.searchValue4:Ljdk/vm/ci/meta/Value;
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
goto 16
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register
StackMap stack: jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] int
15: aconst_null
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register
StackMap stack: jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] int jdk.vm.ci.code.Register
16: aastore
17: astore 7
start local 7 18: iconst_4
anewarray jdk.vm.ci.code.Register
dup
iconst_0
19: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
ifle 20
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vectorCompareVal1:Ljdk/vm/ci/meta/Value;
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
goto 21
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register[]
StackMap stack: jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] int
20: aconst_null
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register[]
StackMap stack: jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] int jdk.vm.ci.code.Register
21: aastore
dup
iconst_1
22: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
iconst_1
if_icmple 23
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vectorCompareVal2:Ljdk/vm/ci/meta/Value;
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
goto 24
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register[]
StackMap stack: jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] int
23: aconst_null
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register[]
StackMap stack: jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] int jdk.vm.ci.code.Register
24: aastore
dup
iconst_2
25: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
iconst_2
if_icmple 26
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vectorCompareVal3:Ljdk/vm/ci/meta/Value;
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
goto 27
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register[]
StackMap stack: jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] int
26: aconst_null
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register[]
StackMap stack: jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] int jdk.vm.ci.code.Register
27: aastore
dup
iconst_3
28: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
iconst_3
if_icmple 29
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vectorCompareVal4:Ljdk/vm/ci/meta/Value;
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
goto 30
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register[]
StackMap stack: jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] int
29: aconst_null
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register[]
StackMap stack: jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] int jdk.vm.ci.code.Register
30: aastore
31: astore 8
start local 8 32: iconst_4
anewarray jdk.vm.ci.code.Register
dup
iconst_0
33: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vectorArray1:Ljdk/vm/ci/meta/Value;
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
aastore
dup
iconst_1
34: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vectorArray2:Ljdk/vm/ci/meta/Value;
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
aastore
dup
iconst_2
35: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vectorArray3:Ljdk/vm/ci/meta/Value;
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
aastore
dup
iconst_3
36: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vectorArray4:Ljdk/vm/ci/meta/Value;
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
aastore
37: astore 9
start local 9 38: iconst_4
anewarray jdk.vm.ci.code.Register
dup
iconst_0
39: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.comparisonResult1:Ljdk/vm/ci/meta/Value;
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
aastore
dup
iconst_1
40: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.comparisonResult2:Ljdk/vm/ci/meta/Value;
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
aastore
dup
iconst_2
41: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.comparisonResult3:Ljdk/vm/ci/meta/Value;
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
aastore
dup
iconst_3
42: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.comparisonResult4:Ljdk/vm/ci/meta/Value;
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
aastore
43: astore 10
start local 10 44: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 11
start local 11 45: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 12
start local 12 46: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 13
start local 13 47: aload 2
aload 6
aload 4
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movl:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
48: aload 2
aload 5
aload 3
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movq:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
49: iconst_0
istore 14
start local 14 50: goto 56
51: StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int
StackMap stack:
aload 2
getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.AVX:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.supports:(Ljdk/vm/ci/amd64/AMD64$CPUFeature;)Z
ifeq 54
52: getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexMoveOp.VMOVD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexMoveOp;
aload 2
getstatic org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
aload 8
iload 14
aaload
aload 7
iload 14
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$VexMoveOp.emit:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
53: goto 55
54: StackMap locals:
StackMap stack:
aload 2
aload 8
iload 14
aaload
aload 7
iload 14
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movdl:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
55: StackMap locals:
StackMap stack:
iinc 14 1
StackMap locals:
StackMap stack:
56: iload 14
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
if_icmplt 51
end local 14 57: iconst_0
istore 14
start local 14 58: goto 61
59: StackMap locals:
StackMap stack:
aload 2
aload 0
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.getComparisonKind:()Ljdk/vm/ci/meta/JavaKind;
aload 8
iload 14
aaload
aload 9
iconst_0
aaload
aload 0
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.getVectorSize:()Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.emitBroadcast:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)V
60: iinc 14 1
StackMap locals:
StackMap stack:
61: iload 14
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
if_icmplt 59
end local 14 62: aload 0
aload 1
aload 2
aload 5
aload 6
aload 7
aload 8
aload 9
aload 10
aload 11
aload 12
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.emitArrayIndexOfChars:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;[Ljdk/vm/ci/code/Register;[Ljdk/vm/ci/code/Register;[Ljdk/vm/ci/code/Register;[Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/Label;Lorg/graalvm/compiler/asm/Label;)V
63: aload 2
aload 12
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
64: aload 2
aload 5
ldc -1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movq:(Ljdk/vm/ci/code/Register;J)V
65: aload 2
aload 13
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jmpb:(Lorg/graalvm/compiler/asm/Label;)V
66: aload 2
aload 11
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
67: aload 2
aload 5
aload 3
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.subq:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
68: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.kind:Ljdk/vm/ci/meta/JavaKind;
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.charMode:(Ljdk/vm/ci/meta/JavaKind;)Z
ifeq 70
69: aload 2
aload 5
iconst_1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.shrq:(Ljdk/vm/ci/code/Register;I)V
70: StackMap locals:
StackMap stack:
aload 2
aload 13
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
71: return
end local 13 end local 12 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 72 0 this Lorg/graalvm/compiler/lir/amd64/AMD64ArrayIndexOfOp;
0 72 1 crb Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
0 72 2 asm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
1 72 3 arrayPtr Ljdk/vm/ci/code/Register;
2 72 4 arrayLength Ljdk/vm/ci/code/Register;
3 72 5 result Ljdk/vm/ci/code/Register;
4 72 6 slotsRemaining Ljdk/vm/ci/code/Register;
18 72 7 searchValue [Ljdk/vm/ci/code/Register;
32 72 8 vecCmp [Ljdk/vm/ci/code/Register;
38 72 9 vecArray [Ljdk/vm/ci/code/Register;
44 72 10 cmpResult [Ljdk/vm/ci/code/Register;
45 72 11 retFound Lorg/graalvm/compiler/asm/Label;
46 72 12 retNotFound Lorg/graalvm/compiler/asm/Label;
47 72 13 end Lorg/graalvm/compiler/asm/Label;
50 57 14 i I
58 62 14 i I
MethodParameters:
Name Flags
crb
asm
private void emitArrayIndexOfChars(org.graalvm.compiler.lir.asm.CompilationResultBuilder, org.graalvm.compiler.asm.amd64.AMD64MacroAssembler, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register[], jdk.vm.ci.code.Register[], jdk.vm.ci.code.Register[], jdk.vm.ci.code.Register[], org.graalvm.compiler.asm.Label, org.graalvm.compiler.asm.Label);
descriptor: (Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;[Ljdk/vm/ci/code/Register;[Ljdk/vm/ci/code/Register;[Ljdk/vm/ci/code/Register;[Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/Label;Lorg/graalvm/compiler/asm/Label;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=12, locals=30, args_size=11
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 start local 9 start local 10 0: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
iconst_1
if_icmpne 1
iconst_4
goto 3
StackMap locals:
StackMap stack:
1: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
iconst_2
if_icmpne 2
iconst_2
goto 3
StackMap locals:
StackMap stack:
2: iconst_1
StackMap locals:
StackMap stack: int
3: istore 11
start local 11 4: aload 0
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.getVectorSize:()Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
astore 12
start local 12 5: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 13
start local 13 6: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 14
start local 14 7: iconst_4
anewarray org.graalvm.compiler.asm.Label
dup
iconst_0
8: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
aastore
dup
iconst_1
9: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
aastore
dup
iconst_2
10: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
aastore
dup
iconst_3
11: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
aastore
12: astore 15
start local 15 13: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 16
start local 16 14: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 17
start local 17 15: iload 11
iconst_1
if_icmpne 16
aload 16
goto 17
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int org.graalvm.compiler.asm.amd64.AVXKind$AVXSize org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label
StackMap stack:
16: aload 14
StackMap locals:
StackMap stack: org.graalvm.compiler.asm.Label
17: astore 18
start local 18 18: aload 12
invokevirtual org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.getBytes:()I
istore 19
start local 19 19: aload 12
invokevirtual org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.getBytes:()I
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.kind:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.getByteCount:()I
idiv
istore 20
start local 20 20: iload 20
istore 21
start local 21 21: iload 20
iload 11
imul
istore 22
start local 22 22: iload 19
iload 11
imul
istore 23
start local 23 23: iload 22
istore 24
start local 24 24: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.kind:Ljdk/vm/ci/meta/JavaKind;
astore 26
start local 26 25: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.findTwoConsecutive:Z
ifeq 35
26: iinc 21 1
27: iinc 24 1
28: iload 22
iconst_2
idiv
istore 22
29: iload 23
iconst_2
idiv
istore 23
30: iconst_4
newarray 10
dup
iconst_1
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.kind:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.getByteCount:()I
iastore
dup
iconst_2
iload 19
iastore
dup
iconst_3
iload 19
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.kind:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.getByteCount:()I
iadd
iastore
astore 25
start local 25 31: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.kind:Ljdk/vm/ci/meta/JavaKind;
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.byteMode:(Ljdk/vm/ci/meta/JavaKind;)Z
ifeq 32
getstatic jdk.vm.ci.meta.JavaKind.Char:Ljdk/vm/ci/meta/JavaKind;
goto 33
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int org.graalvm.compiler.asm.amd64.AVXKind$AVXSize org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int int int int int int int[] jdk.vm.ci.meta.JavaKind
StackMap stack:
32: getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
StackMap locals:
StackMap stack: jdk.vm.ci.meta.JavaKind
33: astore 26
34: goto 36
end local 25 35: StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int org.graalvm.compiler.asm.amd64.AVXKind$AVXSize org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int int int int int int top jdk.vm.ci.meta.JavaKind
StackMap stack:
iconst_4
newarray 10
dup
iconst_1
iload 19
iastore
dup
iconst_2
iload 19
iconst_2
imul
iastore
dup
iconst_3
iload 19
iconst_3
imul
iastore
astore 25
start local 25 36: StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int org.graalvm.compiler.asm.amd64.AVXKind$AVXSize org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int int int int int int int[] jdk.vm.ci.meta.JavaKind
StackMap stack:
aload 8
iconst_0
aaload
astore 27
start local 27 37: aload 2
aload 27
aload 3
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movl:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
38: aload 2
aload 4
iload 24
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.cmpl:(Ljdk/vm/ci/code/Register;I)V
39: aload 2
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.Below:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 18
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
40: aload 2
aload 27
iload 23
iconst_1
isub
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.andl:(Ljdk/vm/ci/code/Register;I)V
41: aload 2
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.Zero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 13
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
42: aload 2
aload 26
aload 12
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
iload 11
aload 25
aload 3
aload 6
aload 7
aload 8
aload 15
iconst_0
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.emitVectorCompare:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;II[ILjdk/vm/ci/code/Register;[Ljdk/vm/ci/code/Register;[Ljdk/vm/ci/code/Register;[Ljdk/vm/ci/code/Register;[Lorg/graalvm/compiler/asm/Label;Z)V
43: aload 2
aload 27
aload 3
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movl:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
44: aload 2
aload 3
iload 23
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.addq:(Ljdk/vm/ci/code/Register;I)V
45: aload 2
aload 4
iload 22
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.subl:(Ljdk/vm/ci/code/Register;I)V
46: aload 2
aload 27
iload 23
iconst_1
isub
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.andl:(Ljdk/vm/ci/code/Register;I)V
47: aload 2
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.kind:Ljdk/vm/ci/meta/JavaKind;
aload 27
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.emitBytesToArraySlots:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/code/Register;)V
48: aload 2
aload 3
iload 23
iconst_1
isub
iconst_m1
ixor
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.andq:(Ljdk/vm/ci/code/Register;I)V
49: aload 2
aload 4
aload 27
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.addl:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
50: aload 2
aload 4
iload 24
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.cmpl:(Ljdk/vm/ci/code/Register;I)V
51: aload 2
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.Below:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 18
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
52: aload 1
aload 2
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.emitAlign:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;)V
53: aload 2
aload 13
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
54: aload 2
aload 26
aload 12
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
iload 11
aload 25
aload 3
aload 6
aload 7
aload 8
aload 15
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.findTwoConsecutive:Z
ifeq 55
iconst_0
goto 56
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int org.graalvm.compiler.asm.amd64.AVXKind$AVXSize org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int int int int int int int[] jdk.vm.ci.meta.JavaKind jdk.vm.ci.code.Register
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.meta.JavaKind org.graalvm.compiler.asm.amd64.AVXKind$AVXSize int int int[] jdk.vm.ci.code.Register jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] org.graalvm.compiler.asm.Label[]
55: iconst_1
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int org.graalvm.compiler.asm.amd64.AVXKind$AVXSize org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int int int int int int int[] jdk.vm.ci.meta.JavaKind jdk.vm.ci.code.Register
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.meta.JavaKind org.graalvm.compiler.asm.amd64.AVXKind$AVXSize int int int[] jdk.vm.ci.code.Register jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] org.graalvm.compiler.asm.Label[] int
56: invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.emitVectorCompare:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;II[ILjdk/vm/ci/code/Register;[Ljdk/vm/ci/code/Register;[Ljdk/vm/ci/code/Register;[Ljdk/vm/ci/code/Register;[Lorg/graalvm/compiler/asm/Label;Z)V
57: aload 2
aload 4
iload 22
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.subl:(Ljdk/vm/ci/code/Register;I)V
58: aload 2
aload 3
iload 23
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.addq:(Ljdk/vm/ci/code/Register;I)V
59: aload 2
aload 4
iload 24
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.cmpl:(Ljdk/vm/ci/code/Register;I)V
60: aload 2
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.Below:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 18
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
61: aload 2
aload 13
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jmp:(Lorg/graalvm/compiler/asm/Label;)V
62: iload 11
iconst_1
if_icmple 73
63: aload 1
aload 2
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.emitAlign:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;)V
64: aload 2
aload 14
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
65: aload 2
aload 4
iload 21
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.cmpl:(Ljdk/vm/ci/code/Register;I)V
66: aload 2
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.Below:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 16
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
67: aload 2
aload 26
aload 12
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.findTwoConsecutive:Z
ifeq 68
iconst_2
goto 69
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int org.graalvm.compiler.asm.amd64.AVXKind$AVXSize org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int int int int int int int[] jdk.vm.ci.meta.JavaKind jdk.vm.ci.code.Register
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.meta.JavaKind org.graalvm.compiler.asm.amd64.AVXKind$AVXSize int
68: iconst_1
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int org.graalvm.compiler.asm.amd64.AVXKind$AVXSize org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int int int int int int int[] jdk.vm.ci.meta.JavaKind jdk.vm.ci.code.Register
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.meta.JavaKind org.graalvm.compiler.asm.amd64.AVXKind$AVXSize int int
69: aload 25
aload 3
aload 6
aload 7
aload 8
aload 15
iconst_0
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.emitVectorCompare:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;II[ILjdk/vm/ci/code/Register;[Ljdk/vm/ci/code/Register;[Ljdk/vm/ci/code/Register;[Ljdk/vm/ci/code/Register;[Lorg/graalvm/compiler/asm/Label;Z)V
70: aload 2
aload 4
iload 20
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.subl:(Ljdk/vm/ci/code/Register;I)V
71: aload 2
aload 3
iload 19
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.addq:(Ljdk/vm/ci/code/Register;I)V
72: aload 2
aload 14
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jmpb:(Lorg/graalvm/compiler/asm/Label;)V
73: StackMap locals:
StackMap stack:
aload 2
aload 16
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
74: aload 2
aload 4
aload 4
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.testl:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
75: aload 2
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.Zero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 10
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
76: aload 2
aload 27
aload 3
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movl:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
77: aload 2
aload 27
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vmPageSize:I
iconst_1
isub
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.andl:(Ljdk/vm/ci/code/Register;I)V
78: aload 2
aload 27
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vmPageSize:I
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.findTwoConsecutive:Z
ifeq 79
iload 19
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.kind:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.getByteCount:()I
iadd
goto 80
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int org.graalvm.compiler.asm.amd64.AVXKind$AVXSize org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int int int int int int int[] jdk.vm.ci.meta.JavaKind jdk.vm.ci.code.Register
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register int
79: iload 19
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int org.graalvm.compiler.asm.amd64.AVXKind$AVXSize org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int int int int int int int[] jdk.vm.ci.meta.JavaKind jdk.vm.ci.code.Register
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register int int
80: isub
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.cmpl:(Ljdk/vm/ci/code/Register;I)V
81: aload 2
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.Above:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 17
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jccb:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
82: iconst_2
anewarray org.graalvm.compiler.asm.Label
dup
iconst_0
new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
aastore
dup
iconst_1
new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
aastore
astore 28
start local 28 83: aload 2
aload 26
aload 12
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.findTwoConsecutive:Z
ifeq 84
iconst_2
goto 85
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int org.graalvm.compiler.asm.amd64.AVXKind$AVXSize org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int int int int int int int[] jdk.vm.ci.meta.JavaKind jdk.vm.ci.code.Register org.graalvm.compiler.asm.Label[]
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.meta.JavaKind org.graalvm.compiler.asm.amd64.AVXKind$AVXSize int
84: iconst_1
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int org.graalvm.compiler.asm.amd64.AVXKind$AVXSize org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int int int int int int int[] jdk.vm.ci.meta.JavaKind jdk.vm.ci.code.Register org.graalvm.compiler.asm.Label[]
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.meta.JavaKind org.graalvm.compiler.asm.amd64.AVXKind$AVXSize int int
85: aload 25
aload 3
aload 6
aload 7
aload 8
aload 28
iconst_0
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.emitVectorCompare:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;II[ILjdk/vm/ci/code/Register;[Ljdk/vm/ci/code/Register;[Ljdk/vm/ci/code/Register;[Ljdk/vm/ci/code/Register;[Lorg/graalvm/compiler/asm/Label;Z)V
86: aload 2
aload 10
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jmp:(Lorg/graalvm/compiler/asm/Label;)V
87: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.findTwoConsecutive:Z
ifeq 97
88: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 29
start local 29 89: aload 2
aload 28
iconst_1
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
90: aload 2
aload 8
iconst_1
aaload
aload 8
iconst_1
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bsfq:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
91: aload 2
aload 8
iconst_1
aaload
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.kind:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.getByteCount:()I
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.addl:(Ljdk/vm/ci/code/Register;I)V
92: aload 2
aload 8
iconst_0
aaload
aload 8
iconst_1
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movl:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
93: aload 2
aload 29
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jmpb:(Lorg/graalvm/compiler/asm/Label;)V
94: aload 2
aload 28
iconst_0
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
95: aload 2
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.kind:Ljdk/vm/ci/meta/JavaKind;
aload 8
aload 29
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.emitFindTwoCharPrefixMinResult:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/meta/JavaKind;[Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/Label;)V
end local 29 96: goto 99
97: StackMap locals:
StackMap stack:
aload 2
aload 28
iconst_0
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
98: aload 2
aload 8
iconst_0
aaload
aload 8
iconst_0
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bsfq:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
99: StackMap locals:
StackMap stack:
aload 2
aload 3
aload 8
iconst_0
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.addq:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
100: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.kind:Ljdk/vm/ci/meta/JavaKind;
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.charMode:(Ljdk/vm/ci/meta/JavaKind;)Z
ifeq 102
101: aload 2
aload 8
iconst_0
aaload
iconst_1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.shrl:(Ljdk/vm/ci/code/Register;I)V
102: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.findTwoConsecutive:Z
ifeq 104
103: aload 2
aload 4
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.decrementl:(Ljdk/vm/ci/code/Register;)V
104: StackMap locals:
StackMap stack:
aload 2
aload 8
iconst_0
aaload
aload 4
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.cmpl:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
105: aload 2
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.GreaterEqual:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 10
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
106: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.findTwoConsecutive:Z
ifeq 108
107: aload 2
aload 4
iconst_1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.incrementl:(Ljdk/vm/ci/code/Register;I)V
108: StackMap locals:
StackMap stack:
aload 2
aload 4
aload 8
iconst_0
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.subl:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
109: aload 2
aload 9
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jmp:(Lorg/graalvm/compiler/asm/Label;)V
110: aload 2
aload 17
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
111: aload 2
aload 4
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.findTwoConsecutive:Z
ifeq 112
iconst_1
goto 113
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int org.graalvm.compiler.asm.amd64.AVXKind$AVXSize org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int int int int int int int[] jdk.vm.ci.meta.JavaKind jdk.vm.ci.code.Register org.graalvm.compiler.asm.Label[]
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register
112: iconst_0
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int org.graalvm.compiler.asm.amd64.AVXKind$AVXSize org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int int int int int int int[] jdk.vm.ci.meta.JavaKind jdk.vm.ci.code.Register org.graalvm.compiler.asm.Label[]
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register int
113: invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.cmpl:(Ljdk/vm/ci/code/Register;I)V
114: aload 2
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.LessEqual:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 10
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
115: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.kind:Ljdk/vm/ci/meta/JavaKind;
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.byteMode:(Ljdk/vm/ci/meta/JavaKind;)Z
ifeq 121
116: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.findTwoConsecutive:Z
ifeq 119
117: aload 2
aload 8
iconst_0
aaload
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 3
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;)V
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movzwl:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
118: goto 125
119: StackMap locals:
StackMap stack:
aload 2
aload 8
iconst_0
aaload
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 3
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;)V
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movzbl:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
120: goto 125
121: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.findTwoConsecutive:Z
ifeq 124
122: aload 2
aload 8
iconst_0
aaload
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 3
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;)V
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movl:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
123: goto 125
124: StackMap locals:
StackMap stack:
aload 2
aload 8
iconst_0
aaload
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 3
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;)V
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movzwl:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
125: StackMap locals:
StackMap stack:
iconst_0
istore 29
start local 29 126: goto 130
127: StackMap locals: int
StackMap stack:
aload 2
aload 0
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.getComparisonKind:()Ljdk/vm/ci/meta/JavaKind;
aload 8
iconst_0
aaload
aload 5
iload 29
aaload
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.emitCompareInst:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
128: aload 2
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.Equal:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 9
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
129: iinc 29 1
StackMap locals:
StackMap stack:
130: iload 29
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
if_icmplt 127
end local 29 131: aload 2
aload 4
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.decrementl:(Ljdk/vm/ci/code/Register;)V
132: aload 2
aload 3
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.kind:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.getByteCount:()I
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.addq:(Ljdk/vm/ci/code/Register;I)V
133: aload 2
aload 17
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jmpb:(Lorg/graalvm/compiler/asm/Label;)V
134: iconst_1
istore 29
start local 29 135: goto 140
136: StackMap locals:
StackMap stack:
aload 2
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.kind:Ljdk/vm/ci/meta/JavaKind;
aload 25
iload 29
iaload
aload 3
aload 8
iload 29
aaload
aload 4
aload 15
iload 29
aaload
aload 9
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.emitVectorFoundWithOffset:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/meta/JavaKind;ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/Label;Lorg/graalvm/compiler/asm/Label;)V
137: iload 29
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.findTwoConsecutive:Z
ifeq 138
iconst_2
goto 139
StackMap locals:
StackMap stack: int
138: iconst_1
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int org.graalvm.compiler.asm.amd64.AVXKind$AVXSize org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int int int int int int int[] jdk.vm.ci.meta.JavaKind jdk.vm.ci.code.Register org.graalvm.compiler.asm.Label[] int
StackMap stack: int int
139: iadd
istore 29
StackMap locals:
StackMap stack:
140: iload 29
iload 11
if_icmplt 136
end local 29 141: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.findTwoConsecutive:Z
ifeq 152
142: aload 2
aload 15
iconst_2
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
143: aload 2
aload 3
aload 25
iconst_2
iaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.addq:(Ljdk/vm/ci/code/Register;I)V
144: aload 2
aload 4
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.kind:Ljdk/vm/ci/meta/JavaKind;
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.charMode:(Ljdk/vm/ci/meta/JavaKind;)Z
ifeq 145
aload 25
iconst_2
iaload
iconst_2
idiv
goto 146
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int org.graalvm.compiler.asm.amd64.AVXKind$AVXSize org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int int int int int int int[] jdk.vm.ci.meta.JavaKind jdk.vm.ci.code.Register org.graalvm.compiler.asm.Label[]
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register
145: aload 25
iconst_2
iaload
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int org.graalvm.compiler.asm.amd64.AVXKind$AVXSize org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label[] org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int int int int int int int[] jdk.vm.ci.meta.JavaKind jdk.vm.ci.code.Register org.graalvm.compiler.asm.Label[]
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register int
146: invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.subl:(Ljdk/vm/ci/code/Register;I)V
147: aload 2
aload 8
iconst_0
aaload
aload 8
iconst_2
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movl:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
148: aload 2
aload 8
iconst_1
aaload
aload 8
iconst_3
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movl:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
149: aload 2
aload 15
iconst_0
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
150: aload 2
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.kind:Ljdk/vm/ci/meta/JavaKind;
aload 8
new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.emitFindTwoCharPrefixMinResult:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/meta/JavaKind;[Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/Label;)V
151: goto 154
152: StackMap locals:
StackMap stack:
aload 2
aload 15
iconst_0
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
153: aload 2
aload 8
iconst_0
aaload
aload 8
iconst_0
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bsfq:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
154: StackMap locals:
StackMap stack:
aload 2
aload 3
aload 8
iconst_0
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.addq:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
155: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.kind:Ljdk/vm/ci/meta/JavaKind;
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.charMode:(Ljdk/vm/ci/meta/JavaKind;)Z
ifeq 157
156: aload 2
aload 8
iconst_0
aaload
iconst_1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.shrl:(Ljdk/vm/ci/code/Register;I)V
157: StackMap locals:
StackMap stack:
aload 2
aload 4
aload 8
iconst_0
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.subl:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
158: aload 2
aload 9
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jmpb:(Lorg/graalvm/compiler/asm/Label;)V
159: return
end local 28 end local 27 end local 26 end local 25 end local 24 end local 23 end local 22 end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 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 160 0 this Lorg/graalvm/compiler/lir/amd64/AMD64ArrayIndexOfOp;
0 160 1 crb Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
0 160 2 asm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
0 160 3 arrayPtr Ljdk/vm/ci/code/Register;
0 160 4 slotsRemaining Ljdk/vm/ci/code/Register;
0 160 5 searchValue [Ljdk/vm/ci/code/Register;
0 160 6 vecCmp [Ljdk/vm/ci/code/Register;
0 160 7 vecArray [Ljdk/vm/ci/code/Register;
0 160 8 cmpResult [Ljdk/vm/ci/code/Register;
0 160 9 retFound Lorg/graalvm/compiler/asm/Label;
0 160 10 retNotFound Lorg/graalvm/compiler/asm/Label;
4 160 11 nVectors I
5 160 12 vectorSize Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
6 160 13 bulkVectorLoop Lorg/graalvm/compiler/asm/Label;
7 160 14 singleVectorLoop Lorg/graalvm/compiler/asm/Label;
13 160 15 vectorFound [Lorg/graalvm/compiler/asm/Label;
14 160 16 lessThanVectorSizeRemaining Lorg/graalvm/compiler/asm/Label;
15 160 17 lessThanVectorSizeRemainingLoop Lorg/graalvm/compiler/asm/Label;
18 160 18 bulkVectorLoopExit Lorg/graalvm/compiler/asm/Label;
19 160 19 bytesPerVector I
20 160 20 arraySlotsPerVector I
21 160 21 singleVectorLoopCondition I
22 160 22 bulkSize I
23 160 23 bulkSizeBytes I
24 160 24 bulkLoopCondition I
31 35 25 vectorOffsets [I
36 160 25 vectorOffsets [I
25 160 26 vectorCompareKind Ljdk/vm/ci/meta/JavaKind;
37 160 27 tmpArrayPtrLow Ljdk/vm/ci/code/Register;
83 160 28 overBoundsMatch [Lorg/graalvm/compiler/asm/Label;
89 96 29 overBoundsFinish Lorg/graalvm/compiler/asm/Label;
126 131 29 i I
135 141 29 i I
MethodParameters:
Name Flags
crb
asm
arrayPtr
slotsRemaining
searchValue
vecCmp
vecArray
cmpResult
retFound
retNotFound
private static void emitFindTwoCharPrefixMinResult(org.graalvm.compiler.asm.amd64.AMD64MacroAssembler, jdk.vm.ci.meta.JavaKind, jdk.vm.ci.code.Register[], org.graalvm.compiler.asm.Label);
descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/meta/JavaKind;[Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/Label;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 2
iconst_0
aaload
aload 2
iconst_0
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bsfq:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
1: aload 0
aload 2
iconst_1
aaload
aload 2
iconst_1
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.testl:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
2: aload 0
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.Zero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 3
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
3: aload 0
aload 2
iconst_1
aaload
aload 2
iconst_1
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bsfq:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
4: aload 0
aload 2
iconst_1
aaload
aload 1
invokevirtual jdk.vm.ci.meta.JavaKind.getByteCount:()I
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.addl:(Ljdk/vm/ci/code/Register;I)V
5: aload 0
aload 2
iconst_0
aaload
aload 2
iconst_1
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.cmpl:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
6: aload 0
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.LessEqual:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 3
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
7: aload 0
aload 2
iconst_0
aaload
aload 2
iconst_1
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movl:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
8: aload 0
aload 3
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
9: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 asm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
0 10 1 kind Ljdk/vm/ci/meta/JavaKind;
0 10 2 cmpResult [Ljdk/vm/ci/code/Register;
0 10 3 done Lorg/graalvm/compiler/asm/Label;
MethodParameters:
Name Flags
asm
kind
cmpResult
done
private static void emitAlign(org.graalvm.compiler.lir.asm.CompilationResultBuilder, org.graalvm.compiler.asm.amd64.AMD64MacroAssembler);
descriptor: (Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield org.graalvm.compiler.lir.asm.CompilationResultBuilder.target:Ljdk/vm/ci/code/TargetDescription;
getfield jdk.vm.ci.code.TargetDescription.wordSize:I
iconst_2
imul
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.align:(I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 crb Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
0 2 1 asm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
MethodParameters:
Name Flags
crb
asm
private static void emitBroadcast(org.graalvm.compiler.asm.amd64.AMD64MacroAssembler, jdk.vm.ci.meta.JavaKind, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, org.graalvm.compiler.asm.amd64.AVXKind$AVXSize);
descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:()[I
aload 1
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iaload
tableswitch { // 2 - 5
2: 1
3: 16
4: 16
5: 26
default: 34
}
1: StackMap locals:
StackMap stack:
aload 0
getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.AVX2:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.supports:(Ljdk/vm/ci/amd64/AMD64$CPUFeature;)Z
ifeq 4
2: getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMOp.VPBROADCASTB:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRMOp;
aload 0
aload 4
aload 2
aload 2
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMOp.emit:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
3: goto 35
StackMap locals:
StackMap stack:
4: aload 0
getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.AVX:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.supports:(Ljdk/vm/ci/amd64/AMD64$CPUFeature;)Z
ifeq 8
5: getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp.VPXOR:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;
aload 0
aload 4
aload 3
aload 3
aload 3
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp.emit:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
6: getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp.VPSHUFB:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;
aload 0
aload 4
aload 2
aload 2
aload 3
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp.emit:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
7: goto 35
StackMap locals:
StackMap stack:
8: aload 0
getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.SSSE3:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.supports:(Ljdk/vm/ci/amd64/AMD64$CPUFeature;)Z
ifeq 12
9: aload 0
aload 3
aload 3
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.pxor:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
10: aload 0
aload 2
aload 3
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.pshufb:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
11: goto 35
12: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 2
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.punpcklbw:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
13: aload 0
aload 2
aload 2
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.punpcklbw:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
14: aload 0
aload 2
aload 2
iconst_0
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.pshufd:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
15: goto 35
16: StackMap locals:
StackMap stack:
aload 0
getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.AVX2:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.supports:(Ljdk/vm/ci/amd64/AMD64$CPUFeature;)Z
ifeq 19
17: getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMOp.VPBROADCASTW:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRMOp;
aload 0
aload 4
aload 2
aload 2
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMOp.emit:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
18: goto 35
StackMap locals:
StackMap stack:
19: aload 0
getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.AVX:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.supports:(Ljdk/vm/ci/amd64/AMD64$CPUFeature;)Z
ifeq 23
20: getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMIOp.VPSHUFLW:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRMIOp;
aload 0
aload 4
aload 2
aload 2
iconst_0
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMIOp.emit:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
21: getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMIOp.VPSHUFD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRMIOp;
aload 0
aload 4
aload 2
aload 2
iconst_0
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMIOp.emit:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
22: goto 35
23: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 2
iconst_0
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.pshuflw:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
24: aload 0
aload 2
aload 2
iconst_0
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.pshufd:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
25: goto 35
26: StackMap locals:
StackMap stack:
aload 0
getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.AVX2:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.supports:(Ljdk/vm/ci/amd64/AMD64$CPUFeature;)Z
ifeq 29
27: getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMOp.VPBROADCASTD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRMOp;
aload 0
aload 4
aload 2
aload 2
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMOp.emit:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
28: goto 35
StackMap locals:
StackMap stack:
29: aload 0
getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.AVX:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.supports:(Ljdk/vm/ci/amd64/AMD64$CPUFeature;)Z
ifeq 32
30: getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMIOp.VPSHUFD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRMIOp;
aload 0
aload 4
aload 2
aload 2
iconst_0
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMIOp.emit:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
31: goto 35
32: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 2
iconst_0
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.pshufd:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
33: goto 35
34: StackMap locals:
StackMap stack:
new java.lang.UnsupportedOperationException
dup
invokespecial java.lang.UnsupportedOperationException.<init>:()V
athrow
35: 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 36 0 asm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
0 36 1 kind Ljdk/vm/ci/meta/JavaKind;
0 36 2 vecDst Ljdk/vm/ci/code/Register;
0 36 3 vecTmp Ljdk/vm/ci/code/Register;
0 36 4 vectorSize Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
MethodParameters:
Name Flags
asm
kind
vecDst
vecTmp
vectorSize
private static void emitBytesToArraySlots(org.graalvm.compiler.asm.amd64.AMD64MacroAssembler, jdk.vm.ci.meta.JavaKind, jdk.vm.ci.code.Register);
descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/code/Register;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.charMode:(Ljdk/vm/ci/meta/JavaKind;)Z
ifeq 3
1: aload 0
aload 2
iconst_1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.shrl:(Ljdk/vm/ci/code/Register;I)V
2: goto 4
3: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.$assertionsDisabled:Z
ifne 4
aload 1
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.byteMode:(Ljdk/vm/ci/meta/JavaKind;)Z
ifne 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 asm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
0 5 1 kind Ljdk/vm/ci/meta/JavaKind;
0 5 2 bytes Ljdk/vm/ci/code/Register;
MethodParameters:
Name Flags
asm
kind
bytes
private static void emitVectorCompare(org.graalvm.compiler.asm.amd64.AMD64MacroAssembler, jdk.vm.ci.meta.JavaKind, org.graalvm.compiler.asm.amd64.AVXKind$AVXSize, int, int, int[], jdk.vm.ci.code.Register, jdk.vm.ci.code.Register[], jdk.vm.ci.code.Register[], jdk.vm.ci.code.Register[], org.graalvm.compiler.asm.Label[], boolean);
descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;II[ILjdk/vm/ci/code/Register;[Ljdk/vm/ci/code/Register;[Ljdk/vm/ci/code/Register;[Ljdk/vm/ci/code/Register;[Lorg/graalvm/compiler/asm/Label;Z)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=15, args_size=12
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 start local 9 start local 10 start local 11 0: iconst_0
istore 12
start local 12 1: goto 8
2: StackMap locals: int
StackMap stack:
iconst_0
istore 13
start local 13 3: goto 6
4: StackMap locals: int
StackMap stack:
aload 0
aload 2
aload 8
iload 12
iload 4
imul
iload 13
iadd
aaload
aload 6
aload 5
iload 13
iaload
iload 11
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.emitArrayLoad:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;IZ)V
5: iinc 13 1
StackMap locals:
StackMap stack:
6: iload 13
iload 4
if_icmplt 4
end local 13 7: iinc 12 1
StackMap locals:
StackMap stack:
8: iload 12
iload 3
if_icmplt 2
end local 12 9: iconst_0
istore 12
start local 12 10: goto 17
11: StackMap locals:
StackMap stack:
iconst_0
istore 13
start local 13 12: goto 15
13: StackMap locals: int
StackMap stack:
aload 0
aload 1
aload 2
aload 8
iload 12
iload 4
imul
iload 13
iadd
aaload
aload 7
iload 12
aaload
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.emitVectorCompareInst:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
14: iinc 13 1
StackMap locals:
StackMap stack:
15: iload 13
iload 4
if_icmplt 13
end local 13 16: iinc 12 1
StackMap locals:
StackMap stack:
17: iload 12
iload 3
if_icmplt 11
end local 12 18: iconst_0
istore 12
start local 12 19: goto 22
20: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 9
iload 12
aaload
aload 8
iload 12
aaload
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.emitMOVMSK:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
21: iinc 12 1
StackMap locals:
StackMap stack:
22: iload 12
iload 3
iload 4
imul
if_icmplt 20
end local 12 23: iconst_1
istore 12
start local 12 24: goto 35
25: StackMap locals:
StackMap stack:
iconst_0
istore 13
start local 13 26: goto 33
27: StackMap locals: int
StackMap stack:
iconst_0
istore 14
start local 14 28: goto 31
29: StackMap locals: int
StackMap stack:
aload 0
aload 9
iload 13
iload 14
iload 4
imul
iadd
aaload
aload 9
iload 13
iload 14
iload 12
iadd
iload 4
imul
iadd
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.orl:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
30: iload 14
iload 12
iconst_2
imul
iadd
istore 14
StackMap locals:
StackMap stack:
31: iload 14
iload 12
iadd
iload 3
if_icmplt 29
end local 14 32: iinc 13 1
StackMap locals:
StackMap stack:
33: iload 13
iload 4
if_icmplt 27
end local 13 34: iload 12
iconst_2
imul
istore 12
StackMap locals:
StackMap stack:
35: iload 12
iload 3
if_icmplt 25
end local 12 36: iconst_0
istore 12
start local 12 37: goto 41
38: StackMap locals:
StackMap stack:
aload 0
aload 9
iload 12
aaload
aload 9
iload 12
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.testl:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
39: aload 0
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotZero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 10
iload 12
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
40: iinc 12 1
StackMap locals:
StackMap stack:
41: iload 12
iload 4
if_icmplt 38
end local 12 42: return
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 43 0 asm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
0 43 1 kind Ljdk/vm/ci/meta/JavaKind;
0 43 2 vectorSize Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
0 43 3 nValues I
0 43 4 nVectors I
0 43 5 vectorOffsets [I
0 43 6 arrayPtr Ljdk/vm/ci/code/Register;
0 43 7 vecCmp [Ljdk/vm/ci/code/Register;
0 43 8 vecArray [Ljdk/vm/ci/code/Register;
0 43 9 cmpResult [Ljdk/vm/ci/code/Register;
0 43 10 vectorFound [Lorg/graalvm/compiler/asm/Label;
0 43 11 alignedLoad Z
1 9 12 i I
3 7 13 j I
10 18 12 i I
12 16 13 j I
19 23 12 i I
24 36 12 stride I
26 34 13 i I
28 32 14 j I
37 42 12 i I
MethodParameters:
Name Flags
asm
kind
vectorSize
nValues
nVectors
vectorOffsets
arrayPtr
vecCmp
vecArray
cmpResult
vectorFound
alignedLoad
private static void emitVectorFoundWithOffset(org.graalvm.compiler.asm.amd64.AMD64MacroAssembler, jdk.vm.ci.meta.JavaKind, int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, org.graalvm.compiler.asm.Label, org.graalvm.compiler.asm.Label);
descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/meta/JavaKind;ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/Label;Lorg/graalvm/compiler/asm/Label;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=8, 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
aload 6
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
1: iload 2
ifle 6
2: aload 0
aload 3
iload 2
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.addq:(Ljdk/vm/ci/code/Register;I)V
3: aload 0
aload 5
aload 1
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.charMode:(Ljdk/vm/ci/meta/JavaKind;)Z
ifeq 4
iload 2
iconst_2
idiv
goto 5
StackMap locals: org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.meta.JavaKind int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register
4: iload 2
StackMap locals: org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.meta.JavaKind int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register int
5: invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.subl:(Ljdk/vm/ci/code/Register;I)V
6: StackMap locals:
StackMap stack:
aload 0
aload 4
aload 4
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bsfq:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
7: aload 0
aload 3
aload 4
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.addq:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
8: aload 1
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.charMode:(Ljdk/vm/ci/meta/JavaKind;)Z
ifeq 10
9: aload 0
aload 4
iconst_1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.shrl:(Ljdk/vm/ci/code/Register;I)V
10: StackMap locals:
StackMap stack:
aload 0
aload 5
aload 4
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.subl:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
11: aload 0
aload 7
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jmpb:(Lorg/graalvm/compiler/asm/Label;)V
12: return
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 13 0 asm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
0 13 1 kind Ljdk/vm/ci/meta/JavaKind;
0 13 2 resultOffset I
0 13 3 result Ljdk/vm/ci/code/Register;
0 13 4 cmpResult Ljdk/vm/ci/code/Register;
0 13 5 slotsRemaining Ljdk/vm/ci/code/Register;
0 13 6 entry Lorg/graalvm/compiler/asm/Label;
0 13 7 ret Lorg/graalvm/compiler/asm/Label;
MethodParameters:
Name Flags
asm
kind
resultOffset
result
cmpResult
slotsRemaining
entry
ret
private static void emitArrayLoad(org.graalvm.compiler.asm.amd64.AMD64MacroAssembler, org.graalvm.compiler.asm.amd64.AVXKind$AVXSize, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, int, boolean);
descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;IZ)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 3
iload 4
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;I)V
astore 6
start local 6 1: aload 0
getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.AVX:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.supports:(Ljdk/vm/ci/amd64/AMD64$CPUFeature;)Z
ifeq 7
2: iload 5
ifeq 3
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexMoveOp.VMOVDQA:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexMoveOp;
goto 4
StackMap locals: org.graalvm.compiler.asm.amd64.AMD64Address
StackMap stack:
3: getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexMoveOp.VMOVDQU:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexMoveOp;
StackMap locals:
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64Assembler$VexMoveOp
4: astore 7
start local 7 5: aload 7
aload 0
aload 1
aload 2
aload 6
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$VexMoveOp.emit:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
end local 7 6: goto 8
7: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 6
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movdqu:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
8: StackMap locals:
StackMap stack:
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 9 0 asm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
0 9 1 vectorSize Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
0 9 2 vecDst Ljdk/vm/ci/code/Register;
0 9 3 arrayPtr Ljdk/vm/ci/code/Register;
0 9 4 offset I
0 9 5 alignedLoad Z
1 9 6 src Lorg/graalvm/compiler/asm/amd64/AMD64Address;
5 6 7 loadOp Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexMoveOp;
MethodParameters:
Name Flags
asm
vectorSize
vecDst
arrayPtr
offset
alignedLoad
private static void emitVectorCompareInst(org.graalvm.compiler.asm.amd64.AMD64MacroAssembler, jdk.vm.ci.meta.JavaKind, org.graalvm.compiler.asm.amd64.AVXKind$AVXSize, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:()[I
aload 1
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iaload
tableswitch { // 2 - 5
2: 1
3: 6
4: 6
5: 11
default: 16
}
1: StackMap locals:
StackMap stack:
aload 0
getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.AVX:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.supports:(Ljdk/vm/ci/amd64/AMD64$CPUFeature;)Z
ifeq 4
2: getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp.VPCMPEQB:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;
aload 0
aload 2
aload 3
aload 4
aload 3
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp.emit:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
3: goto 17
4: StackMap locals:
StackMap stack:
aload 0
aload 3
aload 4
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.pcmpeqb:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
5: goto 17
6: StackMap locals:
StackMap stack:
aload 0
getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.AVX:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.supports:(Ljdk/vm/ci/amd64/AMD64$CPUFeature;)Z
ifeq 9
7: getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp.VPCMPEQW:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;
aload 0
aload 2
aload 3
aload 4
aload 3
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp.emit:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
8: goto 17
9: StackMap locals:
StackMap stack:
aload 0
aload 3
aload 4
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.pcmpeqw:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
10: goto 17
11: StackMap locals:
StackMap stack:
aload 0
getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.AVX:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.supports:(Ljdk/vm/ci/amd64/AMD64$CPUFeature;)Z
ifeq 14
12: getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp.VPCMPEQD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;
aload 0
aload 2
aload 3
aload 4
aload 3
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp.emit:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
13: goto 17
14: StackMap locals:
StackMap stack:
aload 0
aload 3
aload 4
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.pcmpeqd:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
15: goto 17
16: StackMap locals:
StackMap stack:
new java.lang.UnsupportedOperationException
dup
invokespecial java.lang.UnsupportedOperationException.<init>:()V
athrow
17: 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 18 0 asm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
0 18 1 kind Ljdk/vm/ci/meta/JavaKind;
0 18 2 vectorSize Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
0 18 3 vecArray Ljdk/vm/ci/code/Register;
0 18 4 vecCmp Ljdk/vm/ci/code/Register;
MethodParameters:
Name Flags
asm
kind
vectorSize
vecArray
vecCmp
private static void emitMOVMSK(org.graalvm.compiler.asm.amd64.AMD64MacroAssembler, org.graalvm.compiler.asm.amd64.AVXKind$AVXSize, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.AVX:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.supports:(Ljdk/vm/ci/amd64/AMD64$CPUFeature;)Z
ifeq 3
1: getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMOp.VPMOVMSKB:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRMOp;
aload 0
aload 1
aload 2
aload 3
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMOp.emit:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 3
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.pmovmskb:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
4: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 asm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
0 5 1 vectorSize Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
0 5 2 dst Ljdk/vm/ci/code/Register;
0 5 3 vecSrc Ljdk/vm/ci/code/Register;
MethodParameters:
Name Flags
asm
vectorSize
dst
vecSrc
private static void emitCompareInst(org.graalvm.compiler.asm.amd64.AMD64MacroAssembler, jdk.vm.ci.meta.JavaKind, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:()[I
aload 1
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iaload
tableswitch { // 2 - 5
2: 1
3: 3
4: 3
5: 5
default: 7
}
1: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 3
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.cmpb:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
2: goto 8
3: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 3
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.cmpw:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
4: goto 8
5: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 3
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.cmpl:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
6: goto 8
7: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 3
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.cmpq:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
8: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 asm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
0 9 1 kind Ljdk/vm/ci/meta/JavaKind;
0 9 2 dst Ljdk/vm/ci/code/Register;
0 9 3 src Ljdk/vm/ci/code/Register;
MethodParameters:
Name Flags
asm
kind
dst
src
private static boolean supportsAVX2(org.graalvm.compiler.lir.gen.LIRGeneratorTool);
descriptor: (Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.AVX2:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.supports:(Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;Ljdk/vm/ci/amd64/AMD64$CPUFeature;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 tool Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
MethodParameters:
Name Flags
tool
private static boolean supports(org.graalvm.compiler.lir.gen.LIRGeneratorTool, jdk.vm.ci.amd64.AMD64$CPUFeature);
descriptor: (Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;Ljdk/vm/ci/amd64/AMD64$CPUFeature;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.target:()Ljdk/vm/ci/code/TargetDescription;
getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
checkcast jdk.vm.ci.amd64.AMD64
invokevirtual jdk.vm.ci.amd64.AMD64.getFeatures:()Ljava/util/EnumSet;
aload 1
invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 tool Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
0 1 1 cpuFeature Ljdk/vm/ci/amd64/AMD64$CPUFeature;
MethodParameters:
Name Flags
tool
cpuFeature
static int[] $SWITCH_TABLE$jdk$vm$ci$meta$JavaKind();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic jdk.vm.ci.meta.JavaKind.values:()[Ljdk/vm/ci/meta/JavaKind;
arraylength
newarray 10
astore 0
2: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iconst_1
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Byte:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iconst_2
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Char:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iconst_4
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
bipush 8
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
bipush 6
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Illegal:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
bipush 11
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iconst_5
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
bipush 7
iastore
24: goto 26
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
25: pop
StackMap locals:
StackMap stack:
26: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
bipush 9
iastore
27: goto 29
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
28: pop
StackMap locals:
StackMap stack:
29: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Short:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iconst_3
iastore
30: goto 32
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
31: pop
StackMap locals:
StackMap stack:
32: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
bipush 10
iastore
33: goto 35
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
34: pop
StackMap locals:
StackMap stack:
35: aload 0
dup
putstatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
20 21 22 Class java.lang.NoSuchFieldError
23 24 25 Class java.lang.NoSuchFieldError
26 27 28 Class java.lang.NoSuchFieldError
29 30 31 Class java.lang.NoSuchFieldError
32 33 34 Class java.lang.NoSuchFieldError
}
SourceFile: "AMD64ArrayIndexOfOp.java"
InnerClasses:
public final CPUFeature = jdk.vm.ci.amd64.AMD64$CPUFeature of jdk.vm.ci.amd64.AMD64
public final ConditionFlag = org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag of org.graalvm.compiler.asm.amd64.AMD64Assembler
public final VexMoveOp = org.graalvm.compiler.asm.amd64.AMD64Assembler$VexMoveOp of org.graalvm.compiler.asm.amd64.AMD64Assembler
public final VexRMIOp = org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMIOp of org.graalvm.compiler.asm.amd64.AMD64Assembler
public VexRMOp = org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMOp of org.graalvm.compiler.asm.amd64.AMD64Assembler
public VexRVMOp = org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp of org.graalvm.compiler.asm.amd64.AMD64Assembler
public final AVXSize = org.graalvm.compiler.asm.amd64.AVXKind$AVXSize of org.graalvm.compiler.asm.amd64.AVXKind
public abstract Alive = org.graalvm.compiler.lir.LIRInstruction$Alive of org.graalvm.compiler.lir.LIRInstruction
public abstract Def = org.graalvm.compiler.lir.LIRInstruction$Def of org.graalvm.compiler.lir.LIRInstruction
public final OperandFlag = org.graalvm.compiler.lir.LIRInstruction$OperandFlag of org.graalvm.compiler.lir.LIRInstruction
public abstract Temp = org.graalvm.compiler.lir.LIRInstruction$Temp of org.graalvm.compiler.lir.LIRInstruction
public abstract Use = org.graalvm.compiler.lir.LIRInstruction$Use of org.graalvm.compiler.lir.LIRInstruction
RuntimeVisibleAnnotations:
org.graalvm.compiler.lir.Opcode(value = "AMD64_ARRAY_INDEX_OF")