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
private final int traceLIRGeneratorLevel;
descriptor: I
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 jdk.internal.vm.compiler.collections.EconomicMap<java.lang.Class<? extends org.graalvm.compiler.graph.Node>, java.util.List<org.graalvm.compiler.core.match.MatchStatement>> matchRules;
descriptor: Ljdk/internal/vm/compiler/collections/EconomicMap;
flags: (0x0002) ACC_PRIVATE
Signature: Ljdk/internal/vm/compiler/collections/EconomicMap<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=5, 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: aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
astore 4
start local 4 6: getstatic org.graalvm.compiler.core.common.GraalOptions.MatchExpressions:Lorg/graalvm/compiler/options/OptionKey;
aload 4
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 8
7: aload 0
aload 3
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 4
aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
invokestatic org.graalvm.compiler.core.match.MatchRuleRegistry.lookup:(Ljava/lang/Class;Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/debug/DebugContext;)Ljdk/internal/vm/compiler/collections/EconomicMap;
putfield org.graalvm.compiler.core.gen.NodeLIRBuilder.matchRules:Ljdk/internal/vm/compiler/collections/EconomicMap;
8: 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 org.graalvm.compiler.options.OptionValues
StackMap stack:
aload 0
invokestatic org.graalvm.compiler.debug.TTY.isSuppressed:()Z
ifeq 9
iconst_0
goto 10
StackMap locals:
StackMap stack: org.graalvm.compiler.core.gen.NodeLIRBuilder
9: getstatic org.graalvm.compiler.lir.gen.LIRGenerator$Options.TraceLIRGeneratorLevel:Lorg/graalvm/compiler/options/OptionKey;
aload 4
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
StackMap locals: org.graalvm.compiler.core.gen.NodeLIRBuilder org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.lir.gen.LIRGeneratorTool org.graalvm.compiler.core.gen.NodeMatchRules org.graalvm.compiler.options.OptionValues
StackMap stack: org.graalvm.compiler.core.gen.NodeLIRBuilder int
10: putfield org.graalvm.compiler.core.gen.NodeLIRBuilder.traceLIRGeneratorLevel:I
11: getstatic org.graalvm.compiler.core.gen.NodeLIRBuilder.$assertionsDisabled:Z
ifne 12
aload 3
getfield org.graalvm.compiler.core.gen.NodeMatchRules.lirBuilder:Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
ifnull 12
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
12: StackMap locals:
StackMap stack:
aload 3
aload 0
putfield org.graalvm.compiler.core.gen.NodeMatchRules.lirBuilder:Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
13: 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 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 14 2 gen Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
0 14 3 nodeMatchRules Lorg/graalvm/compiler/core/gen/NodeMatchRules;
6 14 4 options Lorg/graalvm/compiler/options/OptionValues;
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=4, 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
aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
invokespecial org.graalvm.compiler.core.gen.DebugInfoBuilder.<init>:(Lorg/graalvm/compiler/nodes/spi/NodeValueMap;Lorg/graalvm/compiler/debug/DebugContext;)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=3, 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.getEntries:()Ljdk/internal/vm/compiler/collections/MapCursor;
astore 2
start local 2 2: goto 5
3: StackMap locals: jdk.internal.vm.compiler.collections.UnmodifiableMapCursor
StackMap stack:
aload 2
invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableMapCursor.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 jdk.internal.vm.compiler.collections.UnmodifiableMapCursor.getKey:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ValueNode
areturn
5: StackMap locals:
StackMap stack:
aload 2
invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableMapCursor.advance:()Z
ifne 3
6: aconst_null
areturn
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 value Ljdk/vm/ci/meta/Value;
2 7 2 cursor Ljdk/internal/vm/compiler/collections/UnmodifiableMapCursor<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
invokestatic org.graalvm.compiler.core.match.MatchPattern.isSingleValueUser:(Lorg/graalvm/compiler/graph/Node;)Z
ifne 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/OptionKey;
aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.nodeOperands:Lorg/graalvm/compiler/graph/NodeMap;
invokevirtual org.graalvm.compiler.graph.NodeMap.graph:()Lorg/graalvm/compiler/graph/Graph;
invokevirtual org.graalvm.compiler.graph.Graph.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
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=8, 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 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
aload 1
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.PhiNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)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.lir.gen.LIRGenerator.toRegisterKind:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/meta/ValueKind;
checkcast org.graalvm.compiler.core.common.LIRKind
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 13
3: StackMap locals: org.graalvm.compiler.core.common.LIRKind 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 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
astore 6
start local 6 7: goto 11
end local 6 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
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)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 10: 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.toRegisterKind:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/meta/ValueKind;
checkcast org.graalvm.compiler.core.common.LIRKind
astore 6
end local 7 start local 6 11: StackMap locals: org.graalvm.compiler.core.common.LIRKind
StackMap stack:
aload 2
aload 6
invokestatic org.graalvm.compiler.core.common.LIRKind.mergeReferenceInformation:(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/core/common/LIRKind;)Lorg/graalvm/compiler/core/common/LIRKind;
astore 2
end local 6 end local 5 end local 4 12: iinc 3 1
StackMap locals:
StackMap stack:
13: iload 3
aload 1
invokevirtual org.graalvm.compiler.nodes.PhiNode.valueCount:()I
if_icmpge 14
aload 2
invokevirtual org.graalvm.compiler.core.common.LIRKind.isUnknownReference:()Z
ifeq 3
end local 3 14: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
0 15 1 phi Lorg/graalvm/compiler/nodes/PhiNode;
1 15 2 derivedKind Lorg/graalvm/compiler/core/common/LIRKind;
2 14 3 i I
4 12 4 node Lorg/graalvm/compiler/nodes/ValueNode;
5 12 5 value Ljdk/vm/ci/meta/Value;
7 8 6 valueKind Lorg/graalvm/compiler/core/common/LIRKind;
11 12 6 valueKind Lorg/graalvm/compiler/core/common/LIRKind;
10 11 7 kind Lorg/graalvm/compiler/core/common/LIRKind;
MethodParameters:
Name Flags
phi
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 java.lang.Object.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
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 6
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 13
aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.getSpillMoveFactory:()Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;
aload 6
invokevirtual org.graalvm.compiler.nodes.ValueNode.asConstant:()Ljdk/vm/ci/meta/Constant;
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory.allowConstantToStackMove:(Ljdk/vm/ci/meta/Constant;)Z
ifne 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 doBlockPrologue(org.graalvm.compiler.nodes.cfg.Block, org.graalvm.compiler.options.OptionValues);
descriptor: (Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/options/OptionValues;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=8, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.graalvm.compiler.core.common.SpeculativeExecutionAttacksMitigations$Options.MitigateSpeculativeExecutionAttacks:Lorg/graalvm/compiler/options/EnumOptionKey;
aload 2
invokevirtual org.graalvm.compiler.options.EnumOptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
getstatic org.graalvm.compiler.core.common.SpeculativeExecutionAttacksMitigations.AllTargets:Lorg/graalvm/compiler/core/common/SpeculativeExecutionAttacksMitigations;
if_acmpne 14
1: iconst_0
istore 3
start local 3 2: aload 1
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getPredecessors:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
checkcast org.graalvm.compiler.nodes.cfg.Block[]
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 8
StackMap locals: org.graalvm.compiler.core.gen.NodeLIRBuilder org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.options.OptionValues int top int int org.graalvm.compiler.nodes.cfg.Block[]
StackMap stack:
3: aload 7
iload 5
aaload
astore 4
start local 4 4: aload 4
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getSuccessorCount:()I
iconst_1
if_icmple 7
5: iconst_1
istore 3
6: goto 9
end local 4 7: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
8: iload 5
iload 6
if_icmplt 3
9: StackMap locals: org.graalvm.compiler.core.gen.NodeLIRBuilder org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.options.OptionValues int
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getPredecessorCount:()I
ifne 10
iconst_1
goto 11
StackMap locals:
StackMap stack:
10: iconst_0
StackMap locals:
StackMap stack: int
11: istore 4
start local 4 12: iload 3
ifne 13
iload 4
ifeq 14
13: StackMap locals: int
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.getLIRGeneratorTool:()Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.emitSpeculationFence:()V
end local 4 end local 3 14: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
0 15 1 block Lorg/graalvm/compiler/nodes/cfg/Block;
0 15 2 options Lorg/graalvm/compiler/options/OptionValues;
2 14 3 hasControlSplitPredecessor Z
4 7 4 b Lorg/graalvm/compiler/nodes/cfg/Block;
12 14 4 isStartBlock Z
MethodParameters:
Name Flags
block
options
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=16, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
astore 4
start local 4 1: aconst_null
astore 5
aconst_null
astore 6
2: 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 7
start local 7 3: aload 0
aconst_null
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.setSourcePosition:(Lorg/graalvm/compiler/graph/NodeSourcePosition;)V
4: 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 8
5: getstatic org.graalvm.compiler.core.gen.NodeLIRBuilder.$assertionsDisabled:Z
ifne 6
aload 1
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getPredecessorCount:()I
ifeq 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.cfg.Block org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.options.OptionValues 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
7: goto 16
8: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.core.gen.NodeLIRBuilder.$assertionsDisabled:Z
ifne 9
aload 1
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getPredecessorCount:()I
ifgt 9
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
9: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getBeginNode:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
astore 8
start local 8 10: aload 8
instanceof org.graalvm.compiler.nodes.AbstractMergeNode
ifeq 16
11: aload 8
checkcast org.graalvm.compiler.nodes.AbstractMergeNode
astore 9
start local 9 12: 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 10
start local 10 13: aload 10
aload 0
aload 9
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
14: getstatic org.graalvm.compiler.lir.gen.LIRGenerator$Options.PrintIRWithLIR:Lorg/graalvm/compiler/options/OptionKey;
aload 4
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 16
invokestatic org.graalvm.compiler.debug.TTY.isSuppressed:()Z
ifne 16
15: new java.lang.StringBuilder
dup
ldc "Created PhiIn: "
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
end local 10 end local 9 end local 8 16: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 4
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.doBlockPrologue:(Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/options/OptionValues;)V
17: 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 8
start local 8 18: aload 0
aload 8
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.matchComplexExpressions:(Ljava/util/List;)V
19: aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.traceLIRGeneratorLevel:I
iconst_3
if_icmplt 20
iconst_1
goto 21
StackMap locals: java.util.List
StackMap stack:
20: iconst_0
StackMap locals:
StackMap stack: int
21: istore 9
start local 9 22: iconst_0
istore 10
start local 10 23: goto 51
24: StackMap locals: int int
StackMap stack:
aload 8
iload 10
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 11
start local 11 25: aload 11
instanceof org.graalvm.compiler.nodes.ValueNode
ifeq 50
26: aload 0
aload 11
invokevirtual org.graalvm.compiler.graph.Node.getNodeSourcePosition:()Lorg/graalvm/compiler/graph/NodeSourcePosition;
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.setSourcePosition:(Lorg/graalvm/compiler/graph/NodeSourcePosition;)V
27: aload 11
invokevirtual org.graalvm.compiler.graph.Node.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
astore 12
start local 12 28: aload 11
checkcast org.graalvm.compiler.nodes.ValueNode
astore 13
start local 13 29: iload 9
ifeq 31
30: new java.lang.StringBuilder
dup
ldc "LIRGen for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 13
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
31: StackMap locals: org.graalvm.compiler.graph.Node org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 0
aload 13
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.getOperand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
astore 14
start local 14 32: aload 14
ifnonnull 40
33: aload 0
aload 13
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.peephole:(Lorg/graalvm/compiler/nodes/ValueNode;)Z
ifne 50
34: aload 0
aload 13
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.doRoot:(Lorg/graalvm/compiler/nodes/ValueNode;)V
35: goto 50
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 org.graalvm.compiler.options.OptionValues java.lang.Throwable java.lang.Throwable org.graalvm.compiler.lir.gen.LIRGeneratorTool$BlockScope java.util.List int int org.graalvm.compiler.graph.Node org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.Value
StackMap stack: org.graalvm.compiler.debug.GraalError
36: astore 15
start local 15 37: aload 15
aload 13
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 15 38: StackMap locals:
StackMap stack: java.lang.Throwable
astore 15
start local 15 39: new org.graalvm.compiler.graph.GraalGraphError
dup
aload 15
invokespecial org.graalvm.compiler.graph.GraalGraphError.<init>:(Ljava/lang/Throwable;)V
aload 13
invokevirtual org.graalvm.compiler.graph.GraalGraphError.addContext:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/GraalGraphError;
athrow
end local 15 40: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.core.match.ComplexMatchValue.INTERIOR_MATCH:Ljdk/vm/ci/meta/Value;
aload 14
invokevirtual jdk.vm.ci.meta.Value.equals:(Ljava/lang/Object;)Z
ifeq 43
41: aload 12
ldc "interior match for %s"
aload 13
invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;)V
42: goto 50
StackMap locals:
StackMap stack:
43: aload 14
instanceof org.graalvm.compiler.core.match.ComplexMatchValue
ifeq 50
44: aload 12
ldc "complex match for %s"
aload 13
invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;)V
45: aload 0
aload 11
invokevirtual org.graalvm.compiler.graph.Node.getNodeSourcePosition:()Lorg/graalvm/compiler/graph/NodeSourcePosition;
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.setSourcePosition:(Lorg/graalvm/compiler/graph/NodeSourcePosition;)V
46: aload 14
checkcast org.graalvm.compiler.core.match.ComplexMatchValue
astore 15
start local 15 47: aload 15
aload 0
invokevirtual org.graalvm.compiler.core.match.ComplexMatchValue.evaluate:(Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
astore 14
48: aload 14
ifnull 50
49: aload 0
aload 13
aload 14
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 15 end local 14 end local 13 end local 12 end local 11 50: 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 org.graalvm.compiler.options.OptionValues java.lang.Throwable java.lang.Throwable org.graalvm.compiler.lir.gen.LIRGeneratorTool$BlockScope java.util.List int int
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
51: iload 10
aload 8
invokeinterface java.util.List.size:()I
if_icmplt 24
end local 10 52: 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 58
53: 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 10
start local 10 54: getstatic org.graalvm.compiler.core.gen.NodeLIRBuilder.$assertionsDisabled:Z
ifne 55
aload 10
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.count:()I
aload 1
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getSuccessorCount:()I
if_icmpeq 55
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
55: 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 org.graalvm.compiler.options.OptionValues java.lang.Throwable java.lang.Throwable org.graalvm.compiler.lir.gen.LIRGeneratorTool$BlockScope java.util.List int org.graalvm.compiler.graph.iterators.NodeIterable
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getSuccessorCount:()I
iconst_1
if_icmpeq 57
56: 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
57: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.gen:Lorg/graalvm/compiler/lir/gen/LIRGenerator;
aload 0
aload 10
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 10 58: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.core.gen.NodeLIRBuilder.$assertionsDisabled:Z
ifne 59
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 59
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 9 end local 8 59: StackMap locals:
StackMap stack:
aload 7
ifnull 65
aload 7
invokevirtual org.graalvm.compiler.lir.gen.LIRGeneratorTool$BlockScope.close:()V
goto 65
StackMap locals:
StackMap stack: java.lang.Throwable
60: astore 5
aload 7
ifnull 61
aload 7
invokevirtual org.graalvm.compiler.lir.gen.LIRGeneratorTool$BlockScope.close:()V
end local 7 StackMap locals:
StackMap stack:
61: aload 5
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
62: astore 6
aload 5
ifnonnull 63
aload 6
astore 5
goto 64
StackMap locals:
StackMap stack:
63: aload 5
aload 6
if_acmpeq 64
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
64: aload 5
athrow
65: 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 66 0 this Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
0 66 1 block Lorg/graalvm/compiler/nodes/cfg/Block;
0 66 2 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 66 3 blockMap Lorg/graalvm/compiler/core/common/cfg/BlockMap<Ljava/util/List<Lorg/graalvm/compiler/graph/Node;>;>;
1 66 4 options Lorg/graalvm/compiler/options/OptionValues;
3 61 7 blockScope Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$BlockScope;
10 16 8 begin Lorg/graalvm/compiler/nodes/AbstractBeginNode;
12 16 9 merge Lorg/graalvm/compiler/nodes/AbstractMergeNode;
13 16 10 label Lorg/graalvm/compiler/lir/StandardOp$LabelOp;
18 59 8 nodes Ljava/util/List<Lorg/graalvm/compiler/graph/Node;>;
22 59 9 trace Z
23 52 10 i I
25 50 11 node Lorg/graalvm/compiler/graph/Node;
28 50 12 debug Lorg/graalvm/compiler/debug/DebugContext;
29 50 13 valueNode Lorg/graalvm/compiler/nodes/ValueNode;
32 50 14 operand Ljdk/vm/ci/meta/Value;
37 38 15 e Lorg/graalvm/compiler/debug/GraalError;
39 40 15 e Ljava/lang/Throwable;
47 50 15 match Lorg/graalvm/compiler/core/match/ComplexMatchValue;
54 58 10 successors Lorg/graalvm/compiler/graph/iterators/NodeIterable<Lorg/graalvm/compiler/graph/Node;>;
Exception table:
from to target type
34 35 36 Class org.graalvm.compiler.debug.GraalError
34 35 38 Class java.lang.Throwable
3 59 60 any
2 62 62 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=11, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.matchRules:Ljdk/internal/vm/compiler/collections/EconomicMap;
ifnull 30
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.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
astore 2
start local 2 2: aconst_null
astore 3
aconst_null
astore 4
3: aload 2
ldc "MatchComplexExpressions"
invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
astore 5
start local 5 4: getstatic org.graalvm.compiler.debug.DebugOptions.LogVerbose:Lorg/graalvm/compiler/options/OptionKey;
aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.nodeOperands:Lorg/graalvm/compiler/graph/NodeMap;
invokevirtual org.graalvm.compiler.graph.NodeMap.graph:()Lorg/graalvm/compiler/graph/Graph;
invokevirtual org.graalvm.compiler.graph.Graph.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 10
5: iconst_0
istore 6
start local 6 6: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 9
StackMap locals: org.graalvm.compiler.core.gen.NodeLIRBuilder java.util.List org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope int top java.util.Iterator
StackMap stack:
7: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 7
start local 7 8: aload 2
ldc "%d: (%s) %1S"
iload 6
iinc 6 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 7
invokevirtual org.graalvm.compiler.graph.Node.getUsageCount:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 7
invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
end local 7 9: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
end local 6 10: StackMap locals: org.graalvm.compiler.core.gen.NodeLIRBuilder java.util.List org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
StackMap stack:
aload 1
invokeinterface java.util.List.size:()I
iconst_1
isub
istore 6
start local 6 11: goto 23
12: StackMap locals: int
StackMap stack:
aload 1
iload 6
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 7
start local 7 13: aload 0
aload 7
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.getOperand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
ifnull 15
14: goto 22
15: StackMap locals: org.graalvm.compiler.graph.Node
StackMap stack:
aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.matchRules:Ljdk/internal/vm/compiler/collections/EconomicMap;
aload 7
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 8
start local 8 16: aload 8
ifnull 22
17: aload 8
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 10
goto 21
StackMap locals: org.graalvm.compiler.core.gen.NodeLIRBuilder java.util.List org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope int org.graalvm.compiler.graph.Node java.util.List top java.util.Iterator
StackMap stack:
18: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.core.match.MatchStatement
astore 9
start local 9 19: aload 9
aload 0
iload 6
aload 7
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 21
20: goto 22
end local 9 21: StackMap locals:
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 18
end local 8 end local 7 22: StackMap locals: org.graalvm.compiler.core.gen.NodeLIRBuilder java.util.List org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope int
StackMap stack:
iinc 6 -1
StackMap locals:
StackMap stack:
23: iload 6
ifge 12
end local 6 24: aload 5
ifnull 30
aload 5
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
goto 30
StackMap locals: org.graalvm.compiler.core.gen.NodeLIRBuilder java.util.List org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
StackMap stack: java.lang.Throwable
25: astore 3
aload 5
ifnull 26
aload 5
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
end local 5 StackMap locals:
StackMap stack:
26: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
27: astore 4
aload 3
ifnonnull 28
aload 4
astore 3
goto 29
StackMap locals:
StackMap stack:
28: aload 3
aload 4
if_acmpeq 29
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
29: aload 3
athrow
end local 2 30: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
0 31 1 nodes Ljava/util/List<Lorg/graalvm/compiler/graph/Node;>;
2 30 2 debug Lorg/graalvm/compiler/debug/DebugContext;
4 26 5 s Lorg/graalvm/compiler/debug/DebugContext$Scope;
6 10 6 i I
8 9 7 node Lorg/graalvm/compiler/graph/Node;
11 24 6 index I
13 22 7 node Lorg/graalvm/compiler/graph/Node;
16 22 8 statements Ljava/util/List<Lorg/graalvm/compiler/core/match/MatchStatement;>;
19 21 9 statement Lorg/graalvm/compiler/core/match/MatchStatement;
Exception table:
from to target type
4 24 25 any
3 27 27 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=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.core.gen.NodeLIRBuilder.traceLIRGeneratorLevel: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: aload 1
invokevirtual org.graalvm.compiler.nodes.ValueNode.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
astore 2
start local 2 4: aload 2
ldc "Visiting %s"
aload 1
invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;)V
5: aload 0
aload 1
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.emitNode:(Lorg/graalvm/compiler/nodes/ValueNode;)V
6: aload 2
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;
invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
7: return
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 instr Lorg/graalvm/compiler/nodes/ValueNode;
4 8 2 debug Lorg/graalvm/compiler/debug/DebugContext;
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: aload 1
invokevirtual org.graalvm.compiler.nodes.ValueNode.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
invokevirtual org.graalvm.compiler.debug.DebugContext.isLogEnabled:()Z
ifeq 2
aload 1
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual org.graalvm.compiler.core.common.type.Stamp.isEmpty:()Z
ifeq 2
1: aload 1
invokevirtual org.graalvm.compiler.nodes.ValueNode.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
ldc "This node has an empty stamp, we are emitting dead code(?): %s"
aload 1
invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
aload 1
instanceof org.graalvm.compiler.nodes.spi.LIRLowerable
ifeq 5
3: 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
4: goto 6
5: 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
6: StackMap locals:
StackMap stack:
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 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=6, 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 18
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 17
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
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.ParameterNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)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 17
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;
16: aload 0
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.getLIRGeneratorTool:()Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
aload 4
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.ParameterNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)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
17: 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 18: 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
19: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
0 20 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
1 20 2 incomingArguments Ljdk/vm/ci/code/CallingConvention;
2 20 3 params [Ljdk/vm/ci/meta/Value;
3 11 4 i I
7 9 5 slot Ljdk/vm/ci/code/StackSlot;
14 18 4 param Lorg/graalvm/compiler/nodes/ParameterNode;
15 18 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=3, 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
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.PhiNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)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;
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)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
aload 1
invokevirtual org.graalvm.compiler.nodes.calc.IsNullNode.nullConstant:()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;
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)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/CanonicalCondition;
invokevirtual org.graalvm.compiler.core.common.calc.CanonicalCondition.asCondition:()Lorg/graalvm/compiler/core/common/calc/Condition;
aload 1
invokevirtual org.graalvm.compiler.nodes.calc.CompareNode.unorderedIsTrue:()Z
aload 2
aload 3
2: dload 4
3: 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
4: 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 5 0 this Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
0 5 1 compare Lorg/graalvm/compiler/nodes/calc/CompareNode;
0 5 2 trueSuccessor Lorg/graalvm/compiler/lir/LabelRef;
0 5 3 falseSuccessor Lorg/graalvm/compiler/lir/LabelRef;
0 5 4 trueSuccessorProbability D
1 5 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;
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)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
aload 4
invokevirtual org.graalvm.compiler.nodes.calc.IsNullNode.nullConstant:()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;
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)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/CanonicalCondition;
invokevirtual org.graalvm.compiler.core.common.calc.CanonicalCondition.asCondition:()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=9, 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;
astore 3
start local 3 2: aload 3
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;
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.FixedNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)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;
3: 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;
4: 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 4
start local 4 5: aload 3
aload 4
invokevirtual org.graalvm.compiler.lir.framemap.FrameMapBuilder.callsMethod:(Ljdk/vm/ci/code/CallingConvention;)V
6: aload 0
aload 4
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 5
start local 5 7: aconst_null
astore 6
start local 6 8: aload 1
instanceof org.graalvm.compiler.nodes.InvokeWithExceptionNode
ifeq 10
9: 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 6
10: StackMap locals: org.graalvm.compiler.core.gen.NodeLIRBuilder org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.LoweredCallTargetNode org.graalvm.compiler.lir.framemap.FrameMapBuilder jdk.vm.ci.code.CallingConvention jdk.vm.ci.meta.Value[] org.graalvm.compiler.lir.LabelRef
StackMap stack:
aload 0
aload 1
aload 6
invokevirtual org.graalvm.compiler.core.gen.NodeLIRBuilder.stateWithExceptionEdge:(Lorg/graalvm/compiler/nodes/DeoptimizingNode;Lorg/graalvm/compiler/lir/LabelRef;)Lorg/graalvm/compiler/lir/LIRFrameState;
astore 7
start local 7 11: aload 4
invokevirtual jdk.vm.ci.code.CallingConvention.getReturn:()Ljdk/vm/ci/meta/AllocatableValue;
astore 8
start local 8 12: aload 2
instanceof org.graalvm.compiler.nodes.DirectCallTargetNode
ifeq 15
13: aload 0
aload 2
checkcast org.graalvm.compiler.nodes.DirectCallTargetNode
aload 8
aload 5
getstatic jdk.vm.ci.meta.AllocatableValue.NONE:[Ljdk/vm/ci/meta/AllocatableValue;
aload 7
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
14: goto 19
StackMap locals: org.graalvm.compiler.lir.LIRFrameState jdk.vm.ci.meta.Value
StackMap stack:
15: aload 2
instanceof org.graalvm.compiler.nodes.IndirectCallTargetNode
ifeq 18
16: aload 0
aload 2
checkcast org.graalvm.compiler.nodes.IndirectCallTargetNode
aload 8
aload 5
getstatic jdk.vm.ci.meta.AllocatableValue.NONE:[Ljdk/vm/ci/meta/AllocatableValue;
aload 7
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
17: goto 19
18: StackMap locals:
StackMap stack:
invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
athrow
19: StackMap locals:
StackMap stack:
aload 8
invokestatic jdk.vm.ci.code.ValueUtil.isLegal:(Ljdk/vm/ci/meta/Value;)Z
ifeq 21
20: 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 8
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
21: StackMap locals:
StackMap stack:
aload 1
instanceof org.graalvm.compiler.nodes.InvokeWithExceptionNode
ifeq 23
22: 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
23: StackMap locals:
StackMap stack:
return
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
0 24 1 x Lorg/graalvm/compiler/nodes/Invoke;
1 24 2 callTarget Lorg/graalvm/compiler/nodes/LoweredCallTargetNode;
2 24 3 frameMapBuilder Lorg/graalvm/compiler/lir/framemap/FrameMapBuilder;
5 24 4 invokeCc Ljdk/vm/ci/code/CallingConvention;
7 24 5 parameters [Ljdk/vm/ci/meta/Value;
8 24 6 exceptionEdge Lorg/graalvm/compiler/lir/LabelRef;
11 24 7 callState Lorg/graalvm/compiler/lir/LIRFrameState;
12 24 8 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;
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)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 Type = jdk.vm.ci.code.CallingConvention$Type of jdk.vm.ci.code.CallingConvention
public Options = org.graalvm.compiler.core.common.SpeculativeExecutionAttacksMitigations$Options of org.graalvm.compiler.core.common.SpeculativeExecutionAttacksMitigations
public abstract Scope = org.graalvm.compiler.debug.DebugContext$Scope of org.graalvm.compiler.debug.DebugContext
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 MoveFactory = org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory 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