final class org.graalvm.compiler.lir.alloc.trace.TrivialTraceAllocator extends org.graalvm.compiler.lir.alloc.trace.TraceAllocationPhase<org.graalvm.compiler.lir.alloc.trace.TraceAllocationPhase$TraceAllocationContext>
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: org.graalvm.compiler.lir.alloc.trace.TrivialTraceAllocator
super_class: org.graalvm.compiler.lir.alloc.trace.TraceAllocationPhase
{
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/alloc/trace/TrivialTraceAllocator;
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.alloc.trace.TrivialTraceAllocator.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.graalvm.compiler.lir.alloc.trace.TraceAllocationPhase.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/lir/alloc/trace/TrivialTraceAllocator;
protected void run(jdk.vm.ci.code.TargetDescription, org.graalvm.compiler.lir.gen.LIRGenerationResult, org.graalvm.compiler.core.common.alloc.Trace, org.graalvm.compiler.lir.alloc.trace.TraceAllocationPhase$TraceAllocationContext);
descriptor: (Ljdk/vm/ci/code/TargetDescription;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Lorg/graalvm/compiler/core/common/alloc/Trace;Lorg/graalvm/compiler/lir/alloc/trace/TraceAllocationPhase$TraceAllocationContext;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=14, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getLIR:()Lorg/graalvm/compiler/lir/LIR;
astore 5
start local 5 1: aload 4
getfield org.graalvm.compiler.lir.alloc.trace.TraceAllocationPhase$TraceAllocationContext.resultTraces:Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult;
astore 6
start local 6 2: getstatic org.graalvm.compiler.lir.alloc.trace.TrivialTraceAllocator.$assertionsDisabled:Z
ifne 3
aload 5
aload 3
invokestatic org.graalvm.compiler.lir.alloc.trace.TraceUtil.isTrivialTrace:(Lorg/graalvm/compiler/lir/LIR;Lorg/graalvm/compiler/core/common/alloc/Trace;)Z
ifne 3
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Not a trivial trace! "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
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
3: StackMap locals: org.graalvm.compiler.lir.LIR org.graalvm.compiler.core.common.alloc.TraceBuilderResult
StackMap stack:
aload 3
invokevirtual org.graalvm.compiler.core.common.alloc.Trace.getBlocks:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
iconst_0
aaload
astore 7
start local 7 4: aload 6
aload 7
invokestatic org.graalvm.compiler.lir.alloc.trace.TraceUtil.getBestTraceInterPredecessor:(Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
astore 8
start local 8 5: new org.graalvm.compiler.lir.util.VariableVirtualStackValueMap
dup
aload 5
invokevirtual org.graalvm.compiler.lir.LIR.numVariables:()I
iconst_0
invokespecial org.graalvm.compiler.lir.util.VariableVirtualStackValueMap.<init>:(II)V
astore 9
start local 9 6: aload 5
aload 7
aload 8
aload 9
invokedynamic visit(Lorg/graalvm/compiler/lir/util/VariableVirtualStackValueMap;)Lorg/graalvm/compiler/lir/ssa/SSAUtil$PhiValueVisitor;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)V
org/graalvm/compiler/lir/alloc/trace/TrivialTraceAllocator.lambda$0(Lorg/graalvm/compiler/lir/util/VariableVirtualStackValueMap;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)V (6)
(Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)V
invokestatic org.graalvm.compiler.lir.ssi.SSIUtil.forEachValuePair:(Lorg/graalvm/compiler/lir/LIR;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/lir/ssa/SSAUtil$PhiValueVisitor;)V
7: aload 9
aload 5
aload 7
invokedynamic doValue(Lorg/graalvm/compiler/lir/util/VariableVirtualStackValueMap;Lorg/graalvm/compiler/lir/LIR;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Lorg/graalvm/compiler/lir/ValueProcedure;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)Ljdk/vm/ci/meta/Value;
org/graalvm/compiler/lir/alloc/trace/TrivialTraceAllocator.lambda$1(Lorg/graalvm/compiler/lir/util/VariableVirtualStackValueMap;Lorg/graalvm/compiler/lir/LIR;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)Ljdk/vm/ci/meta/Value; (6)
(Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)Ljdk/vm/ci/meta/Value;
astore 10
start local 10 8: aload 5
aload 7
invokevirtual org.graalvm.compiler.lir.LIR.getLIRforBlock:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/util/ArrayList;
astore 11
start local 11 9: aload 11
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 13
goto 16
StackMap locals: org.graalvm.compiler.lir.alloc.trace.TrivialTraceAllocator jdk.vm.ci.code.TargetDescription org.graalvm.compiler.lir.gen.LIRGenerationResult org.graalvm.compiler.core.common.alloc.Trace org.graalvm.compiler.lir.alloc.trace.TraceAllocationPhase$TraceAllocationContext org.graalvm.compiler.lir.LIR org.graalvm.compiler.core.common.alloc.TraceBuilderResult org.graalvm.compiler.core.common.cfg.AbstractBlockBase org.graalvm.compiler.core.common.cfg.AbstractBlockBase org.graalvm.compiler.lir.util.VariableVirtualStackValueMap org.graalvm.compiler.lir.ValueProcedure java.util.List top java.util.Iterator
StackMap stack:
10: aload 13
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.lir.LIRInstruction
astore 12
start local 12 11: aload 12
aload 10
invokevirtual org.graalvm.compiler.lir.LIRInstruction.forEachOutput:(Lorg/graalvm/compiler/lir/ValueProcedure;)V
12: aload 12
aload 10
invokevirtual org.graalvm.compiler.lir.LIRInstruction.forEachTemp:(Lorg/graalvm/compiler/lir/ValueProcedure;)V
13: aload 12
aload 10
invokevirtual org.graalvm.compiler.lir.LIRInstruction.forEachAlive:(Lorg/graalvm/compiler/lir/ValueProcedure;)V
14: aload 12
aload 10
invokevirtual org.graalvm.compiler.lir.LIRInstruction.forEachInput:(Lorg/graalvm/compiler/lir/ValueProcedure;)V
15: aload 12
aload 10
invokevirtual org.graalvm.compiler.lir.LIRInstruction.forEachState:(Lorg/graalvm/compiler/lir/ValueProcedure;)V
end local 12 16: StackMap locals:
StackMap stack:
aload 13
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
17: return
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/graalvm/compiler/lir/alloc/trace/TrivialTraceAllocator;
0 18 1 target Ljdk/vm/ci/code/TargetDescription;
0 18 2 lirGenRes Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
0 18 3 trace Lorg/graalvm/compiler/core/common/alloc/Trace;
0 18 4 context Lorg/graalvm/compiler/lir/alloc/trace/TraceAllocationPhase$TraceAllocationContext;
1 18 5 lir Lorg/graalvm/compiler/lir/LIR;
2 18 6 resultTraces Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult;
4 18 7 block Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
5 18 8 pred Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
6 18 9 variableMap Lorg/graalvm/compiler/lir/util/VariableVirtualStackValueMap<Lorg/graalvm/compiler/lir/Variable;Ljdk/vm/ci/meta/Value;>;
8 18 10 outputConsumer Lorg/graalvm/compiler/lir/ValueProcedure;
9 18 11 instructions Ljava/util/List<Lorg/graalvm/compiler/lir/LIRInstruction;>;
11 16 12 op Lorg/graalvm/compiler/lir/LIRInstruction;
MethodParameters:
Name Flags
target
lirGenRes
trace
context
private static void lambda$0(org.graalvm.compiler.lir.util.VariableVirtualStackValueMap, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
descriptor: (Lorg/graalvm/compiler/lir/util/VariableVirtualStackValueMap;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
start local 1 start local 2 0: aload 1
invokestatic org.graalvm.compiler.lir.LIRValueUtil.isVariable:(Ljdk/vm/ci/meta/Value;)Z
ifeq 2
1: aload 0
aload 1
invokestatic org.graalvm.compiler.lir.LIRValueUtil.asVariable:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
aload 2
invokevirtual org.graalvm.compiler.lir.util.VariableVirtualStackValueMap.put:(Ljdk/vm/ci/meta/Value;Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
return
end local 2 end local 1 LocalVariableTable:
Start End Slot Name Signature
0 3 1 to Ljdk/vm/ci/meta/Value;
0 3 2 from Ljdk/vm/ci/meta/Value;
private static jdk.vm.ci.meta.Value lambda$1(org.graalvm.compiler.lir.util.VariableVirtualStackValueMap, org.graalvm.compiler.lir.LIR, org.graalvm.compiler.core.common.cfg.AbstractBlockBase, jdk.vm.ci.meta.Value, org.graalvm.compiler.lir.LIRInstruction$OperandMode, java.util.EnumSet);
descriptor: (Lorg/graalvm/compiler/lir/util/VariableVirtualStackValueMap;Lorg/graalvm/compiler/lir/LIR;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)Ljdk/vm/ci/meta/Value;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=5, locals=7, args_size=6
start local 3 start local 4 start local 5 0: aload 3
invokestatic org.graalvm.compiler.lir.LIRValueUtil.isVariable:(Ljdk/vm/ci/meta/Value;)Z
ifeq 5
1: aload 0
aload 3
invokestatic org.graalvm.compiler.lir.LIRValueUtil.asVariable:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
invokevirtual org.graalvm.compiler.lir.util.VariableVirtualStackValueMap.get:(Ljdk/vm/ci/meta/Value;)Ljava/lang/Object;
checkcast jdk.vm.ci.meta.Value
astore 6
start local 6 2: getstatic org.graalvm.compiler.lir.alloc.trace.TrivialTraceAllocator.$assertionsDisabled:Z
ifne 3
aload 5
getstatic org.graalvm.compiler.lir.LIRInstruction$OperandFlag.COMPOSITE:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;
invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
ifeq 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals: jdk.vm.ci.meta.Value
StackMap stack:
getstatic org.graalvm.compiler.lir.alloc.trace.TrivialTraceAllocator.$assertionsDisabled:Z
ifne 4
aload 1
aload 2
invokestatic org.graalvm.compiler.lir.ssi.SSIUtil.incoming:(Lorg/graalvm/compiler/lir/LIR;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Lorg/graalvm/compiler/lir/StandardOp$LabelOp;
invokevirtual org.graalvm.compiler.lir.StandardOp$LabelOp.isPhiIn:()Z
ifeq 4
aload 6
invokestatic org.graalvm.compiler.lir.LIRValueUtil.isConstantValue:(Ljdk/vm/ci/meta/Value;)Z
ifeq 4
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Phi variable cannot be constant: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " -> "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
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
4: StackMap locals:
StackMap stack:
aload 6
areturn
end local 6 5: StackMap locals:
StackMap stack:
aload 3
areturn
end local 5 end local 4 end local 3 LocalVariableTable:
Start End Slot Name Signature
0 6 3 value Ljdk/vm/ci/meta/Value;
0 6 4 mode Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
0 6 5 flags Ljava/util/EnumSet<Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;>;
2 5 6 incomingValue Ljdk/vm/ci/meta/Value;
}
Signature: Lorg/graalvm/compiler/lir/alloc/trace/TraceAllocationPhase<Lorg/graalvm/compiler/lir/alloc/trace/TraceAllocationPhase$TraceAllocationContext;>;
SourceFile: "TrivialTraceAllocator.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public final OperandFlag = org.graalvm.compiler.lir.LIRInstruction$OperandFlag of org.graalvm.compiler.lir.LIRInstruction
public final OperandMode = org.graalvm.compiler.lir.LIRInstruction$OperandMode of org.graalvm.compiler.lir.LIRInstruction
public final LabelOp = org.graalvm.compiler.lir.StandardOp$LabelOp of org.graalvm.compiler.lir.StandardOp
public TraceAllocationContext = org.graalvm.compiler.lir.alloc.trace.TraceAllocationPhase$TraceAllocationContext of org.graalvm.compiler.lir.alloc.trace.TraceAllocationPhase
public abstract PhiValueVisitor = org.graalvm.compiler.lir.ssa.SSAUtil$PhiValueVisitor of org.graalvm.compiler.lir.ssa.SSAUtil