public abstract class org.graalvm.compiler.lir.gen.LIRGenerator implements org.graalvm.compiler.lir.gen.LIRGeneratorTool
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.graalvm.compiler.lir.gen.LIRGenerator
super_class: java.lang.Object
{
private final org.graalvm.compiler.core.common.spi.LIRKindTool lirKindTool;
descriptor: Lorg/graalvm/compiler/core/common/spi/LIRKindTool;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.graalvm.compiler.core.common.spi.CodeGenProviders providers;
descriptor: Lorg/graalvm/compiler/core/common/spi/CodeGenProviders;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?> currentBlock;
descriptor: Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
flags: (0x0002) ACC_PRIVATE
Signature: Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
private org.graalvm.compiler.lir.gen.LIRGenerationResult res;
descriptor: Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
flags: (0x0002) ACC_PRIVATE
protected final org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator arithmeticLIRGen;
descriptor: Lorg/graalvm/compiler/lir/gen/ArithmeticLIRGenerator;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
private final org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory moveFactory;
descriptor: Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean printIrWithLir;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int traceLIRGeneratorLevel;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory spillMoveFactory;
descriptor: Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;
flags: (0x0002) ACC_PRIVATE
org.graalvm.compiler.graph.NodeSourcePosition currentPosition;
descriptor: Lorg/graalvm/compiler/graph/NodeSourcePosition;
flags: (0x0000)
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/graalvm/compiler/lir/gen/LIRGenerator;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic org.graalvm.compiler.lir.gen.LIRGenerator.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.graalvm.compiler.core.common.spi.LIRKindTool, org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator, org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory, org.graalvm.compiler.core.common.spi.CodeGenProviders, org.graalvm.compiler.lir.gen.LIRGenerationResult);
descriptor: (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
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, 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
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.graalvm.compiler.lir.gen.LIRGenerator.lirKindTool:Lorg/graalvm/compiler/core/common/spi/LIRKindTool;
2: aload 0
aload 2
putfield org.graalvm.compiler.lir.gen.LIRGenerator.arithmeticLIRGen:Lorg/graalvm/compiler/lir/gen/ArithmeticLIRGenerator;
3: aload 0
aload 5
putfield org.graalvm.compiler.lir.gen.LIRGenerator.res:Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
4: aload 0
aload 4
putfield org.graalvm.compiler.lir.gen.LIRGenerator.providers:Lorg/graalvm/compiler/core/common/spi/CodeGenProviders;
5: aload 5
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;
astore 6
start local 6 6: aload 0
invokestatic org.graalvm.compiler.debug.TTY.isSuppressed:()Z
ifne 7
getstatic org.graalvm.compiler.lir.gen.LIRGenerator$Options.PrintIRWithLIR:Lorg/graalvm/compiler/options/OptionKey;
aload 6
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
ifeq 7
iconst_1
goto 8
StackMap locals: org.graalvm.compiler.lir.gen.LIRGenerator org.graalvm.compiler.core.common.spi.LIRKindTool org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory org.graalvm.compiler.core.common.spi.CodeGenProviders org.graalvm.compiler.lir.gen.LIRGenerationResult org.graalvm.compiler.options.OptionValues
StackMap stack: org.graalvm.compiler.lir.gen.LIRGenerator
7: iconst_0
StackMap locals: org.graalvm.compiler.lir.gen.LIRGenerator org.graalvm.compiler.core.common.spi.LIRKindTool org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory org.graalvm.compiler.core.common.spi.CodeGenProviders org.graalvm.compiler.lir.gen.LIRGenerationResult org.graalvm.compiler.options.OptionValues
StackMap stack: org.graalvm.compiler.lir.gen.LIRGenerator int
8: putfield org.graalvm.compiler.lir.gen.LIRGenerator.printIrWithLir:Z
9: aload 0
invokestatic org.graalvm.compiler.debug.TTY.isSuppressed:()Z
ifeq 10
iconst_0
goto 11
StackMap locals:
StackMap stack: org.graalvm.compiler.lir.gen.LIRGenerator
10: getstatic org.graalvm.compiler.lir.gen.LIRGenerator$Options.TraceLIRGeneratorLevel:Lorg/graalvm/compiler/options/OptionKey;
aload 6
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
StackMap locals: org.graalvm.compiler.lir.gen.LIRGenerator org.graalvm.compiler.core.common.spi.LIRKindTool org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory org.graalvm.compiler.core.common.spi.CodeGenProviders org.graalvm.compiler.lir.gen.LIRGenerationResult org.graalvm.compiler.options.OptionValues
StackMap stack: org.graalvm.compiler.lir.gen.LIRGenerator int
11: putfield org.graalvm.compiler.lir.gen.LIRGenerator.traceLIRGeneratorLevel:I
12: getstatic org.graalvm.compiler.lir.gen.LIRGenerator.$assertionsDisabled:Z
ifne 13
aload 2
getfield org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator.lirGen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
ifnull 13
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
13: StackMap locals:
StackMap stack:
aload 2
aload 0
putfield org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator.lirGen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
14: aload 0
aload 3
putfield org.graalvm.compiler.lir.gen.LIRGenerator.moveFactory:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;
15: 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 16 0 this Lorg/graalvm/compiler/lir/gen/LIRGenerator;
0 16 1 lirKindTool Lorg/graalvm/compiler/core/common/spi/LIRKindTool;
0 16 2 arithmeticLIRGen Lorg/graalvm/compiler/lir/gen/ArithmeticLIRGenerator;
0 16 3 moveFactory Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;
0 16 4 providers Lorg/graalvm/compiler/core/common/spi/CodeGenProviders;
0 16 5 res Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
6 16 6 options Lorg/graalvm/compiler/options/OptionValues;
MethodParameters:
Name Flags
lirKindTool
arithmeticLIRGen
moveFactory
providers
res
public org.graalvm.compiler.lir.gen.ArithmeticLIRGeneratorTool getArithmetic();
descriptor: ()Lorg/graalvm/compiler/lir/gen/ArithmeticLIRGeneratorTool;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.lir.gen.LIRGenerator.arithmeticLIRGen:Lorg/graalvm/compiler/lir/gen/ArithmeticLIRGenerator;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/lir/gen/LIRGenerator;
public org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory getMoveFactory();
descriptor: ()Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.lir.gen.LIRGenerator.moveFactory:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/lir/gen/LIRGenerator;
public org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory getSpillMoveFactory();
descriptor: ()Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.lir.gen.LIRGenerator.spillMoveFactory:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;
ifnonnull 7
1: iconst_0
istore 1
start local 1 2: getstatic org.graalvm.compiler.lir.gen.LIRGenerator.$assertionsDisabled:Z
ifne 3
iconst_1
dup
istore 1
ifne 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals: int
StackMap stack:
iload 1
ifeq 6
4: aload 0
new org.graalvm.compiler.lir.gen.VerifyingMoveFactory
dup
aload 0
getfield org.graalvm.compiler.lir.gen.LIRGenerator.moveFactory:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;
invokespecial org.graalvm.compiler.lir.gen.VerifyingMoveFactory.<init>:(Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;)V
putfield org.graalvm.compiler.lir.gen.LIRGenerator.spillMoveFactory:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;
5: goto 7
6: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.graalvm.compiler.lir.gen.LIRGenerator.moveFactory:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;
putfield org.graalvm.compiler.lir.gen.LIRGenerator.spillMoveFactory:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;
end local 1 7: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.lir.gen.LIRGenerator.spillMoveFactory:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/graalvm/compiler/lir/gen/LIRGenerator;
2 7 1 verify Z
public org.graalvm.compiler.core.common.LIRKind getValueKind(jdk.vm.ci.meta.JavaKind);
descriptor: (Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/core/common/LIRKind;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.target:()Ljdk/vm/ci/code/TargetDescription;
getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
aload 1
invokestatic org.graalvm.compiler.core.common.LIRKind.fromJavaKind:(Ljdk/vm/ci/code/Architecture;Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/core/common/LIRKind;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/lir/gen/LIRGenerator;
0 1 1 javaKind Ljdk/vm/ci/meta/JavaKind;
MethodParameters:
Name Flags
javaKind
public jdk.vm.ci.code.TargetDescription target();
descriptor: ()Ljdk/vm/ci/code/TargetDescription;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.getCodeCache:()Ljdk/vm/ci/code/CodeCacheProvider;
invokeinterface jdk.vm.ci.code.CodeCacheProvider.getTarget:()Ljdk/vm/ci/code/TargetDescription;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/lir/gen/LIRGenerator;
public org.graalvm.compiler.core.common.spi.CodeGenProviders getProviders();
descriptor: ()Lorg/graalvm/compiler/core/common/spi/CodeGenProviders;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.lir.gen.LIRGenerator.providers:Lorg/graalvm/compiler/core/common/spi/CodeGenProviders;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/lir/gen/LIRGenerator;
public jdk.vm.ci.meta.MetaAccessProvider getMetaAccess();
descriptor: ()Ljdk/vm/ci/meta/MetaAccessProvider;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.lir.gen.LIRGenerator.providers:Lorg/graalvm/compiler/core/common/spi/CodeGenProviders;
invokeinterface org.graalvm.compiler.core.common.spi.CodeGenProviders.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/lir/gen/LIRGenerator;
public jdk.vm.ci.code.CodeCacheProvider getCodeCache();
descriptor: ()Ljdk/vm/ci/code/CodeCacheProvider;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.lir.gen.LIRGenerator.providers:Lorg/graalvm/compiler/core/common/spi/CodeGenProviders;
invokeinterface org.graalvm.compiler.core.common.spi.CodeGenProviders.getCodeCache:()Ljdk/vm/ci/code/CodeCacheProvider;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/lir/gen/LIRGenerator;
public org.graalvm.compiler.core.common.spi.ForeignCallsProvider getForeignCalls();
descriptor: ()Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.lir.gen.LIRGenerator.providers:Lorg/graalvm/compiler/core/common/spi/CodeGenProviders;
invokeinterface org.graalvm.compiler.core.common.spi.CodeGenProviders.getForeignCalls:()Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/lir/gen/LIRGenerator;
public org.graalvm.compiler.core.common.spi.LIRKindTool getLIRKindTool();
descriptor: ()Lorg/graalvm/compiler/core/common/spi/LIRKindTool;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.lir.gen.LIRGenerator.lirKindTool:Lorg/graalvm/compiler/core/common/spi/LIRKindTool;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/lir/gen/LIRGenerator;
public org.graalvm.compiler.lir.Variable newVariable(jdk.vm.ci.meta.ValueKind<?>);
descriptor: (Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new org.graalvm.compiler.lir.Variable
dup
aload 1
aload 0
getfield org.graalvm.compiler.lir.gen.LIRGenerator.res:Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getLIR:()Lorg/graalvm/compiler/lir/LIR;
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator$VariableProvider.nextVariable:()I
invokespecial org.graalvm.compiler.lir.Variable.<init>:(Ljdk/vm/ci/meta/ValueKind;I)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/lir/gen/LIRGenerator;
0 1 1 valueKind Ljdk/vm/ci/meta/ValueKind<*>;
Signature: (Ljdk/vm/ci/meta/ValueKind<*>;)Lorg/graalvm/compiler/lir/Variable;
MethodParameters:
Name Flags
valueKind
public jdk.vm.ci.code.RegisterConfig getRegisterConfig();
descriptor: ()Ljdk/vm/ci/code/RegisterConfig;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.lir.gen.LIRGenerator.res:Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getRegisterConfig:()Ljdk/vm/ci/code/RegisterConfig;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/lir/gen/LIRGenerator;
public jdk.vm.ci.code.RegisterAttributes attributes(jdk.vm.ci.code.Register);
descriptor: (Ljdk/vm/ci/code/Register;)Ljdk/vm/ci/code/RegisterAttributes;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.getRegisterConfig:()Ljdk/vm/ci/code/RegisterConfig;
invokeinterface jdk.vm.ci.code.RegisterConfig.getAttributesMap:()[Ljdk/vm/ci/code/RegisterAttributes;
aload 1
getfield jdk.vm.ci.code.Register.number:I
aaload
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/lir/gen/LIRGenerator;
0 1 1 register Ljdk/vm/ci/code/Register;
MethodParameters:
Name Flags
register
public org.graalvm.compiler.lir.Variable emitMove(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: getstatic org.graalvm.compiler.lir.gen.LIRGenerator.$assertionsDisabled:Z
ifne 1
aload 1
instanceof org.graalvm.compiler.lir.Variable
ifeq 1
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Creating a copy of a variable via this method is not supported (and potentially a bug): "
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;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual jdk.vm.ci.meta.Value.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
astore 2
start local 2 2: aload 0
aload 2
aload 1
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitMove:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
3: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/lir/gen/LIRGenerator;
0 4 1 input Ljdk/vm/ci/meta/Value;
2 4 2 result Lorg/graalvm/compiler/lir/Variable;
MethodParameters:
Name Flags
input
public void emitMove(jdk.vm.ci.meta.AllocatableValue, jdk.vm.ci.meta.Value);
descriptor: (Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 0
getfield org.graalvm.compiler.lir.gen.LIRGenerator.moveFactory:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;
aload 1
aload 2
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory.createMove:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/LIRInstruction;
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.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/lir/gen/LIRGenerator;
0 2 1 dst Ljdk/vm/ci/meta/AllocatableValue;
0 2 2 src Ljdk/vm/ci/meta/Value;
MethodParameters:
Name Flags
dst
src
public void emitMoveConstant(jdk.vm.ci.meta.AllocatableValue, jdk.vm.ci.meta.Constant);
descriptor: (Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Constant;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 0
getfield org.graalvm.compiler.lir.gen.LIRGenerator.moveFactory:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;
aload 1
aload 2
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory.createLoad:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Constant;)Lorg/graalvm/compiler/lir/LIRInstruction;
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.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/lir/gen/LIRGenerator;
0 2 1 dst Ljdk/vm/ci/meta/AllocatableValue;
0 2 2 src Ljdk/vm/ci/meta/Constant;
MethodParameters:
Name Flags
dst
src
public jdk.vm.ci.meta.Value emitConstant(org.graalvm.compiler.core.common.LIRKind, jdk.vm.ci.meta.Constant);
descriptor: (Lorg/graalvm/compiler/core/common/LIRKind;Ljdk/vm/ci/meta/Constant;)Ljdk/vm/ci/meta/Value;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.graalvm.compiler.lir.gen.LIRGenerator.moveFactory:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;
aload 2
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory.canInlineConstant:(Ljdk/vm/ci/meta/Constant;)Z
ifeq 2
1: new org.graalvm.compiler.lir.ConstantValue
dup
aload 0
aload 1
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.toRegisterKind:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/meta/ValueKind;
aload 2
invokespecial org.graalvm.compiler.lir.ConstantValue.<init>:(Ljdk/vm/ci/meta/ValueKind;Ljdk/vm/ci/meta/Constant;)V
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 1
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.toRegisterKind:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/meta/ValueKind;
aload 2
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitLoadConstant:(Ljdk/vm/ci/meta/ValueKind;Ljdk/vm/ci/meta/Constant;)Ljdk/vm/ci/meta/AllocatableValue;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/lir/gen/LIRGenerator;
0 3 1 kind Lorg/graalvm/compiler/core/common/LIRKind;
0 3 2 constant Ljdk/vm/ci/meta/Constant;
MethodParameters:
Name Flags
kind
constant
public jdk.vm.ci.meta.Value emitJavaConstant(jdk.vm.ci.meta.JavaConstant);
descriptor: (Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/Value;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
aload 1
invokeinterface jdk.vm.ci.meta.JavaConstant.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.getValueKind:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/core/common/LIRKind;
aload 1
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitConstant:(Lorg/graalvm/compiler/core/common/LIRKind;Ljdk/vm/ci/meta/Constant;)Ljdk/vm/ci/meta/Value;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/lir/gen/LIRGenerator;
0 1 1 constant Ljdk/vm/ci/meta/JavaConstant;
MethodParameters:
Name Flags
constant
public jdk.vm.ci.meta.AllocatableValue emitLoadConstant(jdk.vm.ci.meta.ValueKind<?>, jdk.vm.ci.meta.Constant);
descriptor: (Ljdk/vm/ci/meta/ValueKind;Ljdk/vm/ci/meta/Constant;)Ljdk/vm/ci/meta/AllocatableValue;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
astore 3
start local 3 1: aload 0
aload 3
aload 2
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitMoveConstant:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Constant;)V
2: aload 3
areturn
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/lir/gen/LIRGenerator;
0 3 1 kind Ljdk/vm/ci/meta/ValueKind<*>;
0 3 2 constant Ljdk/vm/ci/meta/Constant;
1 3 3 result Lorg/graalvm/compiler/lir/Variable;
Signature: (Ljdk/vm/ci/meta/ValueKind<*>;Ljdk/vm/ci/meta/Constant;)Ljdk/vm/ci/meta/AllocatableValue;
MethodParameters:
Name Flags
kind
constant
public jdk.vm.ci.meta.AllocatableValue asAllocatable(jdk.vm.ci.meta.Value);
descriptor: (Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic jdk.vm.ci.code.ValueUtil.isAllocatableValue:(Ljdk/vm/ci/meta/Value;)Z
ifeq 2
1: aload 1
invokestatic jdk.vm.ci.code.ValueUtil.asAllocatableValue:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokestatic org.graalvm.compiler.lir.LIRValueUtil.isConstantValue:(Ljdk/vm/ci/meta/Value;)Z
ifeq 4
3: aload 0
aload 1
invokevirtual jdk.vm.ci.meta.Value.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
aload 1
invokestatic org.graalvm.compiler.lir.LIRValueUtil.asConstant:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Constant;
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitLoadConstant:(Ljdk/vm/ci/meta/ValueKind;Ljdk/vm/ci/meta/Constant;)Ljdk/vm/ci/meta/AllocatableValue;
areturn
4: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitMove:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/lir/gen/LIRGenerator;
0 5 1 value Ljdk/vm/ci/meta/Value;
MethodParameters:
Name Flags
value
public org.graalvm.compiler.lir.Variable load(jdk.vm.ci.meta.Value);
descriptor: (Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic org.graalvm.compiler.lir.LIRValueUtil.isVariable:(Ljdk/vm/ci/meta/Value;)Z
ifne 2
1: aload 0
aload 1
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitMove:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
areturn
2: StackMap locals:
StackMap stack:
aload 1
checkcast org.graalvm.compiler.lir.Variable
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/lir/gen/LIRGenerator;
0 3 1 value Ljdk/vm/ci/meta/Value;
MethodParameters:
Name Flags
value
public jdk.vm.ci.meta.Value loadNonConst(jdk.vm.ci.meta.Value);
descriptor: (Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic org.graalvm.compiler.lir.LIRValueUtil.isConstantValue:(Ljdk/vm/ci/meta/Value;)Z
ifeq 2
aload 0
getfield org.graalvm.compiler.lir.gen.LIRGenerator.moveFactory:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;
aload 1
invokestatic org.graalvm.compiler.lir.LIRValueUtil.asConstant:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Constant;
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory.canInlineConstant:(Ljdk/vm/ci/meta/Constant;)Z
ifne 2
1: aload 0
aload 1
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitMove:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
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/lir/gen/LIRGenerator;
0 3 1 value Ljdk/vm/ci/meta/Value;
MethodParameters:
Name Flags
value
public boolean needOnlyOopMaps();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/lir/gen/LIRGenerator;
public jdk.vm.ci.meta.AllocatableValue resultOperandFor(jdk.vm.ci.meta.JavaKind, jdk.vm.ci.meta.ValueKind<?>);
descriptor: (Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/meta/AllocatableValue;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.getRegisterConfig:()Ljdk/vm/ci/code/RegisterConfig;
aload 1
invokeinterface jdk.vm.ci.code.RegisterConfig.getReturnRegister:(Ljdk/vm/ci/meta/JavaKind;)Ljdk/vm/ci/code/Register;
astore 3
start local 3 1: getstatic org.graalvm.compiler.lir.gen.LIRGenerator.$assertionsDisabled:Z
ifne 2
aload 0
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.target:()Ljdk/vm/ci/code/TargetDescription;
getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
aload 3
invokevirtual jdk.vm.ci.code.Register.getRegisterCategory:()Ljdk/vm/ci/code/Register$RegisterCategory;
aload 2
invokevirtual jdk.vm.ci.meta.ValueKind.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
invokevirtual jdk.vm.ci.code.Architecture.canStoreValue:(Ljdk/vm/ci/code/Register$RegisterCategory;Ljdk/vm/ci/meta/PlatformKind;)Z
ifne 2
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 3
invokevirtual jdk.vm.ci.code.Register.getRegisterCategory:()Ljdk/vm/ci/code/Register$RegisterCategory;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual jdk.vm.ci.meta.ValueKind.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
2: StackMap locals: jdk.vm.ci.code.Register
StackMap stack:
aload 3
aload 2
invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
areturn
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/lir/gen/LIRGenerator;
0 3 1 javaKind Ljdk/vm/ci/meta/JavaKind;
0 3 2 valueKind Ljdk/vm/ci/meta/ValueKind<*>;
1 3 3 reg Ljdk/vm/ci/code/Register;
Signature: (Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/ValueKind<*>;)Ljdk/vm/ci/meta/AllocatableValue;
MethodParameters:
Name Flags
javaKind
valueKind
public void setSourcePosition(org.graalvm.compiler.graph.NodeSourcePosition);
descriptor: (Lorg/graalvm/compiler/graph/NodeSourcePosition;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.graalvm.compiler.lir.gen.LIRGenerator.currentPosition:Lorg/graalvm/compiler/graph/NodeSourcePosition;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/lir/gen/LIRGenerator;
0 2 1 position Lorg/graalvm/compiler/graph/NodeSourcePosition;
MethodParameters:
Name Flags
position
public <I extends org.graalvm.compiler.lir.LIRInstruction> I append();
descriptor: (Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.lir.gen.LIRGenerator.res:Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getLIR:()Lorg/graalvm/compiler/lir/LIR;
astore 2
start local 2 1: aload 0
getfield org.graalvm.compiler.lir.gen.LIRGenerator.printIrWithLir:Z
ifeq 4
2: aload 1
invokevirtual org.graalvm.compiler.lir.LIRInstruction.toStringWithIdPrefix:()Ljava/lang/String;
invokestatic org.graalvm.compiler.debug.TTY.println:(Ljava/lang/String;)V
3: invokestatic org.graalvm.compiler.debug.TTY.println:()V
4: StackMap locals: org.graalvm.compiler.lir.LIR
StackMap stack:
getstatic org.graalvm.compiler.lir.gen.LIRGenerator.$assertionsDisabled:Z
ifne 5
aload 1
invokestatic org.graalvm.compiler.lir.LIRVerifier.verify:(Lorg/graalvm/compiler/lir/LIRInstruction;)Z
ifne 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals:
StackMap stack:
aload 2
aload 0
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.getCurrentBlock:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
invokevirtual org.graalvm.compiler.lir.LIR.getLIRforBlock:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/util/ArrayList;
astore 3
start local 3 6: aload 1
aload 0
getfield org.graalvm.compiler.lir.gen.LIRGenerator.currentPosition:Lorg/graalvm/compiler/graph/NodeSourcePosition;
invokevirtual org.graalvm.compiler.lir.LIRInstruction.setPosition:(Lorg/graalvm/compiler/graph/NodeSourcePosition;)V
7: aload 3
aload 1
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
8: aload 1
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/lir/gen/LIRGenerator;
0 9 1 op TI;
1 9 2 lir Lorg/graalvm/compiler/lir/LIR;
6 9 3 lirForBlock Ljava/util/ArrayList<Lorg/graalvm/compiler/lir/LIRInstruction;>;
Signature: <I:Lorg/graalvm/compiler/lir/LIRInstruction;>(TI;)TI;
MethodParameters:
Name Flags
op
public boolean hasBlockEnd(org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>);
descriptor: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.getResult:()Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getLIR:()Lorg/graalvm/compiler/lir/LIR;
aload 1
invokevirtual org.graalvm.compiler.lir.LIR.getLIRforBlock:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/util/ArrayList;
astore 2
start local 2 1: aload 2
invokevirtual java.util.ArrayList.size:()I
ifne 3
2: iconst_0
ireturn
3: StackMap locals: java.util.ArrayList
StackMap stack:
aload 2
aload 2
invokevirtual java.util.ArrayList.size:()I
iconst_1
isub
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
instanceof org.graalvm.compiler.lir.StandardOp$BlockEndOp
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/lir/gen/LIRGenerator;
0 4 1 block Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
1 4 2 ops Ljava/util/ArrayList<Lorg/graalvm/compiler/lir/LIRInstruction;>;
Signature: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;)Z
MethodParameters:
Name Flags
block
public final org.graalvm.compiler.lir.gen.LIRGeneratorTool$BlockScope getBlockScope(org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>);
descriptor: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$BlockScope;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: new org.graalvm.compiler.lir.gen.LIRGenerator$BlockScopeImpl
dup
aload 0
aload 1
invokespecial org.graalvm.compiler.lir.gen.LIRGenerator$BlockScopeImpl.<init>:(Lorg/graalvm/compiler/lir/gen/LIRGenerator;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)V
astore 2
start local 2 1: aload 2
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator$BlockScopeImpl.doBlockStart:()V
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/lir/gen/LIRGenerator;
0 3 1 block Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
1 3 2 blockScope Lorg/graalvm/compiler/lir/gen/LIRGenerator$BlockScopeImpl;
Signature: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;)Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$BlockScope;
MethodParameters:
Name Flags
block
public void emitIncomingValues(jdk.vm.ci.meta.Value[]);
descriptor: ([Ljdk/vm/ci/meta/Value;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.lir.gen.LIRGenerator.res:Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getLIR:()Lorg/graalvm/compiler/lir/LIR;
aload 0
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.getCurrentBlock:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
invokevirtual org.graalvm.compiler.lir.LIR.getLIRforBlock:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/util/ArrayList;
iconst_0
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast org.graalvm.compiler.lir.StandardOp$LabelOp
aload 1
invokevirtual org.graalvm.compiler.lir.StandardOp$LabelOp.setIncomingValues:([Ljdk/vm/ci/meta/Value;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/lir/gen/LIRGenerator;
0 2 1 params [Ljdk/vm/ci/meta/Value;
MethodParameters:
Name Flags
params
public abstract void emitJump(org.graalvm.compiler.lir.LabelRef);
descriptor: (Lorg/graalvm/compiler/lir/LabelRef;)V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
label
public abstract 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: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
cmpKind
left
right
cond
unorderedIsTrue
trueDestination
falseDestination
trueDestinationProbability
public abstract 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: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
overflow
noOverflow
cmpKind
overflowProbability
public abstract 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: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
left
right
trueDestination
falseDestination
trueSuccessorProbability
public abstract 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: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
cmpKind
leftVal
right
cond
unorderedIsTrue
trueValue
falseValue
public abstract 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: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
leftVal
right
trueValue
falseValue
protected abstract 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: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
linkage
result
arguments
temps
info
public org.graalvm.compiler.lir.Variable emitForeignCall(org.graalvm.compiler.core.common.spi.ForeignCallLinkage, org.graalvm.compiler.lir.LIRFrameState, jdk.vm.ci.meta.Value[]);
descriptor: (Lorg/graalvm/compiler/core/common/spi/ForeignCallLinkage;Lorg/graalvm/compiler/lir/LIRFrameState;[Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=6, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
astore 4
start local 4 1: aload 1
invokeinterface org.graalvm.compiler.core.common.spi.ForeignCallLinkage.needsDebugInfo:()Z
ifeq 7
2: aload 2
ifnull 5
3: aload 2
astore 4
4: goto 7
5: StackMap locals: org.graalvm.compiler.lir.LIRFrameState
StackMap stack:
getstatic org.graalvm.compiler.lir.gen.LIRGenerator.$assertionsDisabled:Z
ifne 6
aload 0
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.needOnlyOopMaps:()Z
ifne 6
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
6: StackMap locals:
StackMap stack:
new org.graalvm.compiler.lir.LIRFrameState
dup
aconst_null
aconst_null
aconst_null
invokespecial org.graalvm.compiler.lir.LIRFrameState.<init>:(Ljdk/vm/ci/code/BytecodeFrame;[Ljdk/vm/ci/code/VirtualObject;Lorg/graalvm/compiler/lir/LabelRef;)V
astore 4
7: StackMap locals:
StackMap stack:
aload 1
invokeinterface org.graalvm.compiler.core.common.spi.ForeignCallLinkage.getOutgoingCallingConvention:()Ljdk/vm/ci/code/CallingConvention;
astore 5
start local 5 8: aload 0
getfield org.graalvm.compiler.lir.gen.LIRGenerator.res:Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getFrameMapBuilder:()Lorg/graalvm/compiler/lir/framemap/FrameMapBuilder;
aload 5
invokevirtual org.graalvm.compiler.lir.framemap.FrameMapBuilder.callsMethod:(Ljdk/vm/ci/code/CallingConvention;)V
9: getstatic org.graalvm.compiler.lir.gen.LIRGenerator.$assertionsDisabled:Z
ifne 10
aload 5
invokevirtual jdk.vm.ci.code.CallingConvention.getArgumentCount:()I
aload 3
arraylength
if_icmpeq 10
new java.lang.AssertionError
dup
ldc "argument count mismatch"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
10: StackMap locals: jdk.vm.ci.code.CallingConvention
StackMap stack:
aload 3
arraylength
anewarray jdk.vm.ci.meta.Value
astore 6
start local 6 11: iconst_0
istore 7
start local 7 12: goto 18
13: StackMap locals: jdk.vm.ci.meta.Value[] int
StackMap stack:
aload 3
iload 7
aaload
astore 8
start local 8 14: aload 5
iload 7
invokevirtual jdk.vm.ci.code.CallingConvention.getArgument:(I)Ljdk/vm/ci/meta/AllocatableValue;
astore 9
start local 9 15: aload 0
aload 9
aload 8
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitMove:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
16: aload 6
iload 7
aload 9
aastore
end local 9 end local 8 17: iinc 7 1
StackMap locals:
StackMap stack:
18: iload 7
aload 3
arraylength
if_icmplt 13
end local 7 19: aload 0
getfield org.graalvm.compiler.lir.gen.LIRGenerator.res:Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
iconst_1
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.setForeignCall:(Z)V
20: aload 0
aload 1
aload 5
invokevirtual jdk.vm.ci.code.CallingConvention.getReturn:()Ljdk/vm/ci/meta/AllocatableValue;
aload 6
aload 1
invokeinterface org.graalvm.compiler.core.common.spi.ForeignCallLinkage.getTemporaries:()[Ljdk/vm/ci/meta/Value;
aload 4
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitForeignCallOp:(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
21: aload 5
invokevirtual jdk.vm.ci.code.CallingConvention.getReturn:()Ljdk/vm/ci/meta/AllocatableValue;
invokestatic jdk.vm.ci.code.ValueUtil.isLegal:(Ljdk/vm/ci/meta/Value;)Z
ifeq 23
22: aload 0
aload 5
invokevirtual jdk.vm.ci.code.CallingConvention.getReturn:()Ljdk/vm/ci/meta/AllocatableValue;
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitMove:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
areturn
23: StackMap locals:
StackMap stack:
aconst_null
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 24 0 this Lorg/graalvm/compiler/lir/gen/LIRGenerator;
0 24 1 linkage Lorg/graalvm/compiler/core/common/spi/ForeignCallLinkage;
0 24 2 frameState Lorg/graalvm/compiler/lir/LIRFrameState;
0 24 3 args [Ljdk/vm/ci/meta/Value;
1 24 4 state Lorg/graalvm/compiler/lir/LIRFrameState;
8 24 5 linkageCc Ljdk/vm/ci/code/CallingConvention;
11 24 6 argLocations [Ljdk/vm/ci/meta/Value;
12 19 7 i I
14 17 8 arg Ljdk/vm/ci/meta/Value;
15 17 9 loc Ljdk/vm/ci/meta/AllocatableValue;
MethodParameters:
Name Flags
linkage
frameState
args
public void emitStrategySwitch(jdk.vm.ci.meta.JavaConstant[], double[], org.graalvm.compiler.lir.LabelRef[], org.graalvm.compiler.lir.LabelRef, org.graalvm.compiler.lir.Variable);
descriptor: ([Ljdk/vm/ci/meta/JavaConstant;[D[Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/Variable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=15, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 1
arraylength
istore 6
start local 6 1: aload 2
aload 1
aload 3
invokestatic org.graalvm.compiler.lir.SwitchStrategy.getBestStrategy:([D[Ljdk/vm/ci/meta/JavaConstant;[Lorg/graalvm/compiler/lir/LabelRef;)Lorg/graalvm/compiler/lir/SwitchStrategy;
astore 7
start local 7 2: aload 1
iload 6
iconst_1
isub
aaload
invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
aload 1
iconst_0
aaload
invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
lsub
lconst_1
ladd
lstore 8
start local 8 3: iload 6
i2d
lload 8
l2d
ddiv
dstore 10
start local 10 4: aload 7
invokevirtual org.graalvm.compiler.lir.SwitchStrategy.getAverageEffort:()D
ldc 4.0
dcmpg
iflt 5
dload 10
dconst_1
aload 7
invokevirtual org.graalvm.compiler.lir.SwitchStrategy.getAverageEffort:()D
invokestatic java.lang.Math.sqrt:(D)D
ddiv
dcmpg
ifge 7
5: StackMap locals: org.graalvm.compiler.lir.gen.LIRGenerator jdk.vm.ci.meta.JavaConstant[] double[] org.graalvm.compiler.lir.LabelRef[] org.graalvm.compiler.lir.LabelRef org.graalvm.compiler.lir.Variable int org.graalvm.compiler.lir.SwitchStrategy long double
StackMap stack:
aload 0
aload 7
aload 5
aload 3
aload 4
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitStrategySwitch:(Lorg/graalvm/compiler/lir/SwitchStrategy;Lorg/graalvm/compiler/lir/Variable;[Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;)V
6: goto 21
7: StackMap locals:
StackMap stack:
aload 1
iconst_0
aaload
invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
istore 12
start local 12 8: getstatic org.graalvm.compiler.lir.gen.LIRGenerator.$assertionsDisabled:Z
ifne 9
lload 8
ldc 2147483647
lcmp
iflt 9
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
9: StackMap locals: int
StackMap stack:
lload 8
l2i
anewarray org.graalvm.compiler.lir.LabelRef
astore 13
start local 13 10: iconst_0
istore 14
start local 14 11: goto 14
12: StackMap locals: org.graalvm.compiler.lir.LabelRef[] int
StackMap stack:
aload 13
iload 14
aload 4
aastore
13: iinc 14 1
StackMap locals:
StackMap stack:
14: iload 14
i2l
lload 8
lcmp
iflt 12
end local 14 15: iconst_0
istore 14
start local 14 16: goto 19
17: StackMap locals:
StackMap stack:
aload 13
aload 1
iload 14
aaload
invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
iload 12
isub
aload 3
iload 14
aaload
aastore
18: iinc 14 1
StackMap locals:
StackMap stack:
19: iload 14
iload 6
if_icmplt 17
end local 14 20: aload 0
iload 12
aload 4
aload 13
aload 5
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitTableSwitch:(ILorg/graalvm/compiler/lir/LabelRef;[Lorg/graalvm/compiler/lir/LabelRef;Ljdk/vm/ci/meta/Value;)V
end local 13 end local 12 21: StackMap locals:
StackMap stack:
return
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 22 0 this Lorg/graalvm/compiler/lir/gen/LIRGenerator;
0 22 1 keyConstants [Ljdk/vm/ci/meta/JavaConstant;
0 22 2 keyProbabilities [D
0 22 3 keyTargets [Lorg/graalvm/compiler/lir/LabelRef;
0 22 4 defaultTarget Lorg/graalvm/compiler/lir/LabelRef;
0 22 5 value Lorg/graalvm/compiler/lir/Variable;
1 22 6 keyCount I
2 22 7 strategy Lorg/graalvm/compiler/lir/SwitchStrategy;
3 22 8 valueRange J
4 22 10 tableSwitchDensity D
8 21 12 minValue I
10 21 13 targets [Lorg/graalvm/compiler/lir/LabelRef;
11 15 14 i I
16 20 14 i I
MethodParameters:
Name Flags
keyConstants
keyProbabilities
keyTargets
defaultTarget
value
public abstract 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: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
strategy
key
keyTargets
defaultTarget
protected abstract 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: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
lowKey
defaultTarget
targets
key
public void beforeRegisterAllocation();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/lir/gen/LIRGenerator;
protected abstract jdk.vm.ci.meta.JavaConstant zapValueForKind(jdk.vm.ci.meta.PlatformKind);
descriptor: (Ljdk/vm/ci/meta/PlatformKind;)Ljdk/vm/ci/meta/JavaConstant;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
kind
public org.graalvm.compiler.core.common.LIRKind getLIRKind(org.graalvm.compiler.core.common.type.Stamp);
descriptor: (Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/LIRKind;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield org.graalvm.compiler.lir.gen.LIRGenerator.lirKindTool:Lorg/graalvm/compiler/core/common/spi/LIRKindTool;
invokevirtual org.graalvm.compiler.core.common.type.Stamp.getLIRKind:(Lorg/graalvm/compiler/core/common/spi/LIRKindTool;)Lorg/graalvm/compiler/core/common/LIRKind;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/lir/gen/LIRGenerator;
0 1 1 stamp Lorg/graalvm/compiler/core/common/type/Stamp;
MethodParameters:
Name Flags
stamp
protected org.graalvm.compiler.core.common.LIRKind getAddressKind(jdk.vm.ci.meta.Value, long, jdk.vm.ci.meta.Value);
descriptor: (Ljdk/vm/ci/meta/Value;JLjdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 1
invokestatic org.graalvm.compiler.core.common.LIRKind.isValue:(Ljdk/vm/ci/meta/Value;)Z
ifeq 2
aload 4
getstatic jdk.vm.ci.meta.Value.ILLEGAL:Ljdk/vm/ci/meta/AllocatableValue;
invokevirtual jdk.vm.ci.meta.Value.equals:(Ljava/lang/Object;)Z
ifne 1
aload 4
invokestatic org.graalvm.compiler.core.common.LIRKind.isValue:(Ljdk/vm/ci/meta/Value;)Z
ifeq 2
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.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;
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual jdk.vm.ci.meta.Value.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
instanceof org.graalvm.compiler.core.common.LIRKind
ifeq 4
aload 1
ldc Lorg/graalvm/compiler/core/common/LIRKind;
invokevirtual jdk.vm.ci.meta.Value.getValueKind:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ValueKind;
checkcast org.graalvm.compiler.core.common.LIRKind
iconst_0
invokevirtual org.graalvm.compiler.core.common.LIRKind.isReference:(I)Z
ifeq 4
lload 2
lconst_0
lcmp
ifne 4
aload 4
getstatic jdk.vm.ci.meta.Value.ILLEGAL:Ljdk/vm/ci/meta/AllocatableValue;
invokevirtual jdk.vm.ci.meta.Value.equals:(Ljava/lang/Object;)Z
ifeq 4
3: aload 0
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.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.reference:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
areturn
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.target:()Ljdk/vm/ci/code/TargetDescription;
getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
invokevirtual jdk.vm.ci.code.Architecture.getWordKind:()Ljdk/vm/ci/meta/PlatformKind;
invokestatic org.graalvm.compiler.core.common.LIRKind.unknownReference:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
areturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/lir/gen/LIRGenerator;
0 5 1 base Ljdk/vm/ci/meta/Value;
0 5 2 displacement J
0 5 4 index Ljdk/vm/ci/meta/Value;
MethodParameters:
Name Flags
base
displacement
index
public org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?> getCurrentBlock();
descriptor: ()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.lir.gen.LIRGenerator.currentBlock:Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/lir/gen/LIRGenerator;
Signature: ()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
public org.graalvm.compiler.lir.gen.LIRGenerationResult getResult();
descriptor: ()Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.lir.gen.LIRGenerator.res:Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/lir/gen/LIRGenerator;
public void emitBlackhole(jdk.vm.ci.meta.Value);
descriptor: (Ljdk/vm/ci/meta/Value;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new org.graalvm.compiler.lir.StandardOp$BlackholeOp
dup
aload 1
invokespecial org.graalvm.compiler.lir.StandardOp$BlackholeOp.<init>:(Ljdk/vm/ci/meta/Value;)V
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/lir/gen/LIRGenerator;
0 2 1 operand Ljdk/vm/ci/meta/Value;
MethodParameters:
Name Flags
operand
public org.graalvm.compiler.lir.LIRInstruction createBenchmarkCounter(java.lang.String, java.lang.String, jdk.vm.ci.meta.Value);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/LIRInstruction;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: invokestatic org.graalvm.compiler.debug.GraalError.unimplemented:()Ljava/lang/RuntimeException;
athrow
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/lir/gen/LIRGenerator;
0 1 1 name Ljava/lang/String;
0 1 2 group Ljava/lang/String;
0 1 3 increment Ljdk/vm/ci/meta/Value;
MethodParameters:
Name Flags
name
group
increment
public org.graalvm.compiler.lir.LIRInstruction createMultiBenchmarkCounter(java.lang.String[], java.lang.String[], jdk.vm.ci.meta.Value[]);
descriptor: ([Ljava/lang/String;[Ljava/lang/String;[Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/LIRInstruction;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: invokestatic org.graalvm.compiler.debug.GraalError.unimplemented:()Ljava/lang/RuntimeException;
athrow
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/lir/gen/LIRGenerator;
0 1 1 names [Ljava/lang/String;
0 1 2 groups [Ljava/lang/String;
0 1 3 increments [Ljdk/vm/ci/meta/Value;
MethodParameters:
Name Flags
names
groups
increments
public abstract org.graalvm.compiler.lir.StandardOp$SaveRegistersOp 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$SaveRegistersOp;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
zappedRegisters
zapValues
public org.graalvm.compiler.lir.StandardOp$SaveRegistersOp createZapRegisters();
descriptor: ()Lorg/graalvm/compiler/lir/StandardOp$SaveRegistersOp;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.getResult:()Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getFrameMap:()Lorg/graalvm/compiler/lir/framemap/FrameMap;
invokevirtual org.graalvm.compiler.lir.framemap.FrameMap.getRegisterConfig:()Ljdk/vm/ci/code/RegisterConfig;
invokeinterface jdk.vm.ci.code.RegisterConfig.getAllocatableRegisters:()Ljdk/vm/ci/code/RegisterArray;
invokevirtual jdk.vm.ci.code.RegisterArray.toArray:()[Ljdk/vm/ci/code/Register;
astore 1
start local 1 1: aload 1
arraylength
anewarray jdk.vm.ci.meta.JavaConstant
astore 2
start local 2 2: iconst_0
istore 3
start local 3 3: goto 7
4: StackMap locals: jdk.vm.ci.code.Register[] jdk.vm.ci.meta.JavaConstant[] int
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.target:()Ljdk/vm/ci/code/TargetDescription;
getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
aload 1
iload 3
aaload
invokevirtual jdk.vm.ci.code.Register.getRegisterCategory:()Ljdk/vm/ci/code/Register$RegisterCategory;
invokevirtual jdk.vm.ci.code.Architecture.getLargestStorableKind:(Ljdk/vm/ci/code/Register$RegisterCategory;)Ljdk/vm/ci/meta/PlatformKind;
astore 4
start local 4 5: aload 2
iload 3
aload 0
aload 4
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.zapValueForKind:(Ljdk/vm/ci/meta/PlatformKind;)Ljdk/vm/ci/meta/JavaConstant;
aastore
end local 4 6: iinc 3 1
StackMap locals:
StackMap stack:
7: iload 3
aload 1
arraylength
if_icmplt 4
end local 3 8: aload 0
aload 1
aload 2
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.createZapRegisters:([Ljdk/vm/ci/code/Register;[Ljdk/vm/ci/meta/JavaConstant;)Lorg/graalvm/compiler/lir/StandardOp$SaveRegistersOp;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/graalvm/compiler/lir/gen/LIRGenerator;
1 9 1 zappedRegisters [Ljdk/vm/ci/code/Register;
2 9 2 zapValues [Ljdk/vm/ci/meta/JavaConstant;
3 8 3 i I
5 6 4 kind Ljdk/vm/ci/meta/PlatformKind;
public abstract 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: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
zappedStack
zapValues
public org.graalvm.compiler.lir.LIRInstruction zapArgumentSpace();
descriptor: ()Lorg/graalvm/compiler/lir/LIRInstruction;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aload 0
getfield org.graalvm.compiler.lir.gen.LIRGenerator.res:Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getCallingConvention:()Ljdk/vm/ci/code/CallingConvention;
invokevirtual jdk.vm.ci.code.CallingConvention.getArguments:()[Ljdk/vm/ci/meta/AllocatableValue;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 10
StackMap locals: org.graalvm.compiler.lir.gen.LIRGenerator java.util.List top int int jdk.vm.ci.meta.AllocatableValue[]
StackMap stack:
2: aload 5
iload 3
aaload
astore 2
start local 2 3: aload 2
invokestatic jdk.vm.ci.code.ValueUtil.isStackSlot:(Ljdk/vm/ci/meta/Value;)Z
ifeq 8
4: aload 1
ifnonnull 6
5: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
6: StackMap locals: org.graalvm.compiler.lir.gen.LIRGenerator java.util.List jdk.vm.ci.meta.AllocatableValue int int jdk.vm.ci.meta.AllocatableValue[]
StackMap stack:
aload 1
aload 2
checkcast jdk.vm.ci.code.StackSlot
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
7: goto 9
8: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.lir.gen.LIRGenerator.$assertionsDisabled:Z
ifne 9
aload 2
invokestatic org.graalvm.compiler.lir.LIRValueUtil.isVirtualStackSlot:(Ljdk/vm/ci/meta/Value;)Z
ifeq 9
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 2 9: StackMap locals: org.graalvm.compiler.lir.gen.LIRGenerator java.util.List top int int jdk.vm.ci.meta.AllocatableValue[]
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
10: iload 3
iload 4
if_icmplt 2
11: aload 1
ifnonnull 13
12: aconst_null
areturn
13: StackMap locals: org.graalvm.compiler.lir.gen.LIRGenerator java.util.List
StackMap stack:
aload 1
aload 1
invokeinterface java.util.List.size:()I
anewarray jdk.vm.ci.code.StackSlot
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast jdk.vm.ci.code.StackSlot[]
astore 2
start local 2 14: aload 2
arraylength
anewarray jdk.vm.ci.meta.JavaConstant
astore 3
start local 3 15: iconst_0
istore 4
start local 4 16: goto 20
17: StackMap locals: jdk.vm.ci.code.StackSlot[] jdk.vm.ci.meta.JavaConstant[] int
StackMap stack:
aload 2
iload 4
aaload
invokevirtual jdk.vm.ci.code.StackSlot.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
astore 5
start local 5 18: aload 3
iload 4
aload 0
aload 5
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.zapValueForKind:(Ljdk/vm/ci/meta/PlatformKind;)Ljdk/vm/ci/meta/JavaConstant;
aastore
end local 5 19: iinc 4 1
StackMap locals:
StackMap stack:
20: iload 4
aload 2
arraylength
if_icmplt 17
end local 4 21: aload 0
aload 2
aload 3
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.createZapArgumentSpace:([Ljdk/vm/ci/code/StackSlot;[Ljdk/vm/ci/meta/JavaConstant;)Lorg/graalvm/compiler/lir/LIRInstruction;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lorg/graalvm/compiler/lir/gen/LIRGenerator;
1 22 1 slots Ljava/util/List<Ljdk/vm/ci/code/StackSlot;>;
3 9 2 arg Ljdk/vm/ci/meta/AllocatableValue;
14 22 2 zappedStack [Ljdk/vm/ci/code/StackSlot;
15 22 3 zapValues [Ljdk/vm/ci/meta/JavaConstant;
16 21 4 i I
18 19 5 kind Ljdk/vm/ci/meta/PlatformKind;
public jdk.vm.ci.meta.ValueKind getValueKind(jdk.vm.ci.meta.JavaKind);
descriptor: (Ljdk/vm/ci/meta/JavaKind;)Ljdk/vm/ci/meta/ValueKind;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.getValueKind:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/core/common/LIRKind;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "LIRGenerator.java"
NestMembers:
org.graalvm.compiler.lir.gen.LIRGenerator$BlockScopeImpl org.graalvm.compiler.lir.gen.LIRGenerator$Options org.graalvm.compiler.lir.gen.LIRGenerator$VariableProvider
InnerClasses:
public RegisterCategory = jdk.vm.ci.code.Register$RegisterCategory of jdk.vm.ci.code.Register
public final BlackholeOp = org.graalvm.compiler.lir.StandardOp$BlackholeOp of org.graalvm.compiler.lir.StandardOp
public abstract BlockEndOp = org.graalvm.compiler.lir.StandardOp$BlockEndOp of org.graalvm.compiler.lir.StandardOp
public final LabelOp = org.graalvm.compiler.lir.StandardOp$LabelOp of org.graalvm.compiler.lir.StandardOp
public abstract SaveRegistersOp = org.graalvm.compiler.lir.StandardOp$SaveRegistersOp of org.graalvm.compiler.lir.StandardOp
private final BlockScopeImpl = org.graalvm.compiler.lir.gen.LIRGenerator$BlockScopeImpl of org.graalvm.compiler.lir.gen.LIRGenerator
public Options = org.graalvm.compiler.lir.gen.LIRGenerator$Options of org.graalvm.compiler.lir.gen.LIRGenerator
public abstract VariableProvider = org.graalvm.compiler.lir.gen.LIRGenerator$VariableProvider of org.graalvm.compiler.lir.gen.LIRGenerator
public abstract BlockScope = org.graalvm.compiler.lir.gen.LIRGeneratorTool$BlockScope of org.graalvm.compiler.lir.gen.LIRGeneratorTool
public abstract MoveFactory = org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory of org.graalvm.compiler.lir.gen.LIRGeneratorTool