public final class org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp 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.AMD64ArrayEqualsOp
super_class: org.graalvm.compiler.lir.amd64.AMD64LIRInstruction
{
public static final org.graalvm.compiler.lir.LIRInstructionClass<org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp> 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/AMD64ArrayEqualsOp;>;
private final jdk.vm.ci.meta.JavaKind kind1;
descriptor: Ljdk/vm/ci/meta/JavaKind;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.vm.ci.meta.JavaKind kind2;
descriptor: Ljdk/vm/ci/meta/JavaKind;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int arrayBaseOffset1;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int arrayBaseOffset2;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.graalvm.compiler.asm.amd64.AMD64Address$Scale arrayIndexScale1;
descriptor: Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.graalvm.compiler.asm.amd64.AMD64Address$Scale arrayIndexScale2;
descriptor: Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.graalvm.compiler.asm.amd64.AVXKind$AVXSize vectorSize;
descriptor: Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean signExtend;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private jdk.vm.ci.meta.Value resultValue;
descriptor: Ljdk/vm/ci/meta/Value;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
org.graalvm.compiler.lir.LIRInstruction$Def(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})
private jdk.vm.ci.meta.Value array1Value;
descriptor: Ljdk/vm/ci/meta/Value;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
org.graalvm.compiler.lir.LIRInstruction$Alive(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})
private jdk.vm.ci.meta.Value array2Value;
descriptor: Ljdk/vm/ci/meta/Value;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
org.graalvm.compiler.lir.LIRInstruction$Alive(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})
private jdk.vm.ci.meta.Value lengthValue;
descriptor: Ljdk/vm/ci/meta/Value;
flags: (0x0002) ACC_PRIVATE
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.CONST:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})
private jdk.vm.ci.meta.Value temp1;
descriptor: Ljdk/vm/ci/meta/Value;
flags: (0x0002) ACC_PRIVATE
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;})
private jdk.vm.ci.meta.Value temp2;
descriptor: Ljdk/vm/ci/meta/Value;
flags: (0x0002) ACC_PRIVATE
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;})
private jdk.vm.ci.meta.Value temp3;
descriptor: Ljdk/vm/ci/meta/Value;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
org.graalvm.compiler.lir.LIRInstruction$Temp(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})
private jdk.vm.ci.meta.Value temp4;
descriptor: Ljdk/vm/ci/meta/Value;
flags: (0x0002) ACC_PRIVATE
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;})
private jdk.vm.ci.meta.Value temp5;
descriptor: Ljdk/vm/ci/meta/Value;
flags: (0x0002) ACC_PRIVATE
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;})
private jdk.vm.ci.meta.Value tempXMM;
descriptor: Ljdk/vm/ci/meta/Value;
flags: (0x0002) ACC_PRIVATE
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;})
private jdk.vm.ci.meta.Value vectorTemp1;
descriptor: Ljdk/vm/ci/meta/Value;
flags: (0x0002) ACC_PRIVATE
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;})
private jdk.vm.ci.meta.Value vectorTemp2;
descriptor: Ljdk/vm/ci/meta/Value;
flags: (0x0002) ACC_PRIVATE
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;})
private jdk.vm.ci.meta.Value vectorTemp3;
descriptor: Ljdk/vm/ci/meta/Value;
flags: (0x0002) ACC_PRIVATE
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;})
private jdk.vm.ci.meta.Value vectorTemp4;
descriptor: Ljdk/vm/ci/meta/Value;
flags: (0x0002) ACC_PRIVATE
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;})
private static final int VECTOR_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$org$graalvm$compiler$asm$amd64$AMD64Address$Scale;
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/AMD64ArrayEqualsOp;
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.AMD64ArrayEqualsOp.$assertionsDisabled:Z
3: ldc Lorg/graalvm/compiler/lir/amd64/AMD64ArrayEqualsOp;
invokestatic org.graalvm.compiler.lir.LIRInstructionClass.create:(Ljava/lang/Class;)Lorg/graalvm/compiler/lir/LIRInstructionClass;
putstatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.TYPE:Lorg/graalvm/compiler/lir/LIRInstructionClass;
4: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.graalvm.compiler.lir.gen.LIRGeneratorTool, jdk.vm.ci.meta.JavaKind, jdk.vm.ci.meta.JavaKind, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, boolean, int);
descriptor: (Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;ZI)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=11, args_size=10
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 0: aload 0
getstatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.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.AMD64ArrayEqualsOp.kind1:Ljdk/vm/ci/meta/JavaKind;
2: aload 0
aload 3
putfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.kind2:Ljdk/vm/ci/meta/JavaKind;
3: aload 0
aload 2
getstatic jdk.vm.ci.meta.JavaKind.Char:Ljdk/vm/ci/meta/JavaKind;
if_acmpeq 4
aload 3
getstatic jdk.vm.ci.meta.JavaKind.Char:Ljdk/vm/ci/meta/JavaKind;
if_acmpeq 4
iconst_1
goto 5
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp org.graalvm.compiler.lir.gen.LIRGeneratorTool jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value int int
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp
4: iconst_0
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp org.graalvm.compiler.lir.gen.LIRGeneratorTool jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value int int
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp int
5: putfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.signExtend:Z
6: getstatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.$assertionsDisabled:Z
ifne 8
aload 2
invokevirtual jdk.vm.ci.meta.JavaKind.isNumericInteger:()Z
ifeq 7
aload 3
invokevirtual jdk.vm.ci.meta.JavaKind.isNumericInteger:()Z
ifne 8
StackMap locals:
StackMap stack:
7: aload 2
aload 3
if_acmpeq 8
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
8: StackMap locals:
StackMap stack:
aload 0
iload 8
ifeq 9
iconst_0
goto 10
StackMap locals:
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp
9: aload 1
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.getArrayBaseOffset:(Ljdk/vm/ci/meta/JavaKind;)I
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp org.graalvm.compiler.lir.gen.LIRGeneratorTool jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value int int
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp int
10: putfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayBaseOffset1:I
11: aload 0
iload 8
ifeq 12
iconst_0
goto 13
StackMap locals:
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp
12: aload 1
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 3
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.getArrayBaseOffset:(Ljdk/vm/ci/meta/JavaKind;)I
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp org.graalvm.compiler.lir.gen.LIRGeneratorTool jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value int int
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp int
13: putfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayBaseOffset2:I
14: aload 0
aload 1
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.AMD64ArrayEqualsOp.arrayIndexScale1:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
15: aload 0
aload 1
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 3
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.AMD64ArrayEqualsOp.arrayIndexScale2:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
16: aload 0
aload 1
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;
getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.AVX2:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
ifeq 18
iload 9
iflt 17
iload 9
bipush 32
if_icmplt 18
StackMap locals:
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp
17: getstatic org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.YMM:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
goto 19
StackMap locals:
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp
18: getstatic org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.XMM:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp org.graalvm.compiler.lir.gen.LIRGeneratorTool jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value int int
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp org.graalvm.compiler.asm.amd64.AVXKind$AVXSize
19: putfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.vectorSize:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
20: aload 0
aload 4
putfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.resultValue:Ljdk/vm/ci/meta/Value;
21: aload 0
aload 5
putfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.array1Value:Ljdk/vm/ci/meta/Value;
22: aload 0
aload 6
putfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.array2Value:Ljdk/vm/ci/meta/Value;
23: aload 0
aload 7
putfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.lengthValue:Ljdk/vm/ci/meta/Value;
24: aload 1
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.target:()Ljdk/vm/ci/code/TargetDescription;
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.supportsSSE41:(Ljdk/vm/ci/code/TargetDescription;)Z
ifeq 28
aload 0
aload 1
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.target:()Ljdk/vm/ci/code/TargetDescription;
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.canGenerateConstantLengthCompare:(Ljdk/vm/ci/code/TargetDescription;)Z
ifeq 28
aload 0
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.constantLengthCompareNeedsTmpArrayPointers:()Z
ifne 28
25: aload 0
getstatic jdk.vm.ci.meta.Value.ILLEGAL:Ljdk/vm/ci/meta/AllocatableValue;
putfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.temp1:Ljdk/vm/ci/meta/Value;
26: aload 0
getstatic jdk.vm.ci.meta.Value.ILLEGAL:Ljdk/vm/ci/meta/AllocatableValue;
putfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.temp2:Ljdk/vm/ci/meta/Value;
27: goto 30
28: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 1
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.unknownReference:(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.AMD64ArrayEqualsOp.temp1:Ljdk/vm/ci/meta/Value;
29: aload 0
aload 1
aload 1
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.unknownReference:(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.AMD64ArrayEqualsOp.temp2:Ljdk/vm/ci/meta/Value;
30: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 1
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.AMD64ArrayEqualsOp.temp3:Ljdk/vm/ci/meta/Value;
31: aload 1
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.target:()Ljdk/vm/ci/code/TargetDescription;
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.supportsSSE41:(Ljdk/vm/ci/code/TargetDescription;)Z
ifeq 35
aload 0
aload 1
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.target:()Ljdk/vm/ci/code/TargetDescription;
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.canGenerateConstantLengthCompare:(Ljdk/vm/ci/code/TargetDescription;)Z
ifeq 35
32: aload 0
getstatic jdk.vm.ci.meta.Value.ILLEGAL:Ljdk/vm/ci/meta/AllocatableValue;
putfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.temp4:Ljdk/vm/ci/meta/Value;
33: aload 0
getstatic jdk.vm.ci.meta.Value.ILLEGAL:Ljdk/vm/ci/meta/AllocatableValue;
putfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.temp5:Ljdk/vm/ci/meta/Value;
34: goto 40
35: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 1
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.AMD64ArrayEqualsOp.temp4:Ljdk/vm/ci/meta/Value;
36: aload 0
aload 2
invokevirtual jdk.vm.ci.meta.JavaKind.isNumericFloat:()Z
ifne 37
aload 2
aload 3
if_acmpeq 38
StackMap locals:
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp
37: aload 1
aload 1
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 39
StackMap locals:
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp
38: getstatic jdk.vm.ci.meta.Value.ILLEGAL:Ljdk/vm/ci/meta/AllocatableValue;
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp org.graalvm.compiler.lir.gen.LIRGeneratorTool jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value int int
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp jdk.vm.ci.meta.AllocatableValue
39: putfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.temp5:Ljdk/vm/ci/meta/Value;
40: StackMap locals:
StackMap stack:
aload 2
getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 43
41: aload 0
aload 1
getstatic jdk.vm.ci.amd64.AMD64Kind.SINGLE: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.AMD64ArrayEqualsOp.tempXMM:Ljdk/vm/ci/meta/Value;
42: goto 47
StackMap locals:
StackMap stack:
43: aload 2
getstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 46
44: aload 0
aload 1
getstatic jdk.vm.ci.amd64.AMD64Kind.DOUBLE: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.AMD64ArrayEqualsOp.tempXMM:Ljdk/vm/ci/meta/Value;
45: goto 47
46: StackMap locals:
StackMap stack:
aload 0
getstatic jdk.vm.ci.meta.Value.ILLEGAL:Ljdk/vm/ci/meta/AllocatableValue;
putfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.tempXMM:Ljdk/vm/ci/meta/Value;
47: StackMap locals:
StackMap stack:
aload 1
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.target:()Ljdk/vm/ci/code/TargetDescription;
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.supportsSSE41:(Ljdk/vm/ci/code/TargetDescription;)Z
ifeq 62
48: aload 0
aload 1
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.target:()Ljdk/vm/ci/code/TargetDescription;
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.canGenerateConstantLengthCompare:(Ljdk/vm/ci/code/TargetDescription;)Z
ifeq 57
49: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.vectorSize:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
getstatic org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.YMM:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
if_acmpne 50
getstatic jdk.vm.ci.amd64.AMD64Kind.V256_BYTE:Ljdk/vm/ci/amd64/AMD64Kind;
goto 51
StackMap locals:
StackMap stack:
50: getstatic jdk.vm.ci.amd64.AMD64Kind.V128_BYTE:Ljdk/vm/ci/amd64/AMD64Kind;
StackMap locals:
StackMap stack: jdk.vm.ci.amd64.AMD64Kind
51: invokestatic org.graalvm.compiler.core.common.LIRKind.value:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
astore 10
start local 10 52: aload 0
aload 1
aload 10
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
putfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.vectorTemp1:Ljdk/vm/ci/meta/Value;
53: aload 0
aload 1
aload 10
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
putfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.vectorTemp2:Ljdk/vm/ci/meta/Value;
54: aload 0
aload 1
aload 10
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
putfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.vectorTemp3:Ljdk/vm/ci/meta/Value;
55: aload 0
aload 1
aload 10
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
putfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.vectorTemp4:Ljdk/vm/ci/meta/Value;
end local 10 56: goto 66
57: StackMap locals:
StackMap stack:
aload 0
aload 1
getstatic jdk.vm.ci.amd64.AMD64Kind.DOUBLE: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.AMD64ArrayEqualsOp.vectorTemp1:Ljdk/vm/ci/meta/Value;
58: aload 0
aload 1
getstatic jdk.vm.ci.amd64.AMD64Kind.DOUBLE: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.AMD64ArrayEqualsOp.vectorTemp2:Ljdk/vm/ci/meta/Value;
59: aload 0
getstatic jdk.vm.ci.meta.Value.ILLEGAL:Ljdk/vm/ci/meta/AllocatableValue;
putfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.vectorTemp3:Ljdk/vm/ci/meta/Value;
60: aload 0
getstatic jdk.vm.ci.meta.Value.ILLEGAL:Ljdk/vm/ci/meta/AllocatableValue;
putfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.vectorTemp4:Ljdk/vm/ci/meta/Value;
61: goto 66
62: StackMap locals:
StackMap stack:
aload 0
getstatic jdk.vm.ci.meta.Value.ILLEGAL:Ljdk/vm/ci/meta/AllocatableValue;
putfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.vectorTemp1:Ljdk/vm/ci/meta/Value;
63: aload 0
getstatic jdk.vm.ci.meta.Value.ILLEGAL:Ljdk/vm/ci/meta/AllocatableValue;
putfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.vectorTemp2:Ljdk/vm/ci/meta/Value;
64: aload 0
getstatic jdk.vm.ci.meta.Value.ILLEGAL:Ljdk/vm/ci/meta/AllocatableValue;
putfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.vectorTemp3:Ljdk/vm/ci/meta/Value;
65: aload 0
getstatic jdk.vm.ci.meta.Value.ILLEGAL:Ljdk/vm/ci/meta/AllocatableValue;
putfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.vectorTemp4:Ljdk/vm/ci/meta/Value;
66: StackMap locals:
StackMap stack:
return
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 67 0 this Lorg/graalvm/compiler/lir/amd64/AMD64ArrayEqualsOp;
0 67 1 tool Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
0 67 2 kind1 Ljdk/vm/ci/meta/JavaKind;
0 67 3 kind2 Ljdk/vm/ci/meta/JavaKind;
0 67 4 result Ljdk/vm/ci/meta/Value;
0 67 5 array1 Ljdk/vm/ci/meta/Value;
0 67 6 array2 Ljdk/vm/ci/meta/Value;
0 67 7 length Ljdk/vm/ci/meta/Value;
0 67 8 directPointers Z
0 67 9 maxVectorSize I
52 56 10 lirKind Lorg/graalvm/compiler/core/common/LIRKind;
MethodParameters:
Name Flags
tool
kind1
kind2
result
array1
array2
length
directPointers
maxVectorSize
private boolean canGenerateConstantLengthCompare(jdk.vm.ci.code.TargetDescription);
descriptor: (Ljdk/vm/ci/code/TargetDescription;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.lengthValue:Ljdk/vm/ci/meta/Value;
invokestatic org.graalvm.compiler.lir.LIRValueUtil.isJavaConstant:(Ljdk/vm/ci/meta/Value;)Z
ifeq 2
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.kind1:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.isNumericInteger:()Z
ifeq 2
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.kind1:Ljdk/vm/ci/meta/JavaKind;
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.kind2:Ljdk/vm/ci/meta/JavaKind;
if_acmpeq 1
aload 0
getstatic org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.XMM:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.getElementsPerVector:(Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)I
aload 0
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.constantLength:()I
if_icmpgt 2
StackMap locals:
StackMap stack:
1: aload 1
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.supportsSSE41:(Ljdk/vm/ci/code/TargetDescription;)Z
ifeq 2
iconst_1
ireturn
StackMap locals:
StackMap stack:
2: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/lir/amd64/AMD64ArrayEqualsOp;
0 3 1 target Ljdk/vm/ci/code/TargetDescription;
MethodParameters:
Name Flags
target
private int constantLength();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.lengthValue:Ljdk/vm/ci/meta/Value;
invokestatic org.graalvm.compiler.lir.LIRValueUtil.asJavaConstant:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/lir/amd64/AMD64ArrayEqualsOp;
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=9, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.resultValue:Ljdk/vm/ci/meta/Value;
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
astore 3
start local 3 1: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 4
start local 4 2: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 5
start local 5 3: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 6
start local 6 4: aload 0
aload 1
getfield org.graalvm.compiler.lir.asm.CompilationResultBuilder.target:Ljdk/vm/ci/code/TargetDescription;
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.canGenerateConstantLengthCompare:(Ljdk/vm/ci/code/TargetDescription;)Z
ifeq 7
5: aload 0
aload 1
aload 2
iconst_4
anewarray jdk.vm.ci.code.Register
dup
iconst_0
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.vectorTemp1: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
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.vectorTemp2: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
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.vectorTemp3: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
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.vectorTemp4:Ljdk/vm/ci/meta/Value;
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
aastore
aload 5
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitConstantLengthArrayCompareBytes:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;[Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/Label;)V
6: goto 18
7: StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label
StackMap stack:
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.temp1: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: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.temp2:Ljdk/vm/ci/meta/Value;
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
astore 8
start local 8 9: aload 2
aload 7
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.array1Value:Ljdk/vm/ci/meta/Value;
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayBaseOffset1: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
10: aload 2
aload 8
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.array2Value:Ljdk/vm/ci/meta/Value;
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayBaseOffset2: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
11: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.temp3:Ljdk/vm/ci/meta/Value;
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
astore 9
start local 9 12: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.lengthValue:Ljdk/vm/ci/meta/Value;
invokestatic org.graalvm.compiler.lir.LIRValueUtil.isJavaConstant:(Ljdk/vm/ci/meta/Value;)Z
ifeq 15
13: aload 2
aload 9
aload 0
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.constantLength:()I
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movl:(Ljdk/vm/ci/code/Register;I)V
14: goto 16
15: StackMap locals: jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register
StackMap stack:
aload 2
aload 9
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.lengthValue:Ljdk/vm/ci/meta/Value;
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movl:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
16: StackMap locals:
StackMap stack:
aload 2
aload 3
aload 9
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movl:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
17: aload 0
aload 1
aload 2
aload 3
aload 7
aload 8
aload 9
aload 4
aload 5
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitArrayCompare:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/Label;Lorg/graalvm/compiler/asm/Label;)V
end local 9 end local 8 end local 7 18: StackMap locals:
StackMap stack:
aload 2
aload 4
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
19: aload 2
aload 3
iconst_1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movl:(Ljdk/vm/ci/code/Register;I)V
20: aload 2
aload 6
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jmpb:(Lorg/graalvm/compiler/asm/Label;)V
21: aload 2
aload 5
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
22: aload 2
aload 3
aload 3
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.xorl:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
23: aload 2
aload 6
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
24: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lorg/graalvm/compiler/lir/amd64/AMD64ArrayEqualsOp;
0 25 1 crb Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
0 25 2 masm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
1 25 3 result Ljdk/vm/ci/code/Register;
2 25 4 trueLabel Lorg/graalvm/compiler/asm/Label;
3 25 5 falseLabel Lorg/graalvm/compiler/asm/Label;
4 25 6 done Lorg/graalvm/compiler/asm/Label;
8 18 7 array1 Ljdk/vm/ci/code/Register;
9 18 8 array2 Ljdk/vm/ci/code/Register;
12 18 9 length Ljdk/vm/ci/code/Register;
MethodParameters:
Name Flags
crb
masm
private void emitArrayCompare(org.graalvm.compiler.lir.asm.CompilationResultBuilder, org.graalvm.compiler.asm.amd64.AMD64MacroAssembler, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, org.graalvm.compiler.asm.Label, org.graalvm.compiler.asm.Label);
descriptor: (Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/Label;Lorg/graalvm/compiler/asm/Label;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=9, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: aload 1
getfield org.graalvm.compiler.lir.asm.CompilationResultBuilder.target:Ljdk/vm/ci/code/TargetDescription;
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.supportsSSE41:(Ljdk/vm/ci/code/TargetDescription;)Z
ifeq 2
1: aload 0
aload 1
aload 2
aload 3
aload 4
aload 5
aload 6
aload 7
aload 8
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitVectorCompare:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/Label;Lorg/graalvm/compiler/asm/Label;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.kind1:Ljdk/vm/ci/meta/JavaKind;
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.kind2:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 6
3: aload 0
aload 1
aload 2
aload 3
aload 4
aload 5
aload 6
aload 7
aload 8
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emit8ByteCompare:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/Label;Lorg/graalvm/compiler/asm/Label;)V
4: aload 0
aload 2
aload 3
aload 4
aload 5
aload 6
aload 7
aload 8
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitTailCompares:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/Label;Lorg/graalvm/compiler/asm/Label;)V
5: goto 7
6: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 3
aload 4
aload 5
aload 6
aload 7
aload 8
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitDifferentKindsElementWiseCompare:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/Label;Lorg/graalvm/compiler/asm/Label;)V
7: 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 8 0 this Lorg/graalvm/compiler/lir/amd64/AMD64ArrayEqualsOp;
0 8 1 crb Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
0 8 2 masm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
0 8 3 result Ljdk/vm/ci/code/Register;
0 8 4 array1 Ljdk/vm/ci/code/Register;
0 8 5 array2 Ljdk/vm/ci/code/Register;
0 8 6 length Ljdk/vm/ci/code/Register;
0 8 7 trueLabel Lorg/graalvm/compiler/asm/Label;
0 8 8 falseLabel Lorg/graalvm/compiler/asm/Label;
MethodParameters:
Name Flags
crb
masm
result
array1
array2
length
trueLabel
falseLabel
private static boolean supportsSSE41(jdk.vm.ci.code.TargetDescription);
descriptor: (Ljdk/vm/ci/code/TargetDescription;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
checkcast jdk.vm.ci.amd64.AMD64
astore 1
start local 1 1: aload 1
invokevirtual jdk.vm.ci.amd64.AMD64.getFeatures:()Ljava/util/EnumSet;
getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.SSE4_1:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 target Ljdk/vm/ci/code/TargetDescription;
1 2 1 arch Ljdk/vm/ci/amd64/AMD64;
MethodParameters:
Name Flags
target
private void emitVectorCompare(org.graalvm.compiler.lir.asm.CompilationResultBuilder, org.graalvm.compiler.asm.amd64.AMD64MacroAssembler, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, org.graalvm.compiler.asm.Label, org.graalvm.compiler.asm.Label);
descriptor: (Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/Label;Lorg/graalvm/compiler/asm/Label;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=18, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: getstatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.$assertionsDisabled:Z
ifne 1
aload 1
getfield org.graalvm.compiler.lir.asm.CompilationResultBuilder.target:Ljdk/vm/ci/code/TargetDescription;
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.supportsSSE41:(Ljdk/vm/ci/code/TargetDescription;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.vectorTemp1:Ljdk/vm/ci/meta/Value;
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
astore 9
start local 9 2: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.vectorTemp2:Ljdk/vm/ci/meta/Value;
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
astore 10
start local 10 3: aload 0
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.vectorSize:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.getElementsPerVector:(Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)I
istore 11
start local 11 4: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 12
start local 12 5: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 13
start local 13 6: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.kind1:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.isNumericFloat:()Z
istore 14
start local 14 7: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 15
start local 15 8: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 16
start local 16 9: aload 2
aload 3
iload 11
iconst_1
isub
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.andl:(Ljdk/vm/ci/code/Register;I)V
10: aload 2
aload 6
iload 11
iconst_1
isub
iconst_m1
ixor
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.Zero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 13
iconst_0
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.andlAndJcc:(Ljdk/vm/ci/code/Register;ILorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;Z)V
11: aload 2
aload 4
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 4
aload 6
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayIndexScale1:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
iconst_0
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
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.leaq:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
12: aload 2
aload 5
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 5
aload 6
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayIndexScale2:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
iconst_0
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
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.leaq:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
13: aload 2
aload 6
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.negq:(Ljdk/vm/ci/code/Register;)V
14: aload 2
aload 1
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
15: aload 2
aload 12
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
16: aload 0
aload 2
aload 9
aload 4
aload 6
iconst_0
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.vectorSize:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitVectorLoad1:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;ILorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)V
17: aload 0
aload 2
aload 10
aload 5
aload 6
iconst_0
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.vectorSize:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitVectorLoad2:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;ILorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)V
18: aload 2
aload 9
aload 10
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.vectorSize:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitVectorCmp:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)V
19: aload 2
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotZero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
iload 14
ifeq 20
aload 16
goto 21
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label jdk.vm.ci.code.Register jdk.vm.ci.code.Register int org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64MacroAssembler org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag
20: aload 8
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label jdk.vm.ci.code.Register jdk.vm.ci.code.Register int org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64MacroAssembler org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag org.graalvm.compiler.asm.Label
21: invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
22: aload 2
aload 15
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
23: aload 2
aload 6
iload 11
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotZero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 12
iconst_0
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.addqAndJcc:(Ljdk/vm/ci/code/Register;ILorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;Z)V
24: aload 2
aload 3
aload 3
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.Zero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 7
iconst_0
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
25: iload 14
ifeq 32
26: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 17
start local 17 27: aload 2
aload 17
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jmpb:(Lorg/graalvm/compiler/asm/Label;)V
28: aload 2
aload 16
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
29: aload 0
aload 1
aload 2
aload 4
aload 5
aload 6
iconst_0
aload 8
iload 11
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitFloatCompareWithinRange:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;ILorg/graalvm/compiler/asm/Label;I)V
30: aload 2
aload 15
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jmpb:(Lorg/graalvm/compiler/asm/Label;)V
31: aload 2
aload 17
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
end local 17 32: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 9
aload 4
aload 3
aload 0
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.vectorSize:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
invokevirtual org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.getBytes:()I
ineg
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.scaleDisplacement1:(I)I
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.vectorSize:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitVectorLoad1:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;ILorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)V
33: aload 0
aload 2
aload 10
aload 5
aload 3
aload 0
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.vectorSize:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
invokevirtual org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.getBytes:()I
ineg
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.scaleDisplacement2:(I)I
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.vectorSize:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitVectorLoad2:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;ILorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)V
34: aload 2
aload 9
aload 10
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.vectorSize:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitVectorCmp:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)V
35: iload 14
ifeq 39
36: aload 2
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.Zero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 7
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
37: aload 0
aload 1
aload 2
aload 4
aload 5
aload 3
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.vectorSize:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
invokevirtual org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.getBytes:()I
ineg
aload 8
iload 11
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitFloatCompareWithinRange:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;ILorg/graalvm/compiler/asm/Label;I)V
38: goto 40
39: StackMap locals:
StackMap stack:
aload 2
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotZero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 8
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
40: StackMap locals:
StackMap stack:
aload 2
aload 7
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jmp:(Lorg/graalvm/compiler/asm/Label;)V
41: aload 2
aload 13
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
42: aload 2
aload 6
aload 3
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movl:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
43: return
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 44 0 this Lorg/graalvm/compiler/lir/amd64/AMD64ArrayEqualsOp;
0 44 1 crb Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
0 44 2 masm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
0 44 3 result Ljdk/vm/ci/code/Register;
0 44 4 array1 Ljdk/vm/ci/code/Register;
0 44 5 array2 Ljdk/vm/ci/code/Register;
0 44 6 length Ljdk/vm/ci/code/Register;
0 44 7 trueLabel Lorg/graalvm/compiler/asm/Label;
0 44 8 falseLabel Lorg/graalvm/compiler/asm/Label;
2 44 9 vector1 Ljdk/vm/ci/code/Register;
3 44 10 vector2 Ljdk/vm/ci/code/Register;
4 44 11 elementsPerVector I
5 44 12 loop Lorg/graalvm/compiler/asm/Label;
6 44 13 compareTail Lorg/graalvm/compiler/asm/Label;
7 44 14 requiresNaNCheck Z
8 44 15 loopCheck Lorg/graalvm/compiler/asm/Label;
9 44 16 nanCheck Lorg/graalvm/compiler/asm/Label;
27 32 17 unalignedCheck Lorg/graalvm/compiler/asm/Label;
MethodParameters:
Name Flags
crb
masm
result
array1
array2
length
trueLabel
falseLabel
private int getElementsPerVector(org.graalvm.compiler.asm.amd64.AVXKind$AVXSize);
descriptor: (Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.getBytes:()I
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayIndexScale1:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
getfield org.graalvm.compiler.asm.amd64.AMD64Address$Scale.log2:I
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayIndexScale2:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
getfield org.graalvm.compiler.asm.amd64.AMD64Address$Scale.log2:I
invokestatic java.lang.Math.max:(II)I
ishr
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/lir/amd64/AMD64ArrayEqualsOp;
0 1 1 vSize Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
MethodParameters:
Name Flags
vSize
private void emitVectorLoad1(org.graalvm.compiler.asm.amd64.AMD64MacroAssembler, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, int, org.graalvm.compiler.asm.amd64.AVXKind$AVXSize);
descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;ILorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
aload 2
aload 3
getstatic jdk.vm.ci.code.Register.None:Ljdk/vm/ci/code/Register;
iload 4
aload 5
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitVectorLoad1:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;ILorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)V
1: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/lir/amd64/AMD64ArrayEqualsOp;
0 2 1 asm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
0 2 2 dst Ljdk/vm/ci/code/Register;
0 2 3 src Ljdk/vm/ci/code/Register;
0 2 4 displacement I
0 2 5 size Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
MethodParameters:
Name Flags
asm
dst
src
displacement
size
private void emitVectorLoad2(org.graalvm.compiler.asm.amd64.AMD64MacroAssembler, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, int, org.graalvm.compiler.asm.amd64.AVXKind$AVXSize);
descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;ILorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
aload 2
aload 3
getstatic jdk.vm.ci.code.Register.None:Ljdk/vm/ci/code/Register;
iload 4
aload 5
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitVectorLoad2:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;ILorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)V
1: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/lir/amd64/AMD64ArrayEqualsOp;
0 2 1 asm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
0 2 2 dst Ljdk/vm/ci/code/Register;
0 2 3 src Ljdk/vm/ci/code/Register;
0 2 4 displacement I
0 2 5 size Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
MethodParameters:
Name Flags
asm
dst
src
displacement
size
private void emitVectorLoad1(org.graalvm.compiler.asm.amd64.AMD64MacroAssembler, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, int, org.graalvm.compiler.asm.amd64.AVXKind$AVXSize);
descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;ILorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
aload 1
aload 2
aload 3
aload 4
iload 5
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayIndexScale1:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayIndexScale2:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
aload 6
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitVectorLoad:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;ILorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)V
1: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/lir/amd64/AMD64ArrayEqualsOp;
0 2 1 asm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
0 2 2 dst Ljdk/vm/ci/code/Register;
0 2 3 src Ljdk/vm/ci/code/Register;
0 2 4 index Ljdk/vm/ci/code/Register;
0 2 5 displacement I
0 2 6 size Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
MethodParameters:
Name Flags
asm
dst
src
index
displacement
size
private void emitVectorLoad2(org.graalvm.compiler.asm.amd64.AMD64MacroAssembler, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, int, org.graalvm.compiler.asm.amd64.AVXKind$AVXSize);
descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;ILorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
aload 1
aload 2
aload 3
aload 4
iload 5
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayIndexScale2:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayIndexScale1:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
aload 6
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitVectorLoad:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;ILorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)V
1: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/lir/amd64/AMD64ArrayEqualsOp;
0 2 1 asm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
0 2 2 dst Ljdk/vm/ci/code/Register;
0 2 3 src Ljdk/vm/ci/code/Register;
0 2 4 index Ljdk/vm/ci/code/Register;
0 2 5 displacement I
0 2 6 size Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
MethodParameters:
Name Flags
asm
dst
src
index
displacement
size
private void emitVectorLoad(org.graalvm.compiler.asm.amd64.AMD64MacroAssembler, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, int, org.graalvm.compiler.asm.amd64.AMD64Address$Scale, org.graalvm.compiler.asm.amd64.AMD64Address$Scale, org.graalvm.compiler.asm.amd64.AVXKind$AVXSize);
descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;ILorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=10, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 3
aload 4
aload 6
iload 5
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 9
start local 9 1: aload 6
getfield org.graalvm.compiler.asm.amd64.AMD64Address$Scale.value:I
aload 7
getfield org.graalvm.compiler.asm.amd64.AMD64Address$Scale.value:I
if_icmpge 7
2: aload 8
getstatic org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.YMM:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
if_acmpne 5
3: aload 6
aload 7
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.signExtend:Z
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.getAVX2LoadAndExtendOp:(Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;Z)Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRMOp;
aload 1
aload 8
aload 2
aload 9
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;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
4: goto 11
5: StackMap locals: org.graalvm.compiler.asm.amd64.AMD64Address
StackMap stack:
aload 1
aload 2
aload 9
aload 6
aload 7
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.signExtend:Z
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.loadAndExtendSSE:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;Z)V
6: goto 11
7: StackMap locals:
StackMap stack:
aload 8
getstatic org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.YMM:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
if_acmpne 10
8: aload 1
aload 2
aload 9
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.vmovdqu:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
9: goto 11
10: StackMap locals:
StackMap stack:
aload 1
aload 2
aload 9
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movdqu:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
11: StackMap locals:
StackMap stack:
return
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/graalvm/compiler/lir/amd64/AMD64ArrayEqualsOp;
0 12 1 asm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
0 12 2 dst Ljdk/vm/ci/code/Register;
0 12 3 src Ljdk/vm/ci/code/Register;
0 12 4 index Ljdk/vm/ci/code/Register;
0 12 5 displacement I
0 12 6 ownScale Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
0 12 7 otherScale Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
0 12 8 size Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
1 12 9 address Lorg/graalvm/compiler/asm/amd64/AMD64Address;
MethodParameters:
Name Flags
asm
dst
src
index
displacement
ownScale
otherScale
size
private int scaleDisplacement1(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayIndexScale1:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayIndexScale2:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.scaleDisplacement:(ILorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/lir/amd64/AMD64ArrayEqualsOp;
0 1 1 displacement I
MethodParameters:
Name Flags
displacement
private int scaleDisplacement2(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayIndexScale2:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayIndexScale1:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.scaleDisplacement:(ILorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/lir/amd64/AMD64ArrayEqualsOp;
0 1 1 displacement I
MethodParameters:
Name Flags
displacement
private static int scaleDisplacement(int, org.graalvm.compiler.asm.amd64.AMD64Address$Scale, org.graalvm.compiler.asm.amd64.AMD64Address$Scale);
descriptor: (ILorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield org.graalvm.compiler.asm.amd64.AMD64Address$Scale.value:I
aload 2
getfield org.graalvm.compiler.asm.amd64.AMD64Address$Scale.value:I
if_icmpge 2
1: iload 0
aload 2
getfield org.graalvm.compiler.asm.amd64.AMD64Address$Scale.log2:I
aload 1
getfield org.graalvm.compiler.asm.amd64.AMD64Address$Scale.log2:I
isub
ishr
ireturn
2: StackMap locals:
StackMap stack:
iload 0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 displacement I
0 3 1 ownScale Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
0 3 2 otherScale Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
MethodParameters:
Name Flags
displacement
ownScale
otherScale
private static org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMOp getAVX2LoadAndExtendOp(org.graalvm.compiler.asm.amd64.AMD64Address$Scale, org.graalvm.compiler.asm.amd64.AMD64Address$Scale, boolean);
descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;Z)Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRMOp;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.$SWITCH_TABLE$org$graalvm$compiler$asm$amd64$AMD64Address$Scale:()[I
aload 0
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address$Scale.ordinal:()I
iaload
tableswitch { // 1 - 3
1: 1
2: 12
3: 20
default: 23
}
1: StackMap locals:
StackMap stack:
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.$SWITCH_TABLE$org$graalvm$compiler$asm$amd64$AMD64Address$Scale:()[I
aload 1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address$Scale.ordinal:()I
iaload
tableswitch { // 2 - 4
2: 2
3: 5
4: 8
default: 11
}
2: StackMap locals:
StackMap stack:
iload 2
ifeq 3
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMOp.VPMOVSXBW:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRMOp;
goto 4
StackMap locals:
StackMap stack:
3: getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMOp.VPMOVZXBW:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRMOp;
StackMap locals:
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMOp
4: areturn
5: StackMap locals:
StackMap stack:
iload 2
ifeq 6
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMOp.VPMOVSXBD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRMOp;
goto 7
StackMap locals:
StackMap stack:
6: getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMOp.VPMOVZXBD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRMOp;
StackMap locals:
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMOp
7: areturn
8: StackMap locals:
StackMap stack:
iload 2
ifeq 9
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMOp.VPMOVSXBQ:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRMOp;
goto 10
StackMap locals:
StackMap stack:
9: getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMOp.VPMOVZXBQ:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRMOp;
StackMap locals:
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMOp
10: areturn
11: StackMap locals:
StackMap stack:
invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
athrow
12: StackMap locals:
StackMap stack:
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.$SWITCH_TABLE$org$graalvm$compiler$asm$amd64$AMD64Address$Scale:()[I
aload 1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address$Scale.ordinal:()I
iaload
tableswitch { // 3 - 4
3: 13
4: 16
default: 19
}
13: StackMap locals:
StackMap stack:
iload 2
ifeq 14
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMOp.VPMOVSXWD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRMOp;
goto 15
StackMap locals:
StackMap stack:
14: getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMOp.VPMOVZXWD:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRMOp;
StackMap locals:
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMOp
15: areturn
16: StackMap locals:
StackMap stack:
iload 2
ifeq 17
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMOp.VPMOVSXWQ:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRMOp;
goto 18
StackMap locals:
StackMap stack:
17: getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMOp.VPMOVZXWQ:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRMOp;
StackMap locals:
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMOp
18: areturn
19: StackMap locals:
StackMap stack:
invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
athrow
20: StackMap locals:
StackMap stack:
iload 2
ifeq 21
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMOp.VPMOVSXDQ:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRMOp;
goto 22
StackMap locals:
StackMap stack:
21: getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMOp.VPMOVZXDQ:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRMOp;
StackMap locals:
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMOp
22: areturn
23: StackMap locals:
StackMap stack:
invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 ownScale Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
0 24 1 otherScale Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
0 24 2 signExtend Z
MethodParameters:
Name Flags
ownScale
otherScale
signExtend
private static void loadAndExtendSSE(org.graalvm.compiler.asm.amd64.AMD64MacroAssembler, jdk.vm.ci.code.Register, org.graalvm.compiler.asm.amd64.AMD64Address, org.graalvm.compiler.asm.amd64.AMD64Address$Scale, org.graalvm.compiler.asm.amd64.AMD64Address$Scale, boolean);
descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;Z)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.$SWITCH_TABLE$org$graalvm$compiler$asm$amd64$AMD64Address$Scale:()[I
aload 3
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address$Scale.ordinal:()I
iaload
tableswitch { // 1 - 3
1: 1
2: 18
3: 30
default: 35
}
1: StackMap locals:
StackMap stack:
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.$SWITCH_TABLE$org$graalvm$compiler$asm$amd64$AMD64Address$Scale:()[I
aload 4
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address$Scale.ordinal:()I
iaload
tableswitch { // 2 - 4
2: 2
3: 7
4: 12
default: 17
}
2: StackMap locals:
StackMap stack:
iload 5
ifeq 5
3: aload 0
aload 1
aload 2
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.pmovsxbw:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
4: goto 6
5: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.pmovzxbw:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
6: StackMap locals:
StackMap stack:
return
7: StackMap locals:
StackMap stack:
iload 5
ifeq 10
8: aload 0
aload 1
aload 2
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.pmovsxbd:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
9: goto 11
10: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.pmovzxbd:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
11: StackMap locals:
StackMap stack:
return
12: StackMap locals:
StackMap stack:
iload 5
ifeq 15
13: aload 0
aload 1
aload 2
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.pmovsxbq:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
14: goto 16
15: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.pmovzxbq:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
16: StackMap locals:
StackMap stack:
return
17: StackMap locals:
StackMap stack:
invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
athrow
18: StackMap locals:
StackMap stack:
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.$SWITCH_TABLE$org$graalvm$compiler$asm$amd64$AMD64Address$Scale:()[I
aload 4
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address$Scale.ordinal:()I
iaload
tableswitch { // 3 - 4
3: 19
4: 24
default: 29
}
19: StackMap locals:
StackMap stack:
iload 5
ifeq 22
20: aload 0
aload 1
aload 2
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.pmovsxwd:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
21: goto 23
22: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.pmovzxwd:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
23: StackMap locals:
StackMap stack:
return
24: StackMap locals:
StackMap stack:
iload 5
ifeq 27
25: aload 0
aload 1
aload 2
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.pmovsxwq:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
26: goto 28
27: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.pmovzxwq:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
28: StackMap locals:
StackMap stack:
return
29: StackMap locals:
StackMap stack:
invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
athrow
30: StackMap locals:
StackMap stack:
iload 5
ifeq 33
31: aload 0
aload 1
aload 2
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.pmovsxdq:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
32: goto 34
33: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.pmovzxdq:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
34: StackMap locals:
StackMap stack:
return
35: StackMap locals:
StackMap stack:
invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
athrow
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 36 0 asm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
0 36 1 dst Ljdk/vm/ci/code/Register;
0 36 2 src Lorg/graalvm/compiler/asm/amd64/AMD64Address;
0 36 3 ownScale Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
0 36 4 otherScale Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
0 36 5 signExtend Z
MethodParameters:
Name Flags
asm
dst
src
ownScale
otherScale
signExtend
private static void emitVectorCmp(org.graalvm.compiler.asm.amd64.AMD64MacroAssembler, 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/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitVectorXor:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)V
1: aload 0
aload 1
aload 3
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitVectorTest:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)V
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 masm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
0 3 1 vector1 Ljdk/vm/ci/code/Register;
0 3 2 vector2 Ljdk/vm/ci/code/Register;
0 3 3 size Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
MethodParameters:
Name Flags
masm
vector1
vector2
size
private static void emitVectorXor(org.graalvm.compiler.asm.amd64.AMD64MacroAssembler, 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/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
getstatic org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.YMM:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
if_acmpne 3
1: aload 0
aload 1
aload 1
aload 2
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.vpxor:(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 1
aload 2
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.pxor:(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 masm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
0 5 1 vector1 Ljdk/vm/ci/code/Register;
0 5 2 vector2 Ljdk/vm/ci/code/Register;
0 5 3 size Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
MethodParameters:
Name Flags
masm
vector1
vector2
size
private static void emitVectorTest(org.graalvm.compiler.asm.amd64.AMD64MacroAssembler, jdk.vm.ci.code.Register, org.graalvm.compiler.asm.amd64.AVXKind$AVXSize);
descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
getstatic org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.YMM:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
if_acmpne 3
1: aload 0
aload 1
aload 1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.vptest:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.ptest:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
4: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 masm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
0 5 1 vector1 Ljdk/vm/ci/code/Register;
0 5 2 size Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
MethodParameters:
Name Flags
masm
vector1
size
private void emit8ByteCompare(org.graalvm.compiler.lir.asm.CompilationResultBuilder, org.graalvm.compiler.asm.amd64.AMD64MacroAssembler, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, org.graalvm.compiler.asm.Label, org.graalvm.compiler.asm.Label);
descriptor: (Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/Label;Lorg/graalvm/compiler/asm/Label;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=18, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: getstatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.$assertionsDisabled:Z
ifne 1
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.kind1:Ljdk/vm/ci/meta/JavaKind;
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.kind2:Ljdk/vm/ci/meta/JavaKind;
if_acmpeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 9
start local 9 2: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 10
start local 10 3: bipush 8
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayIndexScale1:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
getfield org.graalvm.compiler.asm.amd64.AMD64Address$Scale.log2:I
ishr
istore 11
start local 11 4: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.kind1:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.isNumericFloat:()Z
istore 12
start local 12 5: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 13
start local 13 6: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 14
start local 14 7: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.temp4:Ljdk/vm/ci/meta/Value;
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
astore 15
start local 15 8: aload 2
aload 3
iload 11
iconst_1
isub
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.andl:(Ljdk/vm/ci/code/Register;I)V
9: aload 2
aload 6
iload 11
iconst_1
isub
iconst_m1
ixor
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.Zero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 10
iconst_0
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.andlAndJcc:(Ljdk/vm/ci/code/Register;ILorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;Z)V
10: aload 2
aload 4
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 4
aload 6
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayIndexScale1:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
iconst_0
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
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.leaq:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
11: aload 2
aload 5
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 5
aload 6
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayIndexScale2:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
iconst_0
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
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.leaq:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
12: aload 2
aload 6
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.negq:(Ljdk/vm/ci/code/Register;)V
13: aload 2
aload 1
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
14: aload 2
aload 9
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
15: aload 2
aload 15
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 4
aload 6
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayIndexScale1:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
iconst_0
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
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movq:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
16: aload 2
aload 15
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 5
aload 6
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayIndexScale2:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
iconst_0
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
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotEqual:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
iload 12
ifeq 17
aload 14
goto 18
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int int org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label jdk.vm.ci.code.Register
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register org.graalvm.compiler.asm.amd64.AMD64Address org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag
17: aload 8
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int int org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label jdk.vm.ci.code.Register
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register org.graalvm.compiler.asm.amd64.AMD64Address org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag org.graalvm.compiler.asm.Label
18: iconst_0
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.cmpqAndJcc:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;Z)I
pop
19: aload 2
aload 13
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
20: aload 2
aload 6
iload 11
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotZero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 9
iconst_1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.addqAndJcc:(Ljdk/vm/ci/code/Register;ILorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;Z)V
21: aload 2
aload 3
aload 3
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.Zero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 7
iconst_0
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
22: iload 12
ifeq 35
23: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 16
start local 16 24: aload 2
aload 16
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jmpb:(Lorg/graalvm/compiler/asm/Label;)V
25: aload 2
aload 14
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
26: iconst_0
istore 17
start local 17 27: goto 32
28: StackMap locals: org.graalvm.compiler.asm.Label int
StackMap stack:
aload 0
aload 2
aload 4
aload 5
aload 6
iload 17
aload 8
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.kind1:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.getByteCount:()I
bipush 8
if_icmpne 29
iconst_1
goto 30
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int int org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label jdk.vm.ci.code.Register org.graalvm.compiler.asm.Label int
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register int org.graalvm.compiler.asm.Label
29: iconst_0
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int int org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label jdk.vm.ci.code.Register org.graalvm.compiler.asm.Label int
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register int org.graalvm.compiler.asm.Label int
30: invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitFloatCompare:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;ILorg/graalvm/compiler/asm/Label;Z)V
31: iload 17
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.kind1:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.getByteCount:()I
iadd
istore 17
StackMap locals:
StackMap stack:
32: iload 17
bipush 8
if_icmplt 28
end local 17 33: aload 2
aload 13
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jmpb:(Lorg/graalvm/compiler/asm/Label;)V
34: aload 2
aload 16
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
end local 16 35: StackMap locals:
StackMap stack:
aload 2
aload 15
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 4
aload 3
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayIndexScale1:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
bipush -8
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
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movq:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
36: iload 12
ifeq 46
37: aload 2
aload 15
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 5
aload 3
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayIndexScale2:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
bipush -8
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
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.Equal:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 7
iconst_0
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.cmpqAndJcc:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;Z)I
pop
38: iconst_0
istore 16
start local 16 39: goto 44
40: StackMap locals: int
StackMap stack:
aload 0
aload 2
aload 4
aload 5
aload 3
bipush -8
iload 16
iadd
aload 8
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.kind1:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.getByteCount:()I
bipush 8
if_icmpne 41
iconst_1
goto 42
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int int org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label jdk.vm.ci.code.Register int
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register int org.graalvm.compiler.asm.Label
41: iconst_0
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int int org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label jdk.vm.ci.code.Register int
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register int org.graalvm.compiler.asm.Label int
42: invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitFloatCompare:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;ILorg/graalvm/compiler/asm/Label;Z)V
43: iload 16
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.kind1:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.getByteCount:()I
iadd
istore 16
StackMap locals:
StackMap stack:
44: iload 16
bipush 8
if_icmplt 40
end local 16 45: goto 47
46: StackMap locals:
StackMap stack:
aload 2
aload 15
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 5
aload 3
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayIndexScale2:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
bipush -8
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
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotEqual:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 8
iconst_1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.cmpqAndJcc:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;Z)I
pop
47: StackMap locals:
StackMap stack:
aload 2
aload 7
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jmpb:(Lorg/graalvm/compiler/asm/Label;)V
48: aload 2
aload 10
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
49: aload 2
aload 6
aload 3
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movl:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
50: return
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 51 0 this Lorg/graalvm/compiler/lir/amd64/AMD64ArrayEqualsOp;
0 51 1 crb Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
0 51 2 masm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
0 51 3 result Ljdk/vm/ci/code/Register;
0 51 4 array1 Ljdk/vm/ci/code/Register;
0 51 5 array2 Ljdk/vm/ci/code/Register;
0 51 6 length Ljdk/vm/ci/code/Register;
0 51 7 trueLabel Lorg/graalvm/compiler/asm/Label;
0 51 8 falseLabel Lorg/graalvm/compiler/asm/Label;
2 51 9 loop Lorg/graalvm/compiler/asm/Label;
3 51 10 compareTail Lorg/graalvm/compiler/asm/Label;
4 51 11 elementsPerVector I
5 51 12 requiresNaNCheck Z
6 51 13 loopCheck Lorg/graalvm/compiler/asm/Label;
7 51 14 nanCheck Lorg/graalvm/compiler/asm/Label;
8 51 15 temp Ljdk/vm/ci/code/Register;
24 35 16 unalignedCheck Lorg/graalvm/compiler/asm/Label;
27 33 17 offset I
39 45 16 offset I
MethodParameters:
Name Flags
crb
masm
result
array1
array2
length
trueLabel
falseLabel
private void emitTailCompares(org.graalvm.compiler.asm.amd64.AMD64MacroAssembler, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, org.graalvm.compiler.asm.Label, org.graalvm.compiler.asm.Label);
descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/Label;Lorg/graalvm/compiler/asm/Label;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=11, 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: getstatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.$assertionsDisabled:Z
ifne 1
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.kind1:Ljdk/vm/ci/meta/JavaKind;
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.kind2:Ljdk/vm/ci/meta/JavaKind;
if_acmpeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 8
start local 8 2: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 9
start local 9 3: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.temp4:Ljdk/vm/ci/meta/Value;
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
astore 10
start local 10 4: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.kind1:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.getByteCount:()I
iconst_4
if_icmpgt 37
5: aload 1
aload 2
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayIndexScale1:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
getfield org.graalvm.compiler.asm.amd64.AMD64Address$Scale.log2:I
ifne 6
iconst_4
goto 7
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label jdk.vm.ci.code.Register
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register
6: iconst_4
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayIndexScale1:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
getfield org.graalvm.compiler.asm.amd64.AMD64Address$Scale.log2:I
ishr
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label jdk.vm.ci.code.Register
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register int
7: getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.Zero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 8
iconst_1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.testlAndJcc:(Ljdk/vm/ci/code/Register;ILorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;Z)V
8: aload 1
aload 10
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 3
iconst_0
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;I)V
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movl:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
9: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.kind1:Ljdk/vm/ci/meta/JavaKind;
getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 14
10: aload 1
aload 10
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 4
iconst_0
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;I)V
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.Equal:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 6
iconst_1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.cmplAndJcc:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;Z)V
11: aload 0
aload 1
aload 3
aload 4
getstatic jdk.vm.ci.code.Register.None:Ljdk/vm/ci/code/Register;
iconst_0
aload 7
iconst_1
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitFloatCompare:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;ILorg/graalvm/compiler/asm/Label;Z)V
12: aload 1
aload 6
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jmpb:(Lorg/graalvm/compiler/asm/Label;)V
13: goto 15
14: StackMap locals:
StackMap stack:
aload 1
aload 10
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 4
iconst_0
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;I)V
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotEqual:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 7
iconst_1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.cmplAndJcc:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;Z)V
15: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.kind1:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.getByteCount:()I
iconst_2
if_icmpgt 36
16: aload 1
aload 3
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 3
iconst_4
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
17: aload 1
aload 4
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 4
iconst_4
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
18: aload 1
aload 8
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
19: aload 1
aload 2
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayIndexScale1:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
getfield org.graalvm.compiler.asm.amd64.AMD64Address$Scale.log2:I
ifne 20
iconst_2
goto 21
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label jdk.vm.ci.code.Register
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register
20: iconst_2
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayIndexScale1:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
getfield org.graalvm.compiler.asm.amd64.AMD64Address$Scale.log2:I
ishr
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label jdk.vm.ci.code.Register
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register int
21: getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.Zero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 9
iconst_1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.testlAndJcc:(Ljdk/vm/ci/code/Register;ILorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;Z)V
22: aload 1
aload 10
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 3
iconst_0
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;I)V
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movzwl:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
23: aload 1
aload 5
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 4
iconst_0
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;I)V
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movzwl:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
24: aload 1
aload 10
aload 5
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotEqual:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 7
iconst_1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.cmplAndJcc:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;Z)V
25: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.kind1:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.getByteCount:()I
iconst_1
if_icmpgt 34
26: aload 1
aload 3
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 3
iconst_2
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
27: aload 1
aload 4
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 4
iconst_2
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
28: aload 1
aload 9
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
29: aload 1
aload 2
iconst_1
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.Zero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 6
iconst_1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.testlAndJcc:(Ljdk/vm/ci/code/Register;ILorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;Z)V
30: aload 1
aload 10
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 3
iconst_0
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;I)V
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movzbl:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
31: aload 1
aload 5
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 4
iconst_0
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;I)V
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movzbl:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
32: aload 1
aload 10
aload 5
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotEqual:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 7
iconst_1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.cmplAndJcc:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;Z)V
33: goto 37
34: StackMap locals:
StackMap stack:
aload 1
aload 9
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
35: goto 37
36: StackMap locals:
StackMap stack:
aload 1
aload 8
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
37: StackMap locals:
StackMap stack:
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 38 0 this Lorg/graalvm/compiler/lir/amd64/AMD64ArrayEqualsOp;
0 38 1 masm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
0 38 2 result Ljdk/vm/ci/code/Register;
0 38 3 array1 Ljdk/vm/ci/code/Register;
0 38 4 array2 Ljdk/vm/ci/code/Register;
0 38 5 length Ljdk/vm/ci/code/Register;
0 38 6 trueLabel Lorg/graalvm/compiler/asm/Label;
0 38 7 falseLabel Lorg/graalvm/compiler/asm/Label;
2 38 8 compare2Bytes Lorg/graalvm/compiler/asm/Label;
3 38 9 compare1Byte Lorg/graalvm/compiler/asm/Label;
4 38 10 temp Ljdk/vm/ci/code/Register;
MethodParameters:
Name Flags
masm
result
array1
array2
length
trueLabel
falseLabel
private void emitDifferentKindsElementWiseCompare(org.graalvm.compiler.lir.asm.CompilationResultBuilder, org.graalvm.compiler.asm.amd64.AMD64MacroAssembler, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, org.graalvm.compiler.asm.Label, org.graalvm.compiler.asm.Label);
descriptor: (Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/Label;Lorg/graalvm/compiler/asm/Label;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=10, locals=15, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: getstatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.$assertionsDisabled:Z
ifne 1
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.kind1:Ljdk/vm/ci/meta/JavaKind;
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.kind2:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.$assertionsDisabled:Z
ifne 3
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.kind1:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.isNumericInteger:()Z
ifeq 2
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.kind2:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.isNumericInteger:()Z
ifne 3
StackMap locals:
StackMap stack:
2: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 9
start local 9 4: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 10
start local 10 5: iconst_4
istore 11
start local 11 6: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.temp4:Ljdk/vm/ci/meta/Value;
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
astore 12
start local 12 7: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.temp5:Ljdk/vm/ci/meta/Value;
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
astore 13
start local 13 8: aload 2
aload 3
iload 11
iconst_1
isub
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.andl:(Ljdk/vm/ci/code/Register;I)V
9: aload 2
aload 6
iload 11
iconst_1
isub
iconst_m1
ixor
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.Zero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 10
iconst_0
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.andlAndJcc:(Ljdk/vm/ci/code/Register;ILorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;Z)V
10: aload 2
aload 4
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 4
aload 6
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayIndexScale1:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
iconst_0
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
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.leaq:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
11: aload 2
aload 5
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 5
aload 6
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayIndexScale2:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
iconst_0
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
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.leaq:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
12: aload 2
aload 6
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.negq:(Ljdk/vm/ci/code/Register;)V
13: aload 2
aload 12
aload 12
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.xorq:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
14: aload 2
aload 13
aload 13
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.xorq:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
15: aload 2
aload 1
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
16: aload 2
aload 9
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
17: iconst_0
istore 14
start local 14 18: goto 23
19: StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int jdk.vm.ci.code.Register jdk.vm.ci.code.Register int
StackMap stack:
aload 0
aload 2
aload 12
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 4
aload 6
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayIndexScale1:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
iload 14
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayIndexScale1:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
getfield org.graalvm.compiler.asm.amd64.AMD64Address$Scale.log2:I
ishl
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
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.kind1:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.getByteCount:()I
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitMovBytes:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;I)V
20: aload 0
aload 2
aload 13
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 5
aload 6
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayIndexScale2:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
iload 14
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayIndexScale2:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
getfield org.graalvm.compiler.asm.amd64.AMD64Address$Scale.log2:I
ishl
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
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.kind2:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.getByteCount:()I
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitMovBytes:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;I)V
21: aload 2
aload 12
aload 13
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotEqual:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 8
iconst_0
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
22: iinc 14 1
StackMap locals:
StackMap stack:
23: iload 14
iload 11
if_icmplt 19
end local 14 24: aload 2
aload 6
iload 11
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotZero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 9
iconst_1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.addqAndJcc:(Ljdk/vm/ci/code/Register;ILorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;Z)V
25: aload 2
aload 10
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
26: aload 2
aload 3
aload 3
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.Zero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 7
iconst_0
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
27: iconst_0
istore 14
start local 14 28: goto 38
29: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 12
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 4
aload 6
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayIndexScale1:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
iconst_0
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
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.kind1:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.getByteCount:()I
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitMovBytes:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;I)V
30: aload 0
aload 2
aload 13
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 5
aload 6
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayIndexScale2:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
iconst_0
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
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.kind2:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.getByteCount:()I
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitMovBytes:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;I)V
31: aload 2
aload 12
aload 13
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotEqual:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 8
iconst_0
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
32: iload 14
iload 11
iconst_2
isub
if_icmpge 36
33: aload 2
aload 6
iconst_1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.incrementq:(Ljdk/vm/ci/code/Register;I)V
34: aload 2
aload 3
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.Zero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 7
iconst_0
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.decqAndJcc:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;Z)V
35: goto 37
36: StackMap locals:
StackMap stack:
aload 2
aload 7
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jmpb:(Lorg/graalvm/compiler/asm/Label;)V
37: StackMap locals:
StackMap stack:
iinc 14 1
StackMap locals:
StackMap stack:
38: iload 14
iload 11
iconst_1
isub
if_icmplt 29
end local 14 39: return
end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 40 0 this Lorg/graalvm/compiler/lir/amd64/AMD64ArrayEqualsOp;
0 40 1 crb Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
0 40 2 masm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
0 40 3 result Ljdk/vm/ci/code/Register;
0 40 4 array1 Ljdk/vm/ci/code/Register;
0 40 5 array2 Ljdk/vm/ci/code/Register;
0 40 6 length Ljdk/vm/ci/code/Register;
0 40 7 trueLabel Lorg/graalvm/compiler/asm/Label;
0 40 8 falseLabel Lorg/graalvm/compiler/asm/Label;
4 40 9 loop Lorg/graalvm/compiler/asm/Label;
5 40 10 compareTail Lorg/graalvm/compiler/asm/Label;
6 40 11 elementsPerLoopIteration I
7 40 12 tmp1 Ljdk/vm/ci/code/Register;
8 40 13 tmp2 Ljdk/vm/ci/code/Register;
18 24 14 i I
28 39 14 i I
MethodParameters:
Name Flags
crb
masm
result
array1
array2
length
trueLabel
falseLabel
private void emitNaNCheck(org.graalvm.compiler.asm.amd64.AMD64MacroAssembler, org.graalvm.compiler.asm.amd64.AMD64Address, org.graalvm.compiler.asm.Label);
descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Lorg/graalvm/compiler/asm/amd64/AMD64Address;Lorg/graalvm/compiler/asm/Label;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.$assertionsDisabled:Z
ifne 1
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.kind1:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.isNumericFloat:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.tempXMM:Ljdk/vm/ci/meta/Value;
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
astore 4
start local 4 2: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.kind1:Ljdk/vm/ci/meta/JavaKind;
getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 5
3: aload 1
aload 4
aload 2
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movflt:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
4: goto 6
5: StackMap locals: jdk.vm.ci.code.Register
StackMap stack:
aload 1
aload 4
aload 2
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movdbl:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
6: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.UCOMIS:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
aload 1
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.kind1:Ljdk/vm/ci/meta/JavaKind;
getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 7
getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.PS:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
goto 8
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp org.graalvm.compiler.asm.amd64.AMD64MacroAssembler org.graalvm.compiler.asm.amd64.AMD64Address org.graalvm.compiler.asm.Label jdk.vm.ci.code.Register
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp org.graalvm.compiler.asm.amd64.AMD64MacroAssembler
7: getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.PD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp org.graalvm.compiler.asm.amd64.AMD64MacroAssembler org.graalvm.compiler.asm.amd64.AMD64Address org.graalvm.compiler.asm.Label jdk.vm.ci.code.Register
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp org.graalvm.compiler.asm.amd64.AMD64MacroAssembler org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize
8: aload 4
aload 4
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.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
9: aload 1
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NoParity:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 3
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
10: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/graalvm/compiler/lir/amd64/AMD64ArrayEqualsOp;
0 11 1 masm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
0 11 2 src Lorg/graalvm/compiler/asm/amd64/AMD64Address;
0 11 3 branchIfNonNaN Lorg/graalvm/compiler/asm/Label;
2 11 4 tempXMMReg Ljdk/vm/ci/code/Register;
MethodParameters:
Name Flags
masm
src
branchIfNonNaN
private void emitFloatCompare(org.graalvm.compiler.asm.amd64.AMD64MacroAssembler, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, int, org.graalvm.compiler.asm.Label, boolean);
descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;ILorg/graalvm/compiler/asm/Label;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=12, 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 2
aload 4
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayIndexScale1:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
iload 5
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: new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 3
aload 4
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayIndexScale2:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
iload 5
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 9
start local 9 2: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 10
start local 10 3: iload 7
ifne 11
4: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.temp4:Ljdk/vm/ci/meta/Value;
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
astore 11
start local 11 5: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.kind1:Ljdk/vm/ci/meta/JavaKind;
getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 9
6: aload 1
aload 11
aload 8
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movl:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
7: aload 1
aload 11
aload 9
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.Equal:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 10
iconst_1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.cmplAndJcc:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;Z)V
8: goto 11
9: StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register int org.graalvm.compiler.asm.Label int org.graalvm.compiler.asm.amd64.AMD64Address org.graalvm.compiler.asm.amd64.AMD64Address org.graalvm.compiler.asm.Label jdk.vm.ci.code.Register
StackMap stack:
aload 1
aload 11
aload 8
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movq:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
10: aload 1
aload 11
aload 9
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.Equal:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 10
iconst_1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.cmpqAndJcc:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;Z)I
pop
end local 11 11: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 8
aload 6
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitNaNCheck:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Lorg/graalvm/compiler/asm/amd64/AMD64Address;Lorg/graalvm/compiler/asm/Label;)V
12: aload 0
aload 1
aload 9
aload 6
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitNaNCheck:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Lorg/graalvm/compiler/asm/amd64/AMD64Address;Lorg/graalvm/compiler/asm/Label;)V
13: aload 1
aload 10
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
14: 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 15 0 this Lorg/graalvm/compiler/lir/amd64/AMD64ArrayEqualsOp;
0 15 1 masm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
0 15 2 base1 Ljdk/vm/ci/code/Register;
0 15 3 base2 Ljdk/vm/ci/code/Register;
0 15 4 index Ljdk/vm/ci/code/Register;
0 15 5 offset I
0 15 6 falseLabel Lorg/graalvm/compiler/asm/Label;
0 15 7 skipBitwiseCompare Z
1 15 8 address1 Lorg/graalvm/compiler/asm/amd64/AMD64Address;
2 15 9 address2 Lorg/graalvm/compiler/asm/amd64/AMD64Address;
3 15 10 bitwiseEqual Lorg/graalvm/compiler/asm/Label;
5 11 11 temp Ljdk/vm/ci/code/Register;
MethodParameters:
Name Flags
masm
base1
base2
index
offset
falseLabel
skipBitwiseCompare
private void emitFloatCompareWithinRange(org.graalvm.compiler.lir.asm.CompilationResultBuilder, org.graalvm.compiler.asm.amd64.AMD64MacroAssembler, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, int, org.graalvm.compiler.asm.Label, int);
descriptor: (Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;ILorg/graalvm/compiler/asm/Label;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=11, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: getstatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.$assertionsDisabled:Z
ifne 1
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.kind1:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.isNumericFloat:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 9
start local 9 2: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.temp5:Ljdk/vm/ci/meta/Value;
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
astore 10
start local 10 3: aload 2
aload 10
iload 8
i2l
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movq:(Ljdk/vm/ci/code/Register;J)V
4: aload 2
aload 10
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.negq:(Ljdk/vm/ci/code/Register;)V
5: aload 2
aload 1
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
6: aload 2
aload 9
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
7: aload 0
aload 2
aload 3
aload 4
aload 5
iload 6
aload 7
iload 8
iconst_1
if_icmpne 8
iconst_1
goto 9
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register int org.graalvm.compiler.asm.Label int org.graalvm.compiler.asm.Label jdk.vm.ci.code.Register
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register int org.graalvm.compiler.asm.Label
8: iconst_0
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register int org.graalvm.compiler.asm.Label int org.graalvm.compiler.asm.Label jdk.vm.ci.code.Register
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register int org.graalvm.compiler.asm.Label int
9: invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitFloatCompare:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;ILorg/graalvm/compiler/asm/Label;Z)V
10: aload 2
aload 5
iconst_1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.incrementq:(Ljdk/vm/ci/code/Register;I)V
11: aload 2
aload 10
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotZero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 9
iconst_1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.incqAndJcc:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;Z)V
12: aload 2
aload 5
iload 8
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.subq:(Ljdk/vm/ci/code/Register;I)V
13: 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 14 0 this Lorg/graalvm/compiler/lir/amd64/AMD64ArrayEqualsOp;
0 14 1 crb Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
0 14 2 masm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
0 14 3 base1 Ljdk/vm/ci/code/Register;
0 14 4 base2 Ljdk/vm/ci/code/Register;
0 14 5 index Ljdk/vm/ci/code/Register;
0 14 6 offset I
0 14 7 falseLabel Lorg/graalvm/compiler/asm/Label;
0 14 8 range I
2 14 9 loop Lorg/graalvm/compiler/asm/Label;
3 14 10 i Ljdk/vm/ci/code/Register;
MethodParameters:
Name Flags
crb
masm
base1
base2
index
offset
falseLabel
range
private boolean constantLengthCompareNeedsTmpArrayPointers();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.vectorSize:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
astore 1
start local 1 1: aload 0
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.constantLength:()I
aload 0
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.vectorSize:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.getElementsPerVector:(Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)I
if_icmpge 3
2: getstatic org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.XMM:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
astore 1
3: StackMap locals: org.graalvm.compiler.asm.amd64.AVXKind$AVXSize
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.constantLength:()I
iconst_2
aload 0
aload 1
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.getElementsPerVector:(Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)I
imul
iconst_1
isub
iconst_m1
ixor
iand
istore 2
start local 2 4: iload 2
ifle 5
iconst_1
ireturn
StackMap locals: int
StackMap stack:
5: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/graalvm/compiler/lir/amd64/AMD64ArrayEqualsOp;
1 6 1 vSize Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
4 6 2 vectorCount I
private void emitConstantLengthArrayCompareBytes(org.graalvm.compiler.lir.asm.CompilationResultBuilder, org.graalvm.compiler.asm.amd64.AMD64MacroAssembler, jdk.vm.ci.code.Register[], org.graalvm.compiler.asm.Label);
descriptor: (Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;[Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/Label;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=17, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.constantLength:()I
ifne 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.array1Value:Ljdk/vm/ci/meta/Value;
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
astore 5
start local 5 3: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.array2Value:Ljdk/vm/ci/meta/Value;
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
astore 6
start local 6 4: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.temp3: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 5: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.vectorSize:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
astore 8
start local 8 6: aload 0
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.constantLength:()I
aload 0
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.vectorSize:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.getElementsPerVector:(Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)I
if_icmpge 8
7: getstatic org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.XMM:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
astore 8
8: StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register[] org.graalvm.compiler.asm.Label jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.amd64.AVXKind$AVXSize
StackMap stack:
aload 0
aload 8
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.getElementsPerVector:(Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)I
istore 9
start local 9 9: iload 9
aload 0
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.constantLength:()I
if_icmple 25
10: getstatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.$assertionsDisabled:Z
ifne 11
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.kind1:Ljdk/vm/ci/meta/JavaKind;
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.kind2:Ljdk/vm/ci/meta/JavaKind;
if_acmpeq 11
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
11: StackMap locals: int
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.constantLength:()I
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayIndexScale1:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
getfield org.graalvm.compiler.asm.amd64.AMD64Address$Scale.log2:I
ishl
istore 10
start local 10 12: iload 10
iconst_2
if_icmpge 13
iconst_1
goto 16
StackMap locals: int
StackMap stack:
13: iload 10
iconst_4
if_icmpge 14
iconst_2
goto 16
StackMap locals:
StackMap stack:
14: iload 10
bipush 8
if_icmpge 15
iconst_4
goto 16
StackMap locals:
StackMap stack:
15: bipush 8
StackMap locals:
StackMap stack: int
16: istore 11
start local 11 17: aload 0
aload 2
aload 7
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 5
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayBaseOffset1:I
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;I)V
iload 11
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitMovBytes:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;I)V
18: aload 2
aload 7
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 6
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayBaseOffset2:I
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;I)V
iload 11
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitXorBytes:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;I)V
19: aload 2
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotZero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 4
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jccb:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
20: iload 10
iload 11
if_icmple 63
21: aload 0
aload 2
aload 7
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 5
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayBaseOffset1:I
iload 10
iadd
iload 11
isub
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;I)V
iload 11
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitMovBytes:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;I)V
22: aload 2
aload 7
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 6
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayBaseOffset2:I
iload 10
iadd
iload 11
isub
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;I)V
iload 11
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitXorBytes:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;I)V
23: aload 2
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotZero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 4
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jccb:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
end local 11 end local 10 24: goto 63
25: StackMap locals:
StackMap stack:
iconst_2
iload 9
imul
istore 10
start local 10 26: aload 0
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.constantLength:()I
iload 10
iconst_1
isub
iand
istore 11
start local 11 27: aload 0
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.constantLength:()I
iload 10
iconst_1
isub
iconst_m1
ixor
iand
istore 12
start local 12 28: aload 8
invokevirtual org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.getBytes:()I
istore 13
start local 13 29: iload 12
ifle 51
30: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 14
start local 14 31: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.temp1:Ljdk/vm/ci/meta/Value;
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
astore 15
start local 15 32: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.temp2:Ljdk/vm/ci/meta/Value;
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
astore 16
start local 16 33: aload 2
aload 15
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 5
iload 12
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayIndexScale1:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
getfield org.graalvm.compiler.asm.amd64.AMD64Address$Scale.log2:I
ishl
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
34: aload 2
aload 16
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 6
iload 12
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayIndexScale2:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
getfield org.graalvm.compiler.asm.amd64.AMD64Address$Scale.log2:I
ishl
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
35: aload 15
astore 5
36: aload 16
astore 6
37: aload 2
aload 7
iload 12
ineg
i2l
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movq:(Ljdk/vm/ci/code/Register;J)V
38: aload 2
aload 1
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
39: aload 2
aload 14
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
40: aload 0
aload 2
aload 3
iconst_0
aaload
aload 5
aload 7
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayBaseOffset1:I
aload 8
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitVectorLoad1:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;ILorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)V
41: aload 0
aload 2
aload 3
iconst_1
aaload
aload 6
aload 7
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayBaseOffset2:I
aload 8
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitVectorLoad2:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;ILorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)V
42: aload 0
aload 2
aload 3
iconst_2
aaload
aload 5
aload 7
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayBaseOffset1:I
aload 0
iload 13
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.scaleDisplacement1:(I)I
iadd
aload 8
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitVectorLoad1:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;ILorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)V
43: aload 0
aload 2
aload 3
iconst_3
aaload
aload 6
aload 7
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayBaseOffset2:I
aload 0
iload 13
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.scaleDisplacement2:(I)I
iadd
aload 8
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitVectorLoad2:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;ILorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)V
44: aload 2
aload 3
iconst_0
aaload
aload 3
iconst_1
aaload
aload 8
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitVectorXor:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)V
45: aload 2
aload 3
iconst_2
aaload
aload 3
iconst_3
aaload
aload 8
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitVectorXor:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)V
46: aload 2
aload 3
iconst_0
aaload
aload 8
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitVectorTest:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)V
47: aload 2
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotZero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 4
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jccb:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
48: aload 2
aload 3
iconst_2
aaload
aload 8
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitVectorTest:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)V
49: aload 2
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotZero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 4
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jccb:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
50: aload 2
aload 7
iload 10
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotZero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 14
iconst_1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.addqAndJcc:(Ljdk/vm/ci/code/Register;ILorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;Z)V
end local 16 end local 15 end local 14 51: StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register[] org.graalvm.compiler.asm.Label jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.amd64.AVXKind$AVXSize int int int int int
StackMap stack:
iload 11
ifle 63
52: aload 0
aload 2
aload 3
iconst_0
aaload
aload 5
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayBaseOffset1:I
iload 11
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayIndexScale1:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
getfield org.graalvm.compiler.asm.amd64.AMD64Address$Scale.log2:I
ishl
iadd
aload 0
iload 13
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.scaleDisplacement1:(I)I
isub
aload 8
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitVectorLoad1:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;ILorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)V
53: aload 0
aload 2
aload 3
iconst_1
aaload
aload 6
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayBaseOffset2:I
iload 11
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayIndexScale2:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
getfield org.graalvm.compiler.asm.amd64.AMD64Address$Scale.log2:I
ishl
iadd
aload 0
iload 13
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.scaleDisplacement2:(I)I
isub
aload 8
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitVectorLoad2:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;ILorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)V
54: aload 2
aload 3
iconst_0
aaload
aload 3
iconst_1
aaload
aload 8
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitVectorXor:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)V
55: iload 11
iload 9
if_icmple 61
56: aload 0
aload 2
aload 3
iconst_2
aaload
aload 5
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayBaseOffset1:I
aload 8
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitVectorLoad1:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;ILorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)V
57: aload 0
aload 2
aload 3
iconst_3
aaload
aload 6
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayBaseOffset2:I
aload 8
invokevirtual org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitVectorLoad2:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;ILorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)V
58: aload 2
aload 3
iconst_2
aaload
aload 3
iconst_3
aaload
aload 8
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitVectorXor:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)V
59: aload 2
aload 3
iconst_2
aaload
aload 8
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitVectorTest:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)V
60: aload 2
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotZero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 4
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jccb:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
61: StackMap locals:
StackMap stack:
aload 2
aload 3
iconst_0
aaload
aload 8
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitVectorTest:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;)V
62: aload 2
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotZero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 4
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jccb:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
end local 13 end local 12 end local 11 end local 10 63: StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.code.Register[] org.graalvm.compiler.asm.Label jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.amd64.AVXKind$AVXSize int
StackMap stack:
return
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 64 0 this Lorg/graalvm/compiler/lir/amd64/AMD64ArrayEqualsOp;
0 64 1 crb Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
0 64 2 asm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
0 64 3 tmpVectors [Ljdk/vm/ci/code/Register;
0 64 4 noMatch Lorg/graalvm/compiler/asm/Label;
3 64 5 arrayPtr1 Ljdk/vm/ci/code/Register;
4 64 6 arrayPtr2 Ljdk/vm/ci/code/Register;
5 64 7 tmp Ljdk/vm/ci/code/Register;
6 64 8 vSize Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
9 64 9 elementsPerVector I
12 24 10 byteLength I
17 24 11 movSize I
26 63 10 elementsPerVectorLoop I
27 63 11 tailCount I
28 63 12 vectorCount I
29 63 13 bytesPerVector I
31 51 14 loopBegin Lorg/graalvm/compiler/asm/Label;
32 51 15 tmpArrayPtr1 Ljdk/vm/ci/code/Register;
33 51 16 tmpArrayPtr2 Ljdk/vm/ci/code/Register;
MethodParameters:
Name Flags
crb
asm
tmpVectors
noMatch
private void emitMovBytes(org.graalvm.compiler.asm.amd64.AMD64MacroAssembler, jdk.vm.ci.code.Register, org.graalvm.compiler.asm.amd64.AMD64Address, int);
descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 4
tableswitch { // 1 - 8
1: 1
2: 6
3: 18
4: 11
5: 18
6: 18
7: 18
8: 16
default: 18
}
1: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.signExtend:Z
ifeq 4
2: aload 1
aload 2
aload 3
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movsbq:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
3: goto 19
4: StackMap locals:
StackMap stack:
aload 1
aload 2
aload 3
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movzbq:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
5: goto 19
6: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.signExtend:Z
ifeq 9
7: aload 1
aload 2
aload 3
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movswq:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
8: goto 19
9: StackMap locals:
StackMap stack:
aload 1
aload 2
aload 3
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movzwq:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
10: goto 19
11: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.signExtend:Z
ifeq 14
12: aload 1
aload 2
aload 3
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movslq:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
13: goto 19
14: StackMap locals:
StackMap stack:
aload 1
aload 2
aload 3
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movl:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
15: goto 19
16: StackMap locals:
StackMap stack:
aload 1
aload 2
aload 3
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movq:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
17: goto 19
18: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
invokespecial java.lang.IllegalStateException.<init>:()V
athrow
19: 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 20 0 this Lorg/graalvm/compiler/lir/amd64/AMD64ArrayEqualsOp;
0 20 1 asm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
0 20 2 dst Ljdk/vm/ci/code/Register;
0 20 3 src Lorg/graalvm/compiler/asm/amd64/AMD64Address;
0 20 4 size I
MethodParameters:
Name Flags
asm
dst
src
size
private static void emitXorBytes(org.graalvm.compiler.asm.amd64.AMD64MacroAssembler, jdk.vm.ci.code.Register, org.graalvm.compiler.asm.amd64.AMD64Address, int);
descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.getOperandSize:(I)Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
astore 4
start local 4 1: getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.XOR:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;
aload 4
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.getRMOpcode:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;)Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
aload 0
aload 4
aload 1
aload 2
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
2: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 asm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
0 3 1 dst Ljdk/vm/ci/code/Register;
0 3 2 src Lorg/graalvm/compiler/asm/amd64/AMD64Address;
0 3 3 size I
1 3 4 opSize Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
MethodParameters:
Name Flags
asm
dst
src
size
private static org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize getOperandSize(int);
descriptor: (I)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: iload 0
tableswitch { // 1 - 8
1: 1
2: 2
3: 5
4: 3
5: 5
6: 5
7: 5
8: 4
default: 5
}
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
5: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
invokespecial java.lang.IllegalStateException.<init>:()V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 size I
MethodParameters:
Name Flags
size
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/AMD64ArrayEqualsOp;
static int[] $SWITCH_TABLE$org$graalvm$compiler$asm$amd64$AMD64Address$Scale();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.$SWITCH_TABLE$org$graalvm$compiler$asm$amd64$AMD64Address$Scale:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic org.graalvm.compiler.asm.amd64.AMD64Address$Scale.values:()[Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
arraylength
newarray 10
astore 0
2: aload 0
getstatic org.graalvm.compiler.asm.amd64.AMD64Address$Scale.Times1:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address$Scale.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 org.graalvm.compiler.asm.amd64.AMD64Address$Scale.Times2:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address$Scale.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 org.graalvm.compiler.asm.amd64.AMD64Address$Scale.Times4:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address$Scale.ordinal:()I
iconst_3
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic org.graalvm.compiler.asm.amd64.AMD64Address$Scale.Times8:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Address$Scale.ordinal:()I
iconst_4
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
dup
putstatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.$SWITCH_TABLE$org$graalvm$compiler$asm$amd64$AMD64Address$Scale:[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
}
SourceFile: "AMD64ArrayEqualsOp.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 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 SSEOp = org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp of org.graalvm.compiler.asm.amd64.AMD64Assembler
public VexRMOp = org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMOp 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
RuntimeVisibleAnnotations:
org.graalvm.compiler.lir.Opcode(value = "ARRAY_EQUALS")