class org.graalvm.compiler.core.amd64.AMD64NodeMatchRules$1 implements org.graalvm.compiler.core.match.ComplexMatchResult
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.graalvm.compiler.core.amd64.AMD64NodeMatchRules$1
super_class: java.lang.Object
{
final org.graalvm.compiler.core.amd64.AMD64NodeMatchRules this$0;
descriptor: Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private final org.graalvm.compiler.nodes.IfNode val$ifNode;
descriptor: Lorg/graalvm/compiler/nodes/IfNode;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final org.graalvm.compiler.nodes.calc.CompareNode val$compare;
descriptor: Lorg/graalvm/compiler/nodes/calc/CompareNode;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final org.graalvm.compiler.nodes.ValueNode val$value;
descriptor: Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final boolean val$matchedAsConstantFinal;
descriptor: Z
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final org.graalvm.compiler.nodes.memory.LIRLowerableAccess val$access;
descriptor: Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final jdk.vm.ci.amd64.AMD64Kind val$kind;
descriptor: Ljdk/vm/ci/amd64/AMD64Kind;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final org.graalvm.compiler.core.common.calc.Condition val$finalCondition;
descriptor: Lorg/graalvm/compiler/core/common/calc/Condition;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(org.graalvm.compiler.core.amd64.AMD64NodeMatchRules, org.graalvm.compiler.nodes.IfNode, org.graalvm.compiler.nodes.calc.CompareNode, org.graalvm.compiler.nodes.ValueNode, boolean, org.graalvm.compiler.nodes.memory.LIRLowerableAccess, jdk.vm.ci.amd64.AMD64Kind, org.graalvm.compiler.core.common.calc.Condition);
descriptor: (Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;Lorg/graalvm/compiler/nodes/IfNode;Lorg/graalvm/compiler/nodes/calc/CompareNode;Lorg/graalvm/compiler/nodes/ValueNode;ZLorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;Ljdk/vm/ci/amd64/AMD64Kind;Lorg/graalvm/compiler/core/common/calc/Condition;)V
flags: (0x0000)
Code:
stack=2, locals=9, args_size=9
start local 0 0: aload 0
aload 1
putfield org.graalvm.compiler.core.amd64.AMD64NodeMatchRules$1.this$0:Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
aload 0
aload 2
putfield org.graalvm.compiler.core.amd64.AMD64NodeMatchRules$1.val$ifNode:Lorg/graalvm/compiler/nodes/IfNode;
aload 0
aload 3
putfield org.graalvm.compiler.core.amd64.AMD64NodeMatchRules$1.val$compare:Lorg/graalvm/compiler/nodes/calc/CompareNode;
aload 0
aload 4
putfield org.graalvm.compiler.core.amd64.AMD64NodeMatchRules$1.val$value:Lorg/graalvm/compiler/nodes/ValueNode;
aload 0
iload 5
putfield org.graalvm.compiler.core.amd64.AMD64NodeMatchRules$1.val$matchedAsConstantFinal:Z
aload 0
aload 6
putfield org.graalvm.compiler.core.amd64.AMD64NodeMatchRules$1.val$access:Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;
aload 0
aload 7
putfield org.graalvm.compiler.core.amd64.AMD64NodeMatchRules$1.val$kind:Ljdk/vm/ci/amd64/AMD64Kind;
aload 0
aload 8
putfield org.graalvm.compiler.core.amd64.AMD64NodeMatchRules$1.val$finalCondition:Lorg/graalvm/compiler/core/common/calc/Condition;
aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules$1;
MethodParameters:
Name Flags
this$0 final
val$ifNode final
val$compare final
val$value final
val$matchedAsConstantFinal final
val$access final
val$kind final
val$finalCondition final
public jdk.vm.ci.meta.Value evaluate(org.graalvm.compiler.core.gen.NodeLIRBuilder);
descriptor: (Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
flags: (0x0001) ACC_PUBLIC
Code:
stack=11, locals=9, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.core.amd64.AMD64NodeMatchRules$1.this$0:Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
aload 0
getfield org.graalvm.compiler.core.amd64.AMD64NodeMatchRules$1.val$ifNode:Lorg/graalvm/compiler/nodes/IfNode;
invokevirtual org.graalvm.compiler.nodes.IfNode.trueSuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
invokestatic org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.access$2:(Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/lir/LabelRef;
astore 2
start local 2 1: aload 0
getfield org.graalvm.compiler.core.amd64.AMD64NodeMatchRules$1.this$0:Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
aload 0
getfield org.graalvm.compiler.core.amd64.AMD64NodeMatchRules$1.val$ifNode:Lorg/graalvm/compiler/nodes/IfNode;
invokevirtual org.graalvm.compiler.nodes.IfNode.falseSuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
invokestatic org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.access$2:(Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/lir/LabelRef;
astore 3
start local 3 2: aload 0
getfield org.graalvm.compiler.core.amd64.AMD64NodeMatchRules$1.val$compare:Lorg/graalvm/compiler/nodes/calc/CompareNode;
invokevirtual org.graalvm.compiler.nodes.calc.CompareNode.unorderedIsTrue:()Z
istore 4
start local 4 3: aload 0
getfield org.graalvm.compiler.core.amd64.AMD64NodeMatchRules$1.val$ifNode:Lorg/graalvm/compiler/nodes/IfNode;
aload 0
getfield org.graalvm.compiler.core.amd64.AMD64NodeMatchRules$1.val$ifNode:Lorg/graalvm/compiler/nodes/IfNode;
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
dstore 5
start local 5 4: aload 0
getfield org.graalvm.compiler.core.amd64.AMD64NodeMatchRules$1.this$0:Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
aload 0
getfield org.graalvm.compiler.core.amd64.AMD64NodeMatchRules$1.val$value:Lorg/graalvm/compiler/nodes/ValueNode;
invokestatic org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.access$3:(Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
astore 7
start local 7 5: getstatic org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.$assertionsDisabled:Z
ifne 6
aload 0
getfield org.graalvm.compiler.core.amd64.AMD64NodeMatchRules$1.val$matchedAsConstantFinal:Z
ifeq 6
aload 7
invokestatic org.graalvm.compiler.lir.LIRValueUtil.isVariable:(Ljdk/vm/ci/meta/Value;)Z
ifeq 6
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "expected constant value "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.graalvm.compiler.core.amd64.AMD64NodeMatchRules$1.val$value:Lorg/graalvm/compiler/nodes/ValueNode;
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
6: StackMap locals: org.graalvm.compiler.core.amd64.AMD64NodeMatchRules$1 org.graalvm.compiler.core.gen.NodeLIRBuilder org.graalvm.compiler.lir.LabelRef org.graalvm.compiler.lir.LabelRef int double jdk.vm.ci.meta.Value
StackMap stack:
aload 0
getfield org.graalvm.compiler.core.amd64.AMD64NodeMatchRules$1.this$0:Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
aload 0
getfield org.graalvm.compiler.core.amd64.AMD64NodeMatchRules$1.val$access:Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;
invokeinterface org.graalvm.compiler.nodes.memory.LIRLowerableAccess.getAddress:()Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
invokestatic org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.access$3:(Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
checkcast org.graalvm.compiler.lir.amd64.AMD64AddressValue
astore 8
start local 8 7: aload 0
getfield org.graalvm.compiler.core.amd64.AMD64NodeMatchRules$1.this$0:Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getLIRGeneratorTool:()Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
aload 0
getfield org.graalvm.compiler.core.amd64.AMD64NodeMatchRules$1.val$kind:Ljdk/vm/ci/amd64/AMD64Kind;
aload 7
aload 8
aload 0
getfield org.graalvm.compiler.core.amd64.AMD64NodeMatchRules$1.this$0:Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
aload 0
getfield org.graalvm.compiler.core.amd64.AMD64NodeMatchRules$1.val$access:Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;
invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getState:(Lorg/graalvm/compiler/nodes/memory/MemoryAccess;)Lorg/graalvm/compiler/lir/LIRFrameState;
aload 0
getfield org.graalvm.compiler.core.amd64.AMD64NodeMatchRules$1.val$finalCondition:Lorg/graalvm/compiler/core/common/calc/Condition;
iload 4
aload 2
aload 3
dload 5
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitCompareBranchMemory:(Ljdk/vm/ci/amd64/AMD64Kind;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Lorg/graalvm/compiler/lir/LIRFrameState;Lorg/graalvm/compiler/core/common/calc/Condition;ZLorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;D)V
8: aconst_null
areturn
end local 8 end local 7 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules$1;
0 9 1 builder Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
1 9 2 trueLabel Lorg/graalvm/compiler/lir/LabelRef;
2 9 3 falseLabel Lorg/graalvm/compiler/lir/LabelRef;
3 9 4 unorderedIsTrue Z
4 9 5 trueLabelProbability D
5 9 7 other Ljdk/vm/ci/meta/Value;
7 9 8 address Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;
MethodParameters:
Name Flags
builder
}
SourceFile: "AMD64NodeMatchRules.java"
EnclosingMethod: org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.emitCompareBranchMemory:(Lorg/graalvm/compiler/nodes/IfNode;Lorg/graalvm/compiler/nodes/calc/CompareNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
NestHost: org.graalvm.compiler.core.amd64.AMD64NodeMatchRules
InnerClasses:
org.graalvm.compiler.core.amd64.AMD64NodeMatchRules$1