class org.graalvm.compiler.core.test.CountedLoopTest$1 implements org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.graalvm.compiler.core.test.CountedLoopTest$1
super_class: java.lang.Object
{
final org.graalvm.compiler.core.test.CountedLoopTest this$0;
descriptor: Lorg/graalvm/compiler/core/test/CountedLoopTest;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private final jdk.vm.ci.meta.JavaKind val$ivKind;
descriptor: Ljdk/vm/ci/meta/JavaKind;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(org.graalvm.compiler.core.test.CountedLoopTest, jdk.vm.ci.meta.JavaKind);
descriptor: (Lorg/graalvm/compiler/core/test/CountedLoopTest;Ljdk/vm/ci/meta/JavaKind;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 0: aload 0
aload 1
putfield org.graalvm.compiler.core.test.CountedLoopTest$1.this$0:Lorg/graalvm/compiler/core/test/CountedLoopTest;
aload 0
aload 2
putfield org.graalvm.compiler.core.test.CountedLoopTest$1.val$ivKind:Ljdk/vm/ci/meta/JavaKind;
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/test/CountedLoopTest$1;
MethodParameters:
Name Flags
this$0 final
val$ivKind final
public boolean apply(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin$Receiver, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aconst_null
astore 6
start local 6 1: aload 4
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 3
2: aload 0
getfield org.graalvm.compiler.core.test.CountedLoopTest$1.this$0:Lorg/graalvm/compiler/core/test/CountedLoopTest;
invokevirtual org.graalvm.compiler.core.test.CountedLoopTest.getSnippetReflection:()Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
ldc Lorg/graalvm/compiler/core/test/CountedLoopTest$IVProperty;
aload 4
invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
invokeinterface org.graalvm.compiler.api.replacements.SnippetReflectionProvider.asObject:(Ljava/lang/Class;Ljdk/vm/ci/meta/JavaConstant;)Ljava/lang/Object;
checkcast org.graalvm.compiler.core.test.CountedLoopTest$IVProperty
astore 6
3: StackMap locals: org.graalvm.compiler.core.test.CountedLoopTest$IVProperty
StackMap stack:
aload 6
ifnull 6
4: aload 1
aload 0
getfield org.graalvm.compiler.core.test.CountedLoopTest$1.val$ivKind:Ljdk/vm/ci/meta/JavaKind;
new org.graalvm.compiler.core.test.CountedLoopTest$IVPropertyNode
dup
aload 6
aconst_null
aconst_null
aload 5
aload 0
getfield org.graalvm.compiler.core.test.CountedLoopTest$1.this$0:Lorg/graalvm/compiler/core/test/CountedLoopTest;
getfield org.graalvm.compiler.core.test.CountedLoopTest.loopCanBeRemoved:Z
invokespecial org.graalvm.compiler.core.test.CountedLoopTest$IVPropertyNode.<init>:(Lorg/graalvm/compiler/core/test/CountedLoopTest$IVProperty;Lorg/graalvm/compiler/core/test/CountedLoopTest$StaticIVProperty;Lorg/graalvm/compiler/core/test/CountedLoopTest$IVPredicate;Lorg/graalvm/compiler/nodes/ValueNode;Z)V
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.addPush:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
pop
5: iconst_1
ireturn
6: StackMap locals:
StackMap stack:
iconst_0
ireturn
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 7 0 this Lorg/graalvm/compiler/core/test/CountedLoopTest$1;
0 7 1 b Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
0 7 2 targetMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 7 3 receiver Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;
0 7 4 arg1 Lorg/graalvm/compiler/nodes/ValueNode;
0 7 5 arg2 Lorg/graalvm/compiler/nodes/ValueNode;
1 7 6 property Lorg/graalvm/compiler/core/test/CountedLoopTest$IVProperty;
MethodParameters:
Name Flags
b
targetMethod
receiver
arg1
arg2
}
SourceFile: "CountedLoopTest.java"
EnclosingMethod: org.graalvm.compiler.core.test.CountedLoopTest.registerPlugins:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;Ljdk/vm/ci/meta/JavaKind;)V
NestHost: org.graalvm.compiler.core.test.CountedLoopTest
InnerClasses:
org.graalvm.compiler.core.test.CountedLoopTest$1
private abstract IVPredicate = org.graalvm.compiler.core.test.CountedLoopTest$IVPredicate of org.graalvm.compiler.core.test.CountedLoopTest
private abstract IVProperty = org.graalvm.compiler.core.test.CountedLoopTest$IVProperty of org.graalvm.compiler.core.test.CountedLoopTest
private IVPropertyNode = org.graalvm.compiler.core.test.CountedLoopTest$IVPropertyNode of org.graalvm.compiler.core.test.CountedLoopTest
private abstract StaticIVProperty = org.graalvm.compiler.core.test.CountedLoopTest$StaticIVProperty of org.graalvm.compiler.core.test.CountedLoopTest
public abstract Receiver = org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin$Receiver of org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin
public Registration = org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration of org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins