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 kind;
descriptor: Ljdk/vm/ci/meta/JavaKind;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int arrayBaseOffset;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int arrayIndexScale;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int constantByteLength;
descriptor: I
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;})
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;})
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;})
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;})
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 SSE4_1_VECTOR_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16
private static final int AVX_VECTOR_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 32
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
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.Value, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, int, boolean, int);
descriptor: (Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;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;IZI)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.kind:Ljdk/vm/ci/meta/JavaKind;
2: aload 0
iload 8
ifeq 3
iconst_0
goto 4
StackMap locals: org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp org.graalvm.compiler.lir.gen.LIRGeneratorTool 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 int
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp
3: 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.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value int int int
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp int
4: putfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayBaseOffset:I
5: 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
putfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayIndexScale:I
6: iload 7
iflt 9
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayIndexScale:I
iconst_1
if_icmple 9
7: aload 0
iload 7
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayIndexScale:I
invokestatic org.graalvm.compiler.core.common.NumUtil.log2Ceil:(I)I
ishl
putfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.constantByteLength:I
8: goto 10
9: StackMap locals:
StackMap stack:
aload 0
iload 7
putfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.constantByteLength:I
10: StackMap locals:
StackMap stack:
aload 0
aload 3
putfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.resultValue:Ljdk/vm/ci/meta/Value;
11: aload 0
aload 4
putfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.array1Value:Ljdk/vm/ci/meta/Value;
12: aload 0
aload 5
putfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.array2Value:Ljdk/vm/ci/meta/Value;
13: aload 0
aload 6
putfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.lengthValue:Ljdk/vm/ci/meta/Value;
14: 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;
15: 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;
16: 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;
17: 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;
18: aload 0
aload 2
invokevirtual jdk.vm.ci.meta.JavaKind.isNumericFloat:()Z
ifeq 19
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 20
StackMap locals:
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp
19: 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.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value int int int
StackMap stack: org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp jdk.vm.ci.meta.AllocatableValue
20: putfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.temp5:Ljdk/vm/ci/meta/Value;
21: aload 2
getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 24
22: 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;
23: goto 28
StackMap locals:
StackMap stack:
24: aload 2
getstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 27
25: 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;
26: goto 28
27: 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;
28: 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 44
29: 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 39
30: aload 1
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.target:()Ljdk/vm/ci/code/TargetDescription;
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.supportsAVX2:(Ljdk/vm/ci/code/TargetDescription;)Z
ifeq 32
iload 9
iflt 31
iload 9
bipush 32
if_icmplt 32
StackMap locals:
StackMap stack:
31: getstatic jdk.vm.ci.amd64.AMD64Kind.V256_BYTE:Ljdk/vm/ci/amd64/AMD64Kind;
goto 33
StackMap locals:
StackMap stack:
32: getstatic jdk.vm.ci.amd64.AMD64Kind.V128_BYTE:Ljdk/vm/ci/amd64/AMD64Kind;
StackMap locals:
StackMap stack: jdk.vm.ci.amd64.AMD64Kind
33: invokestatic org.graalvm.compiler.core.common.LIRKind.value:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
astore 10
start local 10 34: 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;
35: 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;
36: 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;
37: 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 38: goto 48
39: 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;
40: 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;
41: 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;
42: 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;
43: goto 48
44: 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;
45: 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;
46: 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;
47: 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;
48: 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 49 0 this Lorg/graalvm/compiler/lir/amd64/AMD64ArrayEqualsOp;
0 49 1 tool Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
0 49 2 kind Ljdk/vm/ci/meta/JavaKind;
0 49 3 result Ljdk/vm/ci/meta/Value;
0 49 4 array1 Ljdk/vm/ci/meta/Value;
0 49 5 array2 Ljdk/vm/ci/meta/Value;
0 49 6 length Ljdk/vm/ci/meta/Value;
0 49 7 constantLength I
0 49 8 directPointers Z
0 49 9 maxVectorSize I
34 38 10 lirKind Lorg/graalvm/compiler/core/common/LIRKind;
MethodParameters:
Name Flags
tool
kind
result
array1
array2
length
constantLength
directPointers
maxVectorSize
private boolean canGenerateConstantLengthCompare(jdk.vm.ci.code.TargetDescription);
descriptor: (Ljdk/vm/ci/code/TargetDescription;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.constantByteLength:I
iflt 1
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.kind:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.isNumericInteger:()Z
ifeq 1
aload 1
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.supportsSSE41:(Ljdk/vm/ci/code/TargetDescription;)Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
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 target Ljdk/vm/ci/code/TargetDescription;
MethodParameters:
Name Flags
target
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=14, 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: 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 4
start local 4 2: 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 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: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 7
start local 7 5: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 8
start local 8 6: aload 2
aload 4
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.arrayBaseOffset:I
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;I)V
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.leaq:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
7: aload 2
aload 5
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.arrayBaseOffset:I
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;I)V
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.leaq:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
8: 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 14
9: aload 2
aload 4
aload 5
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;
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;
10: 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
11: aload 7
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.constantByteLength:I
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.vectorTemp1:Ljdk/vm/ci/meta/Value;
invokestatic org.graalvm.compiler.asm.amd64.AVXKind.getRegisterSize:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
invokevirtual org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.getBytes:()I
12: invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitConstantLengthArrayCompareBytes:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;[Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/Label;II)V
13: goto 20
14: 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 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.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 15: 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: aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayIndexScale:I
iconst_1
if_icmple 18
17: aload 2
aload 9
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.arrayIndexScale:I
invokestatic org.graalvm.compiler.core.common.NumUtil.log2Ceil:(I)I
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.shll:(Ljdk/vm/ci/code/Register;I)V
18: StackMap locals: jdk.vm.ci.code.Register
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
19: aload 1
aload 2
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.kind:Ljdk/vm/ci/meta/JavaKind;
aload 3
aload 4
aload 5
aload 9
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.temp4:Ljdk/vm/ci/meta/Value;
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.temp5:Ljdk/vm/ci/meta/Value;
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.tempXMM:Ljdk/vm/ci/meta/Value;
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.vectorTemp1:Ljdk/vm/ci/meta/Value;
aload 0
getfield org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.vectorTemp2:Ljdk/vm/ci/meta/Value;
aload 6
aload 7
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitArrayCompare:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/asm/Label;Lorg/graalvm/compiler/asm/Label;)V
end local 9 20: StackMap locals:
StackMap stack:
aload 2
aload 6
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
21: aload 2
aload 3
iconst_1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movl:(Ljdk/vm/ci/code/Register;I)V
22: aload 2
aload 8
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jmpb:(Lorg/graalvm/compiler/asm/Label;)V
23: aload 2
aload 7
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
24: 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
25: aload 2
aload 8
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
26: 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 27 0 this Lorg/graalvm/compiler/lir/amd64/AMD64ArrayEqualsOp;
0 27 1 crb Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
0 27 2 masm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
1 27 3 result Ljdk/vm/ci/code/Register;
2 27 4 array1 Ljdk/vm/ci/code/Register;
3 27 5 array2 Ljdk/vm/ci/code/Register;
4 27 6 trueLabel Lorg/graalvm/compiler/asm/Label;
5 27 7 falseLabel Lorg/graalvm/compiler/asm/Label;
6 27 8 done Lorg/graalvm/compiler/asm/Label;
15 20 9 length Ljdk/vm/ci/code/Register;
MethodParameters:
Name Flags
crb
masm
private static void emitArrayCompare(org.graalvm.compiler.lir.asm.CompilationResultBuilder, org.graalvm.compiler.asm.amd64.AMD64MacroAssembler, jdk.vm.ci.meta.JavaKind, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, 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/meta/JavaKind;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/asm/Label;Lorg/graalvm/compiler/asm/Label;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=14, locals=14, args_size=14
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 start local 10 start local 11 start local 12 start local 13 0: aload 0
getfield org.graalvm.compiler.lir.asm.CompilationResultBuilder.target:Ljdk/vm/ci/code/TargetDescription;
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.supportsAVX2:(Ljdk/vm/ci/code/TargetDescription;)Z
ifeq 3
1: aload 0
aload 1
aload 2
aload 3
aload 4
aload 5
aload 6
aload 7
aload 8
aload 9
aload 10
aload 11
aload 12
aload 13
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitAVXCompare:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/asm/Label;Lorg/graalvm/compiler/asm/Label;)V
2: goto 5
StackMap locals:
StackMap stack:
3: aload 0
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 5
4: aload 0
aload 1
aload 2
aload 3
aload 4
aload 5
aload 6
aload 7
aload 8
aload 9
aload 10
aload 11
aload 12
aload 13
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitSSE41Compare:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/asm/Label;Lorg/graalvm/compiler/asm/Label;)V
5: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 3
aload 4
aload 5
aload 6
aload 7
aload 9
aload 12
aload 13
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emit8ByteCompare:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/asm/Label;Lorg/graalvm/compiler/asm/Label;)V
6: aload 1
aload 2
aload 3
aload 4
aload 5
aload 6
aload 7
aload 9
aload 12
aload 13
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitTailCompares:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/asm/Label;Lorg/graalvm/compiler/asm/Label;)V
7: 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 8 0 crb Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
0 8 1 masm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
0 8 2 kind Ljdk/vm/ci/meta/JavaKind;
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 temp4 Ljdk/vm/ci/meta/Value;
0 8 8 temp5 Ljdk/vm/ci/meta/Value;
0 8 9 tempXMM Ljdk/vm/ci/meta/Value;
0 8 10 vectorTemp1 Ljdk/vm/ci/meta/Value;
0 8 11 vectorTemp2 Ljdk/vm/ci/meta/Value;
0 8 12 trueLabel Lorg/graalvm/compiler/asm/Label;
0 8 13 falseLabel Lorg/graalvm/compiler/asm/Label;
MethodParameters:
Name Flags
crb
masm
kind
result
array1
array2
length
temp4
temp5
tempXMM
vectorTemp1
vectorTemp2
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 static void emitSSE41Compare(org.graalvm.compiler.lir.asm.CompilationResultBuilder, org.graalvm.compiler.asm.amd64.AMD64MacroAssembler, jdk.vm.ci.meta.JavaKind, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, 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/meta/JavaKind;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/asm/Label;Lorg/graalvm/compiler/asm/Label;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=12, locals=22, args_size=14
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 start local 10 start local 11 start local 12 start local 13 0: getstatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.$assertionsDisabled:Z
ifne 1
aload 0
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 10
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
astore 14
start local 14 2: aload 11
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
astore 15
start local 15 3: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 16
start local 16 4: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 17
start local 17 5: aload 2
invokevirtual jdk.vm.ci.meta.JavaKind.isNumericFloat:()Z
istore 18
start local 18 6: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 19
start local 19 7: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 20
start local 20 8: aload 1
aload 3
bipush 15
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.andl:(Ljdk/vm/ci/code/Register;I)V
9: aload 1
aload 6
bipush -16
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.andl:(Ljdk/vm/ci/code/Register;I)V
10: aload 1
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.Zero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 17
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
11: aload 1
aload 4
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 4
aload 6
getstatic org.graalvm.compiler.asm.amd64.AMD64Address$Scale.Times1: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 1
aload 5
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 5
aload 6
getstatic org.graalvm.compiler.asm.amd64.AMD64Address$Scale.Times1: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 1
aload 6
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.negq:(Ljdk/vm/ci/code/Register;)V
14: aload 1
aload 0
getfield org.graalvm.compiler.lir.asm.CompilationResultBuilder.target:Ljdk/vm/ci/code/TargetDescription;
getfield jdk.vm.ci.code.TargetDescription.wordSize:I
iconst_2
imul
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.align:(I)V
15: aload 1
aload 16
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
16: aload 1
aload 14
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 4
aload 6
getstatic org.graalvm.compiler.asm.amd64.AMD64Address$Scale.Times1: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.movdqu:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
17: aload 1
aload 15
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 5
aload 6
getstatic org.graalvm.compiler.asm.amd64.AMD64Address$Scale.Times1: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.movdqu:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
18: aload 1
aload 14
aload 15
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.pxor:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
19: aload 1
aload 14
aload 14
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.ptest:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
20: aload 1
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotZero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
iload 18
ifeq 21
aload 20
goto 22
StackMap locals: org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.meta.JavaKind jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64MacroAssembler org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag
21: aload 13
StackMap locals: org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.meta.JavaKind jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int org.graalvm.compiler.asm.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
22: invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
23: aload 1
aload 19
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
24: aload 1
aload 6
bipush 16
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.addq:(Ljdk/vm/ci/code/Register;I)V
25: aload 1
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotZero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 16
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
26: aload 1
aload 3
aload 3
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.testl:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
27: aload 1
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.Zero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 12
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
28: iload 18
ifeq 35
29: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 21
start local 21 30: aload 1
aload 21
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jmpb:(Lorg/graalvm/compiler/asm/Label;)V
31: aload 1
aload 20
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
32: aload 0
aload 1
aload 2
aload 4
aload 5
aload 6
aload 7
aload 8
aload 9
iconst_0
aload 13
bipush 16
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitFloatCompareWithinRange:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;ILorg/graalvm/compiler/asm/Label;I)V
33: aload 1
aload 19
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jmpb:(Lorg/graalvm/compiler/asm/Label;)V
34: aload 1
aload 21
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
end local 21 35: StackMap locals:
StackMap stack:
aload 1
aload 14
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 4
aload 3
getstatic org.graalvm.compiler.asm.amd64.AMD64Address$Scale.Times1:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
bipush -16
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.movdqu:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
36: aload 1
aload 15
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 5
aload 3
getstatic org.graalvm.compiler.asm.amd64.AMD64Address$Scale.Times1:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
bipush -16
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.movdqu:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
37: aload 1
aload 14
aload 15
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.pxor:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
38: aload 1
aload 14
aload 14
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.ptest:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
39: iload 18
ifeq 43
40: aload 1
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.Zero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 12
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
41: aload 0
aload 1
aload 2
aload 4
aload 5
aload 3
aload 7
aload 8
aload 9
bipush -16
aload 13
bipush 16
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitFloatCompareWithinRange:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;ILorg/graalvm/compiler/asm/Label;I)V
42: goto 44
43: StackMap locals:
StackMap stack:
aload 1
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotZero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 13
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
44: StackMap locals:
StackMap stack:
aload 1
aload 12
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jmp:(Lorg/graalvm/compiler/asm/Label;)V
45: aload 1
aload 17
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
46: aload 1
aload 6
aload 3
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movl:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
47: return
end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 48 0 crb Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
0 48 1 masm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
0 48 2 kind Ljdk/vm/ci/meta/JavaKind;
0 48 3 result Ljdk/vm/ci/code/Register;
0 48 4 array1 Ljdk/vm/ci/code/Register;
0 48 5 array2 Ljdk/vm/ci/code/Register;
0 48 6 length Ljdk/vm/ci/code/Register;
0 48 7 temp4 Ljdk/vm/ci/meta/Value;
0 48 8 temp5 Ljdk/vm/ci/meta/Value;
0 48 9 tempXMM Ljdk/vm/ci/meta/Value;
0 48 10 vectorTemp1 Ljdk/vm/ci/meta/Value;
0 48 11 vectorTemp2 Ljdk/vm/ci/meta/Value;
0 48 12 trueLabel Lorg/graalvm/compiler/asm/Label;
0 48 13 falseLabel Lorg/graalvm/compiler/asm/Label;
2 48 14 vector1 Ljdk/vm/ci/code/Register;
3 48 15 vector2 Ljdk/vm/ci/code/Register;
4 48 16 loop Lorg/graalvm/compiler/asm/Label;
5 48 17 compareTail Lorg/graalvm/compiler/asm/Label;
6 48 18 requiresNaNCheck Z
7 48 19 loopCheck Lorg/graalvm/compiler/asm/Label;
8 48 20 nanCheck Lorg/graalvm/compiler/asm/Label;
30 35 21 unalignedCheck Lorg/graalvm/compiler/asm/Label;
MethodParameters:
Name Flags
crb
masm
kind
result
array1
array2
length
temp4
temp5
tempXMM
vectorTemp1
vectorTemp2
trueLabel
falseLabel
private static boolean supportsAVX2(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.AVX2: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 static void emitAVXCompare(org.graalvm.compiler.lir.asm.CompilationResultBuilder, org.graalvm.compiler.asm.amd64.AMD64MacroAssembler, jdk.vm.ci.meta.JavaKind, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, 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/meta/JavaKind;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/asm/Label;Lorg/graalvm/compiler/asm/Label;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=12, locals=22, args_size=14
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 start local 10 start local 11 start local 12 start local 13 0: getstatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.$assertionsDisabled:Z
ifne 1
aload 0
getfield org.graalvm.compiler.lir.asm.CompilationResultBuilder.target:Ljdk/vm/ci/code/TargetDescription;
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.supportsAVX2:(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 10
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
astore 14
start local 14 2: aload 11
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
astore 15
start local 15 3: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 16
start local 16 4: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 17
start local 17 5: aload 2
invokevirtual jdk.vm.ci.meta.JavaKind.isNumericFloat:()Z
istore 18
start local 18 6: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 19
start local 19 7: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 20
start local 20 8: aload 1
aload 3
bipush 31
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.andl:(Ljdk/vm/ci/code/Register;I)V
9: aload 1
aload 6
bipush -32
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.andl:(Ljdk/vm/ci/code/Register;I)V
10: aload 1
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.Zero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 17
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
11: aload 1
aload 4
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 4
aload 6
getstatic org.graalvm.compiler.asm.amd64.AMD64Address$Scale.Times1: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 1
aload 5
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 5
aload 6
getstatic org.graalvm.compiler.asm.amd64.AMD64Address$Scale.Times1: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 1
aload 6
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.negq:(Ljdk/vm/ci/code/Register;)V
14: aload 1
aload 0
getfield org.graalvm.compiler.lir.asm.CompilationResultBuilder.target:Ljdk/vm/ci/code/TargetDescription;
getfield jdk.vm.ci.code.TargetDescription.wordSize:I
iconst_2
imul
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.align:(I)V
15: aload 1
aload 16
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
16: aload 1
aload 14
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 4
aload 6
getstatic org.graalvm.compiler.asm.amd64.AMD64Address$Scale.Times1: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.vmovdqu:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
17: aload 1
aload 15
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 5
aload 6
getstatic org.graalvm.compiler.asm.amd64.AMD64Address$Scale.Times1: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.vmovdqu:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
18: aload 1
aload 14
aload 14
aload 15
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.vpxor:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
19: aload 1
aload 14
aload 14
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.vptest:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
20: aload 1
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotZero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
iload 18
ifeq 21
aload 20
goto 22
StackMap locals: org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.meta.JavaKind jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64MacroAssembler org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag
21: aload 13
StackMap locals: org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.meta.JavaKind jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label jdk.vm.ci.code.Register jdk.vm.ci.code.Register org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int org.graalvm.compiler.asm.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
22: invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
23: aload 1
aload 19
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
24: aload 1
aload 6
bipush 32
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.addq:(Ljdk/vm/ci/code/Register;I)V
25: aload 1
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotZero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 16
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
26: aload 1
aload 3
aload 3
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.testl:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
27: aload 1
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.Zero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 12
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
28: iload 18
ifeq 35
29: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 21
start local 21 30: aload 1
aload 21
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jmpb:(Lorg/graalvm/compiler/asm/Label;)V
31: aload 1
aload 20
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
32: aload 0
aload 1
aload 2
aload 4
aload 5
aload 6
aload 7
aload 8
aload 9
iconst_0
aload 13
bipush 32
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitFloatCompareWithinRange:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;ILorg/graalvm/compiler/asm/Label;I)V
33: aload 1
aload 19
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jmpb:(Lorg/graalvm/compiler/asm/Label;)V
34: aload 1
aload 21
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
end local 21 35: StackMap locals:
StackMap stack:
aload 1
aload 14
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 4
aload 3
getstatic org.graalvm.compiler.asm.amd64.AMD64Address$Scale.Times1:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
bipush -32
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.vmovdqu:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
36: aload 1
aload 15
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 5
aload 3
getstatic org.graalvm.compiler.asm.amd64.AMD64Address$Scale.Times1:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
bipush -32
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.vmovdqu:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
37: aload 1
aload 14
aload 14
aload 15
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.vpxor:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
38: aload 1
aload 14
aload 14
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.vptest:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
39: iload 18
ifeq 43
40: aload 1
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.Zero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 12
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
41: aload 0
aload 1
aload 2
aload 4
aload 5
aload 3
aload 7
aload 8
aload 9
bipush -32
aload 13
bipush 32
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitFloatCompareWithinRange:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;ILorg/graalvm/compiler/asm/Label;I)V
42: goto 44
43: StackMap locals:
StackMap stack:
aload 1
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotZero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 13
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
44: StackMap locals:
StackMap stack:
aload 1
aload 12
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jmp:(Lorg/graalvm/compiler/asm/Label;)V
45: aload 1
aload 17
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
46: aload 1
aload 6
aload 3
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movl:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
47: return
end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 48 0 crb Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
0 48 1 masm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
0 48 2 kind Ljdk/vm/ci/meta/JavaKind;
0 48 3 result Ljdk/vm/ci/code/Register;
0 48 4 array1 Ljdk/vm/ci/code/Register;
0 48 5 array2 Ljdk/vm/ci/code/Register;
0 48 6 length Ljdk/vm/ci/code/Register;
0 48 7 temp4 Ljdk/vm/ci/meta/Value;
0 48 8 temp5 Ljdk/vm/ci/meta/Value;
0 48 9 tempXMM Ljdk/vm/ci/meta/Value;
0 48 10 vectorTemp1 Ljdk/vm/ci/meta/Value;
0 48 11 vectorTemp2 Ljdk/vm/ci/meta/Value;
0 48 12 trueLabel Lorg/graalvm/compiler/asm/Label;
0 48 13 falseLabel Lorg/graalvm/compiler/asm/Label;
2 48 14 vector1 Ljdk/vm/ci/code/Register;
3 48 15 vector2 Ljdk/vm/ci/code/Register;
4 48 16 loop Lorg/graalvm/compiler/asm/Label;
5 48 17 compareTail Lorg/graalvm/compiler/asm/Label;
6 48 18 requiresNaNCheck Z
7 48 19 loopCheck Lorg/graalvm/compiler/asm/Label;
8 48 20 nanCheck Lorg/graalvm/compiler/asm/Label;
30 35 21 unalignedCheck Lorg/graalvm/compiler/asm/Label;
MethodParameters:
Name Flags
crb
masm
kind
result
array1
array2
length
temp4
temp5
tempXMM
vectorTemp1
vectorTemp2
trueLabel
falseLabel
private static void emit8ByteCompare(org.graalvm.compiler.lir.asm.CompilationResultBuilder, org.graalvm.compiler.asm.amd64.AMD64MacroAssembler, jdk.vm.ci.meta.JavaKind, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, 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/meta/JavaKind;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/asm/Label;Lorg/graalvm/compiler/asm/Label;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=11, locals=19, args_size=11
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 start local 10 0: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 11
start local 11 1: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 12
start local 12 2: aload 2
invokevirtual jdk.vm.ci.meta.JavaKind.isNumericFloat:()Z
istore 13
start local 13 3: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 14
start local 14 4: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 15
start local 15 5: aload 7
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
astore 16
start local 16 6: aload 1
aload 3
bipush 7
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.andl:(Ljdk/vm/ci/code/Register;I)V
7: aload 1
aload 6
bipush -8
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.andl:(Ljdk/vm/ci/code/Register;I)V
8: aload 1
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.Zero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 12
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
9: aload 1
aload 4
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 4
aload 6
getstatic org.graalvm.compiler.asm.amd64.AMD64Address$Scale.Times1: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
10: aload 1
aload 5
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 5
aload 6
getstatic org.graalvm.compiler.asm.amd64.AMD64Address$Scale.Times1: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 1
aload 6
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.negq:(Ljdk/vm/ci/code/Register;)V
12: aload 1
aload 0
getfield org.graalvm.compiler.lir.asm.CompilationResultBuilder.target:Ljdk/vm/ci/code/TargetDescription;
getfield jdk.vm.ci.code.TargetDescription.wordSize:I
iconst_2
imul
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.align:(I)V
13: aload 1
aload 11
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
14: aload 1
aload 16
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 4
aload 6
getstatic org.graalvm.compiler.asm.amd64.AMD64Address$Scale.Times1: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
15: aload 1
aload 16
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 5
aload 6
getstatic org.graalvm.compiler.asm.amd64.AMD64Address$Scale.Times1: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.cmpq:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
16: aload 1
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotEqual:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
iload 13
ifeq 17
aload 15
goto 18
StackMap locals: org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.meta.JavaKind jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label jdk.vm.ci.code.Register
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64MacroAssembler org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag
17: aload 10
StackMap locals: org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.meta.JavaKind jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label jdk.vm.ci.code.Register
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64MacroAssembler org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag org.graalvm.compiler.asm.Label
18: invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
19: aload 1
aload 14
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
20: aload 1
aload 6
bipush 8
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.addq:(Ljdk/vm/ci/code/Register;I)V
21: aload 1
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotZero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 11
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jccb:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
22: aload 1
aload 3
aload 3
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.testl:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
23: aload 1
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.Zero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 9
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
24: iload 13
ifeq 37
25: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 17
start local 17 26: aload 1
aload 17
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jmpb:(Lorg/graalvm/compiler/asm/Label;)V
27: aload 1
aload 15
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
28: iconst_0
istore 18
start local 18 29: goto 34
30: StackMap locals: org.graalvm.compiler.asm.Label int
StackMap stack:
aload 1
aload 2
aload 4
aload 5
aload 6
aload 7
aload 8
iload 18
aload 10
aload 2
invokevirtual jdk.vm.ci.meta.JavaKind.getByteCount:()I
bipush 8
if_icmpne 31
iconst_1
goto 32
StackMap locals: org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.meta.JavaKind jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label 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.asm.amd64.AMD64MacroAssembler jdk.vm.ci.meta.JavaKind jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value int org.graalvm.compiler.asm.Label
31: iconst_0
StackMap locals: org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.meta.JavaKind jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label 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.asm.amd64.AMD64MacroAssembler jdk.vm.ci.meta.JavaKind jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value int org.graalvm.compiler.asm.Label int
32: invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitFloatCompare:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;ILorg/graalvm/compiler/asm/Label;Z)V
33: iload 18
aload 2
invokevirtual jdk.vm.ci.meta.JavaKind.getByteCount:()I
iadd
istore 18
StackMap locals:
StackMap stack:
34: iload 18
bipush 8
if_icmplt 30
end local 18 35: aload 1
aload 14
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jmpb:(Lorg/graalvm/compiler/asm/Label;)V
36: aload 1
aload 17
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
end local 17 37: StackMap locals:
StackMap stack:
aload 1
aload 16
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 4
aload 3
getstatic org.graalvm.compiler.asm.amd64.AMD64Address$Scale.Times1: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
38: aload 1
aload 16
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 5
aload 3
getstatic org.graalvm.compiler.asm.amd64.AMD64Address$Scale.Times1: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.cmpq:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
39: iload 13
ifeq 49
40: aload 1
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.Equal:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 9
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
41: iconst_0
istore 17
start local 17 42: goto 47
43: StackMap locals: int
StackMap stack:
aload 1
aload 2
aload 4
aload 5
aload 3
aload 7
aload 8
bipush -8
iload 17
iadd
aload 10
aload 2
invokevirtual jdk.vm.ci.meta.JavaKind.getByteCount:()I
bipush 8
if_icmpne 44
iconst_1
goto 45
StackMap locals: org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.meta.JavaKind jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label jdk.vm.ci.code.Register int
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.meta.JavaKind jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value int org.graalvm.compiler.asm.Label
44: iconst_0
StackMap locals: org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.meta.JavaKind jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label int org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label jdk.vm.ci.code.Register int
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.meta.JavaKind jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value int org.graalvm.compiler.asm.Label int
45: invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitFloatCompare:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;ILorg/graalvm/compiler/asm/Label;Z)V
46: iload 17
aload 2
invokevirtual jdk.vm.ci.meta.JavaKind.getByteCount:()I
iadd
istore 17
StackMap locals:
StackMap stack:
47: iload 17
bipush 8
if_icmplt 43
end local 17 48: goto 50
49: StackMap locals:
StackMap stack:
aload 1
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotEqual:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 10
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jccb:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
50: StackMap locals:
StackMap stack:
aload 1
aload 9
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jmpb:(Lorg/graalvm/compiler/asm/Label;)V
51: aload 1
aload 12
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
52: aload 1
aload 6
aload 3
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movl:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
53: 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 54 0 crb Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
0 54 1 masm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
0 54 2 kind Ljdk/vm/ci/meta/JavaKind;
0 54 3 result Ljdk/vm/ci/code/Register;
0 54 4 array1 Ljdk/vm/ci/code/Register;
0 54 5 array2 Ljdk/vm/ci/code/Register;
0 54 6 length Ljdk/vm/ci/code/Register;
0 54 7 temp4 Ljdk/vm/ci/meta/Value;
0 54 8 tempXMM Ljdk/vm/ci/meta/Value;
0 54 9 trueLabel Lorg/graalvm/compiler/asm/Label;
0 54 10 falseLabel Lorg/graalvm/compiler/asm/Label;
1 54 11 loop Lorg/graalvm/compiler/asm/Label;
2 54 12 compareTail Lorg/graalvm/compiler/asm/Label;
3 54 13 requiresNaNCheck Z
4 54 14 loopCheck Lorg/graalvm/compiler/asm/Label;
5 54 15 nanCheck Lorg/graalvm/compiler/asm/Label;
6 54 16 temp Ljdk/vm/ci/code/Register;
26 37 17 unalignedCheck Lorg/graalvm/compiler/asm/Label;
29 35 18 offset I
42 48 17 offset I
MethodParameters:
Name Flags
crb
masm
kind
result
array1
array2
length
temp4
tempXMM
trueLabel
falseLabel
private static void emitTailCompares(org.graalvm.compiler.asm.amd64.AMD64MacroAssembler, jdk.vm.ci.meta.JavaKind, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, org.graalvm.compiler.asm.Label, org.graalvm.compiler.asm.Label);
descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/asm/Label;Lorg/graalvm/compiler/asm/Label;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=10, locals=13, 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: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 10
start local 10 1: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 11
start local 11 2: aload 6
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
astore 12
start local 12 3: aload 1
invokevirtual jdk.vm.ci.meta.JavaKind.getByteCount:()I
iconst_4
if_icmpgt 38
4: aload 0
aload 2
iconst_4
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.testl:(Ljdk/vm/ci/code/Register;I)V
5: aload 0
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.Zero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 10
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jccb:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
6: aload 0
aload 12
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
7: aload 0
aload 12
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.cmpl:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
8: aload 1
getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 13
9: aload 0
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.Equal:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 8
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jccb:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
10: aload 0
aload 1
aload 3
aload 4
getstatic jdk.vm.ci.code.Register.None:Ljdk/vm/ci/code/Register;
aload 6
aload 7
iconst_0
aload 9
iconst_1
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitFloatCompare:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;ILorg/graalvm/compiler/asm/Label;Z)V
11: aload 0
aload 8
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jmpb:(Lorg/graalvm/compiler/asm/Label;)V
12: goto 14
13: StackMap locals: org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label jdk.vm.ci.code.Register
StackMap stack:
aload 0
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotEqual:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 9
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jccb:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
14: StackMap locals:
StackMap stack:
aload 1
invokevirtual jdk.vm.ci.meta.JavaKind.getByteCount:()I
iconst_2
if_icmpgt 37
15: aload 0
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
16: aload 0
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
17: aload 0
aload 10
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
18: aload 0
aload 2
iconst_2
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.testl:(Ljdk/vm/ci/code/Register;I)V
19: aload 0
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.Zero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 11
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jccb:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
20: aload 0
aload 12
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
21: aload 0
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
22: aload 0
aload 12
aload 5
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.cmpl:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
23: aload 0
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotEqual:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 9
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jccb:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
24: aload 1
invokevirtual jdk.vm.ci.meta.JavaKind.getByteCount:()I
iconst_1
if_icmpgt 35
25: aload 0
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
26: aload 0
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
27: aload 0
aload 11
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
28: aload 0
aload 2
iconst_1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.testl:(Ljdk/vm/ci/code/Register;I)V
29: aload 0
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.Zero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 8
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jccb:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
30: aload 0
aload 12
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 0
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 0
aload 12
aload 5
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.cmpl:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
33: aload 0
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotEqual:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 9
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jccb:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
34: goto 38
35: StackMap locals:
StackMap stack:
aload 0
aload 11
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
36: goto 38
37: StackMap locals:
StackMap stack:
aload 0
aload 10
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
38: StackMap locals:
StackMap stack:
return
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 39 0 masm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
0 39 1 kind Ljdk/vm/ci/meta/JavaKind;
0 39 2 result Ljdk/vm/ci/code/Register;
0 39 3 array1 Ljdk/vm/ci/code/Register;
0 39 4 array2 Ljdk/vm/ci/code/Register;
0 39 5 length Ljdk/vm/ci/code/Register;
0 39 6 temp4 Ljdk/vm/ci/meta/Value;
0 39 7 tempXMM Ljdk/vm/ci/meta/Value;
0 39 8 trueLabel Lorg/graalvm/compiler/asm/Label;
0 39 9 falseLabel Lorg/graalvm/compiler/asm/Label;
1 39 10 compare2Bytes Lorg/graalvm/compiler/asm/Label;
2 39 11 compare1Byte Lorg/graalvm/compiler/asm/Label;
3 39 12 temp Ljdk/vm/ci/code/Register;
MethodParameters:
Name Flags
masm
kind
result
array1
array2
length
temp4
tempXMM
trueLabel
falseLabel
private static void emitNaNCheck(org.graalvm.compiler.asm.amd64.AMD64MacroAssembler, jdk.vm.ci.meta.JavaKind, jdk.vm.ci.meta.Value, org.graalvm.compiler.asm.amd64.AMD64Address, org.graalvm.compiler.asm.Label);
descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/asm/amd64/AMD64Address;Lorg/graalvm/compiler/asm/Label;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: getstatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.$assertionsDisabled:Z
ifne 1
aload 1
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 2
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
astore 5
start local 5 2: aload 1
getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 5
3: aload 0
aload 5
aload 3
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 0
aload 5
aload 3
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 0
aload 1
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.asm.amd64.AMD64MacroAssembler jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.Value 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.asm.amd64.AMD64MacroAssembler jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.Value 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 5
aload 5
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 0
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NoParity:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 4
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 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 masm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
0 11 1 kind Ljdk/vm/ci/meta/JavaKind;
0 11 2 tempXMM Ljdk/vm/ci/meta/Value;
0 11 3 src Lorg/graalvm/compiler/asm/amd64/AMD64Address;
0 11 4 branchIfNonNaN Lorg/graalvm/compiler/asm/Label;
2 11 5 tempXMMReg Ljdk/vm/ci/code/Register;
MethodParameters:
Name Flags
masm
kind
tempXMM
src
branchIfNonNaN
private static void emitFloatCompare(org.graalvm.compiler.asm.amd64.AMD64MacroAssembler, jdk.vm.ci.meta.JavaKind, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, int, org.graalvm.compiler.asm.Label, boolean);
descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;ILorg/graalvm/compiler/asm/Label;Z)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=14, 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: new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 2
aload 4
getstatic org.graalvm.compiler.asm.amd64.AMD64Address$Scale.Times1:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
iload 7
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 10
start local 10 1: new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 3
aload 4
getstatic org.graalvm.compiler.asm.amd64.AMD64Address$Scale.Times1:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
iload 7
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 11
start local 11 2: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 12
start local 12 3: iload 9
ifne 12
4: aload 5
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
astore 13
start local 13 5: aload 1
getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 9
6: aload 0
aload 13
aload 10
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movl:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
7: aload 0
aload 13
aload 11
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.cmpl:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
8: goto 11
9: StackMap locals: org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.meta.JavaKind jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value 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 0
aload 13
aload 10
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movq:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
10: aload 0
aload 13
aload 11
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.cmpq:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
11: StackMap locals:
StackMap stack:
aload 0
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.Equal:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 12
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jccb:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
end local 13 12: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 6
aload 10
aload 8
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitNaNCheck:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/asm/amd64/AMD64Address;Lorg/graalvm/compiler/asm/Label;)V
13: aload 0
aload 1
aload 6
aload 11
aload 8
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitNaNCheck:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/asm/amd64/AMD64Address;Lorg/graalvm/compiler/asm/Label;)V
14: aload 0
aload 12
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
15: return
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 16 0 masm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
0 16 1 kind Ljdk/vm/ci/meta/JavaKind;
0 16 2 base1 Ljdk/vm/ci/code/Register;
0 16 3 base2 Ljdk/vm/ci/code/Register;
0 16 4 index Ljdk/vm/ci/code/Register;
0 16 5 temp4 Ljdk/vm/ci/meta/Value;
0 16 6 tempXMM Ljdk/vm/ci/meta/Value;
0 16 7 offset I
0 16 8 falseLabel Lorg/graalvm/compiler/asm/Label;
0 16 9 skipBitwiseCompare Z
1 16 10 address1 Lorg/graalvm/compiler/asm/amd64/AMD64Address;
2 16 11 address2 Lorg/graalvm/compiler/asm/amd64/AMD64Address;
3 16 12 bitwiseEqual Lorg/graalvm/compiler/asm/Label;
5 12 13 temp Ljdk/vm/ci/code/Register;
MethodParameters:
Name Flags
masm
kind
base1
base2
index
temp4
tempXMM
offset
falseLabel
skipBitwiseCompare
private static void emitFloatCompareWithinRange(org.graalvm.compiler.lir.asm.CompilationResultBuilder, org.graalvm.compiler.asm.amd64.AMD64MacroAssembler, jdk.vm.ci.meta.JavaKind, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, int, org.graalvm.compiler.asm.Label, int);
descriptor: (Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;ILorg/graalvm/compiler/asm/Label;I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=11, locals=14, args_size=12
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 start local 10 start local 11 0: getstatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.$assertionsDisabled:Z
ifne 1
aload 2
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 12
start local 12 2: aload 7
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
astore 13
start local 13 3: aload 1
aload 13
iload 11
i2l
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movq:(Ljdk/vm/ci/code/Register;J)V
4: aload 1
aload 13
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.negq:(Ljdk/vm/ci/code/Register;)V
5: aload 1
aload 0
getfield org.graalvm.compiler.lir.asm.CompilationResultBuilder.target:Ljdk/vm/ci/code/TargetDescription;
getfield jdk.vm.ci.code.TargetDescription.wordSize:I
iconst_2
imul
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.align:(I)V
6: aload 1
aload 12
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
7: aload 1
aload 2
aload 3
aload 4
aload 5
aload 6
aload 8
iload 9
aload 10
aload 2
invokevirtual jdk.vm.ci.meta.JavaKind.getByteCount:()I
iload 11
if_icmpne 8
iconst_1
goto 9
StackMap locals: org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.meta.JavaKind jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value int org.graalvm.compiler.asm.Label int org.graalvm.compiler.asm.Label jdk.vm.ci.code.Register
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.meta.JavaKind jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value int org.graalvm.compiler.asm.Label
8: iconst_0
StackMap locals: org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.meta.JavaKind jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value int org.graalvm.compiler.asm.Label int org.graalvm.compiler.asm.Label jdk.vm.ci.code.Register
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64MacroAssembler jdk.vm.ci.meta.JavaKind jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.code.Register jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value int org.graalvm.compiler.asm.Label int
9: invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitFloatCompare:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;ILorg/graalvm/compiler/asm/Label;Z)V
10: aload 1
aload 5
aload 2
invokevirtual jdk.vm.ci.meta.JavaKind.getByteCount:()I
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.addq:(Ljdk/vm/ci/code/Register;I)V
11: aload 1
aload 13
aload 2
invokevirtual jdk.vm.ci.meta.JavaKind.getByteCount:()I
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.addq:(Ljdk/vm/ci/code/Register;I)V
12: aload 1
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotZero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 12
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jccb:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
13: aload 1
aload 5
iload 11
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.subq:(Ljdk/vm/ci/code/Register;I)V
14: 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 15 0 crb Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
0 15 1 masm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
0 15 2 kind Ljdk/vm/ci/meta/JavaKind;
0 15 3 base1 Ljdk/vm/ci/code/Register;
0 15 4 base2 Ljdk/vm/ci/code/Register;
0 15 5 index Ljdk/vm/ci/code/Register;
0 15 6 temp4 Ljdk/vm/ci/meta/Value;
0 15 7 temp5 Ljdk/vm/ci/meta/Value;
0 15 8 tempXMM Ljdk/vm/ci/meta/Value;
0 15 9 offset I
0 15 10 falseLabel Lorg/graalvm/compiler/asm/Label;
0 15 11 range I
2 15 12 loop Lorg/graalvm/compiler/asm/Label;
3 15 13 i Ljdk/vm/ci/code/Register;
MethodParameters:
Name Flags
crb
masm
kind
base1
base2
index
temp4
temp5
tempXMM
offset
falseLabel
range
private static void emitConstantLengthArrayCompareBytes(org.graalvm.compiler.asm.amd64.AMD64MacroAssembler, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register[], org.graalvm.compiler.asm.Label, int, int);
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;[Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/Label;II)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=9, locals=12, 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
iload 8
bipush 16
if_icmpge 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
iload 7
ifne 3
2: return
3: StackMap locals:
StackMap stack:
iload 7
bipush 16
if_icmpge 19
4: iload 7
iconst_2
if_icmpge 5
iconst_1
goto 8
StackMap locals:
StackMap stack:
5: iload 7
iconst_4
if_icmpge 6
iconst_2
goto 8
StackMap locals:
StackMap stack:
6: iload 7
bipush 8
if_icmpge 7
iconst_4
goto 8
StackMap locals:
StackMap stack:
7: bipush 8
StackMap locals:
StackMap stack: int
8: istore 9
start local 9 9: aload 0
aload 3
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 1
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;)V
iload 9
invokestatic 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
10: aload 0
aload 4
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 2
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;)V
iload 9
invokestatic 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
11: aload 0
aload 3
aload 4
iload 9
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitCmpBytes:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
12: aload 0
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotEqual:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 6
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
13: iload 7
iload 9
if_icmple 142
14: aload 0
aload 3
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 1
iload 7
iload 9
isub
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;I)V
iload 9
invokestatic 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
15: aload 0
aload 4
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 2
iload 7
iload 9
isub
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;I)V
iload 9
invokestatic 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
16: aload 0
aload 3
aload 4
iload 9
invokestatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.emitCmpBytes:(Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
17: aload 0
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotEqual:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 6
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
end local 9 18: goto 142
StackMap locals:
StackMap stack:
19: iload 7
bipush 32
if_icmpge 33
iload 8
bipush 32
if_icmplt 33
20: getstatic org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.XMM:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
invokevirtual org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.getBytes:()I
istore 9
start local 9 21: getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexMoveOp.VMOVDQU:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexMoveOp;
aload 0
getstatic org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.XMM:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
aload 5
iconst_0
aaload
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 1
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;)V
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$VexMoveOp.emit:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
22: getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexMoveOp.VMOVDQU:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexMoveOp;
aload 0
getstatic org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.XMM:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
aload 5
iconst_1
aaload
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 2
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;)V
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$VexMoveOp.emit:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
23: getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp.VPXOR:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;
aload 0
getstatic org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.XMM:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
aload 5
iconst_0
aaload
aload 5
iconst_0
aaload
aload 5
iconst_1
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp.emit:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
24: iload 7
iload 9
if_icmple 30
25: getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexMoveOp.VMOVDQU:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexMoveOp;
aload 0
getstatic org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.XMM:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
aload 5
iconst_2
aaload
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 1
iload 7
iload 9
isub
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;I)V
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$VexMoveOp.emit:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
26: getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexMoveOp.VMOVDQU:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexMoveOp;
aload 0
getstatic org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.XMM:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
aload 5
iconst_3
aaload
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 2
iload 7
iload 9
isub
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;I)V
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$VexMoveOp.emit:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
27: getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp.VPXOR:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRVMOp;
aload 0
getstatic org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.XMM:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
aload 5
iconst_2
aaload
aload 5
iconst_2
aaload
aload 5
iconst_3
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp.emit:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
28: getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMOp.VPTEST:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRMOp;
aload 0
getstatic org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.XMM:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
aload 5
iconst_2
aaload
aload 5
iconst_2
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMOp.emit:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
29: aload 0
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotZero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 6
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
30: StackMap locals: int
StackMap stack:
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMOp.VPTEST:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRMOp;
aload 0
getstatic org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.XMM:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
aload 5
iconst_0
aaload
aload 5
iconst_0
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMOp.emit:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
31: aload 0
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotZero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 6
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
end local 9 32: goto 142
StackMap locals:
StackMap stack:
33: iload 8
bipush 32
if_icmplt 89
34: getstatic org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.$assertionsDisabled:Z
ifne 35
aload 0
getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.AVX2:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.supports:(Ljdk/vm/ci/amd64/AMD64$CPUFeature;)Z
ifne 35
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
35: StackMap locals:
StackMap stack:
iload 7
iload 8
iconst_2
imul
idiv
istore 9
start local 9 36: iload 7
iload 8
iconst_2
imul
irem
istore 10
start local 10 37: iload 9
ifle 76
38: iload 10
ifle 40
iload 10
iload 8
if_icmpge 40
39: iinc 9 -1
40: StackMap locals: int int
StackMap stack:
iload 9
ifle 60
41: iload 9
iconst_1
if_icmple 43
42: aload 0
aload 3
iload 9
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movl:(Ljdk/vm/ci/code/Register;I)V
43: StackMap locals:
StackMap stack:
new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 11
start local 11 44: aload 0
aload 11
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
45: aload 0
aload 5
iconst_0
aaload
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 1
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;)V
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.vmovdqu:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
46: aload 0
aload 5
iconst_1
aaload
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 2
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;)V
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.vmovdqu:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
47: aload 0
aload 5
iconst_2
aaload
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 1
iload 8
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;I)V
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.vmovdqu:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
48: aload 0
aload 5
iconst_3
aaload
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 2
iload 8
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;I)V
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.vmovdqu:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
49: aload 0
aload 5
iconst_0
aaload
aload 5
iconst_0
aaload
aload 5
iconst_1
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.vpxor:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
50: aload 0
aload 5
iconst_2
aaload
aload 5
iconst_2
aaload
aload 5
iconst_3
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.vpxor:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
51: aload 0
aload 5
iconst_0
aaload
aload 5
iconst_0
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.vptest:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
52: aload 0
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotZero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 6
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
53: aload 0
aload 5
iconst_2
aaload
aload 5
iconst_2
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.vptest:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
54: aload 0
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotZero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 6
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
55: aload 0
aload 1
iload 8
iconst_2
imul
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.addq:(Ljdk/vm/ci/code/Register;I)V
56: aload 0
aload 2
iload 8
iconst_2
imul
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.addq:(Ljdk/vm/ci/code/Register;I)V
57: iload 9
iconst_1
if_icmple 60
58: aload 0
aload 3
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.decrementl:(Ljdk/vm/ci/code/Register;)V
59: aload 0
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotZero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 11
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
end local 11 60: StackMap locals:
StackMap stack:
iload 10
ifle 76
iload 10
iload 8
if_icmpge 76
61: aload 0
aload 5
iconst_0
aaload
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 1
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;)V
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.vmovdqu:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
62: aload 0
aload 5
iconst_1
aaload
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 2
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;)V
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.vmovdqu:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
63: aload 0
aload 5
iconst_2
aaload
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 1
iload 8
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;I)V
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.vmovdqu:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
64: aload 0
aload 5
iconst_3
aaload
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 2
iload 8
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;I)V
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.vmovdqu:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
65: aload 0
aload 5
iconst_0
aaload
aload 5
iconst_0
aaload
aload 5
iconst_1
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.vpxor:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
66: aload 0
aload 5
iconst_2
aaload
aload 5
iconst_2
aaload
aload 5
iconst_3
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.vpxor:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
67: aload 0
aload 5
iconst_0
aaload
aload 5
iconst_0
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.vptest:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
68: aload 0
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotZero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 6
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
69: aload 0
aload 5
iconst_2
aaload
aload 5
iconst_2
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.vptest:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
70: aload 0
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotZero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 6
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
71: aload 0
aload 5
iconst_0
aaload
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 1
iload 8
iload 10
iadd
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;I)V
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.vmovdqu:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
72: aload 0
aload 5
iconst_1
aaload
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 2
iload 8
iload 10
iadd
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;I)V
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.vmovdqu:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
73: aload 0
aload 5
iconst_0
aaload
aload 5
iconst_0
aaload
aload 5
iconst_1
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.vpxor:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
74: aload 0
aload 5
iconst_0
aaload
aload 5
iconst_0
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.vptest:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
75: aload 0
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotZero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 6
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
76: StackMap locals:
StackMap stack:
iload 10
iload 8
if_icmplt 142
77: aload 0
aload 5
iconst_0
aaload
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 1
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;)V
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.vmovdqu:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
78: aload 0
aload 5
iconst_1
aaload
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 2
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;)V
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.vmovdqu:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
79: aload 0
aload 5
iconst_0
aaload
aload 5
iconst_0
aaload
aload 5
iconst_1
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.vpxor:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
80: iload 10
iload 8
if_icmple 86
81: aload 0
aload 5
iconst_2
aaload
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 1
iload 10
iload 8
isub
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;I)V
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.vmovdqu:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
82: aload 0
aload 5
iconst_3
aaload
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 2
iload 10
iload 8
isub
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;I)V
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.vmovdqu:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
83: aload 0
aload 5
iconst_2
aaload
aload 5
iconst_2
aaload
aload 5
iconst_3
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.vpxor:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
84: aload 0
aload 5
iconst_2
aaload
aload 5
iconst_2
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.vptest:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
85: aload 0
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotZero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 6
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
86: StackMap locals:
StackMap stack:
aload 0
aload 5
iconst_0
aaload
aload 5
iconst_0
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.vptest:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
87: aload 0
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotZero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 6
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
end local 10 end local 9 88: goto 142
89: StackMap locals:
StackMap stack:
iload 7
iload 8
iconst_2
imul
idiv
istore 9
start local 9 90: iload 7
iload 8
iconst_2
imul
irem
istore 10
start local 10 91: iload 9
ifle 130
92: iload 10
ifle 94
iload 10
iload 8
if_icmpge 94
93: iinc 9 -1
94: StackMap locals: int int
StackMap stack:
iload 9
ifle 114
95: iload 9
iconst_1
if_icmple 97
96: aload 0
aload 3
iload 9
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movl:(Ljdk/vm/ci/code/Register;I)V
97: StackMap locals:
StackMap stack:
new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 11
start local 11 98: aload 0
aload 11
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
99: aload 0
aload 5
iconst_0
aaload
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 1
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;)V
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movdqu:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
100: aload 0
aload 5
iconst_1
aaload
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 2
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;)V
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movdqu:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
101: aload 0
aload 5
iconst_2
aaload
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 1
iload 8
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;I)V
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movdqu:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
102: aload 0
aload 5
iconst_3
aaload
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 2
iload 8
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;I)V
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movdqu:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
103: aload 0
aload 5
iconst_0
aaload
aload 5
iconst_1
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.pxor:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
104: aload 0
aload 5
iconst_2
aaload
aload 5
iconst_3
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.pxor:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
105: aload 0
aload 5
iconst_0
aaload
aload 5
iconst_0
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.ptest:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
106: aload 0
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotZero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 6
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
107: aload 0
aload 5
iconst_2
aaload
aload 5
iconst_2
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.ptest:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
108: aload 0
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotZero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 6
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
109: aload 0
aload 1
iload 8
iconst_2
imul
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.addq:(Ljdk/vm/ci/code/Register;I)V
110: aload 0
aload 2
iload 8
iconst_2
imul
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.addq:(Ljdk/vm/ci/code/Register;I)V
111: iload 9
iconst_1
if_icmple 114
112: aload 0
aload 3
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.decrementl:(Ljdk/vm/ci/code/Register;)V
113: aload 0
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotZero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 11
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
end local 11 114: StackMap locals:
StackMap stack:
iload 10
ifle 130
iload 10
iload 8
if_icmpge 130
115: aload 0
aload 5
iconst_0
aaload
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 1
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;)V
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movdqu:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
116: aload 0
aload 5
iconst_1
aaload
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 2
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;)V
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movdqu:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
117: aload 0
aload 5
iconst_2
aaload
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 1
iload 8
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;I)V
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movdqu:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
118: aload 0
aload 5
iconst_3
aaload
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 2
iload 8
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;I)V
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movdqu:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
119: aload 0
aload 5
iconst_0
aaload
aload 5
iconst_1
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.pxor:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
120: aload 0
aload 5
iconst_2
aaload
aload 5
iconst_3
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.pxor:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
121: aload 0
aload 5
iconst_0
aaload
aload 5
iconst_0
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.ptest:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
122: aload 0
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotZero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 6
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
123: aload 0
aload 5
iconst_2
aaload
aload 5
iconst_2
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.ptest:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
124: aload 0
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotZero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 6
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
125: aload 0
aload 5
iconst_0
aaload
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 1
iload 8
iload 10
iadd
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;I)V
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movdqu:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
126: aload 0
aload 5
iconst_1
aaload
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 2
iload 8
iload 10
iadd
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;I)V
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movdqu:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
127: aload 0
aload 5
iconst_0
aaload
aload 5
iconst_1
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.pxor:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
128: aload 0
aload 5
iconst_0
aaload
aload 5
iconst_0
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.ptest:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
129: aload 0
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotZero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 6
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
130: StackMap locals:
StackMap stack:
iload 10
iload 8
if_icmplt 142
131: aload 0
aload 5
iconst_0
aaload
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 1
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;)V
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movdqu:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
132: aload 0
aload 5
iconst_1
aaload
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 2
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;)V
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movdqu:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
133: aload 0
aload 5
iconst_0
aaload
aload 5
iconst_1
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.pxor:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
134: iload 10
iload 8
if_icmple 140
135: aload 0
aload 5
iconst_2
aaload
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 1
iload 10
iload 8
isub
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;I)V
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movdqu:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
136: aload 0
aload 5
iconst_3
aaload
new org.graalvm.compiler.asm.amd64.AMD64Address
dup
aload 2
iload 10
iload 8
isub
invokespecial org.graalvm.compiler.asm.amd64.AMD64Address.<init>:(Ljdk/vm/ci/code/Register;I)V
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movdqu:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
137: aload 0
aload 5
iconst_2
aaload
aload 5
iconst_3
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.pxor:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
138: aload 0
aload 5
iconst_2
aaload
aload 5
iconst_2
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.ptest:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
139: aload 0
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotZero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 6
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
140: StackMap locals:
StackMap stack:
aload 0
aload 5
iconst_0
aaload
aload 5
iconst_0
aaload
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.ptest:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
141: aload 0
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.NotZero:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 6
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.jcc:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
end local 10 end local 9 142: 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 143 0 asm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
0 143 1 arrayPtr1 Ljdk/vm/ci/code/Register;
0 143 2 arrayPtr2 Ljdk/vm/ci/code/Register;
0 143 3 tmp1 Ljdk/vm/ci/code/Register;
0 143 4 tmp2 Ljdk/vm/ci/code/Register;
0 143 5 tmpVectors [Ljdk/vm/ci/code/Register;
0 143 6 noMatch Lorg/graalvm/compiler/asm/Label;
0 143 7 nBytes I
0 143 8 bytesPerVector I
9 18 9 movSize I
21 32 9 bytesPerXMMVector I
36 88 9 loopCount I
37 88 10 rest I
44 60 11 loopBegin Lorg/graalvm/compiler/asm/Label;
90 142 9 loopCount I
91 142 10 rest I
98 114 11 loopBegin Lorg/graalvm/compiler/asm/Label;
MethodParameters:
Name Flags
asm
arrayPtr1
arrayPtr2
tmp1
tmp2
tmpVectors
noMatch
nBytes
bytesPerVector
private static 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: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
tableswitch { // 1 - 8
1: 1
2: 3
3: 9
4: 5
5: 9
6: 9
7: 9
8: 7
default: 9
}
1: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movzbl:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
2: goto 10
3: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movzwl:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
4: goto 10
5: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movl:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
6: goto 10
7: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movq:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
8: goto 10
9: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
invokespecial java.lang.IllegalStateException.<init>:()V
athrow
10: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 asm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
0 11 1 dst Ljdk/vm/ci/code/Register;
0 11 2 src Lorg/graalvm/compiler/asm/amd64/AMD64Address;
0 11 3 size I
MethodParameters:
Name Flags
asm
dst
src
size
private static void emitCmpBytes(org.graalvm.compiler.asm.amd64.AMD64MacroAssembler, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, int);
descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
bipush 8
if_icmpge 3
1: aload 0
aload 1
aload 2
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.cmpl:(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.cmpq:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
4: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 asm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
0 5 1 dst Ljdk/vm/ci/code/Register;
0 5 2 src Ljdk/vm/ci/code/Register;
0 5 3 size I
MethodParameters:
Name Flags
asm
dst
src
size
}
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 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 final VexMoveOp = org.graalvm.compiler.asm.amd64.AMD64Assembler$VexMoveOp of org.graalvm.compiler.asm.amd64.AMD64Assembler
public VexRMOp = org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMOp of org.graalvm.compiler.asm.amd64.AMD64Assembler
public VexRVMOp = org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRVMOp of org.graalvm.compiler.asm.amd64.AMD64Assembler
public OperandSize = org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize of org.graalvm.compiler.asm.amd64.AMD64BaseAssembler
public final AVXSize = org.graalvm.compiler.asm.amd64.AVXKind$AVXSize of org.graalvm.compiler.asm.amd64.AVXKind
public abstract Alive = org.graalvm.compiler.lir.LIRInstruction$Alive of org.graalvm.compiler.lir.LIRInstruction
public abstract Def = org.graalvm.compiler.lir.LIRInstruction$Def of org.graalvm.compiler.lir.LIRInstruction
public final OperandFlag = org.graalvm.compiler.lir.LIRInstruction$OperandFlag of org.graalvm.compiler.lir.LIRInstruction
public abstract Temp = org.graalvm.compiler.lir.LIRInstruction$Temp of org.graalvm.compiler.lir.LIRInstruction
RuntimeVisibleAnnotations:
org.graalvm.compiler.lir.Opcode(value = "ARRAY_EQUALS")