public class com.oracle.svm.hosted.phases.EarlyConstantFoldLoadFieldPlugin implements org.graalvm.compiler.nodes.graphbuilderconf.NodePlugin
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.svm.hosted.phases.EarlyConstantFoldLoadFieldPlugin
super_class: java.lang.Object
{
private final jdk.vm.ci.meta.ResolvedJavaField isImageBuildTimeField;
descriptor: Ljdk/vm/ci/meta/ResolvedJavaField;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.graalvm.compiler.api.replacements.SnippetReflectionProvider snippetReflection;
descriptor: Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(jdk.vm.ci.meta.MetaAccessProvider, org.graalvm.compiler.api.replacements.SnippetReflectionProvider);
descriptor: (Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 // com.oracle.svm.hosted.phases.EarlyConstantFoldLoadFieldPlugin this
start local 1 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
start local 2 // org.graalvm.compiler.api.replacements.SnippetReflectionProvider snippetReflection
0: .line 51
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 52
aload 0 /* this */
aload 1 /* metaAccess */
ldc Lorg/graalvm/nativeimage/impl/clinit/ClassInitializationTracking;
ldc "IS_IMAGE_BUILD_TIME"
invokestatic com.oracle.svm.util.ReflectionUtil.lookupField:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/reflect/Field;
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaField:(Ljava/lang/reflect/Field;)Ljdk/vm/ci/meta/ResolvedJavaField;
putfield com.oracle.svm.hosted.phases.EarlyConstantFoldLoadFieldPlugin.isImageBuildTimeField:Ljdk/vm/ci/meta/ResolvedJavaField;
2: .line 53
aload 0 /* this */
aload 2 /* snippetReflection */
putfield com.oracle.svm.hosted.phases.EarlyConstantFoldLoadFieldPlugin.snippetReflection:Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
3: .line 54
return
end local 2 // org.graalvm.compiler.api.replacements.SnippetReflectionProvider snippetReflection
end local 1 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
end local 0 // com.oracle.svm.hosted.phases.EarlyConstantFoldLoadFieldPlugin this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/svm/hosted/phases/EarlyConstantFoldLoadFieldPlugin;
0 4 1 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
0 4 2 snippetReflection Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
MethodParameters:
Name Flags
metaAccess
snippetReflection
public boolean handleLoadStaticField(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, jdk.vm.ci.meta.ResolvedJavaField);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaField;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=3
start local 0 // com.oracle.svm.hosted.phases.EarlyConstantFoldLoadFieldPlugin this
start local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
start local 2 // jdk.vm.ci.meta.ResolvedJavaField field
0: .line 58
aload 2 /* field */
aload 0 /* this */
getfield com.oracle.svm.hosted.phases.EarlyConstantFoldLoadFieldPlugin.isImageBuildTimeField:Ljdk/vm/ci/meta/ResolvedJavaField;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 3
1: .line 63
aload 1 /* b */
getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
iconst_0
invokestatic org.graalvm.compiler.nodes.ConstantNode.forBoolean:(Z)Lorg/graalvm/compiler/nodes/ConstantNode;
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.addPush:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
pop
2: .line 64
iconst_1
ireturn
3: .line 65
StackMap locals:
StackMap stack:
aload 2 /* field */
invokeinterface jdk.vm.ci.meta.ResolvedJavaField.isSynthetic:()Z
ifeq 10
aload 2 /* field */
invokeinterface jdk.vm.ci.meta.ResolvedJavaField.getName:()Ljava/lang/String;
ldc "$assertionsDisabled"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 10
4: .line 71
aload 0 /* this */
getfield com.oracle.svm.hosted.phases.EarlyConstantFoldLoadFieldPlugin.snippetReflection:Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
aload 2 /* field */
invokeinterface jdk.vm.ci.meta.ResolvedJavaField.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokestatic com.oracle.graal.pointsto.infrastructure.OriginalClassProvider.getJavaClass:(Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Ljdk/vm/ci/meta/ResolvedJavaType;)Ljava/lang/Class;
astore 3 /* javaClass */
start local 3 // java.lang.Class javaClass
5: .line 72
invokestatic com.oracle.svm.core.RuntimeAssertionsSupport.singleton:()Lcom/oracle/svm/core/RuntimeAssertionsSupport;
aload 3 /* javaClass */
invokevirtual com.oracle.svm.core.RuntimeAssertionsSupport.desiredAssertionStatus:(Ljava/lang/Class;)Z
istore 4 /* assertionsEnabled */
start local 4 // boolean assertionsEnabled
6: .line 73
aload 1 /* b */
getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
iload 4 /* assertionsEnabled */
ifeq 7
iconst_0
goto 8
StackMap locals: com.oracle.svm.hosted.phases.EarlyConstantFoldLoadFieldPlugin org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext jdk.vm.ci.meta.ResolvedJavaField java.lang.Class int
StackMap stack: org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext jdk.vm.ci.meta.JavaKind
7: iconst_1
StackMap locals: com.oracle.svm.hosted.phases.EarlyConstantFoldLoadFieldPlugin org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext jdk.vm.ci.meta.ResolvedJavaField java.lang.Class int
StackMap stack: org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext jdk.vm.ci.meta.JavaKind int
8: invokestatic org.graalvm.compiler.nodes.ConstantNode.forBoolean:(Z)Lorg/graalvm/compiler/nodes/ConstantNode;
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.addPush:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
pop
9: .line 74
iconst_1
ireturn
end local 4 // boolean assertionsEnabled
end local 3 // java.lang.Class javaClass
10: .line 76
StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 // jdk.vm.ci.meta.ResolvedJavaField field
end local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
end local 0 // com.oracle.svm.hosted.phases.EarlyConstantFoldLoadFieldPlugin this
LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/svm/hosted/phases/EarlyConstantFoldLoadFieldPlugin;
0 11 1 b Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
0 11 2 field Ljdk/vm/ci/meta/ResolvedJavaField;
5 10 3 javaClass Ljava/lang/Class<*>;
6 10 4 assertionsEnabled Z
MethodParameters:
Name Flags
b
field
}
SourceFile: "EarlyConstantFoldLoadFieldPlugin.java"