public abstract class org.graalvm.compiler.core.gen.NodeLIRBuilder implements org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool, org.graalvm.compiler.lir.debug.LIRGenerationDebugContext
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.graalvm.compiler.core.gen.NodeLIRBuilder
super_class: java.lang.Object
{
private final org.graalvm.compiler.graph.NodeMap<jdk.vm.ci.meta.Value> nodeOperands;
descriptor: Lorg/graalvm/compiler/graph/NodeMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lorg/graalvm/compiler/graph/NodeMap<Ljdk/vm/ci/meta/Value;>;
private final org.graalvm.compiler.core.gen.DebugInfoBuilder debugInfoBuilder;
descriptor: Lorg/graalvm/compiler/core/gen/DebugInfoBuilder;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
protected final org.graalvm.compiler.lir.gen.LIRGenerator gen;
descriptor: Lorg/graalvm/compiler/lir/gen/LIRGenerator;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
private org.graalvm.compiler.nodes.ValueNode currentInstruction;
descriptor: Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0002) ACC_PRIVATE
private org.graalvm.compiler.nodes.ValueNode lastInstructionPrinted;
descriptor: Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0002) ACC_PRIVATE
private final org.graalvm.compiler.core.gen.NodeMatchRules nodeMatchRules;
descriptor: Lorg/graalvm/compiler/core/gen/NodeMatchRules;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.util.Map<java.lang.Class<? extends org.graalvm.compiler.graph.Node>, java.util.List<org.graalvm.compiler.core.match.MatchStatement>> matchRules;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/lang/Class<+Lorg/graalvm/compiler/graph/Node;>;Ljava/util/List<Lorg/graalvm/compiler/core/match/MatchStatement;>;>;
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/gen/NodeLIRBuilder;
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.gen.NodeLIRBuilder.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.lir.gen.LIRGeneratorTool, org.graalvm.compiler.core.gen.NodeMatchRules);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;Lorg/graalvm/compiler/core/gen/NodeMatchRules;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 2
checkcast org.graalvm.compiler.lir.gen.LIRGenerator
putfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
2: aload 0
aload 3
putfield org.graalvm.compiler.core.gen.NodeLIRBuilder.nodeMatchRules:Lorg/graalvm/compiler/core/gen/NodeMatchRules;
3: aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.createNodeMap:()Lorg/graalvm/compiler/graph/NodeMap;
putfield org.graalvm.compiler.core.gen.NodeLIRBuilder.nodeOperands:Lorg/graalvm/compiler/graph/NodeMap;
4: aload 0
aload 0
aload 1
aload 0
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.createDebugInfoBuilder:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/spi/NodeValueMap;)Lorg/graalvm/compiler/core/gen/DebugInfoBuilder;
putfield org.graalvm.compiler.core.gen.NodeLIRBuilder.debugInfoBuilder:Lorg/graalvm/compiler/core/gen/DebugInfoBuilder;
5: getstatic org.graalvm.compiler.core.common.GraalOptions.MatchExpressions:Lorg/graalvm/compiler/options/OptionValue;
invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 7
6: aload 0
aload 3
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic org.graalvm.compiler.core.match.MatchRuleRegistry.lookup:(Ljava/lang/Class;)Ljava/util/Map;
putfield org.graalvm.compiler.core.gen.NodeLIRBuilder.matchRules:Ljava/util/Map;
7: StackMap locals: org.graalvm.compiler.core.gen.NodeLIRBuilder org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.lir.gen.LIRGeneratorTool org.graalvm.compiler.core.gen.NodeMatchRules
StackMap stack:
getstatic org.graalvm.compiler.core.gen.NodeLIRBuilder.$assertionsDisabled:Z
ifne 8
aload 3
getfield org.graalvm.compiler.core.gen.NodeMatchRules.lirBuilder:Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
ifnull 8
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
8: StackMap locals:
StackMap stack:
aload 3
aload 0
putfield org.graalvm.compiler.core.gen.NodeMatchRules.lirBuilder:Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
9: return
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/gen/NodeLIRBuilder;
0 10 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 10 2 gen Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
0 10 3 nodeMatchRules Lorg/graalvm/compiler/core/gen/NodeMatchRules;
MethodParameters:
Name Flags
graph
gen
nodeMatchRules
public org.graalvm.compiler.core.gen.NodeMatchRules getNodeMatchRules();
descriptor: ()Lorg/graalvm/compiler/core/gen/NodeMatchRules;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.nodeMatchRules:Lorg/graalvm/compiler/core/gen/NodeMatchRules;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
protected org.graalvm.compiler.core.gen.DebugInfoBuilder createDebugInfoBuilder(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.spi.NodeValueMap);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/spi/NodeValueMap;)Lorg/graalvm/compiler/core/gen/DebugInfoBuilder;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new org.graalvm.compiler.core.gen.DebugInfoBuilder
dup
aload 2
invokespecial org.graalvm.compiler.core.gen.DebugInfoBuilder.<init>:(Lorg/graalvm/compiler/nodes/spi/NodeValueMap;)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/gen/NodeLIRBuilder;
0 1 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 1 2 nodeValueMap Lorg/graalvm/compiler/nodes/spi/NodeValueMap;
MethodParameters:
Name Flags
graph
nodeValueMap
public jdk.vm.ci.meta.Value operand(org.graalvm.compiler.graph.Node);
descriptor: (Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.getOperand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
astore 2
start local 2 1: getstatic org.graalvm.compiler.core.gen.NodeLIRBuilder.$assertionsDisabled:Z
ifne 2
aload 2
ifnonnull 2
new java.lang.AssertionError
dup
ldc "missing operand for %1s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
2: StackMap locals: jdk.vm.ci.meta.Value
StackMap stack:
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/gen/NodeLIRBuilder;
0 3 1 node Lorg/graalvm/compiler/graph/Node;
1 3 2 operand Ljdk/vm/ci/meta/Value;
MethodParameters:
Name Flags
node
public boolean hasOperand(org.graalvm.compiler.graph.Node);
descriptor: (Lorg/graalvm/compiler/graph/Node;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.getOperand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
0 2 1 node Lorg/graalvm/compiler/graph/Node;
MethodParameters:
Name Flags
node
private jdk.vm.ci.meta.Value getOperand(org.graalvm.compiler.graph.Node);
descriptor: (Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.nodeOperands:Lorg/graalvm/compiler/graph/NodeMap;
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.nodeOperands:Lorg/graalvm/compiler/graph/NodeMap;
aload 1
invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
checkcast jdk.vm.ci.meta.Value
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
0 3 1 node Lorg/graalvm/compiler/graph/Node;
MethodParameters:
Name Flags
node
public org.graalvm.compiler.nodes.ValueNode valueForOperand(jdk.vm.ci.meta.Value);
descriptor: (Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: getstatic org.graalvm.compiler.core.gen.NodeLIRBuilder.$assertionsDisabled:Z
ifne 1
aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.nodeOperands:Lorg/graalvm/compiler/graph/NodeMap;
ifnonnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.nodeOperands:Lorg/graalvm/compiler/graph/NodeMap;
invokevirtual org.graalvm.compiler.graph.NodeMap.entries:()Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 3
goto 5
StackMap locals: org.graalvm.compiler.core.gen.NodeLIRBuilder jdk.vm.ci.meta.Value top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 2
start local 2 3: aload 2
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast jdk.vm.ci.meta.Value
aload 1
invokevirtual jdk.vm.ci.meta.Value.equals:(Ljava/lang/Object;)Z
ifeq 5
4: aload 2
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ValueNode
areturn
end local 2 5: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
6: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
0 7 1 value Ljdk/vm/ci/meta/Value;
3 5 2 entry Ljava/util/Map$Entry<Lorg/graalvm/compiler/graph/Node;Ljdk/vm/ci/meta/Value;>;
MethodParameters:
Name Flags
value
public java.lang.Object getSourceForOperand(jdk.vm.ci.meta.Value);
descriptor: (Ljdk/vm/ci/meta/Value;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.valueForOperand:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/nodes/ValueNode;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
0 1 1 value Ljdk/vm/ci/meta/Value;
MethodParameters:
Name Flags
value
public jdk.vm.ci.meta.Value setResult(org.graalvm.compiler.nodes.ValueNode, jdk.vm.ci.meta.Value);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.graalvm.compiler.core.gen.NodeLIRBuilder.$assertionsDisabled:Z
ifne 1
aload 2
invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
ifeq 1
aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
aload 2
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.attributes:(Ljdk/vm/ci/code/Register;)Ljdk/vm/ci/code/RegisterAttributes;
invokevirtual jdk.vm.ci.code.RegisterAttributes.isAllocatable:()Z
ifeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.core.gen.NodeLIRBuilder.$assertionsDisabled:Z
ifne 3
aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.nodeOperands:Lorg/graalvm/compiler/graph/NodeMap;
ifnull 2
aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.nodeOperands:Lorg/graalvm/compiler/graph/NodeMap;
aload 1
invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
ifnull 3
aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.nodeOperands:Lorg/graalvm/compiler/graph/NodeMap;
aload 1
invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
instanceof org.graalvm.compiler.core.match.ComplexMatchValue
ifne 3
StackMap locals:
StackMap stack:
2: new java.lang.AssertionError
dup
ldc "operand cannot be set twice"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
3: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.core.gen.NodeLIRBuilder.$assertionsDisabled:Z
ifne 5
aload 2
ifnull 4
aload 2
invokestatic jdk.vm.ci.code.ValueUtil.isLegal:(Ljdk/vm/ci/meta/Value;)Z
ifne 5
StackMap locals:
StackMap stack:
4: new java.lang.AssertionError
dup
ldc "operand must be legal"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
5: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.core.gen.NodeLIRBuilder.$assertionsDisabled:Z
ifne 6
aload 1
instanceof org.graalvm.compiler.nodes.virtual.VirtualObjectNode
ifeq 6
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.nodeOperands:Lorg/graalvm/compiler/graph/NodeMap;
aload 1
aload 2
invokevirtual org.graalvm.compiler.graph.NodeMap.set:(Lorg/graalvm/compiler/graph/Node;Ljava/lang/Object;)V
7: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
0 8 1 x Lorg/graalvm/compiler/nodes/ValueNode;
0 8 2 operand Ljdk/vm/ci/meta/Value;
MethodParameters:
Name Flags
x
operand
public void setMatchResult(org.graalvm.compiler.graph.Node, jdk.vm.ci.meta.Value);
descriptor: (Lorg/graalvm/compiler/graph/Node;Ljdk/vm/ci/meta/Value;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.graalvm.compiler.core.gen.NodeLIRBuilder.$assertionsDisabled:Z
ifne 1
aload 2
getstatic org.graalvm.compiler.core.match.ComplexMatchValue.INTERIOR_MATCH:Ljdk/vm/ci/meta/Value;
invokevirtual jdk.vm.ci.meta.Value.equals:(Ljava/lang/Object;)Z
ifne 1
aload 2
instanceof org.graalvm.compiler.core.match.ComplexMatchValue
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.core.gen.NodeLIRBuilder.$assertionsDisabled:Z
ifne 2
aload 2
instanceof org.graalvm.compiler.core.match.ComplexMatchValue
ifne 2
aload 1
invokevirtual org.graalvm.compiler.graph.Node.getUsageCount:()I
iconst_1
if_icmpeq 2
new java.lang.AssertionError
dup
ldc "interior matches must be single user"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
2: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.core.gen.NodeLIRBuilder.$assertionsDisabled:Z
ifne 4
aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.nodeOperands:Lorg/graalvm/compiler/graph/NodeMap;
ifnull 3
aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.nodeOperands:Lorg/graalvm/compiler/graph/NodeMap;
aload 1
invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
ifnull 4
StackMap locals:
StackMap stack:
3: new java.lang.AssertionError
dup
ldc "operand cannot be set twice"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
4: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.core.gen.NodeLIRBuilder.$assertionsDisabled:Z
ifne 5
aload 1
instanceof org.graalvm.compiler.nodes.virtual.VirtualObjectNode
ifeq 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.nodeOperands:Lorg/graalvm/compiler/graph/NodeMap;
aload 1
aload 2
invokevirtual org.graalvm.compiler.graph.NodeMap.set:(Lorg/graalvm/compiler/graph/Node;Ljava/lang/Object;)V
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
0 7 1 x Lorg/graalvm/compiler/graph/Node;
0 7 2 operand Ljdk/vm/ci/meta/Value;
MethodParameters:
Name Flags
x
operand
public org.graalvm.compiler.lir.LabelRef getLIRBlock(org.graalvm.compiler.nodes.FixedNode);
descriptor: (Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/lir/LabelRef;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=2
start local 0 start local 1 0: getstatic org.graalvm.compiler.core.gen.NodeLIRBuilder.$assertionsDisabled:Z
ifne 1
aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
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;
invokevirtual org.graalvm.compiler.lir.LIR.getControlFlowGraph:()Lorg/graalvm/compiler/core/common/cfg/AbstractControlFlowGraph;
instanceof org.graalvm.compiler.nodes.cfg.ControlFlowGraph
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
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;
invokevirtual org.graalvm.compiler.lir.LIR.getControlFlowGraph:()Lorg/graalvm/compiler/core/common/cfg/AbstractControlFlowGraph;
checkcast org.graalvm.compiler.nodes.cfg.ControlFlowGraph
aload 1
invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.blockFor:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/nodes/cfg/Block;
astore 2
start local 2 2: iconst_0
istore 3
start local 3 3: aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.getCurrentBlock:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getSuccessors:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 10
StackMap locals: org.graalvm.compiler.core.gen.NodeLIRBuilder org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.cfg.Block int top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
StackMap stack:
4: aload 7
iload 5
aaload
astore 4
start local 4 5: aload 4
aload 2
if_acmpne 8
6: getstatic org.graalvm.compiler.core.gen.NodeLIRBuilder.$assertionsDisabled:Z
ifne 7
aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.getCurrentBlock:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
instanceof org.graalvm.compiler.nodes.cfg.Block
ifne 7
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
7: StackMap locals: org.graalvm.compiler.core.gen.NodeLIRBuilder org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.cfg.Block int org.graalvm.compiler.core.common.cfg.AbstractBlockBase int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
StackMap stack:
aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
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 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.getCurrentBlock:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
iload 3
invokestatic org.graalvm.compiler.lir.LabelRef.forSuccessor:(Lorg/graalvm/compiler/lir/LIR;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;I)Lorg/graalvm/compiler/lir/LabelRef;
areturn
8: StackMap locals:
StackMap stack:
iinc 3 1
end local 4 9: iinc 5 1
StackMap locals: org.graalvm.compiler.core.gen.NodeLIRBuilder org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.cfg.Block int top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
StackMap stack:
10: iload 5
iload 6
if_icmplt 4
11: ldc "Block not in successor list of current block"
invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
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/gen/NodeLIRBuilder;
0 12 1 b Lorg/graalvm/compiler/nodes/FixedNode;
2 12 2 result Lorg/graalvm/compiler/nodes/cfg/Block;
3 12 3 suxIndex I
5 9 4 succ Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
MethodParameters:
Name Flags
b
public final void append(org.graalvm.compiler.lir.LIRInstruction);
descriptor: (Lorg/graalvm/compiler/lir/LIRInstruction;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: getstatic org.graalvm.compiler.lir.gen.LIRGenerator$Options.PrintIRWithLIR:Lorg/graalvm/compiler/options/OptionValue;
invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 5
invokestatic org.graalvm.compiler.debug.TTY.isSuppressed:()Z
ifne 5
1: aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.currentInstruction:Lorg/graalvm/compiler/nodes/ValueNode;
ifnull 5
aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.lastInstructionPrinted:Lorg/graalvm/compiler/nodes/ValueNode;
aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.currentInstruction:Lorg/graalvm/compiler/nodes/ValueNode;
if_acmpeq 5
2: aload 0
aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.currentInstruction:Lorg/graalvm/compiler/nodes/ValueNode;
putfield org.graalvm.compiler.core.gen.NodeLIRBuilder.lastInstructionPrinted:Lorg/graalvm/compiler/nodes/ValueNode;
3: new org.graalvm.compiler.core.gen.InstructionPrinter
dup
invokestatic org.graalvm.compiler.debug.TTY.out:()Lorg/graalvm/compiler/debug/LogStream;
invokespecial org.graalvm.compiler.core.gen.InstructionPrinter.<init>:(Lorg/graalvm/compiler/debug/LogStream;)V
astore 2
start local 2 4: aload 2
aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.currentInstruction:Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.core.gen.InstructionPrinter.printInstructionListing:(Lorg/graalvm/compiler/nodes/ValueNode;)V
end local 2 5: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
aload 1
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
0 7 1 op Lorg/graalvm/compiler/lir/LIRInstruction;
4 5 2 ip Lorg/graalvm/compiler/core/gen/InstructionPrinter;
MethodParameters:
Name Flags
op
protected org.graalvm.compiler.core.common.LIRKind getExactPhiKind(org.graalvm.compiler.nodes.PhiNode);
descriptor: (Lorg/graalvm/compiler/nodes/PhiNode;)Lorg/graalvm/compiler/core/common/LIRKind;
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=7, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
aload 1
invokevirtual org.graalvm.compiler.nodes.PhiNode.valueCount:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 12
3: StackMap locals: java.util.ArrayList int
StackMap stack:
aload 1
iload 3
invokevirtual org.graalvm.compiler.nodes.PhiNode.valueAt:(I)Lorg/graalvm/compiler/nodes/ValueNode;
astore 4
start local 4 4: aload 0
aload 4
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.getOperand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
astore 5
start local 5 5: aload 5
ifnull 8
6: aload 2
aload 5
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
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
7: goto 11
8: StackMap locals: org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.Value
StackMap stack:
getstatic org.graalvm.compiler.core.gen.NodeLIRBuilder.$assertionsDisabled:Z
ifne 9
aload 1
iload 3
invokestatic org.graalvm.compiler.core.gen.NodeLIRBuilder.isPhiInputFromBackedge:(Lorg/graalvm/compiler/nodes/PhiNode;I)Z
ifne 9
new java.lang.AssertionError
dup
ldc "Input %s to phi node %s is not yet available although it is not coming from a loop back edge"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 4
aastore
dup
iconst_1
aload 1
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
9: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
aload 4
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.getLIRKind:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/LIRKind;
astore 6
start local 6 10: aload 2
aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
aload 6
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.toRegisterKind:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/meta/ValueKind;
checkcast org.graalvm.compiler.core.common.LIRKind
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 6 end local 5 end local 4 11: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
12: iload 3
aload 1
invokevirtual org.graalvm.compiler.nodes.PhiNode.valueCount:()I
if_icmplt 3
end local 3 13: aload 2
invokestatic org.graalvm.compiler.core.common.LIRKind.merge:(Ljava/lang/Iterable;)Lorg/graalvm/compiler/core/common/LIRKind;
astore 3
start local 3 14: getstatic org.graalvm.compiler.core.gen.NodeLIRBuilder.$assertionsDisabled:Z
ifne 15
aload 0
aload 3
aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
aload 1
invokevirtual org.graalvm.compiler.nodes.PhiNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.getLIRKind:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/LIRKind;
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.verifyPHIKind:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/core/common/LIRKind;)Z
ifne 15
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
15: StackMap locals: org.graalvm.compiler.core.gen.NodeLIRBuilder org.graalvm.compiler.nodes.PhiNode java.util.ArrayList org.graalvm.compiler.core.common.LIRKind
StackMap stack:
aload 3
areturn
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/core/gen/NodeLIRBuilder;
0 16 1 phi Lorg/graalvm/compiler/nodes/PhiNode;
1 16 2 values Ljava/util/ArrayList<Lorg/graalvm/compiler/core/common/LIRKind;>;
2 13 3 i I
4 11 4 node Lorg/graalvm/compiler/nodes/ValueNode;
5 11 5 value Ljdk/vm/ci/meta/Value;
10 11 6 kind Lorg/graalvm/compiler/core/common/LIRKind;
14 16 3 derivedKind Lorg/graalvm/compiler/core/common/LIRKind;
MethodParameters:
Name Flags
phi
private boolean verifyPHIKind(org.graalvm.compiler.core.common.LIRKind, org.graalvm.compiler.core.common.LIRKind);
descriptor: (Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/core/common/LIRKind;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.graalvm.compiler.core.common.LIRKind.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
astore 3
start local 3 1: aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
aload 2
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.toRegisterKind:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/meta/ValueKind;
checkcast org.graalvm.compiler.core.common.LIRKind
invokevirtual org.graalvm.compiler.core.common.LIRKind.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
astore 4
start local 4 2: getstatic org.graalvm.compiler.core.gen.NodeLIRBuilder.$assertionsDisabled:Z
ifne 3
aload 3
aload 4
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 3
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "kinds don't match: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " vs "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
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: jdk.vm.ci.meta.PlatformKind jdk.vm.ci.meta.PlatformKind
StackMap stack:
iconst_1
ireturn
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/gen/NodeLIRBuilder;
0 4 1 derivedKind Lorg/graalvm/compiler/core/common/LIRKind;
0 4 2 phiKind Lorg/graalvm/compiler/core/common/LIRKind;
1 4 3 derivedPlatformKind Ljdk/vm/ci/meta/PlatformKind;
2 4 4 phiPlatformKind Ljdk/vm/ci/meta/PlatformKind;
MethodParameters:
Name Flags
derivedKind
phiKind
private static boolean isPhiInputFromBackedge(org.graalvm.compiler.nodes.PhiNode, int);
descriptor: (Lorg/graalvm/compiler/nodes/PhiNode;I)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.graalvm.compiler.nodes.PhiNode.merge:()Lorg/graalvm/compiler/nodes/AbstractMergeNode;
astore 2
start local 2 1: aload 2
iload 1
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.phiPredecessorAt:(I)Lorg/graalvm/compiler/nodes/AbstractEndNode;
astore 3
start local 3 2: aload 3
instanceof org.graalvm.compiler.nodes.LoopEndNode
ifeq 3
aload 3
checkcast org.graalvm.compiler.nodes.LoopEndNode
invokevirtual org.graalvm.compiler.nodes.LoopEndNode.loopBegin:()Lorg/graalvm/compiler/nodes/LoopBeginNode;
aload 2
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.equals:(Ljava/lang/Object;)Z
ifeq 3
iconst_1
ireturn
StackMap locals: org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.nodes.AbstractEndNode
StackMap stack:
3: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 phi Lorg/graalvm/compiler/nodes/PhiNode;
0 4 1 index I
1 4 2 merge Lorg/graalvm/compiler/nodes/AbstractMergeNode;
2 4 3 end Lorg/graalvm/compiler/nodes/AbstractEndNode;
MethodParameters:
Name Flags
phi
index
private jdk.vm.ci.meta.Value[] createPhiIn(org.graalvm.compiler.nodes.AbstractMergeNode);
descriptor: (Lorg/graalvm/compiler/nodes/AbstractMergeNode;)[Ljdk/vm/ci/meta/Value;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 1: aload 1
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.valuePhis:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 4
goto 7
StackMap locals: org.graalvm.compiler.core.gen.NodeLIRBuilder org.graalvm.compiler.nodes.AbstractMergeNode java.util.List top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ValuePhiNode
astore 3
start local 3 3: getstatic org.graalvm.compiler.core.gen.NodeLIRBuilder.$assertionsDisabled:Z
ifne 4
aload 0
aload 3
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.getOperand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
ifnull 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals: org.graalvm.compiler.core.gen.NodeLIRBuilder org.graalvm.compiler.nodes.AbstractMergeNode java.util.List org.graalvm.compiler.nodes.ValuePhiNode java.util.Iterator
StackMap stack:
aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
aload 0
aload 3
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.getExactPhiKind:(Lorg/graalvm/compiler/nodes/PhiNode;)Lorg/graalvm/compiler/core/common/LIRKind;
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
astore 5
start local 5 5: aload 2
aload 5
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
6: aload 0
aload 3
aload 5
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.setResult:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
pop
end local 5 end local 3 7: StackMap locals: org.graalvm.compiler.core.gen.NodeLIRBuilder org.graalvm.compiler.nodes.AbstractMergeNode java.util.List top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
8: aload 2
aload 2
invokeinterface java.util.List.size:()I
anewarray jdk.vm.ci.meta.Value
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast jdk.vm.ci.meta.Value[]
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
0 9 1 merge Lorg/graalvm/compiler/nodes/AbstractMergeNode;
1 9 2 values Ljava/util/List<Ljdk/vm/ci/meta/Value;>;
3 7 3 phi Lorg/graalvm/compiler/nodes/ValuePhiNode;
5 7 5 value Lorg/graalvm/compiler/lir/Variable;
MethodParameters:
Name Flags
merge
protected boolean allowObjectConstantToStackMove();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
private jdk.vm.ci.meta.Value[] createPhiOut(org.graalvm.compiler.nodes.AbstractMergeNode, org.graalvm.compiler.nodes.AbstractEndNode);
descriptor: (Lorg/graalvm/compiler/nodes/AbstractMergeNode;Lorg/graalvm/compiler/nodes/AbstractEndNode;)[Ljdk/vm/ci/meta/Value;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=9, args_size=3
start local 0 start local 1 start local 2 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 1: aload 1
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.valuePhis:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 5
goto 14
StackMap locals: org.graalvm.compiler.core.gen.NodeLIRBuilder org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.nodes.AbstractEndNode java.util.List top java.util.Iterator
StackMap stack:
2: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.PhiNode
astore 4
start local 4 3: aload 4
aload 2
invokevirtual org.graalvm.compiler.nodes.PhiNode.valueAt:(Lorg/graalvm/compiler/nodes/AbstractEndNode;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 6
start local 6 4: aload 0
aload 6
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
astore 7
start local 7 5: getstatic org.graalvm.compiler.core.gen.NodeLIRBuilder.$assertionsDisabled:Z
ifne 6
aload 7
ifnonnull 6
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
6: StackMap locals: org.graalvm.compiler.core.gen.NodeLIRBuilder org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.nodes.AbstractEndNode java.util.List org.graalvm.compiler.nodes.PhiNode java.util.Iterator org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.Value
StackMap stack:
aload 7
invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
ifeq 9
7: aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
aload 7
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitMove:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
astore 7
8: goto 13
StackMap locals:
StackMap stack:
9: aload 0
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.allowObjectConstantToStackMove:()Z
ifne 13
aload 6
instanceof org.graalvm.compiler.nodes.ConstantNode
ifeq 13
aload 7
invokestatic org.graalvm.compiler.core.common.LIRKind.isValue:(Ljdk/vm/ci/meta/Value;)Z
ifne 13
10: aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
aload 7
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 8
start local 8 11: aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
aload 8
aload 7
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitMove:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
12: aload 8
astore 7
end local 8 13: StackMap locals:
StackMap stack:
aload 3
aload 7
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 7 end local 6 end local 4 14: StackMap locals: org.graalvm.compiler.core.gen.NodeLIRBuilder org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.nodes.AbstractEndNode java.util.List top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
15: aload 3
aload 3
invokeinterface java.util.List.size:()I
anewarray jdk.vm.ci.meta.Value
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast jdk.vm.ci.meta.Value[]
areturn
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/core/gen/NodeLIRBuilder;
0 16 1 merge Lorg/graalvm/compiler/nodes/AbstractMergeNode;
0 16 2 pred Lorg/graalvm/compiler/nodes/AbstractEndNode;
1 16 3 values Ljava/util/List<Ljdk/vm/ci/meta/Value;>;
3 14 4 phi Lorg/graalvm/compiler/nodes/PhiNode;
4 14 6 node Lorg/graalvm/compiler/nodes/ValueNode;
5 14 7 value Ljdk/vm/ci/meta/Value;
11 13 8 result Lorg/graalvm/compiler/lir/Variable;
MethodParameters:
Name Flags
merge
pred
public void doBlock(org.graalvm.compiler.nodes.cfg.Block, org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.core.common.cfg.BlockMap<java.util.List<org.graalvm.compiler.graph.Node>>);
descriptor: (Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/core/common/cfg/BlockMap;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=13, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
astore 4
aconst_null
astore 5
1: aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
aload 1
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.getBlockScope:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$BlockScope;
astore 6
start local 6 2: aload 0
aconst_null
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.setSourcePosition:(Lorg/graalvm/compiler/graph/NodeSourcePosition;)V
3: aload 1
aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
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;
invokevirtual org.graalvm.compiler.lir.LIR.getControlFlowGraph:()Lorg/graalvm/compiler/core/common/cfg/AbstractControlFlowGraph;
invokeinterface org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph.getStartBlock:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
if_acmpne 7
4: getstatic org.graalvm.compiler.core.gen.NodeLIRBuilder.$assertionsDisabled:Z
ifne 5
aload 1
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getPredecessorCount:()I
ifeq 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals: java.lang.Throwable java.lang.Throwable org.graalvm.compiler.lir.gen.LIRGeneratorTool$BlockScope
StackMap stack:
aload 0
aload 2
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.emitPrologue:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
6: goto 15
7: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.core.gen.NodeLIRBuilder.$assertionsDisabled:Z
ifne 8
aload 1
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getPredecessorCount:()I
ifgt 8
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
8: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getBeginNode:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
astore 7
start local 7 9: aload 7
instanceof org.graalvm.compiler.nodes.AbstractMergeNode
ifeq 15
10: aload 7
checkcast org.graalvm.compiler.nodes.AbstractMergeNode
astore 8
start local 8 11: aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
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;
iconst_0
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast org.graalvm.compiler.lir.StandardOp$LabelOp
astore 9
start local 9 12: aload 9
aload 0
aload 8
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.createPhiIn:(Lorg/graalvm/compiler/nodes/AbstractMergeNode;)[Ljdk/vm/ci/meta/Value;
invokevirtual org.graalvm.compiler.lir.StandardOp$LabelOp.setPhiValues:([Ljdk/vm/ci/meta/Value;)V
13: getstatic org.graalvm.compiler.lir.gen.LIRGenerator$Options.PrintIRWithLIR:Lorg/graalvm/compiler/options/OptionValue;
invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 15
invokestatic org.graalvm.compiler.debug.TTY.isSuppressed:()Z
ifne 15
14: new java.lang.StringBuilder
dup
ldc "Created PhiIn: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.graalvm.compiler.debug.TTY.println:(Ljava/lang/String;)V
end local 9 end local 8 end local 7 15: StackMap locals:
StackMap stack:
aload 3
aload 1
invokevirtual org.graalvm.compiler.core.common.cfg.BlockMap.get:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/lang/Object;
checkcast java.util.List
astore 7
start local 7 16: aload 0
aload 7
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.matchComplexExpressions:(Ljava/util/List;)V
17: iconst_0
istore 8
start local 8 18: goto 43
19: StackMap locals: java.util.List int
StackMap stack:
aload 7
iload 8
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 9
start local 9 20: aload 9
instanceof org.graalvm.compiler.nodes.ValueNode
ifeq 42
21: aload 9
checkcast org.graalvm.compiler.nodes.ValueNode
astore 10
start local 10 22: getstatic org.graalvm.compiler.lir.gen.LIRGenerator$Options.TraceLIRGeneratorLevel:Lorg/graalvm/compiler/options/OptionValue;
invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
iconst_3
if_icmplt 24
23: new java.lang.StringBuilder
dup
ldc "LIRGen for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 10
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.graalvm.compiler.debug.TTY.println:(Ljava/lang/String;)V
24: StackMap locals: org.graalvm.compiler.graph.Node org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 0
aload 10
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.getOperand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
astore 11
start local 11 25: aload 11
ifnonnull 33
26: aload 0
aload 10
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.peephole:(Lorg/graalvm/compiler/nodes/ValueNode;)Z
ifne 42
27: aload 0
aload 10
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.doRoot:(Lorg/graalvm/compiler/nodes/ValueNode;)V
28: goto 42
StackMap locals: org.graalvm.compiler.core.gen.NodeLIRBuilder org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.core.common.cfg.BlockMap java.lang.Throwable java.lang.Throwable org.graalvm.compiler.lir.gen.LIRGeneratorTool$BlockScope java.util.List int org.graalvm.compiler.graph.Node org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.Value
StackMap stack: org.graalvm.compiler.debug.GraalError
29: astore 12
start local 12 30: aload 12
aload 10
invokestatic org.graalvm.compiler.graph.GraalGraphError.transformAndAddContext:(Lorg/graalvm/compiler/debug/GraalError;Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/GraalGraphError;
athrow
end local 12 31: StackMap locals:
StackMap stack: java.lang.Throwable
astore 12
start local 12 32: new org.graalvm.compiler.graph.GraalGraphError
dup
aload 12
invokespecial org.graalvm.compiler.graph.GraalGraphError.<init>:(Ljava/lang/Throwable;)V
aload 10
invokevirtual org.graalvm.compiler.graph.GraalGraphError.addContext:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/GraalGraphError;
athrow
end local 12 33: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.core.match.ComplexMatchValue.INTERIOR_MATCH:Ljdk/vm/ci/meta/Value;
aload 11
invokevirtual jdk.vm.ci.meta.Value.equals:(Ljava/lang/Object;)Z
ifeq 36
34: ldc "interior match for %s"
aload 10
invokestatic org.graalvm.compiler.debug.Debug.log:(Ljava/lang/String;Ljava/lang/Object;)V
35: goto 42
StackMap locals:
StackMap stack:
36: aload 11
instanceof org.graalvm.compiler.core.match.ComplexMatchValue
ifeq 42
37: ldc "complex match for %s"
aload 10
invokestatic org.graalvm.compiler.debug.Debug.log:(Ljava/lang/String;Ljava/lang/Object;)V
38: aload 11
checkcast org.graalvm.compiler.core.match.ComplexMatchValue
astore 12
start local 12 39: aload 12
aload 0
invokevirtual org.graalvm.compiler.core.match.ComplexMatchValue.evaluate:(Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
astore 11
40: aload 11
ifnull 42
41: aload 0
aload 10
aload 11
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.setResult:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
pop
end local 12 end local 11 end local 10 end local 9 42: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
43: iload 8
aload 7
invokeinterface java.util.List.size:()I
if_icmplt 19
end local 8 44: aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
aload 1
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.hasBlockEnd:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Z
ifne 50
45: aload 1
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getEndNode:()Lorg/graalvm/compiler/nodes/FixedNode;
invokevirtual org.graalvm.compiler.nodes.FixedNode.successors:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
astore 8
start local 8 46: getstatic org.graalvm.compiler.core.gen.NodeLIRBuilder.$assertionsDisabled:Z
ifne 47
aload 8
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.count:()I
aload 1
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getSuccessorCount:()I
if_icmpeq 47
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
47: StackMap locals: org.graalvm.compiler.core.gen.NodeLIRBuilder org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.core.common.cfg.BlockMap java.lang.Throwable java.lang.Throwable org.graalvm.compiler.lir.gen.LIRGeneratorTool$BlockScope java.util.List org.graalvm.compiler.graph.iterators.NodeIterable
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getSuccessorCount:()I
iconst_1
if_icmpeq 49
48: new org.graalvm.compiler.debug.GraalError
dup
new java.lang.StringBuilder
dup
ldc "Block without BlockEndOp: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getEndNode:()Lorg/graalvm/compiler/nodes/FixedNode;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/String;)V
athrow
49: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
aload 0
aload 8
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.first:()Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.FixedNode
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.getLIRBlock:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/lir/LabelRef;
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitJump:(Lorg/graalvm/compiler/lir/LabelRef;)V
end local 8 50: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.core.gen.NodeLIRBuilder.$assertionsDisabled:Z
ifne 51
aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
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
invokestatic org.graalvm.compiler.lir.LIR.verifyBlock:(Lorg/graalvm/compiler/lir/LIR;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Z
ifne 51
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 7 51: StackMap locals:
StackMap stack:
aload 6
ifnull 57
aload 6
invokevirtual org.graalvm.compiler.lir.gen.LIRGeneratorTool$BlockScope.close:()V
goto 57
StackMap locals:
StackMap stack: java.lang.Throwable
52: astore 4
aload 6
ifnull 53
aload 6
invokevirtual org.graalvm.compiler.lir.gen.LIRGeneratorTool$BlockScope.close:()V
end local 6 StackMap locals:
StackMap stack:
53: aload 4
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
54: astore 5
aload 4
ifnonnull 55
aload 5
astore 4
goto 56
StackMap locals:
StackMap stack:
55: aload 4
aload 5
if_acmpeq 56
aload 4
aload 5
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
56: aload 4
athrow
57: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 58 0 this Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
0 58 1 block Lorg/graalvm/compiler/nodes/cfg/Block;
0 58 2 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 58 3 blockMap Lorg/graalvm/compiler/core/common/cfg/BlockMap<Ljava/util/List<Lorg/graalvm/compiler/graph/Node;>;>;
2 53 6 blockScope Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$BlockScope;
9 15 7 begin Lorg/graalvm/compiler/nodes/AbstractBeginNode;
11 15 8 merge Lorg/graalvm/compiler/nodes/AbstractMergeNode;
12 15 9 label Lorg/graalvm/compiler/lir/StandardOp$LabelOp;
16 51 7 nodes Ljava/util/List<Lorg/graalvm/compiler/graph/Node;>;
18 44 8 i I
20 42 9 node Lorg/graalvm/compiler/graph/Node;
22 42 10 valueNode Lorg/graalvm/compiler/nodes/ValueNode;
25 42 11 operand Ljdk/vm/ci/meta/Value;
30 31 12 e Lorg/graalvm/compiler/debug/GraalError;
32 33 12 e Ljava/lang/Throwable;
39 42 12 match Lorg/graalvm/compiler/core/match/ComplexMatchValue;
46 50 8 successors Lorg/graalvm/compiler/graph/iterators/NodeIterable<Lorg/graalvm/compiler/graph/Node;>;
Exception table:
from to target type
27 28 29 Class org.graalvm.compiler.debug.GraalError
27 28 31 Class java.lang.Throwable
2 51 52 any
1 54 54 any
Signature: (Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/core/common/cfg/BlockMap<Ljava/util/List<Lorg/graalvm/compiler/graph/Node;>;>;)V
MethodParameters:
Name Flags
block
graph
blockMap
protected void matchComplexExpressions(java.util.List<org.graalvm.compiler.graph.Node>);
descriptor: (Ljava/util/List;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=10, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.matchRules:Ljava/util/Map;
ifnull 29
1: aconst_null
astore 2
aconst_null
astore 3
2: ldc "MatchComplexExpressions"
invokestatic org.graalvm.compiler.debug.Debug.scope:(Ljava/lang/Object;)Lorg/graalvm/compiler/debug/Debug$Scope;
astore 4
start local 4 3: getstatic org.graalvm.compiler.debug.GraalDebugConfig$Options.LogVerbose:Lorg/graalvm/compiler/options/OptionValue;
invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 9
4: iconst_0
istore 5
start local 5 5: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 8
StackMap locals: org.graalvm.compiler.core.gen.NodeLIRBuilder java.util.List java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope int top java.util.Iterator
StackMap stack:
6: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 6
start local 6 7: ldc "%d: (%s) %1S"
iload 5
iinc 5 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 6
invokevirtual org.graalvm.compiler.graph.Node.getUsageCount:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 6
invokestatic org.graalvm.compiler.debug.Debug.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
end local 6 8: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
end local 5 9: StackMap locals: org.graalvm.compiler.core.gen.NodeLIRBuilder java.util.List java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope
StackMap stack:
aload 1
invokeinterface java.util.List.size:()I
iconst_1
isub
istore 5
start local 5 10: goto 22
11: StackMap locals: int
StackMap stack:
aload 1
iload 5
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 6
start local 6 12: aload 0
aload 6
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.getOperand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
ifnull 14
13: goto 21
14: StackMap locals: org.graalvm.compiler.graph.Node
StackMap stack:
aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.matchRules:Ljava/util/Map;
aload 6
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 7
start local 7 15: aload 7
ifnull 21
16: aload 7
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 20
StackMap locals: org.graalvm.compiler.core.gen.NodeLIRBuilder java.util.List java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope int org.graalvm.compiler.graph.Node java.util.List top java.util.Iterator
StackMap stack:
17: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.core.match.MatchStatement
astore 8
start local 8 18: aload 8
aload 0
iload 5
aload 6
aload 1
invokevirtual org.graalvm.compiler.core.match.MatchStatement.generate:(Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;ILorg/graalvm/compiler/graph/Node;Ljava/util/List;)Z
ifeq 20
19: goto 21
end local 8 20: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 17
end local 7 end local 6 21: StackMap locals: org.graalvm.compiler.core.gen.NodeLIRBuilder java.util.List java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope int
StackMap stack:
iinc 5 -1
StackMap locals:
StackMap stack:
22: iload 5
ifge 11
end local 5 23: aload 4
ifnull 29
aload 4
invokeinterface org.graalvm.compiler.debug.Debug$Scope.close:()V
goto 29
StackMap locals: org.graalvm.compiler.core.gen.NodeLIRBuilder java.util.List java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope
StackMap stack: java.lang.Throwable
24: astore 2
aload 4
ifnull 25
aload 4
invokeinterface org.graalvm.compiler.debug.Debug$Scope.close:()V
end local 4 StackMap locals:
StackMap stack:
25: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
26: astore 3
aload 2
ifnonnull 27
aload 3
astore 2
goto 28
StackMap locals:
StackMap stack:
27: aload 2
aload 3
if_acmpeq 28
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
28: aload 2
athrow
29: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
0 30 1 nodes Ljava/util/List<Lorg/graalvm/compiler/graph/Node;>;
3 25 4 s Lorg/graalvm/compiler/debug/Debug$Scope;
5 9 5 i I
7 8 6 node Lorg/graalvm/compiler/graph/Node;
10 23 5 index I
12 21 6 node Lorg/graalvm/compiler/graph/Node;
15 21 7 statements Ljava/util/List<Lorg/graalvm/compiler/core/match/MatchStatement;>;
18 20 8 statement Lorg/graalvm/compiler/core/match/MatchStatement;
Exception table:
from to target type
3 23 24 any
2 26 26 any
Signature: (Ljava/util/List<Lorg/graalvm/compiler/graph/Node;>;)V
MethodParameters:
Name Flags
nodes
protected abstract boolean peephole(org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Z
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
valueNode
private void doRoot(org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: getstatic org.graalvm.compiler.lir.gen.LIRGenerator$Options.TraceLIRGeneratorLevel:Lorg/graalvm/compiler/options/OptionValue;
invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
iconst_2
if_icmplt 2
1: new java.lang.StringBuilder
dup
ldc "Emitting LIR for instruction "
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.TTY.println:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield org.graalvm.compiler.core.gen.NodeLIRBuilder.currentInstruction:Lorg/graalvm/compiler/nodes/ValueNode;
3: ldc "Visiting %s"
aload 1
invokestatic org.graalvm.compiler.debug.Debug.log:(Ljava/lang/String;Ljava/lang/Object;)V
4: aload 0
aload 1
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.emitNode:(Lorg/graalvm/compiler/nodes/ValueNode;)V
5: ldc "Operand for %s = %s"
aload 1
aload 0
aload 1
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.getOperand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
invokestatic org.graalvm.compiler.debug.Debug.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
0 7 1 instr Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
instr
protected void emitNode(org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: invokestatic org.graalvm.compiler.debug.Debug.isLogEnabled:()Z
ifeq 2
aload 1
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual org.graalvm.compiler.core.common.type.Stamp.isEmpty:()Z
ifeq 2
1: ldc "This node has an empty stamp, we are emitting dead code(?): %s"
aload 1
invokestatic org.graalvm.compiler.debug.Debug.log:(Ljava/lang/String;Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.ValueNode.getNodeSourcePosition:()Lorg/graalvm/compiler/graph/NodeSourcePosition;
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.setSourcePosition:(Lorg/graalvm/compiler/graph/NodeSourcePosition;)V
3: aload 1
instanceof org.graalvm.compiler.nodes.spi.LIRLowerable
ifeq 6
4: aload 1
checkcast org.graalvm.compiler.nodes.spi.LIRLowerable
aload 0
invokeinterface org.graalvm.compiler.nodes.spi.LIRLowerable.generate:(Lorg/graalvm/compiler/nodes/spi/NodeLIRBuilderTool;)V
5: goto 7
6: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "node is not LIRLowerable: "
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
7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
0 8 1 node Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
node
protected void emitPrologue(org.graalvm.compiler.nodes.StructuredGraph);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.getResult:()Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getCallingConvention:()Ljdk/vm/ci/code/CallingConvention;
astore 2
start local 2 1: aload 2
invokevirtual jdk.vm.ci.code.CallingConvention.getArgumentCount:()I
anewarray jdk.vm.ci.meta.Value
astore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 10
4: StackMap locals: jdk.vm.ci.code.CallingConvention jdk.vm.ci.meta.Value[] int
StackMap stack:
aload 3
iload 4
aload 2
iload 4
invokevirtual jdk.vm.ci.code.CallingConvention.getArgument:(I)Ljdk/vm/ci/meta/AllocatableValue;
aastore
5: aload 3
iload 4
aaload
invokestatic jdk.vm.ci.code.ValueUtil.isStackSlot:(Ljdk/vm/ci/meta/Value;)Z
ifeq 9
6: aload 3
iload 4
aaload
invokestatic jdk.vm.ci.code.ValueUtil.asStackSlot:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/StackSlot;
astore 5
start local 5 7: aload 5
invokevirtual jdk.vm.ci.code.StackSlot.isInCallerFrame:()Z
ifeq 9
aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
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;
invokevirtual org.graalvm.compiler.lir.LIR.hasArgInCallerFrame:()Z
ifne 9
8: aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
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;
invokevirtual org.graalvm.compiler.lir.LIR.setHasArgInCallerFrame:()V
end local 5 9: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
10: iload 4
aload 3
arraylength
if_icmplt 4
end local 4 11: aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
aload 3
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitIncomingValues:([Ljdk/vm/ci/meta/Value;)V
12: aload 1
getstatic org.graalvm.compiler.nodes.ParameterNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:(Lorg/graalvm/compiler/graph/NodeClass;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 5
goto 17
StackMap locals: org.graalvm.compiler.core.gen.NodeLIRBuilder org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.code.CallingConvention jdk.vm.ci.meta.Value[] top java.util.Iterator
StackMap stack:
13: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ParameterNode
astore 4
start local 4 14: aload 3
aload 4
invokevirtual org.graalvm.compiler.nodes.ParameterNode.index:()I
aaload
astore 6
start local 6 15: getstatic org.graalvm.compiler.core.gen.NodeLIRBuilder.$assertionsDisabled:Z
ifne 16
aload 6
invokevirtual jdk.vm.ci.meta.Value.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
aload 0
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.getLIRGeneratorTool:()Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
aload 4
invokevirtual org.graalvm.compiler.nodes.ParameterNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.getLIRKind:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/LIRKind;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 16
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()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 0
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.getLIRGeneratorTool:()Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
aload 4
invokevirtual org.graalvm.compiler.nodes.ParameterNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.getLIRKind:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/LIRKind;
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
16: StackMap locals: org.graalvm.compiler.core.gen.NodeLIRBuilder org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.code.CallingConvention jdk.vm.ci.meta.Value[] org.graalvm.compiler.nodes.ParameterNode java.util.Iterator jdk.vm.ci.meta.Value
StackMap stack:
aload 0
aload 4
aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
aload 6
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitMove:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.setResult:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
pop
end local 6 end local 4 17: StackMap locals: org.graalvm.compiler.core.gen.NodeLIRBuilder org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.code.CallingConvention jdk.vm.ci.meta.Value[] top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 13
18: return
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/gen/NodeLIRBuilder;
0 19 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
1 19 2 incomingArguments Ljdk/vm/ci/code/CallingConvention;
2 19 3 params [Ljdk/vm/ci/meta/Value;
3 11 4 i I
7 9 5 slot Ljdk/vm/ci/code/StackSlot;
14 17 4 param Lorg/graalvm/compiler/nodes/ParameterNode;
15 17 6 paramValue Ljdk/vm/ci/meta/Value;
MethodParameters:
Name Flags
graph
public void visitMerge(org.graalvm.compiler.nodes.AbstractMergeNode);
descriptor: (Lorg/graalvm/compiler/nodes/AbstractMergeNode;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
0 1 1 x Lorg/graalvm/compiler/nodes/AbstractMergeNode;
MethodParameters:
Name Flags
x
public void visitEndNode(org.graalvm.compiler.nodes.AbstractEndNode);
descriptor: (Lorg/graalvm/compiler/nodes/AbstractEndNode;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.graalvm.compiler.nodes.AbstractEndNode.merge:()Lorg/graalvm/compiler/nodes/AbstractMergeNode;
astore 2
start local 2 1: aload 0
aload 0
aload 2
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.getLIRBlock:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/lir/LabelRef;
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.newJumpOp:(Lorg/graalvm/compiler/lir/LabelRef;)Lorg/graalvm/compiler/lir/StandardOp$JumpOp;
astore 3
start local 3 2: aload 3
aload 0
aload 2
aload 1
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.createPhiOut:(Lorg/graalvm/compiler/nodes/AbstractMergeNode;Lorg/graalvm/compiler/nodes/AbstractEndNode;)[Ljdk/vm/ci/meta/Value;
invokevirtual org.graalvm.compiler.lir.StandardOp$JumpOp.setPhiValues:([Ljdk/vm/ci/meta/Value;)V
3: aload 0
aload 3
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)V
4: return
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/gen/NodeLIRBuilder;
0 5 1 end Lorg/graalvm/compiler/nodes/AbstractEndNode;
1 5 2 merge Lorg/graalvm/compiler/nodes/AbstractMergeNode;
2 5 3 jump Lorg/graalvm/compiler/lir/StandardOp$JumpOp;
MethodParameters:
Name Flags
end
public void visitLoopEnd(org.graalvm.compiler.nodes.LoopEndNode);
descriptor: (Lorg/graalvm/compiler/nodes/LoopEndNode;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
0 1 1 x Lorg/graalvm/compiler/nodes/LoopEndNode;
MethodParameters:
Name Flags
x
protected org.graalvm.compiler.lir.StandardOp$JumpOp newJumpOp(org.graalvm.compiler.lir.LabelRef);
descriptor: (Lorg/graalvm/compiler/lir/LabelRef;)Lorg/graalvm/compiler/lir/StandardOp$JumpOp;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 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
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
0 1 1 ref Lorg/graalvm/compiler/lir/LabelRef;
MethodParameters:
Name Flags
ref
protected org.graalvm.compiler.core.common.LIRKind getPhiKind(org.graalvm.compiler.nodes.PhiNode);
descriptor: (Lorg/graalvm/compiler/nodes/PhiNode;)Lorg/graalvm/compiler/core/common/LIRKind;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
aload 1
invokevirtual org.graalvm.compiler.nodes.PhiNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.getLIRKind:(Lorg/graalvm/compiler/core/common/type/Stamp;)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/core/gen/NodeLIRBuilder;
0 1 1 phi Lorg/graalvm/compiler/nodes/PhiNode;
MethodParameters:
Name Flags
phi
public void emitIf(org.graalvm.compiler.nodes.IfNode);
descriptor: (Lorg/graalvm/compiler/nodes/IfNode;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.IfNode.condition:()Lorg/graalvm/compiler/nodes/LogicNode;
aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.IfNode.trueSuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.getLIRBlock:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/lir/LabelRef;
aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.IfNode.falseSuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.getLIRBlock:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/lir/LabelRef;
aload 1
aload 1
invokevirtual org.graalvm.compiler.nodes.IfNode.trueSuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
invokevirtual org.graalvm.compiler.nodes.IfNode.probability:(Lorg/graalvm/compiler/nodes/AbstractBeginNode;)D
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.emitBranch:(Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
0 2 1 x Lorg/graalvm/compiler/nodes/IfNode;
MethodParameters:
Name Flags
x
public void emitBranch(org.graalvm.compiler.nodes.LogicNode, org.graalvm.compiler.lir.LabelRef, org.graalvm.compiler.lir.LabelRef, double);
descriptor: (Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
instanceof org.graalvm.compiler.nodes.calc.IsNullNode
ifeq 3
1: aload 0
aload 1
checkcast org.graalvm.compiler.nodes.calc.IsNullNode
aload 2
aload 3
dload 4
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.emitNullCheckBranch:(Lorg/graalvm/compiler/nodes/calc/IsNullNode;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
2: goto 13
StackMap locals:
StackMap stack:
3: aload 1
instanceof org.graalvm.compiler.nodes.calc.CompareNode
ifeq 6
4: aload 0
aload 1
checkcast org.graalvm.compiler.nodes.calc.CompareNode
aload 2
aload 3
dload 4
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.emitCompareBranch:(Lorg/graalvm/compiler/nodes/calc/CompareNode;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
5: goto 13
StackMap locals:
StackMap stack:
6: aload 1
instanceof org.graalvm.compiler.nodes.LogicConstantNode
ifeq 9
7: aload 0
aload 1
checkcast org.graalvm.compiler.nodes.LogicConstantNode
invokevirtual org.graalvm.compiler.nodes.LogicConstantNode.getValue:()Z
aload 2
aload 3
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.emitConstantBranch:(ZLorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;)V
8: goto 13
StackMap locals:
StackMap stack:
9: aload 1
instanceof org.graalvm.compiler.nodes.calc.IntegerTestNode
ifeq 12
10: aload 0
aload 1
checkcast org.graalvm.compiler.nodes.calc.IntegerTestNode
aload 2
aload 3
dload 4
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.emitIntegerTestBranch:(Lorg/graalvm/compiler/nodes/calc/IntegerTestNode;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
11: goto 13
12: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.nodes.LogicNode.toString:()Ljava/lang/String;
invokestatic org.graalvm.compiler.debug.GraalError.unimplemented:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
13: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
0 14 1 node Lorg/graalvm/compiler/nodes/LogicNode;
0 14 2 trueSuccessor Lorg/graalvm/compiler/lir/LabelRef;
0 14 3 falseSuccessor Lorg/graalvm/compiler/lir/LabelRef;
0 14 4 trueSuccessorProbability D
MethodParameters:
Name Flags
node
trueSuccessor
falseSuccessor
trueSuccessorProbability
private void emitNullCheckBranch(org.graalvm.compiler.nodes.calc.IsNullNode, org.graalvm.compiler.lir.LabelRef, org.graalvm.compiler.lir.LabelRef, double);
descriptor: (Lorg/graalvm/compiler/nodes/calc/IsNullNode;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=10, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
aload 1
invokevirtual org.graalvm.compiler.nodes.calc.IsNullNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.getLIRKind:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/LIRKind;
astore 6
start local 6 1: aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
aload 6
getstatic jdk.vm.ci.meta.JavaConstant.NULL_POINTER:Ljdk/vm/ci/meta/JavaConstant;
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitConstant:(Lorg/graalvm/compiler/core/common/LIRKind;Ljdk/vm/ci/meta/Constant;)Ljdk/vm/ci/meta/Value;
astore 7
start local 7 2: aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
aload 6
invokevirtual org.graalvm.compiler.core.common.LIRKind.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.calc.IsNullNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
aload 7
getstatic org.graalvm.compiler.core.common.calc.Condition.EQ:Lorg/graalvm/compiler/core/common/calc/Condition;
iconst_0
aload 2
aload 3
dload 4
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitCompareBranch:(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
3: return
end local 7 end local 6 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/gen/NodeLIRBuilder;
0 4 1 node Lorg/graalvm/compiler/nodes/calc/IsNullNode;
0 4 2 trueSuccessor Lorg/graalvm/compiler/lir/LabelRef;
0 4 3 falseSuccessor Lorg/graalvm/compiler/lir/LabelRef;
0 4 4 trueSuccessorProbability D
1 4 6 kind Lorg/graalvm/compiler/core/common/LIRKind;
2 4 7 nullValue Ljdk/vm/ci/meta/Value;
MethodParameters:
Name Flags
node
trueSuccessor
falseSuccessor
trueSuccessorProbability
public void emitCompareBranch(org.graalvm.compiler.nodes.calc.CompareNode, org.graalvm.compiler.lir.LabelRef, org.graalvm.compiler.lir.LabelRef, double);
descriptor: (Lorg/graalvm/compiler/nodes/calc/CompareNode;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=10, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
aload 1
invokevirtual org.graalvm.compiler.nodes.calc.CompareNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.getLIRKind:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/LIRKind;
invokevirtual org.graalvm.compiler.core.common.LIRKind.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
astore 6
start local 6 1: aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
aload 6
aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.calc.CompareNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.calc.CompareNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
aload 1
invokevirtual org.graalvm.compiler.nodes.calc.CompareNode.condition:()Lorg/graalvm/compiler/core/common/calc/Condition;
aload 1
invokevirtual org.graalvm.compiler.nodes.calc.CompareNode.unorderedIsTrue:()Z
aload 2
aload 3
dload 4
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitCompareBranch:(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
2: return
end local 6 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/gen/NodeLIRBuilder;
0 3 1 compare Lorg/graalvm/compiler/nodes/calc/CompareNode;
0 3 2 trueSuccessor Lorg/graalvm/compiler/lir/LabelRef;
0 3 3 falseSuccessor Lorg/graalvm/compiler/lir/LabelRef;
0 3 4 trueSuccessorProbability D
1 3 6 kind Ljdk/vm/ci/meta/PlatformKind;
MethodParameters:
Name Flags
compare
trueSuccessor
falseSuccessor
trueSuccessorProbability
public void emitIntegerTestBranch(org.graalvm.compiler.nodes.calc.IntegerTestNode, org.graalvm.compiler.lir.LabelRef, org.graalvm.compiler.lir.LabelRef, double);
descriptor: (Lorg/graalvm/compiler/nodes/calc/IntegerTestNode;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.calc.IntegerTestNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.calc.IntegerTestNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
aload 2
aload 3
dload 4
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitIntegerTestBranch:(Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
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/gen/NodeLIRBuilder;
0 2 1 test Lorg/graalvm/compiler/nodes/calc/IntegerTestNode;
0 2 2 trueSuccessor Lorg/graalvm/compiler/lir/LabelRef;
0 2 3 falseSuccessor Lorg/graalvm/compiler/lir/LabelRef;
0 2 4 trueSuccessorProbability D
MethodParameters:
Name Flags
test
trueSuccessor
falseSuccessor
trueSuccessorProbability
public void emitConstantBranch(boolean, org.graalvm.compiler.lir.LabelRef, org.graalvm.compiler.lir.LabelRef);
descriptor: (ZLorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 1
ifeq 1
aload 2
goto 2
StackMap locals:
StackMap stack:
1: aload 3
StackMap locals:
StackMap stack: org.graalvm.compiler.lir.LabelRef
2: astore 4
start local 4 3: aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
aload 4
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitJump:(Lorg/graalvm/compiler/lir/LabelRef;)V
4: return
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/gen/NodeLIRBuilder;
0 5 1 value Z
0 5 2 trueSuccessorBlock Lorg/graalvm/compiler/lir/LabelRef;
0 5 3 falseSuccessorBlock Lorg/graalvm/compiler/lir/LabelRef;
3 5 4 block Lorg/graalvm/compiler/lir/LabelRef;
MethodParameters:
Name Flags
value
trueSuccessorBlock
falseSuccessorBlock
public void emitConditional(org.graalvm.compiler.nodes.calc.ConditionalNode);
descriptor: (Lorg/graalvm/compiler/nodes/calc/ConditionalNode;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.calc.ConditionalNode.trueValue:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
astore 2
start local 2 1: aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.calc.ConditionalNode.falseValue:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
astore 3
start local 3 2: aload 0
aload 1
aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.calc.ConditionalNode.condition:()Lorg/graalvm/compiler/nodes/LogicNode;
aload 2
aload 3
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.emitConditional:(Lorg/graalvm/compiler/nodes/LogicNode;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.setResult:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
pop
3: return
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/gen/NodeLIRBuilder;
0 4 1 conditional Lorg/graalvm/compiler/nodes/calc/ConditionalNode;
1 4 2 tVal Ljdk/vm/ci/meta/Value;
2 4 3 fVal Ljdk/vm/ci/meta/Value;
MethodParameters:
Name Flags
conditional
public org.graalvm.compiler.lir.Variable emitConditional(org.graalvm.compiler.nodes.LogicNode, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
descriptor: (Lorg/graalvm/compiler/nodes/LogicNode;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=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
instanceof org.graalvm.compiler.nodes.calc.IsNullNode
ifeq 5
1: aload 1
checkcast org.graalvm.compiler.nodes.calc.IsNullNode
astore 4
start local 4 2: aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
aload 4
invokevirtual org.graalvm.compiler.nodes.calc.IsNullNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.getLIRKind:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/LIRKind;
astore 5
start local 5 3: aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
aload 5
getstatic jdk.vm.ci.meta.JavaConstant.NULL_POINTER:Ljdk/vm/ci/meta/JavaConstant;
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitConstant:(Lorg/graalvm/compiler/core/common/LIRKind;Ljdk/vm/ci/meta/Constant;)Ljdk/vm/ci/meta/Value;
astore 6
start local 6 4: aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
aload 5
invokevirtual org.graalvm.compiler.core.common.LIRKind.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
aload 0
aload 4
invokevirtual org.graalvm.compiler.nodes.calc.IsNullNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
aload 6
getstatic org.graalvm.compiler.core.common.calc.Condition.EQ:Lorg/graalvm/compiler/core/common/calc/Condition;
iconst_0
aload 2
aload 3
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitConditionalMove:(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;
areturn
end local 6 end local 5 end local 4 5: StackMap locals:
StackMap stack:
aload 1
instanceof org.graalvm.compiler.nodes.calc.CompareNode
ifeq 9
6: aload 1
checkcast org.graalvm.compiler.nodes.calc.CompareNode
astore 4
start local 4 7: aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
aload 4
invokevirtual org.graalvm.compiler.nodes.calc.CompareNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.getLIRKind:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/LIRKind;
invokevirtual org.graalvm.compiler.core.common.LIRKind.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
astore 5
start local 5 8: aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
aload 5
aload 0
aload 4
invokevirtual org.graalvm.compiler.nodes.calc.CompareNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
aload 0
aload 4
invokevirtual org.graalvm.compiler.nodes.calc.CompareNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
aload 4
invokevirtual org.graalvm.compiler.nodes.calc.CompareNode.condition:()Lorg/graalvm/compiler/core/common/calc/Condition;
aload 4
invokevirtual org.graalvm.compiler.nodes.calc.CompareNode.unorderedIsTrue:()Z
aload 2
aload 3
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitConditionalMove:(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;
areturn
end local 5 end local 4 9: StackMap locals:
StackMap stack:
aload 1
instanceof org.graalvm.compiler.nodes.LogicConstantNode
ifeq 13
10: aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
aload 1
checkcast org.graalvm.compiler.nodes.LogicConstantNode
invokevirtual org.graalvm.compiler.nodes.LogicConstantNode.getValue:()Z
ifeq 11
aload 2
goto 12
StackMap locals:
StackMap stack: org.graalvm.compiler.lir.gen.LIRGenerator
11: aload 3
StackMap locals: org.graalvm.compiler.core.gen.NodeLIRBuilder org.graalvm.compiler.nodes.LogicNode jdk.vm.ci.meta.Value jdk.vm.ci.meta.Value
StackMap stack: org.graalvm.compiler.lir.gen.LIRGenerator jdk.vm.ci.meta.Value
12: invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitMove:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
areturn
13: StackMap locals:
StackMap stack:
aload 1
instanceof org.graalvm.compiler.nodes.calc.IntegerTestNode
ifeq 16
14: aload 1
checkcast org.graalvm.compiler.nodes.calc.IntegerTestNode
astore 4
start local 4 15: aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
aload 0
aload 4
invokevirtual org.graalvm.compiler.nodes.calc.IntegerTestNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
aload 0
aload 4
invokevirtual org.graalvm.compiler.nodes.calc.IntegerTestNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
aload 2
aload 3
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitIntegerTestMove:(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;
areturn
end local 4 16: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.nodes.LogicNode.toString:()Ljava/lang/String;
invokestatic org.graalvm.compiler.debug.GraalError.unimplemented:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
0 17 1 node Lorg/graalvm/compiler/nodes/LogicNode;
0 17 2 trueValue Ljdk/vm/ci/meta/Value;
0 17 3 falseValue Ljdk/vm/ci/meta/Value;
2 5 4 isNullNode Lorg/graalvm/compiler/nodes/calc/IsNullNode;
3 5 5 kind Lorg/graalvm/compiler/core/common/LIRKind;
4 5 6 nullValue Ljdk/vm/ci/meta/Value;
7 9 4 compare Lorg/graalvm/compiler/nodes/calc/CompareNode;
8 9 5 kind Ljdk/vm/ci/meta/PlatformKind;
15 16 4 test Lorg/graalvm/compiler/nodes/calc/IntegerTestNode;
MethodParameters:
Name Flags
node
trueValue
falseValue
public void emitInvoke(org.graalvm.compiler.nodes.Invoke);
descriptor: (Lorg/graalvm/compiler/nodes/Invoke;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=8, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface org.graalvm.compiler.nodes.Invoke.callTarget:()Lorg/graalvm/compiler/nodes/CallTargetNode;
checkcast org.graalvm.compiler.nodes.LoweredCallTargetNode
astore 2
start local 2 1: aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.getResult:()Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getFrameMapBuilder:()Lorg/graalvm/compiler/lir/framemap/FrameMapBuilder;
invokevirtual org.graalvm.compiler.lir.framemap.FrameMapBuilder.getRegisterConfig:()Ljdk/vm/ci/code/RegisterConfig;
aload 2
invokevirtual org.graalvm.compiler.nodes.LoweredCallTargetNode.callType:()Ljdk/vm/ci/code/CallingConvention$Type;
aload 1
invokeinterface org.graalvm.compiler.nodes.Invoke.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
invokevirtual org.graalvm.compiler.nodes.FixedNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
invokevirtual org.graalvm.compiler.core.common.type.Stamp.javaType:(Ljdk/vm/ci/meta/MetaAccessProvider;)Ljdk/vm/ci/meta/ResolvedJavaType;
2: aload 2
invokevirtual org.graalvm.compiler.nodes.LoweredCallTargetNode.signature:()[Ljdk/vm/ci/meta/JavaType;
aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
3: invokeinterface jdk.vm.ci.code.RegisterConfig.getCallingConvention:(Ljdk/vm/ci/code/CallingConvention$Type;Ljdk/vm/ci/meta/JavaType;[Ljdk/vm/ci/meta/JavaType;Ljdk/vm/ci/code/ValueKindFactory;)Ljdk/vm/ci/code/CallingConvention;
astore 3
start local 3 4: aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.getResult:()Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getFrameMapBuilder:()Lorg/graalvm/compiler/lir/framemap/FrameMapBuilder;
aload 3
invokevirtual org.graalvm.compiler.lir.framemap.FrameMapBuilder.callsMethod:(Ljdk/vm/ci/code/CallingConvention;)V
5: aload 0
aload 3
aload 2
invokevirtual org.graalvm.compiler.nodes.LoweredCallTargetNode.arguments:()Lorg/graalvm/compiler/graph/NodeInputList;
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.visitInvokeArguments:(Ljdk/vm/ci/code/CallingConvention;Ljava/util/Collection;)[Ljdk/vm/ci/meta/Value;
astore 4
start local 4 6: aconst_null
astore 5
start local 5 7: aload 1
instanceof org.graalvm.compiler.nodes.InvokeWithExceptionNode
ifeq 9
8: aload 0
aload 1
checkcast org.graalvm.compiler.nodes.InvokeWithExceptionNode
invokevirtual org.graalvm.compiler.nodes.InvokeWithExceptionNode.exceptionEdge:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.getLIRBlock:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/lir/LabelRef;
astore 5
9: StackMap locals: org.graalvm.compiler.core.gen.NodeLIRBuilder org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.LoweredCallTargetNode jdk.vm.ci.code.CallingConvention jdk.vm.ci.meta.Value[] org.graalvm.compiler.lir.LabelRef
StackMap stack:
aload 0
aload 1
aload 5
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.stateWithExceptionEdge:(Lorg/graalvm/compiler/nodes/DeoptimizingNode;Lorg/graalvm/compiler/lir/LabelRef;)Lorg/graalvm/compiler/lir/LIRFrameState;
astore 6
start local 6 10: aload 3
invokevirtual jdk.vm.ci.code.CallingConvention.getReturn:()Ljdk/vm/ci/meta/AllocatableValue;
astore 7
start local 7 11: aload 2
instanceof org.graalvm.compiler.nodes.DirectCallTargetNode
ifeq 14
12: aload 0
aload 2
checkcast org.graalvm.compiler.nodes.DirectCallTargetNode
aload 7
aload 4
getstatic jdk.vm.ci.meta.AllocatableValue.NONE:[Ljdk/vm/ci/meta/AllocatableValue;
aload 6
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.emitDirectCall:(Lorg/graalvm/compiler/nodes/DirectCallTargetNode;Ljdk/vm/ci/meta/Value;[Ljdk/vm/ci/meta/Value;[Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)V
13: goto 18
StackMap locals: org.graalvm.compiler.lir.LIRFrameState jdk.vm.ci.meta.Value
StackMap stack:
14: aload 2
instanceof org.graalvm.compiler.nodes.IndirectCallTargetNode
ifeq 17
15: aload 0
aload 2
checkcast org.graalvm.compiler.nodes.IndirectCallTargetNode
aload 7
aload 4
getstatic jdk.vm.ci.meta.AllocatableValue.NONE:[Ljdk/vm/ci/meta/AllocatableValue;
aload 6
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.emitIndirectCall:(Lorg/graalvm/compiler/nodes/IndirectCallTargetNode;Ljdk/vm/ci/meta/Value;[Ljdk/vm/ci/meta/Value;[Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRFrameState;)V
16: goto 18
17: StackMap locals:
StackMap stack:
invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
athrow
18: StackMap locals:
StackMap stack:
aload 7
invokestatic jdk.vm.ci.code.ValueUtil.isLegal:(Ljdk/vm/ci/meta/Value;)Z
ifeq 20
19: aload 0
aload 1
invokeinterface org.graalvm.compiler.nodes.Invoke.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
aload 7
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitMove:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.setResult:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
pop
20: StackMap locals:
StackMap stack:
aload 1
instanceof org.graalvm.compiler.nodes.InvokeWithExceptionNode
ifeq 22
21: aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
aload 0
aload 1
checkcast org.graalvm.compiler.nodes.InvokeWithExceptionNode
invokevirtual org.graalvm.compiler.nodes.InvokeWithExceptionNode.next:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.getLIRBlock:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/lir/LabelRef;
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitJump:(Lorg/graalvm/compiler/lir/LabelRef;)V
22: StackMap locals:
StackMap stack:
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 23 0 this Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
0 23 1 x Lorg/graalvm/compiler/nodes/Invoke;
1 23 2 callTarget Lorg/graalvm/compiler/nodes/LoweredCallTargetNode;
4 23 3 invokeCc Ljdk/vm/ci/code/CallingConvention;
6 23 4 parameters [Ljdk/vm/ci/meta/Value;
7 23 5 exceptionEdge Lorg/graalvm/compiler/lir/LabelRef;
10 23 6 callState Lorg/graalvm/compiler/lir/LIRFrameState;
11 23 7 result Ljdk/vm/ci/meta/Value;
MethodParameters:
Name Flags
x
protected abstract void emitDirectCall(org.graalvm.compiler.nodes.DirectCallTargetNode, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value[], jdk.vm.ci.meta.Value[], org.graalvm.compiler.lir.LIRFrameState);
descriptor: (Lorg/graalvm/compiler/nodes/DirectCallTargetNode;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
callTarget
result
parameters
temps
callState
protected abstract void emitIndirectCall(org.graalvm.compiler.nodes.IndirectCallTargetNode, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value[], jdk.vm.ci.meta.Value[], org.graalvm.compiler.lir.LIRFrameState);
descriptor: (Lorg/graalvm/compiler/nodes/IndirectCallTargetNode;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
callTarget
result
parameters
temps
callState
public jdk.vm.ci.meta.Value[] visitInvokeArguments(jdk.vm.ci.code.CallingConvention, java.util.Collection<org.graalvm.compiler.nodes.ValueNode>);
descriptor: (Ljdk/vm/ci/code/CallingConvention;Ljava/util/Collection;)[Ljdk/vm/ci/meta/Value;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokeinterface java.util.Collection.size:()I
anewarray jdk.vm.ci.meta.Value
astore 3
start local 3 1: iconst_0
istore 4
start local 4 2: aload 2
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 6
goto 11
StackMap locals: org.graalvm.compiler.core.gen.NodeLIRBuilder jdk.vm.ci.code.CallingConvention java.util.Collection jdk.vm.ci.meta.Value[] int top java.util.Iterator
StackMap stack:
3: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 5
start local 5 4: aload 5
ifnull 10
5: aload 1
iload 4
invokevirtual jdk.vm.ci.code.CallingConvention.getArgument:(I)Ljdk/vm/ci/meta/AllocatableValue;
astore 7
start local 7 6: aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
aload 7
aload 0
aload 5
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitMove:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
7: aload 3
iload 4
aload 7
aastore
8: iinc 4 1
end local 7 9: goto 11
10: StackMap locals: org.graalvm.compiler.core.gen.NodeLIRBuilder jdk.vm.ci.code.CallingConvention java.util.Collection jdk.vm.ci.meta.Value[] int org.graalvm.compiler.nodes.ValueNode java.util.Iterator
StackMap stack:
ldc "I thought we no longer have null entries for two-slot types..."
invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 5 11: StackMap locals: org.graalvm.compiler.core.gen.NodeLIRBuilder jdk.vm.ci.code.CallingConvention java.util.Collection jdk.vm.ci.meta.Value[] int top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
12: aload 3
areturn
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/gen/NodeLIRBuilder;
0 13 1 invokeCc Ljdk/vm/ci/code/CallingConvention;
0 13 2 arguments Ljava/util/Collection<Lorg/graalvm/compiler/nodes/ValueNode;>;
1 13 3 result [Ljdk/vm/ci/meta/Value;
2 13 4 j I
4 11 5 arg Lorg/graalvm/compiler/nodes/ValueNode;
6 9 7 operand Ljdk/vm/ci/meta/AllocatableValue;
Signature: (Ljdk/vm/ci/code/CallingConvention;Ljava/util/Collection<Lorg/graalvm/compiler/nodes/ValueNode;>;)[Ljdk/vm/ci/meta/Value;
MethodParameters:
Name Flags
invokeCc
arguments
public void emitSwitch(org.graalvm.compiler.nodes.extended.SwitchNode);
descriptor: (Lorg/graalvm/compiler/nodes/extended/SwitchNode;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=10, locals=11, args_size=2
start local 0 start local 1 0: getstatic org.graalvm.compiler.core.gen.NodeLIRBuilder.$assertionsDisabled:Z
ifne 1
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.SwitchNode.defaultSuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
ifnonnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.SwitchNode.defaultSuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.getLIRBlock:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/lir/LabelRef;
astore 2
start local 2 2: aload 1
invokevirtual org.graalvm.compiler.nodes.extended.SwitchNode.keyCount:()I
istore 3
start local 3 3: iload 3
ifne 6
4: aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
aload 2
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitJump:(Lorg/graalvm/compiler/lir/LabelRef;)V
5: goto 41
6: StackMap locals: org.graalvm.compiler.lir.LabelRef int
StackMap stack:
aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.SwitchNode.value:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.load:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
astore 4
start local 4 7: iload 3
iconst_1
if_icmpne 14
8: getstatic org.graalvm.compiler.core.gen.NodeLIRBuilder.$assertionsDisabled:Z
ifne 9
aload 2
ifnonnull 9
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
9: StackMap locals: org.graalvm.compiler.lir.Variable
StackMap stack:
aload 1
aload 1
iconst_0
invokevirtual org.graalvm.compiler.nodes.extended.SwitchNode.keySuccessor:(I)Lorg/graalvm/compiler/nodes/AbstractBeginNode;
invokevirtual org.graalvm.compiler.nodes.extended.SwitchNode.probability:(Lorg/graalvm/compiler/nodes/AbstractBeginNode;)D
dstore 5
start local 5 10: aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.SwitchNode.value:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.getLIRKind:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/LIRKind;
astore 7
start local 7 11: aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
aload 7
aload 1
iconst_0
invokevirtual org.graalvm.compiler.nodes.extended.SwitchNode.keyAt:(I)Ljdk/vm/ci/meta/Constant;
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitConstant:(Lorg/graalvm/compiler/core/common/LIRKind;Ljdk/vm/ci/meta/Constant;)Ljdk/vm/ci/meta/Value;
astore 8
start local 8 12: aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
aload 7
invokevirtual org.graalvm.compiler.core.common.LIRKind.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.SwitchNode.value:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.load:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
aload 8
getstatic org.graalvm.compiler.core.common.calc.Condition.EQ:Lorg/graalvm/compiler/core/common/calc/Condition;
iconst_0
aload 0
aload 1
iconst_0
invokevirtual org.graalvm.compiler.nodes.extended.SwitchNode.keySuccessor:(I)Lorg/graalvm/compiler/nodes/AbstractBeginNode;
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.getLIRBlock:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/lir/LabelRef;
aload 2
dload 5
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitCompareBranch:(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
end local 8 end local 7 end local 5 13: goto 41
StackMap locals:
StackMap stack:
14: aload 1
instanceof org.graalvm.compiler.nodes.extended.IntegerSwitchNode
ifeq 30
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.SwitchNode.isSorted:()Z
ifeq 30
15: aload 1
checkcast org.graalvm.compiler.nodes.extended.IntegerSwitchNode
astore 5
start local 5 16: iload 3
anewarray org.graalvm.compiler.lir.LabelRef
astore 6
start local 6 17: iload 3
anewarray jdk.vm.ci.meta.JavaConstant
astore 7
start local 7 18: iload 3
newarray 7
astore 8
start local 8 19: aload 5
iconst_0
invokevirtual org.graalvm.compiler.nodes.extended.IntegerSwitchNode.keyAt:(I)Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
astore 9
start local 9 20: iconst_0
istore 10
start local 10 21: goto 27
22: StackMap locals: org.graalvm.compiler.core.gen.NodeLIRBuilder org.graalvm.compiler.nodes.extended.SwitchNode org.graalvm.compiler.lir.LabelRef int org.graalvm.compiler.lir.Variable org.graalvm.compiler.nodes.extended.IntegerSwitchNode org.graalvm.compiler.lir.LabelRef[] jdk.vm.ci.meta.JavaConstant[] double[] jdk.vm.ci.meta.JavaKind int
StackMap stack:
aload 6
iload 10
aload 0
aload 5
iload 10
invokevirtual org.graalvm.compiler.nodes.extended.IntegerSwitchNode.keySuccessor:(I)Lorg/graalvm/compiler/nodes/AbstractBeginNode;
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.getLIRBlock:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/lir/LabelRef;
aastore
23: aload 7
iload 10
aload 5
iload 10
invokevirtual org.graalvm.compiler.nodes.extended.IntegerSwitchNode.keyAt:(I)Ljdk/vm/ci/meta/JavaConstant;
aastore
24: aload 8
iload 10
aload 5
iload 10
invokevirtual org.graalvm.compiler.nodes.extended.IntegerSwitchNode.keyProbability:(I)D
dastore
25: getstatic org.graalvm.compiler.core.gen.NodeLIRBuilder.$assertionsDisabled:Z
ifne 26
aload 7
iload 10
aaload
invokeinterface jdk.vm.ci.meta.JavaConstant.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
aload 9
if_acmpeq 26
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
26: StackMap locals:
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
27: iload 10
iload 3
if_icmplt 22
end local 10 28: aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
aload 7
aload 8
aload 6
aload 2
aload 4
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitStrategySwitch:([Ljdk/vm/ci/meta/JavaConstant;[D[Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/Variable;)V
end local 9 end local 8 end local 7 end local 6 end local 5 29: goto 41
30: StackMap locals: org.graalvm.compiler.core.gen.NodeLIRBuilder org.graalvm.compiler.nodes.extended.SwitchNode org.graalvm.compiler.lir.LabelRef int org.graalvm.compiler.lir.Variable
StackMap stack:
iload 3
anewarray org.graalvm.compiler.lir.LabelRef
astore 5
start local 5 31: iload 3
anewarray jdk.vm.ci.meta.Constant
astore 6
start local 6 32: iload 3
newarray 7
astore 7
start local 7 33: iconst_0
istore 8
start local 8 34: goto 39
35: StackMap locals: org.graalvm.compiler.core.gen.NodeLIRBuilder org.graalvm.compiler.nodes.extended.SwitchNode org.graalvm.compiler.lir.LabelRef int org.graalvm.compiler.lir.Variable org.graalvm.compiler.lir.LabelRef[] jdk.vm.ci.meta.Constant[] double[] int
StackMap stack:
aload 5
iload 8
aload 0
aload 1
iload 8
invokevirtual org.graalvm.compiler.nodes.extended.SwitchNode.keySuccessor:(I)Lorg/graalvm/compiler/nodes/AbstractBeginNode;
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.getLIRBlock:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/lir/LabelRef;
aastore
36: aload 6
iload 8
aload 1
iload 8
invokevirtual org.graalvm.compiler.nodes.extended.SwitchNode.keyAt:(I)Ljdk/vm/ci/meta/Constant;
aastore
37: aload 7
iload 8
aload 1
iload 8
invokevirtual org.graalvm.compiler.nodes.extended.SwitchNode.keyProbability:(I)D
dastore
38: iinc 8 1
StackMap locals:
StackMap stack:
39: iload 8
iload 3
if_icmplt 35
end local 8 40: aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
new org.graalvm.compiler.lir.SwitchStrategy$SequentialStrategy
dup
aload 7
aload 6
invokespecial org.graalvm.compiler.lir.SwitchStrategy$SequentialStrategy.<init>:([D[Ljdk/vm/ci/meta/Constant;)V
aload 4
aload 5
aload 2
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
end local 7 end local 6 end local 5 end local 4 41: StackMap locals: org.graalvm.compiler.core.gen.NodeLIRBuilder org.graalvm.compiler.nodes.extended.SwitchNode org.graalvm.compiler.lir.LabelRef int
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 42 0 this Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
0 42 1 x Lorg/graalvm/compiler/nodes/extended/SwitchNode;
2 42 2 defaultTarget Lorg/graalvm/compiler/lir/LabelRef;
3 42 3 keyCount I
7 41 4 value Lorg/graalvm/compiler/lir/Variable;
10 13 5 probability D
11 13 7 kind Lorg/graalvm/compiler/core/common/LIRKind;
12 13 8 key Ljdk/vm/ci/meta/Value;
16 29 5 intSwitch Lorg/graalvm/compiler/nodes/extended/IntegerSwitchNode;
17 29 6 keyTargets [Lorg/graalvm/compiler/lir/LabelRef;
18 29 7 keyConstants [Ljdk/vm/ci/meta/JavaConstant;
19 29 8 keyProbabilities [D
20 29 9 keyKind Ljdk/vm/ci/meta/JavaKind;
21 28 10 i I
31 41 5 keyTargets [Lorg/graalvm/compiler/lir/LabelRef;
32 41 6 keyConstants [Ljdk/vm/ci/meta/Constant;
33 41 7 keyProbabilities [D
34 40 8 i I
MethodParameters:
Name Flags
x
public org.graalvm.compiler.core.gen.DebugInfoBuilder getDebugInfoBuilder();
descriptor: ()Lorg/graalvm/compiler/core/gen/DebugInfoBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic org.graalvm.compiler.core.gen.NodeLIRBuilder.$assertionsDisabled:Z
ifne 1
aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.debugInfoBuilder:Lorg/graalvm/compiler/core/gen/DebugInfoBuilder;
ifnonnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.debugInfoBuilder:Lorg/graalvm/compiler/core/gen/DebugInfoBuilder;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
private static org.graalvm.compiler.nodes.FrameState getFrameState(org.graalvm.compiler.nodes.DeoptimizingNode);
descriptor: (Lorg/graalvm/compiler/nodes/DeoptimizingNode;)Lorg/graalvm/compiler/nodes/FrameState;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
instanceof org.graalvm.compiler.nodes.DeoptimizingNode$DeoptBefore
ifeq 4
1: getstatic org.graalvm.compiler.core.gen.NodeLIRBuilder.$assertionsDisabled:Z
ifne 3
aload 0
instanceof org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring
ifne 2
aload 0
instanceof org.graalvm.compiler.nodes.DeoptimizingNode$DeoptAfter
ifeq 3
StackMap locals:
StackMap stack:
2: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
aload 0
checkcast org.graalvm.compiler.nodes.DeoptimizingNode$DeoptBefore
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptBefore.stateBefore:()Lorg/graalvm/compiler/nodes/FrameState;
areturn
4: StackMap locals:
StackMap stack:
aload 0
instanceof org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring
ifeq 7
5: getstatic org.graalvm.compiler.core.gen.NodeLIRBuilder.$assertionsDisabled:Z
ifne 6
aload 0
instanceof org.graalvm.compiler.nodes.DeoptimizingNode$DeoptAfter
ifeq 6
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
6: StackMap locals:
StackMap stack:
aload 0
checkcast org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring.stateDuring:()Lorg/graalvm/compiler/nodes/FrameState;
areturn
7: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.core.gen.NodeLIRBuilder.$assertionsDisabled:Z
ifne 8
aload 0
instanceof org.graalvm.compiler.nodes.DeoptimizingNode$DeoptAfter
ifne 8
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
8: StackMap locals:
StackMap stack:
aload 0
checkcast org.graalvm.compiler.nodes.DeoptimizingNode$DeoptAfter
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptAfter.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 deopt Lorg/graalvm/compiler/nodes/DeoptimizingNode;
MethodParameters:
Name Flags
deopt
public org.graalvm.compiler.lir.LIRFrameState state(org.graalvm.compiler.nodes.DeoptimizingNode);
descriptor: (Lorg/graalvm/compiler/nodes/DeoptimizingNode;)Lorg/graalvm/compiler/lir/LIRFrameState;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode.canDeoptimize:()Z
ifne 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic org.graalvm.compiler.core.gen.NodeLIRBuilder.getFrameState:(Lorg/graalvm/compiler/nodes/DeoptimizingNode;)Lorg/graalvm/compiler/nodes/FrameState;
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.stateFor:(Lorg/graalvm/compiler/nodes/FrameState;)Lorg/graalvm/compiler/lir/LIRFrameState;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
0 3 1 deopt Lorg/graalvm/compiler/nodes/DeoptimizingNode;
MethodParameters:
Name Flags
deopt
public org.graalvm.compiler.lir.LIRFrameState stateWithExceptionEdge(org.graalvm.compiler.nodes.DeoptimizingNode, org.graalvm.compiler.lir.LabelRef);
descriptor: (Lorg/graalvm/compiler/nodes/DeoptimizingNode;Lorg/graalvm/compiler/lir/LabelRef;)Lorg/graalvm/compiler/lir/LIRFrameState;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode.canDeoptimize:()Z
ifne 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic org.graalvm.compiler.core.gen.NodeLIRBuilder.getFrameState:(Lorg/graalvm/compiler/nodes/DeoptimizingNode;)Lorg/graalvm/compiler/nodes/FrameState;
aload 2
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.stateForWithExceptionEdge:(Lorg/graalvm/compiler/nodes/FrameState;Lorg/graalvm/compiler/lir/LabelRef;)Lorg/graalvm/compiler/lir/LIRFrameState;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
0 3 1 deopt Lorg/graalvm/compiler/nodes/DeoptimizingNode;
0 3 2 exceptionEdge Lorg/graalvm/compiler/lir/LabelRef;
MethodParameters:
Name Flags
deopt
exceptionEdge
public org.graalvm.compiler.lir.LIRFrameState stateFor(org.graalvm.compiler.nodes.FrameState);
descriptor: (Lorg/graalvm/compiler/nodes/FrameState;)Lorg/graalvm/compiler/lir/LIRFrameState;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.stateForWithExceptionEdge:(Lorg/graalvm/compiler/nodes/FrameState;Lorg/graalvm/compiler/lir/LabelRef;)Lorg/graalvm/compiler/lir/LIRFrameState;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
0 1 1 state Lorg/graalvm/compiler/nodes/FrameState;
MethodParameters:
Name Flags
state
public org.graalvm.compiler.lir.LIRFrameState stateForWithExceptionEdge(org.graalvm.compiler.nodes.FrameState, org.graalvm.compiler.lir.LabelRef);
descriptor: (Lorg/graalvm/compiler/nodes/FrameState;Lorg/graalvm/compiler/lir/LabelRef;)Lorg/graalvm/compiler/lir/LIRFrameState;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.needOnlyOopMaps:()Z
ifeq 2
1: 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
areturn
2: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.core.gen.NodeLIRBuilder.$assertionsDisabled:Z
ifne 3
aload 1
ifnonnull 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.getDebugInfoBuilder:()Lorg/graalvm/compiler/core/gen/DebugInfoBuilder;
aload 1
aload 2
invokevirtual org.graalvm.compiler.core.gen.DebugInfoBuilder.build:(Lorg/graalvm/compiler/nodes/FrameState;Lorg/graalvm/compiler/lir/LabelRef;)Lorg/graalvm/compiler/lir/LIRFrameState;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
0 4 1 state Lorg/graalvm/compiler/nodes/FrameState;
0 4 2 exceptionEdge Lorg/graalvm/compiler/lir/LabelRef;
MethodParameters:
Name Flags
state
exceptionEdge
public void emitOverflowCheckBranch(org.graalvm.compiler.nodes.AbstractBeginNode, org.graalvm.compiler.nodes.AbstractBeginNode, org.graalvm.compiler.core.common.type.Stamp, double);
descriptor: (Lorg/graalvm/compiler/nodes/AbstractBeginNode;Lorg/graalvm/compiler/nodes/AbstractBeginNode;Lorg/graalvm/compiler/core/common/type/Stamp;D)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.getLIRGeneratorTool:()Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
aload 3
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.getLIRKind:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/LIRKind;
astore 6
start local 6 1: aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
aload 0
aload 1
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.getLIRBlock:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/lir/LabelRef;
aload 0
aload 2
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.getLIRBlock:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/lir/LabelRef;
aload 6
dload 4
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitOverflowCheckBranch:(Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/core/common/LIRKind;D)V
2: return
end local 6 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/gen/NodeLIRBuilder;
0 3 1 overflowSuccessor Lorg/graalvm/compiler/nodes/AbstractBeginNode;
0 3 2 next Lorg/graalvm/compiler/nodes/AbstractBeginNode;
0 3 3 stamp Lorg/graalvm/compiler/core/common/type/Stamp;
0 3 4 probability D
1 3 6 cmpKind Lorg/graalvm/compiler/core/common/LIRKind;
MethodParameters:
Name Flags
overflowSuccessor
next
stamp
probability
public void visitFullInfopointNode(org.graalvm.compiler.nodes.FullInfopointNode);
descriptor: (Lorg/graalvm/compiler/nodes/FullInfopointNode;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new org.graalvm.compiler.lir.FullInfopointOp
dup
aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.FullInfopointNode.getState:()Lorg/graalvm/compiler/nodes/FrameState;
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.stateFor:(Lorg/graalvm/compiler/nodes/FrameState;)Lorg/graalvm/compiler/lir/LIRFrameState;
aload 1
invokevirtual org.graalvm.compiler.nodes.FullInfopointNode.getReason:()Ljdk/vm/ci/code/site/InfopointReason;
invokespecial org.graalvm.compiler.lir.FullInfopointOp.<init>:(Lorg/graalvm/compiler/lir/LIRFrameState;Ljdk/vm/ci/code/site/InfopointReason;)V
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
0 2 1 i Lorg/graalvm/compiler/nodes/FullInfopointNode;
MethodParameters:
Name Flags
i
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
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
aload 1
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.setSourcePosition:(Lorg/graalvm/compiler/graph/NodeSourcePosition;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
0 2 1 position Lorg/graalvm/compiler/graph/NodeSourcePosition;
MethodParameters:
Name Flags
position
public org.graalvm.compiler.lir.gen.LIRGeneratorTool getLIRGeneratorTool();
descriptor: ()Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
}
SourceFile: "NodeLIRBuilder.java"
InnerClasses:
public abstract Entry = java.util.Map$Entry of java.util.Map
public abstract Type = jdk.vm.ci.code.CallingConvention$Type of jdk.vm.ci.code.CallingConvention
public abstract Scope = org.graalvm.compiler.debug.Debug$Scope of org.graalvm.compiler.debug.Debug
public Options = org.graalvm.compiler.debug.GraalDebugConfig$Options of org.graalvm.compiler.debug.GraalDebugConfig
public JumpOp = org.graalvm.compiler.lir.StandardOp$JumpOp of org.graalvm.compiler.lir.StandardOp
public final LabelOp = org.graalvm.compiler.lir.StandardOp$LabelOp of org.graalvm.compiler.lir.StandardOp
public SequentialStrategy = org.graalvm.compiler.lir.SwitchStrategy$SequentialStrategy of org.graalvm.compiler.lir.SwitchStrategy
public Options = org.graalvm.compiler.lir.gen.LIRGenerator$Options 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 DeoptAfter = org.graalvm.compiler.nodes.DeoptimizingNode$DeoptAfter of org.graalvm.compiler.nodes.DeoptimizingNode
public abstract DeoptBefore = org.graalvm.compiler.nodes.DeoptimizingNode$DeoptBefore of org.graalvm.compiler.nodes.DeoptimizingNode
public abstract DeoptDuring = org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring of org.graalvm.compiler.nodes.DeoptimizingNode