public abstract class org.graalvm.compiler.core.amd64.AMD64LIRGenerator extends org.graalvm.compiler.lir.gen.LIRGenerator
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.graalvm.compiler.core.amd64.AMD64LIRGenerator
super_class: org.graalvm.compiler.lir.gen.LIRGenerator
{
private static volatile int[] $SWITCH_TABLE$jdk$vm$ci$meta$JavaKind;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$jdk$vm$ci$amd64$AMD64Kind;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
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/core/amd64/AMD64LIRGenerator;
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.core.amd64.AMD64LIRGenerator.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.graalvm.compiler.core.common.spi.LIRKindTool, org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator, org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory, org.graalvm.compiler.phases.util.Providers, org.graalvm.compiler.lir.gen.LIRGenerationResult);
descriptor: (Lorg/graalvm/compiler/core/common/spi/LIRKindTool;Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
aload 2
aload 3
aload 4
aload 5
invokespecial org.graalvm.compiler.lir.gen.LIRGenerator.<init>:(Lorg/graalvm/compiler/core/common/spi/LIRKindTool;Lorg/graalvm/compiler/lir/gen/ArithmeticLIRGenerator;Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;Lorg/graalvm/compiler/core/common/spi/CodeGenProviders;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;)V
1: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
0 2 1 lirKindTool Lorg/graalvm/compiler/core/common/spi/LIRKindTool;
0 2 2 arithmeticLIRGen Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
0 2 3 moveFactory Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;
0 2 4 providers Lorg/graalvm/compiler/phases/util/Providers;
0 2 5 lirGenRes Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
MethodParameters:
Name Flags
lirKindTool
arithmeticLIRGen
moveFactory
providers
lirGenRes
protected static final boolean canStoreConstant(jdk.vm.ci.meta.JavaConstant);
descriptor: (Ljdk/vm/ci/meta/JavaConstant;)Z
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokestatic org.graalvm.compiler.core.amd64.AMD64LIRGenerator.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:()[I
aload 0
invokeinterface jdk.vm.ci.meta.JavaConstant.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iaload
tableswitch { // 7 - 9
7: 1
8: 2
9: 3
default: 4
}
1: StackMap locals:
StackMap stack:
aload 0
invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
invokestatic org.graalvm.compiler.core.common.NumUtil.isInt:(J)Z
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
3: StackMap locals:
StackMap stack:
aload 0
invokeinterface jdk.vm.ci.meta.JavaConstant.isNull:()Z
ireturn
4: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 c Ljdk/vm/ci/meta/JavaConstant;
MethodParameters:
Name Flags
c
protected jdk.vm.ci.meta.JavaConstant zapValueForKind(jdk.vm.ci.meta.PlatformKind);
descriptor: (Ljdk/vm/ci/meta/PlatformKind;)Ljdk/vm/ci/meta/JavaConstant;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: ldc -2401018187971961171
lstore 2
start local 2 1: invokestatic org.graalvm.compiler.core.amd64.AMD64LIRGenerator.$SWITCH_TABLE$jdk$vm$ci$amd64$AMD64Kind:()[I
aload 1
checkcast jdk.vm.ci.amd64.AMD64Kind
invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
iaload
tableswitch { // 1 - 5
1: 2
2: 3
3: 4
4: 5
5: 6
default: 7
}
2: StackMap locals: long
StackMap stack:
lload 2
l2i
i2b
invokestatic jdk.vm.ci.meta.JavaConstant.forByte:(B)Ljdk/vm/ci/meta/PrimitiveConstant;
areturn
3: StackMap locals:
StackMap stack:
lload 2
l2i
i2s
invokestatic jdk.vm.ci.meta.JavaConstant.forShort:(S)Ljdk/vm/ci/meta/PrimitiveConstant;
areturn
4: StackMap locals:
StackMap stack:
lload 2
l2i
invokestatic jdk.vm.ci.meta.JavaConstant.forInt:(I)Ljdk/vm/ci/meta/PrimitiveConstant;
areturn
5: StackMap locals:
StackMap stack:
lload 2
invokestatic jdk.vm.ci.meta.JavaConstant.forLong:(J)Ljdk/vm/ci/meta/PrimitiveConstant;
areturn
6: StackMap locals:
StackMap stack:
lload 2
l2i
invokestatic java.lang.Float.intBitsToFloat:(I)F
invokestatic jdk.vm.ci.meta.JavaConstant.forFloat:(F)Ljdk/vm/ci/meta/PrimitiveConstant;
areturn
7: StackMap locals:
StackMap stack:
lload 2
invokestatic java.lang.Double.longBitsToDouble:(J)D
invokestatic jdk.vm.ci.meta.JavaConstant.forDouble:(D)Ljdk/vm/ci/meta/PrimitiveConstant;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
0 8 1 kind Ljdk/vm/ci/meta/PlatformKind;
1 8 2 dead J
MethodParameters:
Name Flags
kind
public org.graalvm.compiler.lir.amd64.AMD64AddressValue asAddressValue(jdk.vm.ci.meta.Value);
descriptor: (Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: aload 1
instanceof org.graalvm.compiler.lir.amd64.AMD64AddressValue
ifeq 2
1: aload 1
checkcast org.graalvm.compiler.lir.amd64.AMD64AddressValue
areturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof jdk.vm.ci.meta.JavaConstant
ifeq 6
3: aload 1
checkcast jdk.vm.ci.meta.JavaConstant
invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
lstore 2
start local 2 4: lload 2
invokestatic org.graalvm.compiler.core.common.NumUtil.isInt:(J)Z
ifeq 6
5: new org.graalvm.compiler.lir.amd64.AMD64AddressValue
dup
aload 1
invokevirtual jdk.vm.ci.meta.Value.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
getstatic jdk.vm.ci.meta.Value.ILLEGAL:Ljdk/vm/ci/meta/AllocatableValue;
lload 2
l2i
invokespecial org.graalvm.compiler.lir.amd64.AMD64AddressValue.<init>:(Ljdk/vm/ci/meta/ValueKind;Ljdk/vm/ci/meta/AllocatableValue;I)V
areturn
end local 2 6: StackMap locals:
StackMap stack:
new org.graalvm.compiler.lir.amd64.AMD64AddressValue
dup
aload 1
invokevirtual jdk.vm.ci.meta.Value.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
aload 0
aload 1
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
iconst_0
invokespecial org.graalvm.compiler.lir.amd64.AMD64AddressValue.<init>:(Ljdk/vm/ci/meta/ValueKind;Ljdk/vm/ci/meta/AllocatableValue;I)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
0 7 1 address Ljdk/vm/ci/meta/Value;
4 6 2 displacement J
MethodParameters:
Name Flags
address
public org.graalvm.compiler.lir.Variable emitAddress(jdk.vm.ci.meta.AllocatableValue);
descriptor: (Ljdk/vm/ci/meta/AllocatableValue;)Lorg/graalvm/compiler/lir/Variable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 0
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.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;
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
astore 2
start local 2 1: aload 0
new org.graalvm.compiler.lir.amd64.AMD64Move$StackLeaOp
dup
aload 2
aload 1
invokespecial org.graalvm.compiler.lir.amd64.AMD64Move$StackLeaOp.<init>:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
2: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
0 3 1 stackslot Ljdk/vm/ci/meta/AllocatableValue;
1 3 2 result Lorg/graalvm/compiler/lir/Variable;
MethodParameters:
Name Flags
stackslot
public <K extends jdk.vm.ci.meta.ValueKind<K>> K toRegisterKind();
descriptor: (Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/meta/ValueKind;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: invokestatic org.graalvm.compiler.core.amd64.AMD64LIRGenerator.$SWITCH_TABLE$jdk$vm$ci$amd64$AMD64Kind:()[I
aload 1
invokevirtual jdk.vm.ci.meta.ValueKind.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
checkcast jdk.vm.ci.amd64.AMD64Kind
invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
iaload
tableswitch { // 1 - 2
1: 1
2: 1
default: 2
}
1: StackMap locals:
StackMap stack:
aload 1
getstatic jdk.vm.ci.amd64.AMD64Kind.DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
invokevirtual jdk.vm.ci.meta.ValueKind.changeType:(Ljdk/vm/ci/meta/PlatformKind;)Ljdk/vm/ci/meta/ValueKind;
areturn
2: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
0 3 1 kind TK;
Signature: <K:Ljdk/vm/ci/meta/ValueKind<TK;>;>(TK;)TK;
MethodParameters:
Name Flags
kind
private jdk.vm.ci.meta.AllocatableValue asAllocatable(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.ValueKind<?>);
descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/meta/AllocatableValue;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual jdk.vm.ci.meta.Value.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
aload 2
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 2
1: aload 0
aload 1
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
ifeq 4
3: aload 1
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
aload 2
invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
areturn
4: StackMap locals:
StackMap stack:
aload 1
invokestatic org.graalvm.compiler.lir.LIRValueUtil.isConstantValue:(Ljdk/vm/ci/meta/Value;)Z
ifeq 6
5: aload 0
aload 2
aload 1
invokestatic org.graalvm.compiler.lir.LIRValueUtil.asConstant:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Constant;
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitLoadConstant:(Ljdk/vm/ci/meta/ValueKind;Ljdk/vm/ci/meta/Constant;)Ljdk/vm/ci/meta/AllocatableValue;
areturn
6: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
astore 3
start local 3 7: aload 0
aload 3
aload 1
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitMove:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
8: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
0 9 1 value Ljdk/vm/ci/meta/Value;
0 9 2 kind Ljdk/vm/ci/meta/ValueKind<*>;
7 9 3 variable Lorg/graalvm/compiler/lir/Variable;
Signature: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/ValueKind<*>;)Ljdk/vm/ci/meta/AllocatableValue;
MethodParameters:
Name Flags
value
kind
private jdk.vm.ci.meta.Value emitCompareAndSwap(boolean, org.graalvm.compiler.core.common.LIRKind, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
descriptor: (ZLorg/graalvm/compiler/core/common/LIRKind;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;)Ljdk/vm/ci/meta/Value;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=18, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 5
invokevirtual jdk.vm.ci.meta.Value.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
astore 8
start local 8 1: getstatic org.graalvm.compiler.core.amd64.AMD64LIRGenerator.$assertionsDisabled:Z
ifne 2
aload 8
aload 4
invokevirtual jdk.vm.ci.meta.Value.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: jdk.vm.ci.meta.ValueKind
StackMap stack:
aload 0
aload 3
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAddressValue:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;
astore 9
start local 9 3: aload 2
astore 10
start local 10 4: aload 4
astore 11
start local 11 5: aload 5
astore 12
start local 12 6: aload 2
invokevirtual org.graalvm.compiler.core.common.LIRKind.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
checkcast jdk.vm.ci.amd64.AMD64Kind
invokevirtual jdk.vm.ci.amd64.AMD64Kind.isXMM:()Z
istore 13
start local 13 7: iload 13
ifeq 14
8: aload 2
invokevirtual org.graalvm.compiler.core.common.LIRKind.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
getstatic jdk.vm.ci.amd64.AMD64Kind.SINGLE:Ljdk/vm/ci/amd64/AMD64Kind;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 11
9: aload 0
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.target:()Ljdk/vm/ci/code/TargetDescription;
getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
invokestatic org.graalvm.compiler.core.common.LIRKind.fromJavaKind:(Ljdk/vm/ci/code/Architecture;Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/core/common/LIRKind;
astore 10
10: goto 12
11: StackMap locals: org.graalvm.compiler.core.amd64.AMD64LIRGenerator int org.graalvm.compiler.core.common.LIRKind 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 jdk.vm.ci.meta.ValueKind org.graalvm.compiler.lir.amd64.AMD64AddressValue org.graalvm.compiler.core.common.LIRKind jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value int
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.target:()Ljdk/vm/ci/code/TargetDescription;
getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
invokestatic org.graalvm.compiler.core.common.LIRKind.fromJavaKind:(Ljdk/vm/ci/code/Architecture;Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/core/common/LIRKind;
astore 10
12: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.core.amd64.AMD64LIRGenerator.arithmeticLIRGen:Lorg/graalvm/compiler/lir/gen/ArithmeticLIRGenerator;
aload 10
aload 4
invokevirtual org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator.emitReinterpret:(Lorg/graalvm/compiler/core/common/LIRKind;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
astore 11
13: aload 0
getfield org.graalvm.compiler.core.amd64.AMD64LIRGenerator.arithmeticLIRGen:Lorg/graalvm/compiler/lir/gen/ArithmeticLIRGenerator;
aload 10
aload 5
invokevirtual org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator.emitReinterpret:(Lorg/graalvm/compiler/core/common/LIRKind;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
astore 12
14: StackMap locals:
StackMap stack:
aload 10
invokevirtual org.graalvm.compiler.core.common.LIRKind.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
checkcast jdk.vm.ci.amd64.AMD64Kind
astore 14
start local 14 15: getstatic jdk.vm.ci.amd64.AMD64.rax:Ljdk/vm/ci/code/Register;
aload 10
invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
astore 15
start local 15 16: aload 0
aload 12
aload 10
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/meta/AllocatableValue;
astore 16
start local 16 17: aload 0
aload 15
aload 11
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitMove:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
18: aload 0
new org.graalvm.compiler.lir.amd64.AMD64Move$CompareAndSwapOp
dup
aload 14
aload 15
aload 9
aload 15
aload 16
invokespecial org.graalvm.compiler.lir.amd64.AMD64Move$CompareAndSwapOp.<init>:(Ljdk/vm/ci/amd64/AMD64Kind;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
19: iload 1
ifeq 22
20: getstatic org.graalvm.compiler.core.amd64.AMD64LIRGenerator.$assertionsDisabled:Z
ifne 21
aload 6
invokevirtual jdk.vm.ci.meta.Value.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
aload 7
invokevirtual jdk.vm.ci.meta.Value.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 21
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
21: StackMap locals: jdk.vm.ci.amd64.AMD64Kind jdk.vm.ci.code.RegisterValue jdk.vm.ci.meta.AllocatableValue
StackMap stack:
aload 0
getstatic org.graalvm.compiler.core.common.calc.Condition.EQ:Lorg/graalvm/compiler/core/common/calc/Condition;
aload 6
aload 7
iconst_0
iconst_0
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitCondMoveOp:(Lorg/graalvm/compiler/core/common/calc/Condition;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;ZZ)Lorg/graalvm/compiler/lir/Variable;
areturn
22: StackMap locals:
StackMap stack:
iload 13
ifeq 24
23: aload 0
getfield org.graalvm.compiler.core.amd64.AMD64LIRGenerator.arithmeticLIRGen:Lorg/graalvm/compiler/lir/gen/ArithmeticLIRGenerator;
aload 2
aload 15
invokevirtual org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator.emitReinterpret:(Lorg/graalvm/compiler/core/common/LIRKind;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
areturn
24: StackMap locals:
StackMap stack:
aload 0
aload 8
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
astore 17
start local 17 25: aload 0
aload 17
aload 15
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitMove:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
26: aload 17
areturn
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 27 0 this Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
0 27 1 isLogic Z
0 27 2 accessKind Lorg/graalvm/compiler/core/common/LIRKind;
0 27 3 address Ljdk/vm/ci/meta/Value;
0 27 4 expectedValue Ljdk/vm/ci/meta/Value;
0 27 5 newValue Ljdk/vm/ci/meta/Value;
0 27 6 trueValue Ljdk/vm/ci/meta/Value;
0 27 7 falseValue Ljdk/vm/ci/meta/Value;
1 27 8 kind Ljdk/vm/ci/meta/ValueKind<*>;
3 27 9 addressValue Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;
4 27 10 integralAccessKind Lorg/graalvm/compiler/core/common/LIRKind;
5 27 11 reinterpretedExpectedValue Ljdk/vm/ci/meta/Value;
6 27 12 reinterpretedNewValue Ljdk/vm/ci/meta/Value;
7 27 13 isXmm Z
15 27 14 memKind Ljdk/vm/ci/amd64/AMD64Kind;
16 27 15 aRes Ljdk/vm/ci/code/RegisterValue;
17 27 16 allocatableNewValue Ljdk/vm/ci/meta/AllocatableValue;
25 27 17 result Lorg/graalvm/compiler/lir/Variable;
MethodParameters:
Name Flags
isLogic
accessKind
address
expectedValue
newValue
trueValue
falseValue
public org.graalvm.compiler.lir.Variable emitLogicCompareAndSwap(org.graalvm.compiler.core.common.LIRKind, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
descriptor: (Lorg/graalvm/compiler/core/common/LIRKind;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/lir/Variable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
iconst_1
aload 1
aload 2
aload 3
aload 4
aload 5
aload 6
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitCompareAndSwap:(ZLorg/graalvm/compiler/core/common/LIRKind;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;)Ljdk/vm/ci/meta/Value;
checkcast org.graalvm.compiler.lir.Variable
areturn
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 1 0 this Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
0 1 1 accessKind Lorg/graalvm/compiler/core/common/LIRKind;
0 1 2 address Ljdk/vm/ci/meta/Value;
0 1 3 expectedValue Ljdk/vm/ci/meta/Value;
0 1 4 newValue Ljdk/vm/ci/meta/Value;
0 1 5 trueValue Ljdk/vm/ci/meta/Value;
0 1 6 falseValue Ljdk/vm/ci/meta/Value;
MethodParameters:
Name Flags
accessKind
address
expectedValue
newValue
trueValue
falseValue
public jdk.vm.ci.meta.Value emitValueCompareAndSwap(org.graalvm.compiler.core.common.LIRKind, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
descriptor: (Lorg/graalvm/compiler/core/common/LIRKind;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
iconst_0
aload 1
aload 2
aload 3
aload 4
aconst_null
aconst_null
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitCompareAndSwap:(ZLorg/graalvm/compiler/core/common/LIRKind;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;)Ljdk/vm/ci/meta/Value;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
0 1 1 accessKind Lorg/graalvm/compiler/core/common/LIRKind;
0 1 2 address Ljdk/vm/ci/meta/Value;
0 1 3 expectedValue Ljdk/vm/ci/meta/Value;
0 1 4 newValue Ljdk/vm/ci/meta/Value;
MethodParameters:
Name Flags
accessKind
address
expectedValue
newValue
public void emitCompareAndSwapBranch(jdk.vm.ci.meta.ValueKind<?>, org.graalvm.compiler.lir.amd64.AMD64AddressValue, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, org.graalvm.compiler.core.common.calc.Condition, org.graalvm.compiler.lir.LabelRef, org.graalvm.compiler.lir.LabelRef, );
descriptor: (Ljdk/vm/ci/meta/ValueKind;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
flags: (0x0001) ACC_PUBLIC
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.core.amd64.AMD64LIRGenerator.$assertionsDisabled:Z
ifne 1
aload 1
invokevirtual jdk.vm.ci.meta.ValueKind.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
invokeinterface jdk.vm.ci.meta.PlatformKind.getSizeInBytes:()I
aload 3
invokevirtual jdk.vm.ci.meta.Value.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
invokevirtual jdk.vm.ci.meta.ValueKind.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
invokeinterface jdk.vm.ci.meta.PlatformKind.getSizeInBytes:()I
if_icmple 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.core.amd64.AMD64LIRGenerator.$assertionsDisabled:Z
ifne 2
aload 1
invokevirtual jdk.vm.ci.meta.ValueKind.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
invokeinterface jdk.vm.ci.meta.PlatformKind.getSizeInBytes:()I
aload 4
invokevirtual jdk.vm.ci.meta.Value.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
invokevirtual jdk.vm.ci.meta.ValueKind.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
invokeinterface jdk.vm.ci.meta.PlatformKind.getSizeInBytes:()I
if_icmple 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.core.amd64.AMD64LIRGenerator.$assertionsDisabled:Z
ifne 3
aload 5
getstatic org.graalvm.compiler.core.common.calc.Condition.EQ:Lorg/graalvm/compiler/core/common/calc/Condition;
if_acmpeq 3
aload 5
getstatic org.graalvm.compiler.core.common.calc.Condition.NE:Lorg/graalvm/compiler/core/common/calc/Condition;
if_acmpeq 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
aload 1
invokevirtual jdk.vm.ci.meta.ValueKind.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
checkcast jdk.vm.ci.amd64.AMD64Kind
astore 10
start local 10 4: getstatic jdk.vm.ci.amd64.AMD64.rax:Ljdk/vm/ci/code/Register;
aload 1
invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
astore 11
start local 11 5: aload 0
aload 11
aload 3
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitMove:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
6: aload 0
new org.graalvm.compiler.lir.amd64.AMD64Move$CompareAndSwapOp
dup
aload 10
aload 11
aload 2
aload 11
aload 0
aload 4
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
invokespecial org.graalvm.compiler.lir.amd64.AMD64Move$CompareAndSwapOp.<init>:(Ljdk/vm/ci/amd64/AMD64Kind;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
7: aload 0
new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$BranchOp
dup
aload 5
aload 6
aload 7
dload 8
invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$BranchOp.<init>:(Lorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
8: return
end local 11 end local 10 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
0 9 1 kind Ljdk/vm/ci/meta/ValueKind<*>;
0 9 2 address Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;
0 9 3 expectedValue Ljdk/vm/ci/meta/Value;
0 9 4 newValue Ljdk/vm/ci/meta/Value;
0 9 5 condition Lorg/graalvm/compiler/core/common/calc/Condition;
0 9 6 trueLabel Lorg/graalvm/compiler/lir/LabelRef;
0 9 7 falseLabel Lorg/graalvm/compiler/lir/LabelRef;
0 9 8 trueLabelProbability D
4 9 10 memKind Ljdk/vm/ci/amd64/AMD64Kind;
5 9 11 raxValue Ljdk/vm/ci/code/RegisterValue;
Signature: (Ljdk/vm/ci/meta/ValueKind<*>;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
MethodParameters:
Name Flags
kind
address
expectedValue
newValue
condition
trueLabel
falseLabel
trueLabelProbability
public jdk.vm.ci.meta.Value emitAtomicReadAndAdd(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.ValueKind<?>, jdk.vm.ci.meta.Value);
descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/ValueKind;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 2
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
astore 4
start local 4 1: aload 0
aload 1
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAddressValue:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;
astore 5
start local 5 2: aload 0
new org.graalvm.compiler.lir.amd64.AMD64Move$AtomicReadAndAddOp
dup
aload 2
invokevirtual jdk.vm.ci.meta.ValueKind.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
checkcast jdk.vm.ci.amd64.AMD64Kind
aload 4
aload 5
aload 0
aload 3
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
invokespecial org.graalvm.compiler.lir.amd64.AMD64Move$AtomicReadAndAddOp.<init>:(Ljdk/vm/ci/amd64/AMD64Kind;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Ljdk/vm/ci/meta/AllocatableValue;)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
3: aload 4
areturn
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 4 0 this Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
0 4 1 address Ljdk/vm/ci/meta/Value;
0 4 2 kind Ljdk/vm/ci/meta/ValueKind<*>;
0 4 3 delta Ljdk/vm/ci/meta/Value;
1 4 4 result Lorg/graalvm/compiler/lir/Variable;
2 4 5 addressValue Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;
Signature: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/ValueKind<*>;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
MethodParameters:
Name Flags
address
kind
delta
public jdk.vm.ci.meta.Value emitAtomicReadAndWrite(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.ValueKind<?>, jdk.vm.ci.meta.Value);
descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/ValueKind;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 2
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
astore 4
start local 4 1: aload 0
aload 1
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAddressValue:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;
astore 5
start local 5 2: aload 0
new org.graalvm.compiler.lir.amd64.AMD64Move$AtomicReadAndWriteOp
dup
aload 2
invokevirtual jdk.vm.ci.meta.ValueKind.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
checkcast jdk.vm.ci.amd64.AMD64Kind
aload 4
aload 5
aload 0
aload 3
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
invokespecial org.graalvm.compiler.lir.amd64.AMD64Move$AtomicReadAndWriteOp.<init>:(Ljdk/vm/ci/amd64/AMD64Kind;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Ljdk/vm/ci/meta/AllocatableValue;)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
3: aload 4
areturn
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 4 0 this Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
0 4 1 address Ljdk/vm/ci/meta/Value;
0 4 2 kind Ljdk/vm/ci/meta/ValueKind<*>;
0 4 3 newValue Ljdk/vm/ci/meta/Value;
1 4 4 result Lorg/graalvm/compiler/lir/Variable;
2 4 5 addressValue Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;
Signature: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/ValueKind<*>;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
MethodParameters:
Name Flags
address
kind
newValue
public void emitNullCheck(jdk.vm.ci.meta.Value, org.graalvm.compiler.lir.LIRFrameState);
descriptor: (Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
new org.graalvm.compiler.lir.amd64.AMD64Move$NullCheckOp
dup
aload 0
aload 1
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAddressValue:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;
aload 2
invokespecial org.graalvm.compiler.lir.amd64.AMD64Move$NullCheckOp.<init>:(Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Lorg/graalvm/compiler/lir/LIRFrameState;)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
0 2 1 address Ljdk/vm/ci/meta/Value;
0 2 2 state Lorg/graalvm/compiler/lir/LIRFrameState;
MethodParameters:
Name Flags
address
state
public void emitJump(org.graalvm.compiler.lir.LabelRef);
descriptor: (Lorg/graalvm/compiler/lir/LabelRef;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: getstatic org.graalvm.compiler.core.amd64.AMD64LIRGenerator.$assertionsDisabled:Z
ifne 1
aload 1
ifnonnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
new org.graalvm.compiler.lir.StandardOp$JumpOp
dup
aload 1
invokespecial org.graalvm.compiler.lir.StandardOp$JumpOp.<init>:(Lorg/graalvm/compiler/lir/LabelRef;)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
0 3 1 label Lorg/graalvm/compiler/lir/LabelRef;
MethodParameters:
Name Flags
label
public void emitCompareBranch(jdk.vm.ci.meta.PlatformKind, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, org.graalvm.compiler.core.common.calc.Condition, boolean, org.graalvm.compiler.lir.LabelRef, org.graalvm.compiler.lir.LabelRef, double);
descriptor: (Ljdk/vm/ci/meta/PlatformKind;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/core/common/calc/Condition;ZLorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=10, 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: aload 1
getstatic jdk.vm.ci.amd64.AMD64Kind.SINGLE:Ljdk/vm/ci/amd64/AMD64Kind;
if_acmpeq 1
aload 1
getstatic jdk.vm.ci.amd64.AMD64Kind.DOUBLE:Ljdk/vm/ci/amd64/AMD64Kind;
if_acmpne 7
1: StackMap locals:
StackMap stack:
aload 4
getstatic org.graalvm.compiler.core.common.calc.Condition.EQ:Lorg/graalvm/compiler/core/common/calc/Condition;
if_acmpne 2
iload 5
ifne 2
aload 2
aload 3
invokevirtual jdk.vm.ci.meta.Value.equals:(Ljava/lang/Object;)Z
ifeq 2
iconst_1
goto 3
StackMap locals:
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: istore 10
start local 10 4: aload 0
aload 1
aload 2
aload 3
aload 4
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitCompare:(Ljdk/vm/ci/meta/PlatformKind;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/core/common/calc/Condition;)Lorg/graalvm/compiler/core/common/calc/Condition;
astore 11
start local 11 5: aload 0
new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$FloatBranchOp
dup
aload 11
iload 5
aload 6
aload 7
dload 8
iload 10
invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$FloatBranchOp.<init>:(Lorg/graalvm/compiler/core/common/calc/Condition;ZLorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;DZ)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
6: return
end local 11 end local 10 7: StackMap locals:
StackMap stack:
aload 3
invokestatic org.graalvm.compiler.lir.LIRValueUtil.isVariable:(Ljdk/vm/ci/meta/Value;)Z
ifeq 10
8: aload 0
aload 1
invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.get:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
aload 0
aload 3
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.load:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
aload 0
aload 2
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.loadNonConst:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
aload 4
invokevirtual org.graalvm.compiler.core.common.calc.Condition.mirror:()Lorg/graalvm/compiler/core/common/calc/Condition;
aload 6
aload 7
dload 8
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitRawCompareBranch:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/lir/Variable;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
9: goto 11
10: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.get:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
aload 0
aload 2
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.load:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
aload 0
aload 3
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.loadNonConst:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
aload 4
aload 6
aload 7
dload 8
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitRawCompareBranch:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/lir/Variable;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
11: 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 12 0 this Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
0 12 1 cmpKind Ljdk/vm/ci/meta/PlatformKind;
0 12 2 left Ljdk/vm/ci/meta/Value;
0 12 3 right Ljdk/vm/ci/meta/Value;
0 12 4 cond Lorg/graalvm/compiler/core/common/calc/Condition;
0 12 5 unorderedIsTrue Z
0 12 6 trueLabel Lorg/graalvm/compiler/lir/LabelRef;
0 12 7 falseLabel Lorg/graalvm/compiler/lir/LabelRef;
0 12 8 trueLabelProbability D
4 7 10 isSelfEqualsCheck Z
5 7 11 finalCondition Lorg/graalvm/compiler/core/common/calc/Condition;
MethodParameters:
Name Flags
cmpKind
left
right
cond
unorderedIsTrue
trueLabel
falseLabel
trueLabelProbability
private void emitRawCompareBranch(org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize, org.graalvm.compiler.lir.Variable, jdk.vm.ci.meta.Value, org.graalvm.compiler.core.common.calc.Condition, org.graalvm.compiler.lir.LabelRef, org.graalvm.compiler.lir.LabelRef, double);
descriptor: (Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Lorg/graalvm/compiler/lir/Variable;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=12, locals=11, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 3
invokestatic org.graalvm.compiler.lir.LIRValueUtil.isConstantValue:(Ljdk/vm/ci/meta/Value;)Z
ifeq 27
1: aload 3
invokestatic org.graalvm.compiler.lir.LIRValueUtil.asConstant:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Constant;
astore 9
start local 9 2: aload 9
invokestatic jdk.vm.ci.meta.JavaConstant.isNull:(Ljdk/vm/ci/meta/Constant;)Z
ifeq 9
3: aload 0
getfield org.graalvm.compiler.core.amd64.AMD64LIRGenerator.arithmeticLIRGen:Lorg/graalvm/compiler/lir/gen/ArithmeticLIRGenerator;
checkcast org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator
astore 10
start local 10 4: aload 10
aload 9
invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.mustReplaceNullWithNullRegister:(Ljdk/vm/ci/meta/Constant;)Z
ifeq 7
5: aload 0
new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CmpBranchOp
dup
aload 1
aload 2
aload 10
invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.getNullRegisterValue:()Ljdk/vm/ci/meta/AllocatableValue;
aconst_null
aload 4
aload 5
aload 6
dload 7
invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CmpBranchOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;Lorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
6: goto 8
7: StackMap locals: jdk.vm.ci.meta.Constant org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator
StackMap stack:
aload 0
new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$TestBranchOp
dup
aload 1
aload 2
aload 2
aconst_null
aload 4
aload 5
aload 6
dload 7
invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$TestBranchOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;Lorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
8: StackMap locals:
StackMap stack:
return
end local 10 9: StackMap locals:
StackMap stack:
aload 9
instanceof jdk.vm.ci.meta.VMConstant
ifeq 16
10: aload 9
checkcast jdk.vm.ci.meta.VMConstant
astore 10
start local 10 11: aload 1
getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
if_acmpne 14
getstatic org.graalvm.compiler.core.common.GraalOptions.GeneratePIC:Lorg/graalvm/compiler/options/OptionKey;
aload 0
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.getResult:()Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getLIR:()Lorg/graalvm/compiler/lir/LIR;
invokevirtual org.graalvm.compiler.lir.LIR.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifne 14
aload 0
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.target:()Ljdk/vm/ci/code/TargetDescription;
getfield jdk.vm.ci.code.TargetDescription.inlineObjects:Z
ifeq 14
12: aload 0
new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CmpConstBranchOp
dup
getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
aload 2
aload 10
aconst_null
aload 4
aload 5
aload 6
dload 7
invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CmpConstBranchOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/VMConstant;Lorg/graalvm/compiler/lir/LIRFrameState;Lorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
13: goto 15
14: StackMap locals: jdk.vm.ci.meta.VMConstant
StackMap stack:
aload 0
new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CmpDataBranchOp
dup
aload 1
aload 2
aload 10
aload 4
aload 5
aload 6
dload 7
invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CmpDataBranchOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Constant;Lorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
15: StackMap locals:
StackMap stack:
return
end local 10 16: StackMap locals:
StackMap stack:
aload 9
instanceof jdk.vm.ci.meta.JavaConstant
ifeq 27
17: aload 9
checkcast jdk.vm.ci.meta.JavaConstant
astore 10
start local 10 18: aload 10
invokeinterface jdk.vm.ci.meta.JavaConstant.isDefaultForKind:()Z
ifeq 24
19: aload 1
getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.BYTE:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
if_acmpne 22
20: aload 0
new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$TestByteBranchOp
dup
aload 2
aload 2
aload 4
aload 5
aload 6
dload 7
invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$TestByteBranchOp.<init>:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
21: goto 23
22: StackMap locals: jdk.vm.ci.meta.JavaConstant
StackMap stack:
aload 0
new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$TestBranchOp
dup
aload 1
aload 2
aload 2
aconst_null
aload 4
aload 5
aload 6
dload 7
invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$TestBranchOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;Lorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
23: StackMap locals:
StackMap stack:
return
24: StackMap locals:
StackMap stack:
aload 10
invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
invokestatic org.graalvm.compiler.core.common.NumUtil.is32bit:(J)Z
ifeq 27
25: aload 0
new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CmpConstBranchOp
dup
aload 1
aload 2
aload 10
invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
l2i
aconst_null
aload 4
aload 5
aload 6
dload 7
invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CmpConstBranchOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;ILorg/graalvm/compiler/lir/LIRFrameState;Lorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
26: return
end local 10 end local 9 27: StackMap locals:
StackMap stack:
aload 0
new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CmpBranchOp
dup
aload 1
aload 2
aload 0
aload 3
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
aconst_null
aload 4
aload 5
aload 6
dload 7
invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CmpBranchOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;Lorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
28: return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
0 29 1 size Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
0 29 2 left Lorg/graalvm/compiler/lir/Variable;
0 29 3 right Ljdk/vm/ci/meta/Value;
0 29 4 cond Lorg/graalvm/compiler/core/common/calc/Condition;
0 29 5 trueLabel Lorg/graalvm/compiler/lir/LabelRef;
0 29 6 falseLabel Lorg/graalvm/compiler/lir/LabelRef;
0 29 7 trueLabelProbability D
2 27 9 c Ljdk/vm/ci/meta/Constant;
4 9 10 arithmeticLIRGenerator Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
11 16 10 vc Ljdk/vm/ci/meta/VMConstant;
18 27 10 jc Ljdk/vm/ci/meta/JavaConstant;
MethodParameters:
Name Flags
size
left
right
cond
trueLabel
falseLabel
trueLabelProbability
public void emitCompareBranchMemory(jdk.vm.ci.amd64.AMD64Kind, jdk.vm.ci.meta.Value, org.graalvm.compiler.lir.amd64.AMD64AddressValue, org.graalvm.compiler.lir.LIRFrameState, org.graalvm.compiler.core.common.calc.Condition, boolean, org.graalvm.compiler.lir.LabelRef, org.graalvm.compiler.lir.LabelRef, double);
descriptor: (Ljdk/vm/ci/amd64/AMD64Kind;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Lorg/graalvm/compiler/lir/LIRFrameState;Lorg/graalvm/compiler/core/common/calc/Condition;ZLorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=12, locals=15, 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 1
invokevirtual jdk.vm.ci.amd64.AMD64Kind.isXMM:()Z
ifeq 10
1: aload 1
getstatic jdk.vm.ci.amd64.AMD64Kind.SINGLE:Ljdk/vm/ci/amd64/AMD64Kind;
if_acmpne 5
2: aload 0
new org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$MemoryRMOp
dup
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.UCOMIS:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.PS:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
aload 0
aload 2
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
aload 3
aload 4
invokespecial org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$MemoryRMOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Lorg/graalvm/compiler/lir/LIRFrameState;)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
3: aload 0
new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$FloatBranchOp
dup
aload 5
iload 6
aload 7
aload 8
dload 9
invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$FloatBranchOp.<init>:(Lorg/graalvm/compiler/core/common/calc/Condition;ZLorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
4: goto 26
StackMap locals:
StackMap stack:
5: aload 1
getstatic jdk.vm.ci.amd64.AMD64Kind.DOUBLE:Ljdk/vm/ci/amd64/AMD64Kind;
if_acmpne 9
6: aload 0
new org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$MemoryRMOp
dup
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp.UCOMIS:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$SSEOp;
getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.PD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
aload 0
aload 2
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
aload 3
aload 4
invokespecial org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$MemoryRMOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Lorg/graalvm/compiler/lir/LIRFrameState;)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
7: aload 0
new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$FloatBranchOp
dup
aload 5
iload 6
aload 7
aload 8
dload 9
invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$FloatBranchOp.<init>:(Lorg/graalvm/compiler/core/common/calc/Condition;ZLorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
8: goto 26
9: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "unexpected kind: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
10: StackMap locals:
StackMap stack:
aload 1
invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.get:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
astore 11
start local 11 11: aload 2
invokestatic org.graalvm.compiler.lir.LIRValueUtil.isConstantValue:(Ljdk/vm/ci/meta/Value;)Z
ifeq 25
12: aload 2
invokestatic org.graalvm.compiler.lir.LIRValueUtil.asConstantValue:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/ConstantValue;
astore 12
start local 12 13: aload 12
invokevirtual org.graalvm.compiler.lir.ConstantValue.getConstant:()Ljdk/vm/ci/meta/Constant;
invokestatic jdk.vm.ci.meta.JavaConstant.isNull:(Ljdk/vm/ci/meta/Constant;)Z
ifeq 16
14: aload 0
new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CmpConstBranchOp
dup
aload 11
aload 3
iconst_0
aload 4
aload 5
invokevirtual org.graalvm.compiler.core.common.calc.Condition.mirror:()Lorg/graalvm/compiler/core/common/calc/Condition;
aload 7
aload 8
dload 9
invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CmpConstBranchOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;ILorg/graalvm/compiler/lir/LIRFrameState;Lorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
15: return
16: StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize org.graalvm.compiler.lir.ConstantValue
StackMap stack:
aload 12
invokevirtual org.graalvm.compiler.lir.ConstantValue.getConstant:()Ljdk/vm/ci/meta/Constant;
instanceof jdk.vm.ci.meta.VMConstant
ifeq 20
aload 11
getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
if_acmpne 20
aload 0
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.target:()Ljdk/vm/ci/code/TargetDescription;
getfield jdk.vm.ci.code.TargetDescription.inlineObjects:Z
ifeq 20
17: aload 12
invokevirtual org.graalvm.compiler.lir.ConstantValue.getConstant:()Ljdk/vm/ci/meta/Constant;
checkcast jdk.vm.ci.meta.VMConstant
astore 13
start local 13 18: aload 0
new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CmpConstBranchOp
dup
aload 11
aload 3
aload 13
aload 4
aload 5
invokevirtual org.graalvm.compiler.core.common.calc.Condition.mirror:()Lorg/graalvm/compiler/core/common/calc/Condition;
aload 7
aload 8
dload 9
invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CmpConstBranchOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/VMConstant;Lorg/graalvm/compiler/lir/LIRFrameState;Lorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
19: return
end local 13 20: StackMap locals:
StackMap stack:
aload 12
invokevirtual org.graalvm.compiler.lir.ConstantValue.getConstant:()Ljdk/vm/ci/meta/Constant;
instanceof jdk.vm.ci.meta.JavaConstant
ifeq 25
aload 12
invokevirtual org.graalvm.compiler.lir.ConstantValue.getJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
if_acmpeq 25
21: aload 12
invokevirtual org.graalvm.compiler.lir.ConstantValue.getJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
lstore 13
start local 13 22: lload 13
invokestatic org.graalvm.compiler.core.common.NumUtil.is32bit:(J)Z
ifeq 25
23: aload 0
new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CmpConstBranchOp
dup
aload 11
aload 3
lload 13
l2i
aload 4
aload 5
invokevirtual org.graalvm.compiler.core.common.calc.Condition.mirror:()Lorg/graalvm/compiler/core/common/calc/Condition;
aload 7
aload 8
dload 9
invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CmpConstBranchOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;ILorg/graalvm/compiler/lir/LIRFrameState;Lorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
24: return
end local 13 end local 12 25: StackMap locals:
StackMap stack:
aload 0
new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CmpBranchOp
dup
aload 11
aload 0
aload 2
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
aload 3
aload 4
aload 5
aload 7
aload 8
dload 9
invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CmpBranchOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;Lorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
end local 11 26: 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 27 0 this Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
0 27 1 cmpKind Ljdk/vm/ci/amd64/AMD64Kind;
0 27 2 left Ljdk/vm/ci/meta/Value;
0 27 3 right Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;
0 27 4 state Lorg/graalvm/compiler/lir/LIRFrameState;
0 27 5 cond Lorg/graalvm/compiler/core/common/calc/Condition;
0 27 6 unorderedIsTrue Z
0 27 7 trueLabel Lorg/graalvm/compiler/lir/LabelRef;
0 27 8 falseLabel Lorg/graalvm/compiler/lir/LabelRef;
0 27 9 trueLabelProbability D
11 26 11 size Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
13 25 12 a Lorg/graalvm/compiler/lir/ConstantValue;
18 20 13 vc Ljdk/vm/ci/meta/VMConstant;
22 25 13 value J
MethodParameters:
Name Flags
cmpKind
left
right
state
cond
unorderedIsTrue
trueLabel
falseLabel
trueLabelProbability
public void emitOverflowCheckBranch(org.graalvm.compiler.lir.LabelRef, org.graalvm.compiler.lir.LabelRef, org.graalvm.compiler.core.common.LIRKind, double);
descriptor: (Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/core/common/LIRKind;D)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$BranchOp
dup
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag.Overflow:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;
aload 1
aload 2
dload 4
invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$BranchOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$ConditionFlag;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
1: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
0 2 1 overflow Lorg/graalvm/compiler/lir/LabelRef;
0 2 2 noOverflow Lorg/graalvm/compiler/lir/LabelRef;
0 2 3 cmpLIRKind Lorg/graalvm/compiler/core/common/LIRKind;
0 2 4 overflowProbability D
MethodParameters:
Name Flags
overflow
noOverflow
cmpLIRKind
overflowProbability
public void emitIntegerTestBranch(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, org.graalvm.compiler.lir.LabelRef, org.graalvm.compiler.lir.LabelRef, double);
descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=12, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 1
invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
invokeinterface jdk.vm.ci.meta.PlatformKind.getVectorLength:()I
iconst_1
if_icmple 4
1: aload 0
new org.graalvm.compiler.lir.amd64.vector.AMD64VectorCompareOp
dup
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMOp.VPTEST:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRMOp;
aload 1
invokestatic org.graalvm.compiler.core.amd64.AMD64LIRGenerator.getRegisterSize:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
aload 0
aload 1
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
aload 0
aload 2
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
invokespecial org.graalvm.compiler.lir.amd64.vector.AMD64VectorCompareOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRMOp;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
2: aload 0
new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$BranchOp
dup
getstatic org.graalvm.compiler.core.common.calc.Condition.EQ:Lorg/graalvm/compiler/core/common/calc/Condition;
aload 3
aload 4
dload 5
invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$BranchOp.<init>:(Lorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
3: goto 18
4: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.core.amd64.AMD64LIRGenerator.$assertionsDisabled:Z
ifne 5
aload 1
invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
checkcast jdk.vm.ci.amd64.AMD64Kind
invokevirtual jdk.vm.ci.amd64.AMD64Kind.isInteger:()Z
ifne 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals:
StackMap stack:
aload 1
invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
getstatic jdk.vm.ci.amd64.AMD64Kind.QWORD:Ljdk/vm/ci/amd64/AMD64Kind;
if_acmpne 6
getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
goto 7
StackMap locals:
StackMap stack:
6: getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
StackMap locals:
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize
7: astore 7
start local 7 8: aload 2
invokestatic org.graalvm.compiler.lir.LIRValueUtil.isJavaConstant:(Ljdk/vm/ci/meta/Value;)Z
ifeq 11
aload 2
invokestatic org.graalvm.compiler.lir.LIRValueUtil.asJavaConstant:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
invokestatic org.graalvm.compiler.core.common.NumUtil.is32bit:(J)Z
ifeq 11
9: aload 0
new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$TestConstBranchOp
dup
aload 7
aload 0
aload 1
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
aload 2
invokestatic org.graalvm.compiler.lir.LIRValueUtil.asJavaConstant:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
l2i
aconst_null
getstatic org.graalvm.compiler.core.common.calc.Condition.EQ:Lorg/graalvm/compiler/core/common/calc/Condition;
aload 3
aload 4
dload 5
invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$TestConstBranchOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;ILorg/graalvm/compiler/lir/LIRFrameState;Lorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
10: goto 18
StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize
StackMap stack:
11: aload 1
invokestatic org.graalvm.compiler.lir.LIRValueUtil.isJavaConstant:(Ljdk/vm/ci/meta/Value;)Z
ifeq 14
aload 1
invokestatic org.graalvm.compiler.lir.LIRValueUtil.asJavaConstant:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
invokestatic org.graalvm.compiler.core.common.NumUtil.is32bit:(J)Z
ifeq 14
12: aload 0
new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$TestConstBranchOp
dup
aload 7
aload 0
aload 2
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
aload 1
invokestatic org.graalvm.compiler.lir.LIRValueUtil.asJavaConstant:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
l2i
aconst_null
getstatic org.graalvm.compiler.core.common.calc.Condition.EQ:Lorg/graalvm/compiler/core/common/calc/Condition;
aload 3
aload 4
dload 5
invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$TestConstBranchOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/Value;ILorg/graalvm/compiler/lir/LIRFrameState;Lorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
13: goto 18
StackMap locals:
StackMap stack:
14: aload 2
invokestatic jdk.vm.ci.code.ValueUtil.isAllocatableValue:(Ljdk/vm/ci/meta/Value;)Z
ifeq 17
15: aload 0
new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$TestBranchOp
dup
aload 7
aload 0
aload 2
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
aload 0
aload 1
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
aconst_null
getstatic org.graalvm.compiler.core.common.calc.Condition.EQ:Lorg/graalvm/compiler/core/common/calc/Condition;
aload 3
aload 4
dload 5
invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$TestBranchOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;Lorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
16: goto 18
17: StackMap locals:
StackMap stack:
aload 0
new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$TestBranchOp
dup
aload 7
aload 0
aload 1
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
aload 0
aload 2
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
aconst_null
getstatic org.graalvm.compiler.core.common.calc.Condition.EQ:Lorg/graalvm/compiler/core/common/calc/Condition;
aload 3
aload 4
dload 5
invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$TestBranchOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;Lorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
end local 7 18: StackMap locals:
StackMap stack:
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 19 0 this Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
0 19 1 left Ljdk/vm/ci/meta/Value;
0 19 2 right Ljdk/vm/ci/meta/Value;
0 19 3 trueDestination Lorg/graalvm/compiler/lir/LabelRef;
0 19 4 falseDestination Lorg/graalvm/compiler/lir/LabelRef;
0 19 5 trueDestinationProbability D
8 18 7 size Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
MethodParameters:
Name Flags
left
right
trueDestination
falseDestination
trueDestinationProbability
public org.graalvm.compiler.lir.Variable emitConditionalMove(jdk.vm.ci.meta.PlatformKind, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, org.graalvm.compiler.core.common.calc.Condition, boolean, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
descriptor: (Ljdk/vm/ci/meta/PlatformKind;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/core/common/calc/Condition;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=14, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 1
getstatic jdk.vm.ci.amd64.AMD64Kind.SINGLE:Ljdk/vm/ci/amd64/AMD64Kind;
if_acmpeq 1
aload 1
getstatic jdk.vm.ci.amd64.AMD64Kind.DOUBLE:Ljdk/vm/ci/amd64/AMD64Kind;
if_acmpeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: istore 8
start local 8 3: aload 4
astore 9
start local 9 4: aload 6
astore 10
start local 10 5: aload 7
astore 11
start local 11 6: iload 8
ifeq 22
7: aload 2
astore 12
start local 12 8: aload 3
astore 13
start local 13 9: iload 5
aload 9
invokestatic org.graalvm.compiler.lir.amd64.AMD64ControlFlow.trueOnUnordered:(Lorg/graalvm/compiler/core/common/calc/Condition;)Z
if_icmpeq 20
10: iload 5
aload 9
invokevirtual org.graalvm.compiler.core.common.calc.Condition.mirror:()Lorg/graalvm/compiler/core/common/calc/Condition;
invokestatic org.graalvm.compiler.lir.amd64.AMD64ControlFlow.trueOnUnordered:(Lorg/graalvm/compiler/core/common/calc/Condition;)Z
if_icmpne 15
11: aload 9
invokevirtual org.graalvm.compiler.core.common.calc.Condition.mirror:()Lorg/graalvm/compiler/core/common/calc/Condition;
astore 9
12: aload 3
astore 12
13: aload 2
astore 13
14: goto 20
StackMap locals: org.graalvm.compiler.core.amd64.AMD64LIRGenerator jdk.vm.ci.meta.PlatformKind jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value org.graalvm.compiler.core.common.calc.Condition int jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value int org.graalvm.compiler.core.common.calc.Condition jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value
StackMap stack:
15: aload 9
getstatic org.graalvm.compiler.core.common.calc.Condition.EQ:Lorg/graalvm/compiler/core/common/calc/Condition;
if_acmpeq 20
aload 9
getstatic org.graalvm.compiler.core.common.calc.Condition.NE:Lorg/graalvm/compiler/core/common/calc/Condition;
if_acmpeq 20
16: getstatic org.graalvm.compiler.core.amd64.AMD64LIRGenerator.$assertionsDisabled:Z
ifne 17
iload 5
aload 9
invokevirtual org.graalvm.compiler.core.common.calc.Condition.negate:()Lorg/graalvm/compiler/core/common/calc/Condition;
invokestatic org.graalvm.compiler.lir.amd64.AMD64ControlFlow.trueOnUnordered:(Lorg/graalvm/compiler/core/common/calc/Condition;)Z
if_icmpeq 17
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
17: StackMap locals:
StackMap stack:
aload 9
invokevirtual org.graalvm.compiler.core.common.calc.Condition.negate:()Lorg/graalvm/compiler/core/common/calc/Condition;
astore 9
18: aload 7
astore 10
19: aload 6
astore 11
20: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 12
aload 13
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitRawCompare:(Ljdk/vm/ci/meta/PlatformKind;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)V
end local 13 end local 12 21: goto 23
22: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 3
aload 4
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitCompare:(Ljdk/vm/ci/meta/PlatformKind;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/core/common/calc/Condition;)Lorg/graalvm/compiler/core/common/calc/Condition;
astore 9
23: StackMap locals:
StackMap stack:
iload 8
ifeq 24
aload 9
getstatic org.graalvm.compiler.core.common.calc.Condition.EQ:Lorg/graalvm/compiler/core/common/calc/Condition;
if_acmpne 24
aload 2
aload 3
invokevirtual jdk.vm.ci.meta.Value.equals:(Ljava/lang/Object;)Z
ifeq 24
iconst_1
goto 25
StackMap locals:
StackMap stack:
24: iconst_0
StackMap locals:
StackMap stack: int
25: istore 12
start local 12 26: aload 0
aload 9
aload 10
aload 11
iload 8
iload 5
iload 12
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitCondMoveOp:(Lorg/graalvm/compiler/core/common/calc/Condition;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;ZZZ)Lorg/graalvm/compiler/lir/Variable;
areturn
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 27 0 this Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
0 27 1 cmpKind Ljdk/vm/ci/meta/PlatformKind;
0 27 2 left Ljdk/vm/ci/meta/Value;
0 27 3 right Ljdk/vm/ci/meta/Value;
0 27 4 cond Lorg/graalvm/compiler/core/common/calc/Condition;
0 27 5 unorderedIsTrue Z
0 27 6 trueValue Ljdk/vm/ci/meta/Value;
0 27 7 falseValue Ljdk/vm/ci/meta/Value;
3 27 8 isFloatComparison Z
4 27 9 finalCondition Lorg/graalvm/compiler/core/common/calc/Condition;
5 27 10 finalTrueValue Ljdk/vm/ci/meta/Value;
6 27 11 finalFalseValue Ljdk/vm/ci/meta/Value;
8 21 12 finalLeft Ljdk/vm/ci/meta/Value;
9 21 13 finalRight Ljdk/vm/ci/meta/Value;
26 27 12 isSelfEqualsCheck Z
MethodParameters:
Name Flags
cmpKind
left
right
cond
unorderedIsTrue
trueValue
falseValue
private org.graalvm.compiler.lir.Variable emitCondMoveOp(org.graalvm.compiler.core.common.calc.Condition, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, boolean, boolean);
descriptor: (Lorg/graalvm/compiler/core/common/calc/Condition;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;ZZ)Lorg/graalvm/compiler/lir/Variable;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
aload 2
aload 3
iload 4
iload 5
iconst_0
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitCondMoveOp:(Lorg/graalvm/compiler/core/common/calc/Condition;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;ZZZ)Lorg/graalvm/compiler/lir/Variable;
areturn
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 1 0 this Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
0 1 1 condition Lorg/graalvm/compiler/core/common/calc/Condition;
0 1 2 trueValue Ljdk/vm/ci/meta/Value;
0 1 3 falseValue Ljdk/vm/ci/meta/Value;
0 1 4 isFloatComparison Z
0 1 5 unorderedIsTrue Z
MethodParameters:
Name Flags
condition
trueValue
falseValue
isFloatComparison
unorderedIsTrue
private org.graalvm.compiler.lir.Variable emitCondMoveOp(org.graalvm.compiler.core.common.calc.Condition, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, boolean, boolean, boolean);
descriptor: (Lorg/graalvm/compiler/core/common/calc/Condition;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;ZZZ)Lorg/graalvm/compiler/lir/Variable;
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=10, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: iload 4
ifeq 1
iload 5
aload 1
invokestatic org.graalvm.compiler.lir.amd64.AMD64ControlFlow.trueOnUnordered:(Lorg/graalvm/compiler/core/common/calc/Condition;)Z
if_icmpeq 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 7
start local 7 3: aload 0
aload 2
invokevirtual jdk.vm.ci.meta.Value.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
astore 8
start local 8 4: iload 7
ifne 10
aload 2
lconst_1
invokestatic org.graalvm.compiler.lir.LIRValueUtil.isIntConstant:(Ljdk/vm/ci/meta/Value;J)Z
ifeq 10
aload 3
lconst_0
invokestatic org.graalvm.compiler.lir.LIRValueUtil.isIntConstant:(Ljdk/vm/ci/meta/Value;J)Z
ifeq 10
5: iload 4
ifeq 8
6: aload 0
new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$FloatCondSetOp
dup
aload 8
aload 1
invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$FloatCondSetOp.<init>:(Lorg/graalvm/compiler/lir/Variable;Lorg/graalvm/compiler/core/common/calc/Condition;)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
7: goto 26
8: StackMap locals: int org.graalvm.compiler.lir.Variable
StackMap stack:
aload 0
new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CondSetOp
dup
aload 8
aload 1
invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CondSetOp.<init>:(Lorg/graalvm/compiler/lir/Variable;Lorg/graalvm/compiler/core/common/calc/Condition;)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
9: goto 26
StackMap locals:
StackMap stack:
10: iload 7
ifne 22
aload 2
lconst_0
invokestatic org.graalvm.compiler.lir.LIRValueUtil.isIntConstant:(Ljdk/vm/ci/meta/Value;J)Z
ifeq 22
aload 3
lconst_1
invokestatic org.graalvm.compiler.lir.LIRValueUtil.isIntConstant:(Ljdk/vm/ci/meta/Value;J)Z
ifeq 22
11: iload 4
ifeq 20
12: iload 5
aload 1
invokevirtual org.graalvm.compiler.core.common.calc.Condition.negate:()Lorg/graalvm/compiler/core/common/calc/Condition;
invokestatic org.graalvm.compiler.lir.amd64.AMD64ControlFlow.trueOnUnordered:(Lorg/graalvm/compiler/core/common/calc/Condition;)Z
if_icmpne 15
13: aload 0
new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$FloatCondSetOp
dup
aload 8
aload 1
invokevirtual org.graalvm.compiler.core.common.calc.Condition.negate:()Lorg/graalvm/compiler/core/common/calc/Condition;
invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$FloatCondSetOp.<init>:(Lorg/graalvm/compiler/lir/Variable;Lorg/graalvm/compiler/core/common/calc/Condition;)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
14: goto 26
15: StackMap locals:
StackMap stack:
aload 0
new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$FloatCondSetOp
dup
aload 8
aload 1
invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$FloatCondSetOp.<init>:(Lorg/graalvm/compiler/lir/Variable;Lorg/graalvm/compiler/core/common/calc/Condition;)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
16: aload 0
aload 8
invokevirtual org.graalvm.compiler.lir.Variable.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
astore 9
start local 9 17: aload 0
new org.graalvm.compiler.lir.amd64.AMD64Binary$ConstOp
dup
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic.XOR:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;
aload 8
invokevirtual org.graalvm.compiler.lir.Variable.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
invokestatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.get:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
aload 9
aload 8
iconst_1
invokespecial org.graalvm.compiler.lir.amd64.AMD64Binary$ConstOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64BinaryArithmetic;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;I)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
18: aload 9
astore 8
end local 9 19: goto 26
20: StackMap locals:
StackMap stack:
aload 0
new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CondSetOp
dup
aload 8
aload 1
invokevirtual org.graalvm.compiler.core.common.calc.Condition.negate:()Lorg/graalvm/compiler/core/common/calc/Condition;
invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CondSetOp.<init>:(Lorg/graalvm/compiler/lir/Variable;Lorg/graalvm/compiler/core/common/calc/Condition;)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
21: goto 26
StackMap locals:
StackMap stack:
22: iload 4
ifeq 25
23: aload 0
new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$FloatCondMoveOp
dup
aload 8
aload 1
iload 5
aload 0
aload 2
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.load:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
aload 0
aload 3
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.load:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
iload 6
invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$FloatCondMoveOp.<init>:(Lorg/graalvm/compiler/lir/Variable;Lorg/graalvm/compiler/core/common/calc/Condition;ZLorg/graalvm/compiler/lir/Variable;Lorg/graalvm/compiler/lir/Variable;Z)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
24: goto 26
25: StackMap locals:
StackMap stack:
aload 0
new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CondMoveOp
dup
aload 8
aload 1
aload 0
aload 2
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.load:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
aload 0
aload 3
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.loadNonConst:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CondMoveOp.<init>:(Lorg/graalvm/compiler/lir/Variable;Lorg/graalvm/compiler/core/common/calc/Condition;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
26: StackMap locals:
StackMap stack:
aload 8
areturn
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/core/amd64/AMD64LIRGenerator;
0 27 1 condition Lorg/graalvm/compiler/core/common/calc/Condition;
0 27 2 trueValue Ljdk/vm/ci/meta/Value;
0 27 3 falseValue Ljdk/vm/ci/meta/Value;
0 27 4 isFloatComparison Z
0 27 5 unorderedIsTrue Z
0 27 6 isSelfEqualsCheck Z
3 27 7 isParityCheckNecessary Z
4 27 8 result Lorg/graalvm/compiler/lir/Variable;
17 19 9 negatedResult Lorg/graalvm/compiler/lir/Variable;
MethodParameters:
Name Flags
condition
trueValue
falseValue
isFloatComparison
unorderedIsTrue
isSelfEqualsCheck
public org.graalvm.compiler.lir.Variable emitIntegerTestMove(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitIntegerTest:(Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)V
1: aload 0
getstatic org.graalvm.compiler.core.common.calc.Condition.EQ:Lorg/graalvm/compiler/core/common/calc/Condition;
aload 0
aload 3
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.load:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
aload 0
aload 4
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.loadNonConst:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
iconst_0
iconst_0
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitCondMoveOp:(Lorg/graalvm/compiler/core/common/calc/Condition;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;ZZ)Lorg/graalvm/compiler/lir/Variable;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
0 2 1 left Ljdk/vm/ci/meta/Value;
0 2 2 right Ljdk/vm/ci/meta/Value;
0 2 3 trueValue Ljdk/vm/ci/meta/Value;
0 2 4 falseValue Ljdk/vm/ci/meta/Value;
MethodParameters:
Name Flags
left
right
trueValue
falseValue
protected static org.graalvm.compiler.asm.amd64.AVXKind$AVXSize getRegisterSize(jdk.vm.ci.meta.Value);
descriptor: (Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
checkcast jdk.vm.ci.amd64.AMD64Kind
astore 1
start local 1 1: aload 1
invokevirtual jdk.vm.ci.amd64.AMD64Kind.isXMM:()Z
ifeq 3
2: aload 1
invokestatic org.graalvm.compiler.asm.amd64.AVXKind.getRegisterSize:(Ljdk/vm/ci/amd64/AMD64Kind;)Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
areturn
3: StackMap locals: jdk.vm.ci.amd64.AMD64Kind
StackMap stack:
getstatic org.graalvm.compiler.asm.amd64.AVXKind$AVXSize.XMM:Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 a Ljdk/vm/ci/meta/Value;
1 4 1 kind Ljdk/vm/ci/amd64/AMD64Kind;
MethodParameters:
Name Flags
a
private void emitIntegerTest(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
invokeinterface jdk.vm.ci.meta.PlatformKind.getVectorLength:()I
iconst_1
if_icmple 3
1: aload 0
new org.graalvm.compiler.lir.amd64.vector.AMD64VectorCompareOp
dup
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMOp.VPTEST:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRMOp;
aload 1
invokestatic org.graalvm.compiler.core.amd64.AMD64LIRGenerator.getRegisterSize:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;
aload 0
aload 1
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
aload 0
aload 2
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
invokespecial org.graalvm.compiler.lir.amd64.vector.AMD64VectorCompareOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$VexRMOp;Lorg/graalvm/compiler/asm/amd64/AVXKind$AVXSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
2: goto 17
3: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.core.amd64.AMD64LIRGenerator.$assertionsDisabled:Z
ifne 4
aload 1
invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
checkcast jdk.vm.ci.amd64.AMD64Kind
invokevirtual jdk.vm.ci.amd64.AMD64Kind.isInteger:()Z
ifne 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
aload 1
invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
getstatic jdk.vm.ci.amd64.AMD64Kind.QWORD:Ljdk/vm/ci/amd64/AMD64Kind;
if_acmpne 5
getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.QWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
goto 6
StackMap locals:
StackMap stack:
5: getstatic org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize.DWORD:Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
StackMap locals:
StackMap stack: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize
6: astore 3
start local 3 7: aload 2
invokestatic org.graalvm.compiler.lir.LIRValueUtil.isJavaConstant:(Ljdk/vm/ci/meta/Value;)Z
ifeq 10
aload 2
invokestatic org.graalvm.compiler.lir.LIRValueUtil.asJavaConstant:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
invokestatic org.graalvm.compiler.core.common.NumUtil.is32bit:(J)Z
ifeq 10
8: aload 0
new org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$ConstOp
dup
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MIOp.TEST:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MIOp;
aload 3
aload 0
aload 1
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
aload 2
invokestatic org.graalvm.compiler.lir.LIRValueUtil.asJavaConstant:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
l2i
invokespecial org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$ConstOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MIOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;I)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
9: goto 17
StackMap locals: org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize
StackMap stack:
10: aload 1
invokestatic org.graalvm.compiler.lir.LIRValueUtil.isJavaConstant:(Ljdk/vm/ci/meta/Value;)Z
ifeq 13
aload 1
invokestatic org.graalvm.compiler.lir.LIRValueUtil.asJavaConstant:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
invokestatic org.graalvm.compiler.core.common.NumUtil.is32bit:(J)Z
ifeq 13
11: aload 0
new org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$ConstOp
dup
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MIOp.TEST:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MIOp;
aload 3
aload 0
aload 2
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
aload 1
invokestatic org.graalvm.compiler.lir.LIRValueUtil.asJavaConstant:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
l2i
invokespecial org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$ConstOp.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64MIOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;I)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
12: goto 17
StackMap locals:
StackMap stack:
13: aload 2
invokestatic jdk.vm.ci.code.ValueUtil.isAllocatableValue:(Ljdk/vm/ci/meta/Value;)Z
ifeq 16
14: aload 0
new org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$Op
dup
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.TEST:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
aload 3
aload 0
aload 2
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
aload 0
aload 1
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
invokespecial org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$Op.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
15: goto 17
16: StackMap locals:
StackMap stack:
aload 0
new org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$Op
dup
getstatic org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp.TEST:Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;
aload 3
aload 0
aload 1
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
aload 0
aload 2
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
invokespecial org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$Op.<init>:(Lorg/graalvm/compiler/asm/amd64/AMD64Assembler$AMD64RMOp;Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
end local 3 17: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
0 18 1 a Ljdk/vm/ci/meta/Value;
0 18 2 b Ljdk/vm/ci/meta/Value;
7 17 3 size Lorg/graalvm/compiler/asm/amd64/AMD64BaseAssembler$OperandSize;
MethodParameters:
Name Flags
a
b
private org.graalvm.compiler.core.common.calc.Condition emitCompare(jdk.vm.ci.meta.PlatformKind, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, org.graalvm.compiler.core.common.calc.Condition);
descriptor: (Ljdk/vm/ci/meta/PlatformKind;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/core/common/calc/Condition;)Lorg/graalvm/compiler/core/common/calc/Condition;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 3
invokestatic org.graalvm.compiler.lir.LIRValueUtil.isVariable:(Ljdk/vm/ci/meta/Value;)Z
ifeq 3
1: aload 0
aload 1
aload 3
aload 2
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitRawCompare:(Ljdk/vm/ci/meta/PlatformKind;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)V
2: aload 4
invokevirtual org.graalvm.compiler.core.common.calc.Condition.mirror:()Lorg/graalvm/compiler/core/common/calc/Condition;
areturn
3: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 3
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitRawCompare:(Ljdk/vm/ci/meta/PlatformKind;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)V
4: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
0 5 1 cmpKind Ljdk/vm/ci/meta/PlatformKind;
0 5 2 a Ljdk/vm/ci/meta/Value;
0 5 3 b Ljdk/vm/ci/meta/Value;
0 5 4 cond Lorg/graalvm/compiler/core/common/calc/Condition;
MethodParameters:
Name Flags
cmpKind
a
b
cond
private void emitRawCompare(jdk.vm.ci.meta.PlatformKind, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
descriptor: (Ljdk/vm/ci/meta/PlatformKind;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.graalvm.compiler.core.amd64.AMD64LIRGenerator.arithmeticLIRGen:Lorg/graalvm/compiler/lir/gen/ArithmeticLIRGenerator;
checkcast org.graalvm.compiler.lir.amd64.AMD64ArithmeticLIRGeneratorTool
aload 1
checkcast jdk.vm.ci.amd64.AMD64Kind
aload 0
aload 2
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.load:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
aload 0
aload 3
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.loadNonConst:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
invokeinterface org.graalvm.compiler.lir.amd64.AMD64ArithmeticLIRGeneratorTool.emitCompareOp:(Ljdk/vm/ci/amd64/AMD64Kind;Lorg/graalvm/compiler/lir/Variable;Ljdk/vm/ci/meta/Value;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
0 2 1 cmpKind Ljdk/vm/ci/meta/PlatformKind;
0 2 2 left Ljdk/vm/ci/meta/Value;
0 2 3 right Ljdk/vm/ci/meta/Value;
MethodParameters:
Name Flags
cmpKind
left
right
public void emitMembar(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.target:()Ljdk/vm/ci/code/TargetDescription;
getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
iload 1
invokevirtual jdk.vm.ci.code.Architecture.requiredBarriers:(I)I
istore 2
start local 2 1: aload 0
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.target:()Ljdk/vm/ci/code/TargetDescription;
getfield jdk.vm.ci.code.TargetDescription.isMP:Z
ifeq 3
iload 2
ifeq 3
2: aload 0
new org.graalvm.compiler.lir.amd64.AMD64Move$MembarOp
dup
iload 2
invokespecial org.graalvm.compiler.lir.amd64.AMD64Move$MembarOp.<init>:(I)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
3: StackMap locals: int
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
0 4 1 barriers I
1 4 2 necessaryBarriers I
MethodParameters:
Name Flags
barriers
public abstract void emitCCall(long, jdk.vm.ci.code.CallingConvention, jdk.vm.ci.meta.Value[], int);
descriptor: (JLjdk/vm/ci/code/CallingConvention;[Ljdk/vm/ci/meta/Value;I)V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
address
nativeCallingConvention
args
numberOfFloatingPointArguments
protected void emitForeignCallOp(org.graalvm.compiler.core.common.spi.ForeignCallLinkage, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value[], jdk.vm.ci.meta.Value[], org.graalvm.compiler.lir.LIRFrameState);
descriptor: (Lorg/graalvm/compiler/core/common/spi/ForeignCallLinkage;Ljdk/vm/ci/meta/Value;[Ljdk/vm/ci/meta/Value;[Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=8, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 1
invokeinterface org.graalvm.compiler.core.common.spi.ForeignCallLinkage.getMaxCallTargetOffset:()J
lstore 6
start local 6 1: lload 6
lload 6
l2i
i2l
lcmp
ifeq 4
getstatic org.graalvm.compiler.core.common.GraalOptions.GeneratePIC:Lorg/graalvm/compiler/options/OptionKey;
aload 0
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.getResult:()Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getLIR:()Lorg/graalvm/compiler/lir/LIR;
invokevirtual org.graalvm.compiler.lir.LIR.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifne 4
2: aload 0
new org.graalvm.compiler.lir.amd64.AMD64Call$DirectFarForeignCallOp
dup
aload 1
aload 2
aload 3
aload 4
aload 5
invokespecial org.graalvm.compiler.lir.amd64.AMD64Call$DirectFarForeignCallOp.<init>:(Lorg/graalvm/compiler/core/common/spi/ForeignCallLinkage;Ljdk/vm/ci/meta/Value;[Ljdk/vm/ci/meta/Value;[Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
3: goto 5
4: StackMap locals: long
StackMap stack:
aload 0
new org.graalvm.compiler.lir.amd64.AMD64Call$DirectNearForeignCallOp
dup
aload 1
aload 2
aload 3
aload 4
aload 5
invokespecial org.graalvm.compiler.lir.amd64.AMD64Call$DirectNearForeignCallOp.<init>:(Lorg/graalvm/compiler/core/common/spi/ForeignCallLinkage;Ljdk/vm/ci/meta/Value;[Ljdk/vm/ci/meta/Value;[Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
5: StackMap locals:
StackMap stack:
return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
0 6 1 linkage Lorg/graalvm/compiler/core/common/spi/ForeignCallLinkage;
0 6 2 result Ljdk/vm/ci/meta/Value;
0 6 3 arguments [Ljdk/vm/ci/meta/Value;
0 6 4 temps [Ljdk/vm/ci/meta/Value;
0 6 5 info Lorg/graalvm/compiler/lir/LIRFrameState;
1 6 6 maxOffset J
MethodParameters:
Name Flags
linkage
result
arguments
temps
info
public org.graalvm.compiler.lir.Variable emitByteSwap(jdk.vm.ci.meta.Value);
descriptor: (Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
iconst_1
anewarray jdk.vm.ci.meta.Value
dup
iconst_0
aload 1
aastore
invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
astore 2
start local 2 1: aload 0
new org.graalvm.compiler.lir.amd64.AMD64ByteSwapOp
dup
aload 2
aload 1
invokespecial org.graalvm.compiler.lir.amd64.AMD64ByteSwapOp.<init>:(Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
2: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
0 3 1 input Ljdk/vm/ci/meta/Value;
1 3 2 result Lorg/graalvm/compiler/lir/Variable;
MethodParameters:
Name Flags
input
public org.graalvm.compiler.lir.Variable emitArrayCompareTo(jdk.vm.ci.meta.JavaKind, jdk.vm.ci.meta.JavaKind, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
descriptor: (Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=12, locals=12, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: getstatic jdk.vm.ci.amd64.AMD64Kind.DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
invokestatic org.graalvm.compiler.core.common.LIRKind.value:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
astore 7
start local 7 1: getstatic jdk.vm.ci.amd64.AMD64.rax:Ljdk/vm/ci/code/Register;
aload 7
invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
astore 8
start local 8 2: getstatic jdk.vm.ci.amd64.AMD64.rcx:Ljdk/vm/ci/code/Register;
aload 5
invokevirtual jdk.vm.ci.meta.Value.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
astore 9
start local 9 3: getstatic jdk.vm.ci.amd64.AMD64.rdx:Ljdk/vm/ci/code/Register;
aload 6
invokevirtual jdk.vm.ci.meta.Value.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
astore 10
start local 10 4: aload 0
aload 9
aload 5
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitMove:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
5: aload 0
aload 10
aload 6
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitMove:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
6: aload 0
new org.graalvm.compiler.lir.amd64.AMD64ArrayCompareToOp
dup
aload 0
aload 0
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.getAVX3Threshold:()I
aload 1
aload 2
aload 8
aload 3
aload 4
aload 9
aload 10
invokespecial org.graalvm.compiler.lir.amd64.AMD64ArrayCompareToOp.<init>:(Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;ILjdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
7: aload 0
aload 7
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
astore 11
start local 11 8: aload 0
aload 11
aload 8
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitMove:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
9: aload 11
areturn
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 10 0 this Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
0 10 1 kind1 Ljdk/vm/ci/meta/JavaKind;
0 10 2 kind2 Ljdk/vm/ci/meta/JavaKind;
0 10 3 array1 Ljdk/vm/ci/meta/Value;
0 10 4 array2 Ljdk/vm/ci/meta/Value;
0 10 5 length1 Ljdk/vm/ci/meta/Value;
0 10 6 length2 Ljdk/vm/ci/meta/Value;
1 10 7 resultKind Lorg/graalvm/compiler/core/common/LIRKind;
2 10 8 raxRes Ljdk/vm/ci/code/RegisterValue;
3 10 9 cnt1 Ljdk/vm/ci/code/RegisterValue;
4 10 10 cnt2 Ljdk/vm/ci/code/RegisterValue;
8 10 11 result Lorg/graalvm/compiler/lir/Variable;
MethodParameters:
Name Flags
kind1
kind2
array1
array2
length1
length2
public org.graalvm.compiler.lir.Variable emitArrayEquals(jdk.vm.ci.meta.JavaKind, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, boolean);
descriptor: (Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Z)Lorg/graalvm/compiler/lir/Variable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=12, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
getstatic jdk.vm.ci.amd64.AMD64Kind.DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
invokestatic org.graalvm.compiler.core.common.LIRKind.value:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
astore 6
start local 6 1: aload 0
new org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp
dup
aload 0
aload 1
aload 1
aload 6
aload 2
aload 3
aload 4
iload 5
aload 0
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.getMaxVectorSize:()I
invokespecial org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.<init>:(Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;ZI)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
2: aload 6
areturn
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 3 0 this Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
0 3 1 kind Ljdk/vm/ci/meta/JavaKind;
0 3 2 array1 Ljdk/vm/ci/meta/Value;
0 3 3 array2 Ljdk/vm/ci/meta/Value;
0 3 4 length Ljdk/vm/ci/meta/Value;
0 3 5 directPointers Z
1 3 6 result Lorg/graalvm/compiler/lir/Variable;
MethodParameters:
Name Flags
kind
array1
array2
length
directPointers
public org.graalvm.compiler.lir.Variable emitArrayEquals(jdk.vm.ci.meta.JavaKind, jdk.vm.ci.meta.JavaKind, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, boolean);
descriptor: (Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Z)Lorg/graalvm/compiler/lir/Variable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=12, locals=8, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
getstatic jdk.vm.ci.amd64.AMD64Kind.DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
invokestatic org.graalvm.compiler.core.common.LIRKind.value:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
astore 7
start local 7 1: aload 0
new org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp
dup
aload 0
aload 1
aload 2
aload 7
aload 3
aload 4
aload 5
iload 6
aload 0
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.getMaxVectorSize:()I
invokespecial org.graalvm.compiler.lir.amd64.AMD64ArrayEqualsOp.<init>:(Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;ZI)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
2: aload 7
areturn
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 3 0 this Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
0 3 1 kind1 Ljdk/vm/ci/meta/JavaKind;
0 3 2 kind2 Ljdk/vm/ci/meta/JavaKind;
0 3 3 array1 Ljdk/vm/ci/meta/Value;
0 3 4 array2 Ljdk/vm/ci/meta/Value;
0 3 5 length Ljdk/vm/ci/meta/Value;
0 3 6 directPointers Z
1 3 7 result Lorg/graalvm/compiler/lir/Variable;
MethodParameters:
Name Flags
kind1
kind2
array1
array2
length
directPointers
protected int getMaxVectorSize();
descriptor: ()I
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_m1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
protected int getAVX3Threshold();
descriptor: ()I
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: sipush 4096
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
public org.graalvm.compiler.lir.Variable emitArrayIndexOf(jdk.vm.ci.meta.JavaKind, jdk.vm.ci.meta.JavaKind, boolean, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value[]);
descriptor: (Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/JavaKind;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;[Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=13, locals=9, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 0
getstatic jdk.vm.ci.amd64.AMD64Kind.DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
invokestatic org.graalvm.compiler.core.common.LIRKind.value:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
astore 8
start local 8 1: aload 0
new org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp
dup
aload 1
aload 2
iload 3
aload 0
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.getMaxVectorSize:()I
aload 0
aload 8
2: aload 0
aload 4
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
aload 0
aload 5
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
aload 0
aload 6
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
aload 7
invokespecial org.graalvm.compiler.lir.amd64.AMD64ArrayIndexOfOp.<init>:(Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/JavaKind;ZILorg/graalvm/compiler/lir/gen/LIRGeneratorTool;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;[Ljdk/vm/ci/meta/Value;)V
3: invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
4: aload 8
areturn
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 5 0 this Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
0 5 1 arrayKind Ljdk/vm/ci/meta/JavaKind;
0 5 2 valueKind Ljdk/vm/ci/meta/JavaKind;
0 5 3 findTwoConsecutive Z
0 5 4 arrayPointer Ljdk/vm/ci/meta/Value;
0 5 5 arrayLength Ljdk/vm/ci/meta/Value;
0 5 6 fromIndex Ljdk/vm/ci/meta/Value;
0 5 7 searchValues [Ljdk/vm/ci/meta/Value;
1 5 8 result Lorg/graalvm/compiler/lir/Variable;
MethodParameters:
Name Flags
arrayKind
valueKind
findTwoConsecutive
arrayPointer
arrayLength
fromIndex
searchValues
public void emitStringLatin1Inflate(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic jdk.vm.ci.amd64.AMD64.rsi:Ljdk/vm/ci/code/Register;
aload 1
invokevirtual jdk.vm.ci.meta.Value.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
astore 4
start local 4 1: getstatic jdk.vm.ci.amd64.AMD64.rdi:Ljdk/vm/ci/code/Register;
aload 2
invokevirtual jdk.vm.ci.meta.Value.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
astore 5
start local 5 2: getstatic jdk.vm.ci.amd64.AMD64.rdx:Ljdk/vm/ci/code/Register;
aload 3
invokevirtual jdk.vm.ci.meta.Value.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
astore 6
start local 6 3: aload 0
aload 4
aload 1
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitMove:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
4: aload 0
aload 5
aload 2
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitMove:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
5: aload 0
aload 6
aload 3
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitMove:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
6: aload 0
new org.graalvm.compiler.lir.amd64.AMD64StringLatin1InflateOp
dup
aload 0
aload 0
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.getAVX3Threshold:()I
aload 4
aload 5
aload 6
invokespecial org.graalvm.compiler.lir.amd64.AMD64StringLatin1InflateOp.<init>:(Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;ILjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
7: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
0 8 1 src Ljdk/vm/ci/meta/Value;
0 8 2 dst Ljdk/vm/ci/meta/Value;
0 8 3 len Ljdk/vm/ci/meta/Value;
1 8 4 rsrc Ljdk/vm/ci/code/RegisterValue;
2 8 5 rdst Ljdk/vm/ci/code/RegisterValue;
3 8 6 rlen Ljdk/vm/ci/code/RegisterValue;
MethodParameters:
Name Flags
src
dst
len
public org.graalvm.compiler.lir.Variable emitStringUTF16Compress(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic jdk.vm.ci.amd64.AMD64.rsi:Ljdk/vm/ci/code/Register;
aload 1
invokevirtual jdk.vm.ci.meta.Value.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
astore 4
start local 4 1: getstatic jdk.vm.ci.amd64.AMD64.rdi:Ljdk/vm/ci/code/Register;
aload 2
invokevirtual jdk.vm.ci.meta.Value.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
astore 5
start local 5 2: getstatic jdk.vm.ci.amd64.AMD64.rdx:Ljdk/vm/ci/code/Register;
aload 3
invokevirtual jdk.vm.ci.meta.Value.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
astore 6
start local 6 3: aload 0
aload 4
aload 1
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitMove:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
4: aload 0
aload 5
aload 2
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitMove:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
5: aload 0
aload 6
aload 3
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitMove:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
6: getstatic jdk.vm.ci.amd64.AMD64Kind.DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
invokestatic org.graalvm.compiler.core.common.LIRKind.value:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
astore 7
start local 7 7: getstatic jdk.vm.ci.amd64.AMD64.rax:Ljdk/vm/ci/code/Register;
aload 7
invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
astore 8
start local 8 8: aload 0
new org.graalvm.compiler.lir.amd64.AMD64StringUTF16CompressOp
dup
aload 0
aload 0
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.getAVX3Threshold:()I
aload 8
aload 4
aload 5
aload 6
invokespecial org.graalvm.compiler.lir.amd64.AMD64StringUTF16CompressOp.<init>:(Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;ILjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
9: aload 0
aload 7
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
astore 9
start local 9 10: aload 0
aload 9
aload 8
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitMove:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
11: aload 9
areturn
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
0 12 1 src Ljdk/vm/ci/meta/Value;
0 12 2 dst Ljdk/vm/ci/meta/Value;
0 12 3 len Ljdk/vm/ci/meta/Value;
1 12 4 rsrc Ljdk/vm/ci/code/RegisterValue;
2 12 5 rdst Ljdk/vm/ci/code/RegisterValue;
3 12 6 rlen Ljdk/vm/ci/code/RegisterValue;
7 12 7 reskind Lorg/graalvm/compiler/core/common/LIRKind;
8 12 8 rres Ljdk/vm/ci/code/RegisterValue;
10 12 9 res Lorg/graalvm/compiler/lir/Variable;
MethodParameters:
Name Flags
src
dst
len
public void emitReturn(jdk.vm.ci.meta.JavaKind, jdk.vm.ci.meta.Value);
descriptor: (Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/Value;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: getstatic jdk.vm.ci.meta.Value.ILLEGAL:Ljdk/vm/ci/meta/AllocatableValue;
astore 3
start local 3 1: aload 2
ifnull 4
2: aload 0
aload 1
aload 2
invokevirtual jdk.vm.ci.meta.Value.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.resultOperandFor:(Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/meta/AllocatableValue;
astore 3
3: aload 0
aload 3
aload 2
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitMove:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
4: StackMap locals: jdk.vm.ci.meta.AllocatableValue
StackMap stack:
aload 0
new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$ReturnOp
dup
aload 3
invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$ReturnOp.<init>:(Ljdk/vm/ci/meta/Value;)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
0 6 1 kind Ljdk/vm/ci/meta/JavaKind;
0 6 2 input Ljdk/vm/ci/meta/Value;
1 6 3 operand Ljdk/vm/ci/meta/AllocatableValue;
MethodParameters:
Name Flags
kind
input
protected org.graalvm.compiler.lir.amd64.AMD64ControlFlow$StrategySwitchOp createStrategySwitchOp(org.graalvm.compiler.lir.SwitchStrategy, org.graalvm.compiler.lir.LabelRef[], org.graalvm.compiler.lir.LabelRef, org.graalvm.compiler.lir.Variable, jdk.vm.ci.meta.AllocatableValue);
descriptor: (Lorg/graalvm/compiler/lir/SwitchStrategy;[Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/Variable;Ljdk/vm/ci/meta/AllocatableValue;)Lorg/graalvm/compiler/lir/amd64/AMD64ControlFlow$StrategySwitchOp;
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$StrategySwitchOp
dup
aload 1
aload 2
aload 3
aload 4
aload 5
invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$StrategySwitchOp.<init>:(Lorg/graalvm/compiler/lir/SwitchStrategy;[Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)V
areturn
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 1 0 this Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
0 1 1 strategy Lorg/graalvm/compiler/lir/SwitchStrategy;
0 1 2 keyTargets [Lorg/graalvm/compiler/lir/LabelRef;
0 1 3 defaultTarget Lorg/graalvm/compiler/lir/LabelRef;
0 1 4 key Lorg/graalvm/compiler/lir/Variable;
0 1 5 temp Ljdk/vm/ci/meta/AllocatableValue;
MethodParameters:
Name Flags
strategy
keyTargets
defaultTarget
key
temp
public void emitStrategySwitch(org.graalvm.compiler.lir.SwitchStrategy, org.graalvm.compiler.lir.Variable, org.graalvm.compiler.lir.LabelRef[], org.graalvm.compiler.lir.LabelRef);
descriptor: (Lorg/graalvm/compiler/lir/SwitchStrategy;Lorg/graalvm/compiler/lir/Variable;[Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
invokestatic org.graalvm.compiler.core.common.LIRKind.isValue:(Ljdk/vm/ci/meta/Value;)Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: istore 5
start local 5 3: aload 0
aload 0
aload 1
aload 3
aload 4
aload 2
iload 5
ifeq 4
aload 0
aload 2
invokevirtual org.graalvm.compiler.lir.Variable.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
goto 5
StackMap locals: org.graalvm.compiler.core.amd64.AMD64LIRGenerator org.graalvm.compiler.lir.SwitchStrategy org.graalvm.compiler.lir.Variable org.graalvm.compiler.lir.LabelRef[] org.graalvm.compiler.lir.LabelRef int
StackMap stack: org.graalvm.compiler.core.amd64.AMD64LIRGenerator org.graalvm.compiler.core.amd64.AMD64LIRGenerator org.graalvm.compiler.lir.SwitchStrategy org.graalvm.compiler.lir.LabelRef[] org.graalvm.compiler.lir.LabelRef org.graalvm.compiler.lir.Variable
4: getstatic jdk.vm.ci.meta.Value.ILLEGAL:Ljdk/vm/ci/meta/AllocatableValue;
StackMap locals: org.graalvm.compiler.core.amd64.AMD64LIRGenerator org.graalvm.compiler.lir.SwitchStrategy org.graalvm.compiler.lir.Variable org.graalvm.compiler.lir.LabelRef[] org.graalvm.compiler.lir.LabelRef int
StackMap stack: org.graalvm.compiler.core.amd64.AMD64LIRGenerator org.graalvm.compiler.core.amd64.AMD64LIRGenerator org.graalvm.compiler.lir.SwitchStrategy org.graalvm.compiler.lir.LabelRef[] org.graalvm.compiler.lir.LabelRef org.graalvm.compiler.lir.Variable jdk.vm.ci.meta.AllocatableValue
5: invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.createStrategySwitchOp:(Lorg/graalvm/compiler/lir/SwitchStrategy;[Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/Variable;Ljdk/vm/ci/meta/AllocatableValue;)Lorg/graalvm/compiler/lir/amd64/AMD64ControlFlow$StrategySwitchOp;
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
6: 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 7 0 this Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
0 7 1 strategy Lorg/graalvm/compiler/lir/SwitchStrategy;
0 7 2 key Lorg/graalvm/compiler/lir/Variable;
0 7 3 keyTargets [Lorg/graalvm/compiler/lir/LabelRef;
0 7 4 defaultTarget Lorg/graalvm/compiler/lir/LabelRef;
3 7 5 needsTemp Z
MethodParameters:
Name Flags
strategy
key
keyTargets
defaultTarget
protected void emitTableSwitch(int, org.graalvm.compiler.lir.LabelRef, org.graalvm.compiler.lir.LabelRef[], jdk.vm.ci.meta.Value);
descriptor: (ILorg/graalvm/compiler/lir/LabelRef;[Lorg/graalvm/compiler/lir/LabelRef;Ljdk/vm/ci/meta/Value;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=10, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$TableSwitchOp
dup
iload 1
aload 2
aload 3
aload 4
aload 0
aload 0
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.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;
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
aload 0
aload 4
invokevirtual jdk.vm.ci.meta.Value.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$TableSwitchOp.<init>:(ILorg/graalvm/compiler/lir/LabelRef;[Lorg/graalvm/compiler/lir/LabelRef;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/Variable;Lorg/graalvm/compiler/lir/Variable;)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
1: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
0 2 1 lowKey I
0 2 2 defaultTarget Lorg/graalvm/compiler/lir/LabelRef;
0 2 3 targets [Lorg/graalvm/compiler/lir/LabelRef;
0 2 4 key Ljdk/vm/ci/meta/Value;
MethodParameters:
Name Flags
lowKey
defaultTarget
targets
key
protected java.util.Optional<org.graalvm.compiler.lir.hashing.IntHasher> hasherFor(jdk.vm.ci.meta.JavaConstant[], double);
descriptor: ([Ljdk/vm/ci/meta/JavaConstant;D)Ljava/util/Optional;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
arraylength
newarray 10
astore 4
start local 4 1: iconst_0
istore 5
start local 5 2: goto 5
3: StackMap locals: int[] int
StackMap stack:
aload 4
iload 5
aload 1
iload 5
aaload
invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
iastore
4: iinc 5 1
StackMap locals:
StackMap stack:
5: iload 5
aload 1
arraylength
if_icmplt 3
end local 5 6: aload 4
invokestatic org.graalvm.compiler.lir.hashing.IntHasher.forKeys:([I)Ljava/util/Optional;
areturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
0 7 1 keyConstants [Ljdk/vm/ci/meta/JavaConstant;
0 7 2 minDensity D
1 7 4 keys [I
2 6 5 i I
Signature: ([Ljdk/vm/ci/meta/JavaConstant;D)Ljava/util/Optional<Lorg/graalvm/compiler/lir/hashing/IntHasher;>;
MethodParameters:
Name Flags
keyConstants
minDensity
protected void emitHashTableSwitch(org.graalvm.compiler.lir.hashing.IntHasher, jdk.vm.ci.meta.JavaConstant[], org.graalvm.compiler.lir.LabelRef, org.graalvm.compiler.lir.LabelRef[], jdk.vm.ci.meta.Value);
descriptor: (Lorg/graalvm/compiler/lir/hashing/IntHasher;[Ljdk/vm/ci/meta/JavaConstant;Lorg/graalvm/compiler/lir/LabelRef;[Lorg/graalvm/compiler/lir/LabelRef;Ljdk/vm/ci/meta/Value;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=10, locals=10, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 5
astore 6
start local 6 1: aload 1
getfield org.graalvm.compiler.lir.hashing.IntHasher.factor:S
iconst_1
if_icmple 4
2: aload 0
aload 1
getfield org.graalvm.compiler.lir.hashing.IntHasher.factor:S
invokestatic jdk.vm.ci.meta.JavaConstant.forShort:(S)Ljdk/vm/ci/meta/PrimitiveConstant;
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitJavaConstant:(Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/Value;
astore 7
start local 7 3: aload 0
getfield org.graalvm.compiler.core.amd64.AMD64LIRGenerator.arithmeticLIRGen:Lorg/graalvm/compiler/lir/gen/ArithmeticLIRGenerator;
aload 6
aload 7
iconst_0
invokevirtual org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator.emitMul:(Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Z)Ljdk/vm/ci/meta/Value;
astore 6
end local 7 4: StackMap locals: jdk.vm.ci.meta.Value
StackMap stack:
aload 1
getfield org.graalvm.compiler.lir.hashing.IntHasher.shift:B
ifle 7
5: aload 0
aload 1
getfield org.graalvm.compiler.lir.hashing.IntHasher.shift:B
invokestatic jdk.vm.ci.meta.JavaConstant.forByte:(B)Ljdk/vm/ci/meta/PrimitiveConstant;
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitJavaConstant:(Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/Value;
astore 7
start local 7 6: aload 0
getfield org.graalvm.compiler.core.amd64.AMD64LIRGenerator.arithmeticLIRGen:Lorg/graalvm/compiler/lir/gen/ArithmeticLIRGenerator;
aload 6
aload 7
invokevirtual org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator.emitShr:(Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
astore 6
end local 7 7: StackMap locals:
StackMap stack:
aload 0
aload 1
getfield org.graalvm.compiler.lir.hashing.IntHasher.cardinality:I
iconst_1
isub
invokestatic jdk.vm.ci.meta.JavaConstant.forInt:(I)Ljdk/vm/ci/meta/PrimitiveConstant;
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitJavaConstant:(Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/Value;
astore 7
start local 7 8: aload 0
getfield org.graalvm.compiler.core.amd64.AMD64LIRGenerator.arithmeticLIRGen:Lorg/graalvm/compiler/lir/gen/ArithmeticLIRGenerator;
aload 6
aload 7
invokevirtual org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator.emitAnd:(Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
astore 6
9: aload 0
aload 0
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.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;
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
astore 8
start local 8 10: aload 0
aload 0
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.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;
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
astore 9
start local 9 11: aload 0
new org.graalvm.compiler.lir.amd64.AMD64ControlFlow$HashTableSwitchOp
dup
aload 2
aload 3
aload 4
aload 5
aload 6
aload 8
aload 9
invokespecial org.graalvm.compiler.lir.amd64.AMD64ControlFlow$HashTableSwitchOp.<init>:([Ljdk/vm/ci/meta/JavaConstant;Lorg/graalvm/compiler/lir/LabelRef;[Lorg/graalvm/compiler/lir/LabelRef;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/Variable;Lorg/graalvm/compiler/lir/Variable;)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
12: 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 13 0 this Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
0 13 1 hasher Lorg/graalvm/compiler/lir/hashing/IntHasher;
0 13 2 keys [Ljdk/vm/ci/meta/JavaConstant;
0 13 3 defaultTarget Lorg/graalvm/compiler/lir/LabelRef;
0 13 4 targets [Lorg/graalvm/compiler/lir/LabelRef;
0 13 5 value Ljdk/vm/ci/meta/Value;
1 13 6 hash Ljdk/vm/ci/meta/Value;
3 4 7 factor Ljdk/vm/ci/meta/Value;
6 7 7 shift Ljdk/vm/ci/meta/Value;
8 13 7 cardinalityAnd Ljdk/vm/ci/meta/Value;
10 13 8 scratch Lorg/graalvm/compiler/lir/Variable;
11 13 9 entryScratch Lorg/graalvm/compiler/lir/Variable;
MethodParameters:
Name Flags
hasher
keys
defaultTarget
targets
value
public void emitPause();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
new org.graalvm.compiler.lir.amd64.AMD64PauseOp
dup
invokespecial org.graalvm.compiler.lir.amd64.AMD64PauseOp.<init>:()V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
public org.graalvm.compiler.lir.StandardOp$ZapRegistersOp createZapRegisters(jdk.vm.ci.code.Register[], jdk.vm.ci.meta.JavaConstant[]);
descriptor: ([Ljdk/vm/ci/code/Register;[Ljdk/vm/ci/meta/JavaConstant;)Lorg/graalvm/compiler/lir/StandardOp$ZapRegistersOp;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new org.graalvm.compiler.lir.amd64.AMD64ZapRegistersOp
dup
aload 1
aload 2
invokespecial org.graalvm.compiler.lir.amd64.AMD64ZapRegistersOp.<init>:([Ljdk/vm/ci/code/Register;[Ljdk/vm/ci/meta/JavaConstant;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
0 1 1 zappedRegisters [Ljdk/vm/ci/code/Register;
0 1 2 zapValues [Ljdk/vm/ci/meta/JavaConstant;
MethodParameters:
Name Flags
zappedRegisters
zapValues
public org.graalvm.compiler.lir.LIRInstruction createZapArgumentSpace(jdk.vm.ci.code.StackSlot[], jdk.vm.ci.meta.JavaConstant[]);
descriptor: ([Ljdk/vm/ci/code/StackSlot;[Ljdk/vm/ci/meta/JavaConstant;)Lorg/graalvm/compiler/lir/LIRInstruction;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new org.graalvm.compiler.lir.amd64.AMD64ZapStackOp
dup
aload 1
aload 2
invokespecial org.graalvm.compiler.lir.amd64.AMD64ZapStackOp.<init>:([Ljdk/vm/ci/code/StackSlot;[Ljdk/vm/ci/meta/JavaConstant;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
0 1 1 zappedStack [Ljdk/vm/ci/code/StackSlot;
0 1 2 zapValues [Ljdk/vm/ci/meta/JavaConstant;
MethodParameters:
Name Flags
zappedStack
zapValues
public void emitSpeculationFence();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
new org.graalvm.compiler.lir.amd64.AMD64LFenceOp
dup
invokespecial org.graalvm.compiler.lir.amd64.AMD64LFenceOp.<init>:()V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
public void emitZeroMemory(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, boolean);
descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic jdk.vm.ci.amd64.AMD64.rcx:Ljdk/vm/ci/code/Register;
aload 2
invokevirtual jdk.vm.ci.meta.Value.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
astore 4
start local 4 1: aload 0
aload 4
aload 2
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitMove:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
2: aload 0
new org.graalvm.compiler.lir.amd64.AMD64ZeroMemoryOp
dup
aload 0
aload 1
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.asAddressValue:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;
aload 4
invokespecial org.graalvm.compiler.lir.amd64.AMD64ZeroMemoryOp.<init>:(Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Ljdk/vm/ci/code/RegisterValue;)V
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
3: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
0 4 1 address Ljdk/vm/ci/meta/Value;
0 4 2 length Ljdk/vm/ci/meta/Value;
0 4 3 isAligned Z
1 4 4 lengthReg Ljdk/vm/ci/code/RegisterValue;
MethodParameters:
Name Flags
address
length
isAligned
static int[] $SWITCH_TABLE$jdk$vm$ci$meta$JavaKind();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic org.graalvm.compiler.core.amd64.AMD64LIRGenerator.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic jdk.vm.ci.meta.JavaKind.values:()[Ljdk/vm/ci/meta/JavaKind;
arraylength
newarray 10
astore 0
2: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iconst_1
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Byte:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iconst_2
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Char:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iconst_4
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
bipush 8
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
bipush 6
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Illegal:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
bipush 11
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iconst_5
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
bipush 7
iastore
24: goto 26
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
25: pop
StackMap locals:
StackMap stack:
26: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
bipush 9
iastore
27: goto 29
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
28: pop
StackMap locals:
StackMap stack:
29: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Short:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iconst_3
iastore
30: goto 32
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
31: pop
StackMap locals:
StackMap stack:
32: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
bipush 10
iastore
33: goto 35
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
34: pop
StackMap locals:
StackMap stack:
35: aload 0
dup
putstatic org.graalvm.compiler.core.amd64.AMD64LIRGenerator.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
20 21 22 Class java.lang.NoSuchFieldError
23 24 25 Class java.lang.NoSuchFieldError
26 27 28 Class java.lang.NoSuchFieldError
29 30 31 Class java.lang.NoSuchFieldError
32 33 34 Class java.lang.NoSuchFieldError
static int[] $SWITCH_TABLE$jdk$vm$ci$amd64$AMD64Kind();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic org.graalvm.compiler.core.amd64.AMD64LIRGenerator.$SWITCH_TABLE$jdk$vm$ci$amd64$AMD64Kind:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic jdk.vm.ci.amd64.AMD64Kind.values:()[Ljdk/vm/ci/amd64/AMD64Kind;
arraylength
newarray 10
astore 0
2: aload 0
getstatic jdk.vm.ci.amd64.AMD64Kind.BYTE:Ljdk/vm/ci/amd64/AMD64Kind;
invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
iconst_1
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic jdk.vm.ci.amd64.AMD64Kind.DOUBLE:Ljdk/vm/ci/amd64/AMD64Kind;
invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
bipush 6
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic jdk.vm.ci.amd64.AMD64Kind.DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
iconst_3
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic jdk.vm.ci.amd64.AMD64Kind.MASK16:Ljdk/vm/ci/amd64/AMD64Kind;
invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
bipush 31
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic jdk.vm.ci.amd64.AMD64Kind.MASK32:Ljdk/vm/ci/amd64/AMD64Kind;
invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
bipush 32
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic jdk.vm.ci.amd64.AMD64Kind.MASK64:Ljdk/vm/ci/amd64/AMD64Kind;
invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
bipush 33
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic jdk.vm.ci.amd64.AMD64Kind.MASK8:Ljdk/vm/ci/amd64/AMD64Kind;
invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
bipush 30
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
getstatic jdk.vm.ci.amd64.AMD64Kind.QWORD:Ljdk/vm/ci/amd64/AMD64Kind;
invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
iconst_4
iastore
24: goto 26
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
25: pop
StackMap locals:
StackMap stack:
26: aload 0
getstatic jdk.vm.ci.amd64.AMD64Kind.SINGLE:Ljdk/vm/ci/amd64/AMD64Kind;
invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
iconst_5
iastore
27: goto 29
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
28: pop
StackMap locals:
StackMap stack:
29: aload 0
getstatic jdk.vm.ci.amd64.AMD64Kind.V128_BYTE:Ljdk/vm/ci/amd64/AMD64Kind;
invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
bipush 12
iastore
30: goto 32
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
31: pop
StackMap locals:
StackMap stack:
32: aload 0
getstatic jdk.vm.ci.amd64.AMD64Kind.V128_DOUBLE:Ljdk/vm/ci/amd64/AMD64Kind;
invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
bipush 17
iastore
33: goto 35
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
34: pop
StackMap locals:
StackMap stack:
35: aload 0
getstatic jdk.vm.ci.amd64.AMD64Kind.V128_DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
bipush 14
iastore
36: goto 38
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
37: pop
StackMap locals:
StackMap stack:
38: aload 0
getstatic jdk.vm.ci.amd64.AMD64Kind.V128_QWORD:Ljdk/vm/ci/amd64/AMD64Kind;
invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
bipush 15
iastore
39: goto 41
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
40: pop
StackMap locals:
StackMap stack:
41: aload 0
getstatic jdk.vm.ci.amd64.AMD64Kind.V128_SINGLE:Ljdk/vm/ci/amd64/AMD64Kind;
invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
bipush 16
iastore
42: goto 44
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
43: pop
StackMap locals:
StackMap stack:
44: aload 0
getstatic jdk.vm.ci.amd64.AMD64Kind.V128_WORD:Ljdk/vm/ci/amd64/AMD64Kind;
invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
bipush 13
iastore
45: goto 47
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
46: pop
StackMap locals:
StackMap stack:
47: aload 0
getstatic jdk.vm.ci.amd64.AMD64Kind.V256_BYTE:Ljdk/vm/ci/amd64/AMD64Kind;
invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
bipush 18
iastore
48: goto 50
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
49: pop
StackMap locals:
StackMap stack:
50: aload 0
getstatic jdk.vm.ci.amd64.AMD64Kind.V256_DOUBLE:Ljdk/vm/ci/amd64/AMD64Kind;
invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
bipush 23
iastore
51: goto 53
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
52: pop
StackMap locals:
StackMap stack:
53: aload 0
getstatic jdk.vm.ci.amd64.AMD64Kind.V256_DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
bipush 20
iastore
54: goto 56
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
55: pop
StackMap locals:
StackMap stack:
56: aload 0
getstatic jdk.vm.ci.amd64.AMD64Kind.V256_QWORD:Ljdk/vm/ci/amd64/AMD64Kind;
invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
bipush 21
iastore
57: goto 59
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
58: pop
StackMap locals:
StackMap stack:
59: aload 0
getstatic jdk.vm.ci.amd64.AMD64Kind.V256_SINGLE:Ljdk/vm/ci/amd64/AMD64Kind;
invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
bipush 22
iastore
60: goto 62
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
61: pop
StackMap locals:
StackMap stack:
62: aload 0
getstatic jdk.vm.ci.amd64.AMD64Kind.V256_WORD:Ljdk/vm/ci/amd64/AMD64Kind;
invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
bipush 19
iastore
63: goto 65
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
64: pop
StackMap locals:
StackMap stack:
65: aload 0
getstatic jdk.vm.ci.amd64.AMD64Kind.V32_BYTE:Ljdk/vm/ci/amd64/AMD64Kind;
invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
bipush 7
iastore
66: goto 68
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
67: pop
StackMap locals:
StackMap stack:
68: aload 0
getstatic jdk.vm.ci.amd64.AMD64Kind.V32_WORD:Ljdk/vm/ci/amd64/AMD64Kind;
invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
bipush 8
iastore
69: goto 71
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
70: pop
StackMap locals:
StackMap stack:
71: aload 0
getstatic jdk.vm.ci.amd64.AMD64Kind.V512_BYTE:Ljdk/vm/ci/amd64/AMD64Kind;
invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
bipush 24
iastore
72: goto 74
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
73: pop
StackMap locals:
StackMap stack:
74: aload 0
getstatic jdk.vm.ci.amd64.AMD64Kind.V512_DOUBLE:Ljdk/vm/ci/amd64/AMD64Kind;
invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
bipush 29
iastore
75: goto 77
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
76: pop
StackMap locals:
StackMap stack:
77: aload 0
getstatic jdk.vm.ci.amd64.AMD64Kind.V512_DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
bipush 26
iastore
78: goto 80
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
79: pop
StackMap locals:
StackMap stack:
80: aload 0
getstatic jdk.vm.ci.amd64.AMD64Kind.V512_QWORD:Ljdk/vm/ci/amd64/AMD64Kind;
invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
bipush 27
iastore
81: goto 83
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
82: pop
StackMap locals:
StackMap stack:
83: aload 0
getstatic jdk.vm.ci.amd64.AMD64Kind.V512_SINGLE:Ljdk/vm/ci/amd64/AMD64Kind;
invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
bipush 28
iastore
84: goto 86
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
85: pop
StackMap locals:
StackMap stack:
86: aload 0
getstatic jdk.vm.ci.amd64.AMD64Kind.V512_WORD:Ljdk/vm/ci/amd64/AMD64Kind;
invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
bipush 25
iastore
87: goto 89
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
88: pop
StackMap locals:
StackMap stack:
89: aload 0
getstatic jdk.vm.ci.amd64.AMD64Kind.V64_BYTE:Ljdk/vm/ci/amd64/AMD64Kind;
invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
bipush 9
iastore
90: goto 92
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
91: pop
StackMap locals:
StackMap stack:
92: aload 0
getstatic jdk.vm.ci.amd64.AMD64Kind.V64_DWORD:Ljdk/vm/ci/amd64/AMD64Kind;
invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
bipush 11
iastore
93: goto 95
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
94: pop
StackMap locals:
StackMap stack:
95: aload 0
getstatic jdk.vm.ci.amd64.AMD64Kind.V64_WORD:Ljdk/vm/ci/amd64/AMD64Kind;
invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
bipush 10
iastore
96: goto 98
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
97: pop
StackMap locals:
StackMap stack:
98: aload 0
getstatic jdk.vm.ci.amd64.AMD64Kind.WORD:Ljdk/vm/ci/amd64/AMD64Kind;
invokevirtual jdk.vm.ci.amd64.AMD64Kind.ordinal:()I
iconst_2
iastore
99: goto 101
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
100: pop
StackMap locals:
StackMap stack:
101: aload 0
dup
putstatic org.graalvm.compiler.core.amd64.AMD64LIRGenerator.$SWITCH_TABLE$jdk$vm$ci$amd64$AMD64Kind:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
20 21 22 Class java.lang.NoSuchFieldError
23 24 25 Class java.lang.NoSuchFieldError
26 27 28 Class java.lang.NoSuchFieldError
29 30 31 Class java.lang.NoSuchFieldError
32 33 34 Class java.lang.NoSuchFieldError
35 36 37 Class java.lang.NoSuchFieldError
38 39 40 Class java.lang.NoSuchFieldError
41 42 43 Class java.lang.NoSuchFieldError
44 45 46 Class java.lang.NoSuchFieldError
47 48 49 Class java.lang.NoSuchFieldError
50 51 52 Class java.lang.NoSuchFieldError
53 54 55 Class java.lang.NoSuchFieldError
56 57 58 Class java.lang.NoSuchFieldError
59 60 61 Class java.lang.NoSuchFieldError
62 63 64 Class java.lang.NoSuchFieldError
65 66 67 Class java.lang.NoSuchFieldError
68 69 70 Class java.lang.NoSuchFieldError
71 72 73 Class java.lang.NoSuchFieldError
74 75 76 Class java.lang.NoSuchFieldError
77 78 79 Class java.lang.NoSuchFieldError
80 81 82 Class java.lang.NoSuchFieldError
83 84 85 Class java.lang.NoSuchFieldError
86 87 88 Class java.lang.NoSuchFieldError
89 90 91 Class java.lang.NoSuchFieldError
92 93 94 Class java.lang.NoSuchFieldError
95 96 97 Class java.lang.NoSuchFieldError
98 99 100 Class java.lang.NoSuchFieldError
}
SourceFile: "AMD64LIRGenerator.java"
InnerClasses:
public final AMD64BinaryArithmetic = org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64BinaryArithmetic of org.graalvm.compiler.asm.amd64.AMD64Assembler
public AMD64MIOp = org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64MIOp of org.graalvm.compiler.asm.amd64.AMD64Assembler
public AMD64RMOp = org.graalvm.compiler.asm.amd64.AMD64Assembler$AMD64RMOp of org.graalvm.compiler.asm.amd64.AMD64Assembler
public final ConditionFlag = org.graalvm.compiler.asm.amd64.AMD64Assembler$ConditionFlag of org.graalvm.compiler.asm.amd64.AMD64Assembler
public SSEOp = org.graalvm.compiler.asm.amd64.AMD64Assembler$SSEOp of org.graalvm.compiler.asm.amd64.AMD64Assembler
public VexRMOp = org.graalvm.compiler.asm.amd64.AMD64Assembler$VexRMOp of org.graalvm.compiler.asm.amd64.AMD64Assembler
public OperandSize = org.graalvm.compiler.asm.amd64.AMD64BaseAssembler$OperandSize of org.graalvm.compiler.asm.amd64.AMD64BaseAssembler
public final AVXSize = org.graalvm.compiler.asm.amd64.AVXKind$AVXSize of org.graalvm.compiler.asm.amd64.AVXKind
public JumpOp = org.graalvm.compiler.lir.StandardOp$JumpOp of org.graalvm.compiler.lir.StandardOp
public abstract ZapRegistersOp = org.graalvm.compiler.lir.StandardOp$ZapRegistersOp of org.graalvm.compiler.lir.StandardOp
public ConstOp = org.graalvm.compiler.lir.amd64.AMD64Binary$ConstOp of org.graalvm.compiler.lir.amd64.AMD64Binary
public ConstOp = org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$ConstOp of org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer
public MemoryRMOp = org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$MemoryRMOp of org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer
public Op = org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer$Op of org.graalvm.compiler.lir.amd64.AMD64BinaryConsumer
public final DirectFarForeignCallOp = org.graalvm.compiler.lir.amd64.AMD64Call$DirectFarForeignCallOp of org.graalvm.compiler.lir.amd64.AMD64Call
public final DirectNearForeignCallOp = org.graalvm.compiler.lir.amd64.AMD64Call$DirectNearForeignCallOp of org.graalvm.compiler.lir.amd64.AMD64Call
public BranchOp = org.graalvm.compiler.lir.amd64.AMD64ControlFlow$BranchOp of org.graalvm.compiler.lir.amd64.AMD64ControlFlow
public CmpBranchOp = org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CmpBranchOp of org.graalvm.compiler.lir.amd64.AMD64ControlFlow
public CmpConstBranchOp = org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CmpConstBranchOp of org.graalvm.compiler.lir.amd64.AMD64ControlFlow
public CmpDataBranchOp = org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CmpDataBranchOp of org.graalvm.compiler.lir.amd64.AMD64ControlFlow
public final CondMoveOp = org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CondMoveOp of org.graalvm.compiler.lir.amd64.AMD64ControlFlow
public final CondSetOp = org.graalvm.compiler.lir.amd64.AMD64ControlFlow$CondSetOp of org.graalvm.compiler.lir.amd64.AMD64ControlFlow
public final FloatBranchOp = org.graalvm.compiler.lir.amd64.AMD64ControlFlow$FloatBranchOp of org.graalvm.compiler.lir.amd64.AMD64ControlFlow
public final FloatCondMoveOp = org.graalvm.compiler.lir.amd64.AMD64ControlFlow$FloatCondMoveOp of org.graalvm.compiler.lir.amd64.AMD64ControlFlow
public final FloatCondSetOp = org.graalvm.compiler.lir.amd64.AMD64ControlFlow$FloatCondSetOp of org.graalvm.compiler.lir.amd64.AMD64ControlFlow
public final HashTableSwitchOp = org.graalvm.compiler.lir.amd64.AMD64ControlFlow$HashTableSwitchOp of org.graalvm.compiler.lir.amd64.AMD64ControlFlow
public final ReturnOp = org.graalvm.compiler.lir.amd64.AMD64ControlFlow$ReturnOp of org.graalvm.compiler.lir.amd64.AMD64ControlFlow
public StrategySwitchOp = org.graalvm.compiler.lir.amd64.AMD64ControlFlow$StrategySwitchOp of org.graalvm.compiler.lir.amd64.AMD64ControlFlow
public final TableSwitchOp = org.graalvm.compiler.lir.amd64.AMD64ControlFlow$TableSwitchOp of org.graalvm.compiler.lir.amd64.AMD64ControlFlow
public TestBranchOp = org.graalvm.compiler.lir.amd64.AMD64ControlFlow$TestBranchOp of org.graalvm.compiler.lir.amd64.AMD64ControlFlow
public TestByteBranchOp = org.graalvm.compiler.lir.amd64.AMD64ControlFlow$TestByteBranchOp of org.graalvm.compiler.lir.amd64.AMD64ControlFlow
public TestConstBranchOp = org.graalvm.compiler.lir.amd64.AMD64ControlFlow$TestConstBranchOp of org.graalvm.compiler.lir.amd64.AMD64ControlFlow
public final AtomicReadAndAddOp = org.graalvm.compiler.lir.amd64.AMD64Move$AtomicReadAndAddOp of org.graalvm.compiler.lir.amd64.AMD64Move
public final AtomicReadAndWriteOp = org.graalvm.compiler.lir.amd64.AMD64Move$AtomicReadAndWriteOp of org.graalvm.compiler.lir.amd64.AMD64Move
public final CompareAndSwapOp = org.graalvm.compiler.lir.amd64.AMD64Move$CompareAndSwapOp of org.graalvm.compiler.lir.amd64.AMD64Move
public final MembarOp = org.graalvm.compiler.lir.amd64.AMD64Move$MembarOp of org.graalvm.compiler.lir.amd64.AMD64Move
public final NullCheckOp = org.graalvm.compiler.lir.amd64.AMD64Move$NullCheckOp of org.graalvm.compiler.lir.amd64.AMD64Move
public final StackLeaOp = org.graalvm.compiler.lir.amd64.AMD64Move$StackLeaOp of org.graalvm.compiler.lir.amd64.AMD64Move
public abstract MoveFactory = org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory of org.graalvm.compiler.lir.gen.LIRGeneratorTool