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 valueKind;
descriptor: Ljdk/vm/ci/meta/JavaKind;
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
private final int arrayBaseOffset;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.graalvm.compiler.asm.amd64.AMD64Address$Scale arrayIndexScale;
descriptor: Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
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$Alive(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})
protected jdk.vm.ci.meta.Value fromIndexValue;
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;, org.graalvm.compiler.lir.LIRInstruction$OperandFlag.STACK:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;, org.graalvm.compiler.lir.LIRInstruction$OperandFlag.CONST: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.STACK:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;, org.graalvm.compiler.lir.LIRInstruction$OperandFlag.CONST: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.STACK:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;, org.graalvm.compiler.lir.LIRInstruction$OperandFlag.CONST: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.STACK:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;, org.graalvm.compiler.lir.LIRInstruction$OperandFlag.CONST: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 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;, org.graalvm.compiler.lir.LIRInstruction$OperandFlag.ILLEGAL: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, jdk.vm.ci.meta.JavaKind, boolean, 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, jdk.vm.ci.meta.Value[]);
descriptor: (Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/JavaKind;ZILorg/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;[Ljdk/vm/ci/meta/Value;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=3, locals=11, 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
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 2
putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.valueKind:Ljdk/vm/ci/meta/JavaKind;
2: aload 0
aload 5
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.getProviders:()Lorg/graalvm/compiler/core/common/spi/CodeGenProviders;
invokeinterface org.graalvm.compiler.core.common.spi.CodeGenProviders.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
aload 1
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.getArrayBaseOffset:(Ljdk/vm/ci/meta/JavaKind;)I
putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.arrayBaseOffset:I
3: aload 0
aload 5
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.getProviders:()Lorg/graalvm/compiler/core/common/spi/CodeGenProviders;
invokeinterface org.graalvm.compiler.core.common.spi.CodeGenProviders.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
aload 2
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.getArrayIndexScale:(Ljdk/vm/ci/meta/JavaKind;)I
invokestatic org.graalvm.compiler.asm.amd64.AMD64Address$Scale.fromInt:(I)Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.asm.amd64.AMD64Address$Scale
putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.arrayIndexScale:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
4: aload 0
iload 3
putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.findTwoConsecutive:Z
5: getstatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.$assertionsDisabled:Z
ifne 7
aload 10
arraylength
ifle 6
aload 10
arraylength
iconst_4
if_icmple 7
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.JavaKind 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 jdk.vm.ci.meta.Value[]
StackMap stack:
6: 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 2
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.byteMode:(Ljdk/vm/ci/meta/JavaKind;)Z
ifne 8
aload 2
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.charMode:(Ljdk/vm/ci/meta/JavaKind;)Z
ifne 8
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
8: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.$assertionsDisabled:Z
ifne 9
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 9
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 9
aload 5
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.supportsAVX2:(Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;)Z
ifne 9
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
9: StackMap locals:
StackMap stack:
aload 0
aload 10
arraylength
putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
10: getstatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.$assertionsDisabled:Z
ifne 11
iload 3
ifeq 11
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
iconst_1
if_icmpeq 11
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
11: StackMap locals:
StackMap stack:
aload 0
aload 6
putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.resultValue:Ljdk/vm/ci/meta/Value;
12: aload 0
aload 7
putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.arrayPtrValue:Ljdk/vm/ci/meta/Value;
13: aload 0
aload 8
putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.arrayLengthValue:Ljdk/vm/ci/meta/Value;
14: aload 0
aload 9
putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.fromIndexValue:Ljdk/vm/ci/meta/Value;
15: aload 0
aload 10
iconst_0
aaload
putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.searchValue1:Ljdk/vm/ci/meta/Value;
16: aload 0
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
iconst_1
if_icmple 17
aload 10
iconst_1
aaload
goto 18
StackMap locals:
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp
17: 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 jdk.vm.ci.meta.JavaKind 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 jdk.vm.ci.meta.Value[]
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp jdk.vm.ci.meta.Value
18: putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.searchValue2:Ljdk/vm/ci/meta/Value;
19: aload 0
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
iconst_2
if_icmple 20
aload 10
iconst_2
aaload
goto 21
StackMap locals:
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp
20: 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 jdk.vm.ci.meta.JavaKind 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 jdk.vm.ci.meta.Value[]
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp jdk.vm.ci.meta.Value
21: putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.searchValue3:Ljdk/vm/ci/meta/Value;
22: aload 0
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
iconst_3
if_icmple 23
aload 10
iconst_3
aaload
goto 24
StackMap locals:
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp
23: 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 jdk.vm.ci.meta.JavaKind 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 jdk.vm.ci.meta.Value[]
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp jdk.vm.ci.meta.Value
24: putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.searchValue4:Ljdk/vm/ci/meta/Value;
25: aload 0
aload 5
aload 5
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;
invokevirtual jdk.vm.ci.code.Architecture.getWordKind:()Ljdk/vm/ci/meta/PlatformKind;
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;
26: aload 0
iload 3
ifeq 27
aload 5
aload 5
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;
invokevirtual jdk.vm.ci.code.Architecture.getWordKind:()Ljdk/vm/ci/meta/PlatformKind;
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 28
StackMap locals:
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp
27: 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 jdk.vm.ci.meta.JavaKind 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 jdk.vm.ci.meta.Value[]
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp jdk.vm.ci.meta.AllocatableValue
28: putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.comparisonResult2:Ljdk/vm/ci/meta/Value;
29: aload 0
aload 5
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.supportsAVX2:(Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;)Z
ifeq 32
iload 4
iflt 30
iload 4
bipush 32
if_icmplt 32
StackMap locals:
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp
30: aload 2
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.byteMode:(Ljdk/vm/ci/meta/JavaKind;)Z
ifeq 31
getstatic jdk.vm.ci.amd64.AMD64Kind.V256_BYTE:Ljdk/vm/ci/amd64/AMD64Kind;
goto 34
StackMap locals:
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp
31: getstatic jdk.vm.ci.amd64.AMD64Kind.V256_WORD:Ljdk/vm/ci/amd64/AMD64Kind;
goto 34
32: StackMap locals:
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp
aload 2
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.byteMode:(Ljdk/vm/ci/meta/JavaKind;)Z
ifeq 33
getstatic jdk.vm.ci.amd64.AMD64Kind.V128_BYTE:Ljdk/vm/ci/amd64/AMD64Kind;
goto 34
StackMap locals:
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp
33: getstatic jdk.vm.ci.amd64.AMD64Kind.V128_WORD:Ljdk/vm/ci/amd64/AMD64Kind;
34: StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.JavaKind 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 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;
35: 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;
36: aload 0
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
iconst_1
if_icmple 37
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 38
StackMap locals:
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp
37: 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 jdk.vm.ci.meta.JavaKind 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 jdk.vm.ci.meta.Value[]
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp jdk.vm.ci.meta.AllocatableValue
38: putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vectorCompareVal2:Ljdk/vm/ci/meta/Value;
39: aload 0
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
iconst_2
if_icmple 40
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 41
StackMap locals:
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp
40: 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 jdk.vm.ci.meta.JavaKind 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 jdk.vm.ci.meta.Value[]
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp jdk.vm.ci.meta.AllocatableValue
41: putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vectorCompareVal3:Ljdk/vm/ci/meta/Value;
42: aload 0
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
iconst_3
if_icmple 43
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 44
StackMap locals:
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp
43: 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 jdk.vm.ci.meta.JavaKind 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 jdk.vm.ci.meta.Value[]
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp jdk.vm.ci.meta.AllocatableValue
44: putfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.vectorCompareVal4: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.vectorArray1: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.vectorArray2: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.vectorArray3:Ljdk/vm/ci/meta/Value;
48: 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;
49: return
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 50 0 this Lorg/graalvm/compiler/lir/amd64/AMD64ArrayIndexOfOp;
0 50 1 arrayKind Ljdk/vm/ci/meta/JavaKind;
0 50 2 valueKind Ljdk/vm/ci/meta/JavaKind;
0 50 3 findTwoConsecutive Z
0 50 4 maxVectorSize I
0 50 5 tool Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
0 50 6 result Ljdk/vm/ci/meta/Value;
0 50 7 arrayPtr Ljdk/vm/ci/meta/Value;
0 50 8 arrayLength Ljdk/vm/ci/meta/Value;
0 50 9 fromIndex Ljdk/vm/ci/meta/Value;
0 50 10 searchValues [Ljdk/vm/ci/meta/Value;
MethodParameters:
Name Flags
arrayKind
valueKind
findTwoConsecutive
maxVectorSize
tool
result
arrayPtr
arrayLength
fromIndex
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.valueKind: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.valueKind: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=12, locals=30, args_size=3
start local 0 start local 1 start local 2 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 3
start local 3 4: 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 4
start local 4 5: 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 5
start local 5 6: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.fromIndexValue: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 7: 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 7
start local 7 8: iconst_4
anewarray jdk.vm.ci.meta.Value
dup
iconst_0
9: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
ifle 10
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.searchValue1:Ljdk/vm/ci/meta/Value;
goto 11
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int 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.meta.Value[] jdk.vm.ci.meta.Value[] int
10: aconst_null
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int 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.meta.Value[] jdk.vm.ci.meta.Value[] int jdk.vm.ci.meta.Value
11: aastore
dup
iconst_1
12: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
iconst_1
if_icmple 13
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.searchValue2:Ljdk/vm/ci/meta/Value;
goto 14
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int 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.meta.Value[] jdk.vm.ci.meta.Value[] int
13: aconst_null
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int 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.meta.Value[] jdk.vm.ci.meta.Value[] int jdk.vm.ci.meta.Value
14: aastore
dup
iconst_2
15: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
iconst_2
if_icmple 16
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.searchValue3:Ljdk/vm/ci/meta/Value;
goto 17
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int 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.meta.Value[] jdk.vm.ci.meta.Value[] int
16: aconst_null
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int 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.meta.Value[] jdk.vm.ci.meta.Value[] int jdk.vm.ci.meta.Value
17: aastore
dup
iconst_3
18: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
iconst_3
if_icmple 19
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.searchValue4:Ljdk/vm/ci/meta/Value;
goto 20
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int 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.meta.Value[] jdk.vm.ci.meta.Value[] int
19: aconst_null
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int 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.meta.Value[] jdk.vm.ci.meta.Value[] int jdk.vm.ci.meta.Value
20: aastore
21: astore 8
start local 8 22: iconst_4
anewarray jdk.vm.ci.code.Register
dup
iconst_0
23: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
ifle 24
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 25
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value[]
StackMap stack: jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] int
24: aconst_null
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value[]
StackMap stack: jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] int jdk.vm.ci.code.Register
25: aastore
dup
iconst_1
26: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
iconst_1
if_icmple 27
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 28
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value[]
StackMap stack: jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] int
27: aconst_null
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value[]
StackMap stack: jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] int jdk.vm.ci.code.Register
28: aastore
dup
iconst_2
29: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
iconst_2
if_icmple 30
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 31
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value[]
StackMap stack: jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] int
30: aconst_null
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value[]
StackMap stack: jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] int jdk.vm.ci.code.Register
31: aastore
dup
iconst_3
32: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
iconst_3
if_icmple 33
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 34
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value[]
StackMap stack: jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] int
33: aconst_null
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value[]
StackMap stack: jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] int jdk.vm.ci.code.Register
34: aastore
35: astore 9
start local 9 36: iconst_4
anewarray jdk.vm.ci.code.Register
dup
iconst_0
37: 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
38: 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
39: 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
40: 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
41: astore 10
start local 10 42: iconst_2
anewarray jdk.vm.ci.code.Register
dup
iconst_0
43: 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
44: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.findTwoConsecutive:Z
ifeq 45
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;
goto 46
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[]
StackMap stack: jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] int
45: aconst_null
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value[] 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
46: aastore
47: astore 11
start local 11 48: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 12
start local 12 49: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 13
start local 13 50: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 14
start local 14 51: iconst_4
anewarray org.graalvm.compiler.asm.Label
dup
iconst_0
52: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
aastore
dup
iconst_1
53: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
aastore
dup
iconst_2
54: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
aastore
dup
iconst_3
55: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
aastore
56: astore 15
start local 15 57: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 16
start local 16 58: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 17
start local 17 59: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 18
start local 18 60: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 19
start local 19 61: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 20
start local 20 62: aload 0
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.getVectorSize:()Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
invokevirtual org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.getBytes:()I
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.valueKind:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.getByteCount:()I
idiv
istore 21
start local 21 63: iload 21
iload 3
imul
istore 22
start local 22 64: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.valueKind:Ljdk/vm/ci/meta/JavaKind;
astore 23
start local 23 65: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.findTwoConsecutive:Z
ifeq 70
66: iload 22
iconst_2
idiv
istore 22
67: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.valueKind:Ljdk/vm/ci/meta/JavaKind;
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.byteMode:(Ljdk/vm/ci/meta/JavaKind;)Z
ifeq 68
getstatic jdk.vm.ci.meta.JavaKind.Char:Ljdk/vm/ci/meta/JavaKind;
goto 69
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value[] 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 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 jdk.vm.ci.meta.JavaKind
StackMap stack:
68: getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
StackMap locals:
StackMap stack: jdk.vm.ci.meta.JavaKind
69: astore 23
70: StackMap locals:
StackMap stack:
aload 2
aload 7
71: new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 6
iload 21
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.findTwoConsecutive:Z
ifeq 72
iconst_1
goto 73
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value[] 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 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 jdk.vm.ci.meta.JavaKind
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register new 71 new 71 jdk.vm.ci.code.Register int
72: iconst_0
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value[] 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 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 jdk.vm.ci.meta.JavaKind
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register new 71 new 71 jdk.vm.ci.code.Register int int
73: iadd
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;I)V
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.leaq:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
74: aload 2
aload 7
aload 5
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.LessEqual:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 16
iconst_1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.cmpqAndJcc:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;Z)I
pop
75: aload 2
aload 7
iload 21
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.subq:(Ljdk/vm/ci/code/Register;I)V
76: aload 2
aload 7
aload 5
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.GreaterEqual:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 19
iconst_1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.cmpqAndJcc:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;Z)I
pop
77: aload 2
aload 17
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
78: aload 0
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.getComparisonKind:()Ljdk/vm/ci/meta/JavaKind;
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.getOpSize:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
astore 24
start local 24 79: new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 4
aload 7
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.arrayIndexScale:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.arrayBaseOffset:I
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.findTwoConsecutive:Z
ifeq 80
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.valueKind:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.getByteCount:()I
goto 81
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value[] 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 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 jdk.vm.ci.meta.JavaKind org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize
StackMap stack: new 79 new 79 jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.amd64.AMD64Address$Scale int
80: iconst_0
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value[] 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 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 jdk.vm.ci.meta.JavaKind org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize
StackMap stack: new 79 new 79 jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.amd64.AMD64Address$Scale int int
81: isub
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;I)V
astore 25
start local 25 82: aload 0
aload 8
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.searchValuesOnStack:([Ljdk/vm/ci/meta/Value;)Z
istore 26
start local 26 83: iload 26
ifeq 101
84: aload 24
getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.BYTE:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
if_acmpne 85
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.MOVB:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
goto 86
StackMap locals: org.graalvm.compiler.asm.amd64.AMD64Address int
StackMap stack:
85: getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.MOV:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
StackMap locals:
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp
86: aload 2
aload 24
aload 11
iconst_0
aaload
aload 25
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.emit:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
87: iconst_0
istore 27
start local 27 88: goto 99
89: StackMap locals: int
StackMap stack:
aload 8
iload 27
aaload
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.isConstant:(Ljdk/vm/ci/meta/Value;)Z
ifeq 93
90: aload 8
iload 27
aaload
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.asConstant:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
istore 28
start local 28 91: getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.CMP:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;
aload 24
iload 28
invokestatic org.graalvm.compiler.core.common.NumUtil.isByte:(I)Z
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.getMIOpcode:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Z)Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MIOp;
aload 2
aload 24
aload 11
iconst_0
aaload
iload 28
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MIOp.emit:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/code/Register;I)V
end local 28 92: goto 97
StackMap locals:
StackMap stack:
93: aload 8
iload 27
aaload
invokestatic jdk.vm.ci.code.ValueUtil.isStackSlot:(Ljdk/vm/ci/meta/Value;)Z
ifeq 96
94: getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.CMP:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;
aload 24
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.getRMOpcode:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;)Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
aload 2
aload 24
aload 11
iconst_0
aaload
aload 1
aload 8
iload 27
aaload
invokevirtual org.graalvm.compiler.lir.asm.CompilationResultBuilder.asAddress:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/asm/AbstractAddress;
checkcast org.graalvm.compiler.asm.amd64.AMD64Address
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.emit:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
95: goto 97
96: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.CMP:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;
aload 24
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.getRMOpcode:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;)Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
aload 2
aload 24
aload 11
iconst_0
aaload
aload 8
iload 27
aaload
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.emit:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
97: StackMap locals:
StackMap stack:
aload 2
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.Equal:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 18
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jccb:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
98: iinc 27 1
StackMap locals:
StackMap stack:
99: iload 27
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
if_icmplt 89
end local 27 100: goto 111
101: StackMap locals:
StackMap stack:
iconst_0
istore 27
start local 27 102: goto 110
103: StackMap locals: int
StackMap stack:
aload 8
iload 27
aaload
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.isConstant:(Ljdk/vm/ci/meta/Value;)Z
ifeq 107
104: aload 8
iload 27
aaload
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.asConstant:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
istore 28
start local 28 105: getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.CMP:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;
aload 24
iload 28
invokestatic org.graalvm.compiler.core.common.NumUtil.isByte:(I)Z
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.getMIOpcode:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Z)Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MIOp;
aload 2
aload 24
aload 25
iload 28
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MIOp.emit:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/asm/amd64/AMD64Address;I)V
end local 28 106: goto 108
107: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.CMP:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;
aload 24
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.getRMOpcode:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;)Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
aload 2
aload 24
aload 8
iload 27
aaload
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
aload 25
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.emit:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
108: StackMap locals:
StackMap stack:
aload 2
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.Equal:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 18
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jccb:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
109: iinc 27 1
StackMap locals:
StackMap stack:
110: iload 27
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
if_icmplt 103
end local 27 111: StackMap locals:
StackMap stack:
aload 2
aload 7
iconst_1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.incrementq:(Ljdk/vm/ci/code/Register;I)V
112: aload 2
aload 7
aload 5
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.Less:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 17
iconst_1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.cmpqAndJcc:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;Z)I
pop
113: aload 2
aload 19
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
114: aload 2
aload 7
aload 7
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.xorq:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
115: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.findTwoConsecutive:Z
ifeq 119
116: aload 2
aload 18
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
117: aload 2
aload 7
iconst_1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.decrementq:(Ljdk/vm/ci/code/Register;I)V
118: goto 121
119: StackMap locals:
StackMap stack:
aload 2
aload 7
iconst_1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.decrementq:(Ljdk/vm/ci/code/Register;I)V
120: aload 2
aload 18
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
121: StackMap locals:
StackMap stack:
aload 2
aload 12
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jmp:(Lorg/graalvm/compiler/asm/Label;)V
122: aload 2
aload 16
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
123: iconst_0
istore 27
start local 27 124: goto 127
125: StackMap locals: int
StackMap stack:
aload 0
aload 1
aload 2
aload 9
iload 27
aaload
aload 8
iload 27
aaload
aload 11
iconst_0
aaload
aload 10
iconst_0
aaload
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.broadcastSearchValue:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
126: iinc 27 1
StackMap locals:
StackMap stack:
127: iload 27
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
if_icmplt 125
end local 27 128: aload 0
aload 2
aload 23
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.findTwoConsecutive:Z
ifeq 129
iconst_2
goto 130
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value[] 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 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 jdk.vm.ci.meta.JavaKind org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize org.graalvm.compiler.asm.amd64.AMD64Address int
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.meta.JavaKind
129: iconst_1
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value[] 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 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 jdk.vm.ci.meta.JavaKind org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize org.graalvm.compiler.asm.amd64.AMD64Address int
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.meta.JavaKind int
130: aload 4
aload 7
aload 9
aload 10
aload 11
aload 15
iconst_0
iconst_0
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.emitVectorCompare:(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;[Ljdk/vm/ci/code/Register;[Ljdk/vm/ci/code/Register;[Lorg/graalvm/compiler/asm/Label;ZZ)V
131: aload 2
aload 11
iconst_0
aaload
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 4
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.arrayBaseOffset:I
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;I)V
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.leaq:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
132: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.valueKind:Ljdk/vm/ci/meta/JavaKind;
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.charMode:(Ljdk/vm/ci/meta/JavaKind;)Z
ifeq 134
133: aload 2
aload 11
iconst_0
aaload
iconst_1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.shrq:(Ljdk/vm/ci/code/Register;I)V
134: StackMap locals:
StackMap stack:
aload 2
aload 7
aload 11
iconst_0
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.addq:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
135: aload 2
aload 7
iload 21
iconst_1
isub
iconst_m1
ixor
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.andq:(Ljdk/vm/ci/code/Register;I)V
136: aload 2
aload 7
aload 11
iconst_0
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.subq:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
137: aload 2
aload 7
iload 22
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.addq:(Ljdk/vm/ci/code/Register;I)V
138: aload 2
aload 7
aload 5
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.Greater:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 20
iconst_1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.cmpqAndJcc:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;Z)I
pop
139: 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
140: aload 2
aload 13
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
141: aload 0
aload 2
aload 23
iload 3
aload 4
aload 7
aload 9
aload 10
aload 11
aload 15
iconst_0
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.findTwoConsecutive:Z
ifeq 142
iconst_0
goto 143
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value[] 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 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 jdk.vm.ci.meta.JavaKind org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize org.graalvm.compiler.asm.amd64.AMD64Address int
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp 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[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] org.graalvm.compiler.asm.Label[] int
142: iconst_1
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value[] 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 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 jdk.vm.ci.meta.JavaKind org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize org.graalvm.compiler.asm.amd64.AMD64Address int
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp 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[] jdk.vm.ci.code.Register[] jdk.vm.ci.code.Register[] org.graalvm.compiler.asm.Label[] int int
143: invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.emitVectorCompare:(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;[Ljdk/vm/ci/code/Register;[Ljdk/vm/ci/code/Register;[Lorg/graalvm/compiler/asm/Label;ZZ)V
144: aload 2
aload 7
iload 22
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.addq:(Ljdk/vm/ci/code/Register;I)V
145: aload 2
aload 7
aload 5
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.LessEqual:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 13
iconst_1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.cmpqAndJcc:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;Z)I
pop
146: aload 2
aload 20
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
147: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.findTwoConsecutive:Z
ifeq 148
iload 3
iconst_2
if_icmpeq 149
StackMap locals:
StackMap stack:
148: iload 3
iconst_1
if_icmpne 154
149: StackMap locals:
StackMap stack:
aload 2
aload 7
aload 5
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movq:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
150: aload 0
aload 2
aload 23
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.findTwoConsecutive:Z
ifeq 151
iconst_2
goto 152
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value[] 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 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 jdk.vm.ci.meta.JavaKind org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize org.graalvm.compiler.asm.amd64.AMD64Address int
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.meta.JavaKind
151: iconst_1
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value[] 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 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 jdk.vm.ci.meta.JavaKind org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize org.graalvm.compiler.asm.amd64.AMD64Address int
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.meta.JavaKind int
152: aload 4
aload 7
aload 9
aload 10
aload 11
aload 15
iconst_1
iconst_0
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.emitVectorCompare:(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;[Ljdk/vm/ci/code/Register;[Ljdk/vm/ci/code/Register;[Lorg/graalvm/compiler/asm/Label;ZZ)V
153: goto 164
154: StackMap locals:
StackMap stack:
aload 2
aload 7
iload 22
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.subq:(Ljdk/vm/ci/code/Register;I)V
155: 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
156: aload 2
aload 14
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
157: aload 2
aload 7
iload 21
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.addq:(Ljdk/vm/ci/code/Register;I)V
158: aload 2
aload 7
aload 5
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.cmpq:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
159: aload 2
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.Greater:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 7
aload 5
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.cmovq:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
160: aload 0
aload 2
aload 23
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.findTwoConsecutive:Z
ifeq 161
iconst_2
goto 162
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value[] 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 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 jdk.vm.ci.meta.JavaKind org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize org.graalvm.compiler.asm.amd64.AMD64Address int
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.meta.JavaKind
161: iconst_1
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler int jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value[] 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 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 jdk.vm.ci.meta.JavaKind org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize org.graalvm.compiler.asm.amd64.AMD64Address int
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.meta.JavaKind int
162: aload 4
aload 7
aload 9
aload 10
aload 11
aload 15
iconst_1
iconst_0
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.emitVectorCompare:(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;[Ljdk/vm/ci/code/Register;[Ljdk/vm/ci/code/Register;[Lorg/graalvm/compiler/asm/Label;ZZ)V
163: aload 2
aload 7
aload 5
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.Less:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 14
iconst_1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.cmpqAndJcc:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;Z)I
pop
164: StackMap locals:
StackMap stack:
aload 2
aload 7
iconst_m1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movl:(Ljdk/vm/ci/code/Register;I)V
165: aload 2
aload 12
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jmpb:(Lorg/graalvm/compiler/asm/Label;)V
166: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.findTwoConsecutive:Z
ifeq 199
167: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 27
start local 27 168: aload 2
aload 15
iconst_2
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
169: aload 2
aload 7
aload 0
iconst_2
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.getResultIndexDelta:(I)I
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.subq:(Ljdk/vm/ci/code/Register;I)V
170: aload 2
aload 27
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jmpb:(Lorg/graalvm/compiler/asm/Label;)V
171: aload 2
aload 15
iconst_0
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
172: aload 2
aload 7
aload 0
iconst_0
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.getResultIndexDelta:(I)I
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.subq:(Ljdk/vm/ci/code/Register;I)V
173: aload 2
aload 27
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
174: aload 2
aload 11
iconst_0
aaload
aload 11
iconst_0
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bsfq:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
175: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.valueKind:Ljdk/vm/ci/meta/JavaKind;
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.charMode:(Ljdk/vm/ci/meta/JavaKind;)Z
ifeq 177
176: aload 2
aload 11
iconst_0
aaload
iconst_1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.shrl:(Ljdk/vm/ci/code/Register;I)V
177: StackMap locals: org.graalvm.compiler.asm.Label
StackMap stack:
aload 2
aload 7
aload 11
iconst_0
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.addq:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
178: aload 2
aload 12
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jmpb:(Lorg/graalvm/compiler/asm/Label;)V
179: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 28
start local 28 180: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 29
start local 29 181: iload 3
iconst_2
if_icmple 185
182: aload 2
aload 15
iconst_3
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
183: aload 2
aload 7
aload 0
iconst_3
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.getResultIndexDelta:(I)I
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.subq:(Ljdk/vm/ci/code/Register;I)V
184: aload 2
aload 28
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jmpb:(Lorg/graalvm/compiler/asm/Label;)V
185: StackMap locals: org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label
StackMap stack:
aload 2
aload 15
iconst_1
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
186: aload 2
aload 7
aload 0
iconst_1
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.getResultIndexDelta:(I)I
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.subq:(Ljdk/vm/ci/code/Register;I)V
187: aload 2
aload 28
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
188: aload 2
aload 11
iconst_1
aaload
aload 11
iconst_1
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bsfq:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
189: aload 2
aload 11
iconst_0
aaload
aload 11
iconst_0
aaload
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.Zero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 29
iconst_1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.testqAndJcc:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;Z)I
pop
190: aload 2
aload 11
iconst_0
aaload
aload 11
iconst_0
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bsfq:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
191: aload 2
aload 11
iconst_0
aaload
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.valueKind: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
192: aload 2
aload 11
iconst_1
aaload
aload 11
iconst_0
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.cmpq:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
193: aload 2
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.Greater:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 11
iconst_1
aaload
aload 11
iconst_0
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.cmovq:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
194: aload 2
aload 29
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
195: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.valueKind:Ljdk/vm/ci/meta/JavaKind;
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.charMode:(Ljdk/vm/ci/meta/JavaKind;)Z
ifeq 197
196: aload 2
aload 11
iconst_1
aaload
iconst_1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.shrl:(Ljdk/vm/ci/code/Register;I)V
197: StackMap locals:
StackMap stack:
aload 2
aload 7
aload 11
iconst_1
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.addq:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
end local 29 end local 28 end local 27 198: goto 213
199: StackMap locals:
StackMap stack:
new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 27
start local 27 200: iconst_0
istore 28
start local 28 201: goto 207
202: StackMap locals: org.graalvm.compiler.asm.Label int
StackMap stack:
aload 2
aload 15
iload 28
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
203: aload 2
aload 7
aload 0
iload 28
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.getResultIndexDelta:(I)I
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.subq:(Ljdk/vm/ci/code/Register;I)V
204: iload 28
iload 3
iconst_1
isub
if_icmpge 206
205: aload 2
aload 27
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jmpb:(Lorg/graalvm/compiler/asm/Label;)V
206: StackMap locals:
StackMap stack:
iinc 28 1
StackMap locals:
StackMap stack:
207: iload 28
iload 3
if_icmplt 202
end local 28 208: aload 2
aload 27
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
209: aload 2
aload 11
iconst_0
aaload
aload 11
iconst_0
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bsfq:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
210: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.valueKind:Ljdk/vm/ci/meta/JavaKind;
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.charMode:(Ljdk/vm/ci/meta/JavaKind;)Z
ifeq 212
211: aload 2
aload 11
iconst_0
aaload
iconst_1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.shrl:(Ljdk/vm/ci/code/Register;I)V
212: StackMap locals:
StackMap stack:
aload 2
aload 7
aload 11
iconst_0
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.addq:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
end local 27 213: StackMap locals:
StackMap stack:
aload 2
aload 12
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
214: return
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 215 0 this Lorg/graalvm/compiler/lir/amd64/AMD64ArrayIndexOfOp;
0 215 1 crb Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
0 215 2 asm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
4 215 3 nVectors I
5 215 4 arrayPtr Ljdk/vm/ci/code/Register;
6 215 5 arrayLength Ljdk/vm/ci/code/Register;
7 215 6 fromIndex Ljdk/vm/ci/code/Register;
8 215 7 index Ljdk/vm/ci/code/Register;
22 215 8 searchValue [Ljdk/vm/ci/meta/Value;
36 215 9 vecCmp [Ljdk/vm/ci/code/Register;
42 215 10 vecArray [Ljdk/vm/ci/code/Register;
48 215 11 cmpResult [Ljdk/vm/ci/code/Register;
49 215 12 ret Lorg/graalvm/compiler/asm/Label;
50 215 13 bulkVectorLoop Lorg/graalvm/compiler/asm/Label;
51 215 14 singleVectorLoop Lorg/graalvm/compiler/asm/Label;
57 215 15 vectorFound [Lorg/graalvm/compiler/asm/Label;
58 215 16 runVectorized Lorg/graalvm/compiler/asm/Label;
59 215 17 elementWiseLoop Lorg/graalvm/compiler/asm/Label;
60 215 18 elementWiseFound Lorg/graalvm/compiler/asm/Label;
61 215 19 elementWiseNotFound Lorg/graalvm/compiler/asm/Label;
62 215 20 skipBulkVectorLoop Lorg/graalvm/compiler/asm/Label;
63 215 21 vectorSize I
64 215 22 bulkSize I
65 215 23 vectorCompareKind Ljdk/vm/ci/meta/JavaKind;
79 215 24 cmpSize Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
82 215 25 arrayAddr Lorg/graalvm/compiler/asm/amd64/AMD64Address;
83 215 26 valuesOnStack Z
88 100 27 i I
91 92 28 imm I
102 111 27 i I
105 106 28 imm I
124 128 27 i I
168 198 27 vectorFound2Done Lorg/graalvm/compiler/asm/Label;
180 198 28 minResult Lorg/graalvm/compiler/asm/Label;
181 198 29 minResultDone Lorg/graalvm/compiler/asm/Label;
200 213 27 end Lorg/graalvm/compiler/asm/Label;
201 208 28 i I
MethodParameters:
Name Flags
crb
asm
private boolean searchValuesOnStack(jdk.vm.ci.meta.Value[]);
descriptor: ([Ljdk/vm/ci/meta/Value;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 5
2: StackMap locals: int
StackMap stack:
aload 1
iload 2
aaload
invokestatic jdk.vm.ci.code.ValueUtil.isStackSlot:(Ljdk/vm/ci/meta/Value;)Z
ifeq 4
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
if_icmplt 2
end local 2 6: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/graalvm/compiler/lir/amd64/AMD64ArrayIndexOfOp;
0 7 1 searchValue [Ljdk/vm/ci/meta/Value;
1 6 2 i I
MethodParameters:
Name Flags
searchValue
private int getResultIndexDelta(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.findTwoConsecutive:Z
ifeq 1
iload 1
iconst_2
idiv
goto 2
StackMap locals:
StackMap stack:
1: iload 1
StackMap locals:
StackMap stack: int
2: iconst_1
iadd
aload 0
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.getVectorSize:()Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
invokevirtual org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.getBytes:()I
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.valueKind:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.getByteCount:()I
idiv
imul
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.findTwoConsecutive:Z
ifeq 3
iload 1
iconst_1
iand
goto 4
StackMap locals:
StackMap stack: int
3: iconst_0
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp int
StackMap stack: int int
4: iadd
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/lir/amd64/AMD64ArrayIndexOfOp;
0 5 1 i I
MethodParameters:
Name Flags
i
private int getVectorOffset(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.arrayBaseOffset:I
aload 0
iload 1
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.getResultIndexDelta:(I)I
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.valueKind:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.getByteCount:()I
imul
isub
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/lir/amd64/AMD64ArrayIndexOfOp;
0 1 1 i I
MethodParameters:
Name Flags
i
private void broadcastSearchValue(org.graalvm.compiler.lir.asm.CompilationResultBuilder, org.graalvm.compiler.asm.amd64.AMD64MacroAssembler, jdk.vm.ci.code.Register, jdk.vm.ci.meta.Value, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
descriptor: (Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 1
aload 2
aload 4
aload 5
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.asRegOrTmpReg:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/code/Register;)Ljdk/vm/ci/code/Register;
astore 7
start local 7 1: 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 4
2: 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 3
aload 7
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
3: goto 5
4: StackMap locals: jdk.vm.ci.code.Register
StackMap stack:
aload 2
aload 3
aload 7
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movdl:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
5: StackMap locals:
StackMap stack:
aload 2
aload 0
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.getComparisonKind:()Ljdk/vm/ci/meta/JavaKind;
aload 3
aload 6
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
6: 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 7 0 this Lorg/graalvm/compiler/lir/amd64/AMD64ArrayIndexOfOp;
0 7 1 crb Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
0 7 2 asm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
0 7 3 dst Ljdk/vm/ci/code/Register;
0 7 4 srcVal Ljdk/vm/ci/meta/Value;
0 7 5 tmpReg Ljdk/vm/ci/code/Register;
0 7 6 tmpVector Ljdk/vm/ci/code/Register;
1 7 7 src Ljdk/vm/ci/code/Register;
MethodParameters:
Name Flags
crb
asm
dst
srcVal
tmpReg
tmpVector
private static boolean isConstant(jdk.vm.ci.meta.Value);
descriptor: (Ljdk/vm/ci/meta/Value;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.$assertionsDisabled:Z
ifne 1
aload 0
instanceof org.graalvm.compiler.lir.ConstantValue
ifeq 1
aload 0
checkcast org.graalvm.compiler.lir.ConstantValue
invokevirtual org.graalvm.compiler.lir.ConstantValue.isJavaConstant:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
instanceof org.graalvm.compiler.lir.ConstantValue
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 val Ljdk/vm/ci/meta/Value;
MethodParameters:
Name Flags
val
private static jdk.vm.ci.meta.JavaConstant asConstant(jdk.vm.ci.meta.Value);
descriptor: (Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/JavaConstant;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
checkcast org.graalvm.compiler.lir.ConstantValue
invokevirtual org.graalvm.compiler.lir.ConstantValue.getJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 val Ljdk/vm/ci/meta/Value;
MethodParameters:
Name Flags
val
private static jdk.vm.ci.code.Register asRegOrTmpReg(org.graalvm.compiler.lir.asm.CompilationResultBuilder, org.graalvm.compiler.asm.amd64.AMD64MacroAssembler, jdk.vm.ci.meta.Value, jdk.vm.ci.code.Register);
descriptor: (Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/code/Register;)Ljdk/vm/ci/code/Register;
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 2
invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
ifeq 2
1: aload 2
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
areturn
2: StackMap locals:
StackMap stack:
aload 2
invokestatic jdk.vm.ci.code.ValueUtil.isStackSlot:(Ljdk/vm/ci/meta/Value;)Z
ifeq 5
3: aload 1
aload 3
aload 0
aload 2
invokevirtual org.graalvm.compiler.lir.asm.CompilationResultBuilder.asAddress:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/asm/AbstractAddress;
checkcast org.graalvm.compiler.asm.amd64.AMD64Address
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movl:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
4: aload 3
areturn
5: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.$assertionsDisabled:Z
ifne 6
aload 2
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.isConstant:(Ljdk/vm/ci/meta/Value;)Z
ifne 6
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
6: StackMap locals:
StackMap stack:
aload 1
aload 3
aload 2
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.asConstant:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movl:(Ljdk/vm/ci/code/Register;I)V
7: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 crb Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
0 8 1 asm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
0 8 2 val Ljdk/vm/ci/meta/Value;
0 8 3 tmpReg Ljdk/vm/ci/code/Register;
MethodParameters:
Name Flags
crb
asm
val
tmpReg
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 void emitVectorCompare(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[], jdk.vm.ci.code.Register[], jdk.vm.ci.code.Register[], org.graalvm.compiler.asm.Label[], boolean, boolean);
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;[Ljdk/vm/ci/code/Register;[Ljdk/vm/ci/code/Register;[Lorg/graalvm/compiler/asm/Label;ZZ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=10, 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 9
2: StackMap locals: int
StackMap stack:
iload 12
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
imul
istore 13
start local 13 3: iconst_0
istore 14
start local 14 4: goto 7
5: StackMap locals: int int
StackMap stack:
aload 0
aload 1
aload 0
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.getVectorSize:()Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
aload 7
iload 13
iload 14
iadd
aaload
aload 4
aload 5
aload 0
iload 3
iload 12
iconst_1
iadd
isub
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.getVectorOffset:(I)I
iload 11
invokevirtual 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;Ljdk/vm/ci/code/Register;IZ)V
6: iinc 14 1
StackMap locals:
StackMap stack:
7: iload 14
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
if_icmplt 5
end local 14 end local 13 8: iinc 12 1
StackMap locals:
StackMap stack:
9: iload 12
iload 3
if_icmplt 2
end local 12 10: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.findTwoConsecutive:Z
ifne 28
11: iconst_0
istore 12
start local 12 12: goto 26
13: StackMap locals:
StackMap stack:
iload 12
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
imul
istore 13
start local 13 14: iconst_0
istore 14
start local 14 15: goto 20
16: StackMap locals: int int
StackMap stack:
aload 1
aload 2
aload 0
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.getVectorSize:()Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
aload 7
iload 13
iload 14
iadd
aaload
aload 6
iload 14
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
17: iload 14
iconst_1
iand
iconst_1
if_icmpne 19
18: aload 1
aload 0
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.getVectorSize:()Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
aload 7
iload 13
iload 14
iadd
iconst_1
isub
aaload
aload 7
iload 13
iload 14
iadd
aaload
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.emitPOR:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
19: StackMap locals:
StackMap stack:
iinc 14 1
StackMap locals:
StackMap stack:
20: iload 14
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
if_icmplt 16
end local 14 21: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.nValues:I
iconst_2
if_icmple 23
22: aload 1
aload 0
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.getVectorSize:()Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
aload 7
iload 13
aaload
aload 7
iload 13
iconst_2
iadd
aaload
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.emitPOR:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
23: StackMap locals:
StackMap stack:
aload 1
aload 0
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.getVectorSize:()Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
aload 8
iconst_0
aaload
aload 7
iload 13
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
24: aload 1
aload 8
iconst_0
aaload
aload 8
iconst_0
aaload
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotZero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 9
iload 3
iload 12
iconst_1
iadd
isub
aaload
iload 10
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.testlAndJcc:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;Z)V
end local 13 25: iinc 12 1
StackMap locals:
StackMap stack:
26: iload 12
iload 3
if_icmplt 13
end local 12 27: goto 38
28: StackMap locals:
StackMap stack:
iconst_0
istore 12
start local 12 29: goto 37
30: StackMap locals: int
StackMap stack:
aload 1
aload 2
aload 0
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.getVectorSize:()Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
aload 7
iload 12
aaload
aload 6
iconst_0
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
31: aload 1
aload 2
aload 0
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.getVectorSize:()Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
aload 7
iload 12
iconst_1
iadd
aaload
aload 6
iconst_0
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
32: aload 1
aload 0
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.getVectorSize:()Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
aload 8
iconst_1
aaload
aload 7
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
33: aload 1
aload 0
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.getVectorSize:()Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
aload 8
iconst_0
aaload
aload 7
iload 12
iconst_1
iadd
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
34: aload 1
aload 8
iconst_1
aaload
aload 8
iconst_1
aaload
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotZero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 9
iload 3
iload 12
iconst_1
iadd
isub
aaload
iload 10
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.testlAndJcc:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;Z)V
35: aload 1
aload 8
iconst_0
aaload
aload 8
iconst_0
aaload
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotZero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 9
iload 3
iload 12
iconst_2
iadd
isub
aaload
iload 10
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.testlAndJcc:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;Z)V
36: iinc 12 2
StackMap locals:
StackMap stack:
37: iload 12
iload 3
if_icmplt 30
end local 12 38: StackMap locals:
StackMap stack:
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 39 0 this Lorg/graalvm/compiler/lir/amd64/AMD64ArrayIndexOfOp;
0 39 1 asm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
0 39 2 kind Ljdk/vm/ci/meta/JavaKind;
0 39 3 nVectors I
0 39 4 arrayPtr Ljdk/vm/ci/code/Register;
0 39 5 index Ljdk/vm/ci/code/Register;
0 39 6 vecCmp [Ljdk/vm/ci/code/Register;
0 39 7 vecArray [Ljdk/vm/ci/code/Register;
0 39 8 cmpResult [Ljdk/vm/ci/code/Register;
0 39 9 vectorFound [Lorg/graalvm/compiler/asm/Label;
0 39 10 shortJmp Z
0 39 11 alignedLoad Z
1 10 12 i I
3 8 13 base I
4 8 14 j I
12 27 12 i I
14 25 13 base I
15 21 14 j I
29 38 12 i I
MethodParameters:
Name Flags
asm
kind
nVectors
arrayPtr
index
vecCmp
vecArray
cmpResult
vectorFound
shortJmp
alignedLoad
private 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, 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;Ljdk/vm/ci/code/Register;IZ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=10, 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: new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 4
aload 5
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.arrayIndexScale:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
iload 6
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;I)V
astore 8
start local 8 1: aload 1
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 7
ifeq 3
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexMoveOp.VMOVDQA32: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.VMOVDQU32:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexMoveOp;
StackMap locals:
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64Assembler$VexMoveOp
4: astore 9
start local 9 5: aload 9
aload 1
aload 2
aload 3
aload 8
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 9 6: goto 8
7: StackMap locals:
StackMap stack:
aload 1
aload 3
aload 8
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 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 9 0 this Lorg/graalvm/compiler/lir/amd64/AMD64ArrayIndexOfOp;
0 9 1 asm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
0 9 2 vectorSize Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
0 9 3 vecDst Ljdk/vm/ci/code/Register;
0 9 4 arrayPtr Ljdk/vm/ci/code/Register;
0 9 5 index Ljdk/vm/ci/code/Register;
0 9 6 offset I
0 9 7 alignedLoad Z
1 9 8 src Lorg/graalvm/compiler/asm/amd64/AMD64Address;
5 6 9 loadOp Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexMoveOp;
MethodParameters:
Name Flags
asm
vectorSize
vecDst
arrayPtr
index
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 emitPOR(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=6, 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$VexRVMOp.VPOR:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;
aload 0
aload 1
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
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 3
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.por:(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 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 org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize getOpSize(jdk.vm.ci.meta.JavaKind);
descriptor: (Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:()[I
aload 0
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iaload
tableswitch { // 2 - 5
2: 1
3: 2
4: 2
5: 3
default: 4
}
1: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.BYTE:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
areturn
2: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.WORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
areturn
3: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
areturn
4: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 kind Ljdk/vm/ci/meta/JavaKind;
MethodParameters:
Name Flags
kind
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
public boolean needsClearUpperVectorRegisters();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/lir/amd64/AMD64ArrayIndexOfOp;
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 Scale = org.graalvm.compiler.asm.amd64.AMD64Address$Scale of org.graalvm.compiler.asm.amd64.AMD64Address
public final AMD64BinaryArithmetic = org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic of org.graalvm.compiler.asm.amd64.AMD64Assembler
public AMD64MIOp = org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MIOp of org.graalvm.compiler.asm.amd64.AMD64Assembler
public AMD64RMOp = org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp of org.graalvm.compiler.asm.amd64.AMD64Assembler
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 OperandSize = org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize of org.graalvm.compiler.asm.amd64.AMD64BaseAssembler
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")