class org.graalvm.compiler.core.amd64.AMD64NodeMatchRules$2 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$2
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.memory.LIRLowerableAccess val$access;
descriptor: Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final org.graalvm.compiler.nodes.calc.NarrowNode val$root;
descriptor: Lorg/graalvm/compiler/nodes/calc/NarrowNode;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(org.graalvm.compiler.core.amd64.AMD64NodeMatchRules, org.graalvm.compiler.nodes.memory.LIRLowerableAccess, org.graalvm.compiler.nodes.calc.NarrowNode);
descriptor: (Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;Lorg/graalvm/compiler/nodes/calc/NarrowNode;)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=4
start local 0 0: aload 0
aload 1
putfield org.graalvm.compiler.core.amd64.AMD64NodeMatchRules$2.this$0:Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
aload 0
aload 2
putfield org.graalvm.compiler.core.amd64.AMD64NodeMatchRules$2.val$access:Lorg/graalvm/compiler/nodes/memory/LIRLowerableAccess;
aload 0
aload 3
putfield org.graalvm.compiler.core.amd64.AMD64NodeMatchRules$2.val$root:Lorg/graalvm/compiler/nodes/calc/NarrowNode;
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$2;
MethodParameters:
Name Flags
this$0 final
val$access final
val$root 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=6, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.core.amd64.AMD64NodeMatchRules$2.this$0:Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
aload 0
getfield org.graalvm.compiler.core.amd64.AMD64NodeMatchRules$2.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 2
start local 2 1: aload 0
getfield org.graalvm.compiler.core.amd64.AMD64NodeMatchRules$2.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$2.val$root:Lorg/graalvm/compiler/nodes/calc/NarrowNode;
invokevirtual org.graalvm.compiler.nodes.calc.NarrowNode.asNode:()Lorg/graalvm/compiler/nodes/calc/FloatingNode;
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.calc.FloatingNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.getLIRKind:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/LIRKind;
2: aload 2
invokevirtual org.graalvm.compiler.lir.amd64.AMD64AddressValue.getBase:()Ljdk/vm/ci/meta/AllocatableValue;
aload 2
invokevirtual org.graalvm.compiler.lir.amd64.AMD64AddressValue.getIndex:()Ljdk/vm/ci/meta/AllocatableValue;
3: invokestatic org.graalvm.compiler.core.common.LIRKind.combineDerived:(Lorg/graalvm/compiler/core/common/LIRKind;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)Lorg/graalvm/compiler/core/common/LIRKind;
astore 3
start local 3 4: aload 2
aload 3
invokevirtual org.graalvm.compiler.lir.amd64.AMD64AddressValue.withKind:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;
astore 4
start local 4 5: aload 0
getfield org.graalvm.compiler.core.amd64.AMD64NodeMatchRules$2.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$2.val$root:Lorg/graalvm/compiler/nodes/calc/NarrowNode;
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.calc.NarrowNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.getLIRKind:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/LIRKind;
astore 5
start local 5 6: aload 0
getfield org.graalvm.compiler.core.amd64.AMD64NodeMatchRules$2.this$0:Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.getArithmeticLIRGenerator:()Lorg/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator;
aload 5
invokevirtual org.graalvm.compiler.core.common.LIRKind.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
checkcast jdk.vm.ci.amd64.AMD64Kind
7: aload 0
getfield org.graalvm.compiler.core.amd64.AMD64NodeMatchRules$2.val$root:Lorg/graalvm/compiler/nodes/calc/NarrowNode;
invokevirtual org.graalvm.compiler.nodes.calc.NarrowNode.getResultBits:()I
aload 4
aload 0
getfield org.graalvm.compiler.core.amd64.AMD64NodeMatchRules$2.this$0:Lorg/graalvm/compiler/core/amd64/AMD64NodeMatchRules;
aload 0
getfield org.graalvm.compiler.core.amd64.AMD64NodeMatchRules$2.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;
8: invokevirtual org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator.emitZeroExtendMemory:(Ljdk/vm/ci/amd64/AMD64Kind;ILorg/graalvm/compiler/lir/amd64/AMD64AddressValue;Lorg/graalvm/compiler/lir/LIRFrameState;)Ljdk/vm/ci/meta/Value;
areturn
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$2;
0 9 1 builder Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
1 9 2 address Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;
4 9 3 addressKind Lorg/graalvm/compiler/core/common/LIRKind;
5 9 4 newAddress Lorg/graalvm/compiler/lir/amd64/AMD64AddressValue;
6 9 5 readKind Lorg/graalvm/compiler/core/common/LIRKind;
MethodParameters:
Name Flags
builder
}
SourceFile: "AMD64NodeMatchRules.java"
EnclosingMethod: org.graalvm.compiler.core.amd64.AMD64NodeMatchRules.narrowRead:(Lorg/graalvm/compiler/nodes/calc/NarrowNode;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$2