public class com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins
super_class: java.lang.Object
{
private static final java.lang.String reflectionClass;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
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=2, locals=0, args_size=0
0: ldc Lcom/oracle/svm/hosted/snippets/SubstrateGraphBuilderPlugins;
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 com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins.$assertionsDisabled:Z
3: getstatic org.graalvm.compiler.serviceprovider.JavaVersionUtil.JAVA_SPEC:I
bipush 8
if_icmpgt 6
4: ldc "sun.reflect.Reflection"
putstatic com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins.reflectionClass:Ljava/lang/String;
5: goto 7
6: StackMap locals:
StackMap stack:
ldc "jdk.internal.reflect.Reflection"
putstatic com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins.reflectionClass:Ljava/lang/String;
7: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/snippets/SubstrateGraphBuilderPlugins;
public static void registerInvocationPlugins(com.oracle.svm.hosted.substitute.AnnotationSubstitutionProcessor, jdk.vm.ci.meta.MetaAccessProvider, org.graalvm.compiler.api.replacements.SnippetReflectionProvider, org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins, org.graalvm.compiler.nodes.spi.Replacements, boolean);
descriptor: (Lcom/oracle/svm/hosted/substitute/AnnotationSubstitutionProcessor;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Lorg/graalvm/compiler/nodes/spi/Replacements;Z)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 1
aload 3
invokestatic com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins.registerSystemPlugins:(Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;)V
1: aload 3
aload 4
iload 5
invokestatic com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins.registerReflectionPlugins:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Lorg/graalvm/compiler/nodes/spi/Replacements;Z)V
2: aload 1
aload 3
invokestatic com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins.registerImageInfoPlugins:(Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;)V
3: aload 2
aload 0
aload 3
iload 5
invokestatic com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins.registerProxyPlugins:(Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Lcom/oracle/svm/hosted/substitute/AnnotationSubstitutionProcessor;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Z)V
4: aload 1
aload 2
aload 3
iload 5
invokestatic com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins.registerAtomicUpdaterPlugins:(Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Z)V
5: aload 3
invokestatic com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins.registerObjectPlugins:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;)V
6: aload 1
aload 3
aload 2
iload 5
invokestatic com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins.registerUnsafePlugins:(Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Z)V
7: aload 3
iload 5
invokestatic com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins.registerKnownIntrinsicsPlugins:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Z)V
8: aload 2
aload 3
invokestatic com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins.registerStackValuePlugins:(Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;)V
9: aload 3
iload 5
invokestatic com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins.registerArraysPlugins:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Z)V
10: aload 3
aload 2
iload 5
invokestatic com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins.registerArrayPlugins:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Z)V
11: aload 3
aload 2
invokestatic com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins.registerClassPlugins:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;)V
12: aload 1
aload 3
iload 5
invokestatic com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins.registerEdgesPlugins:(Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Z)V
13: aload 3
aload 4
invokestatic com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins.registerJFRThrowablePlugins:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Lorg/graalvm/compiler/nodes/spi/Replacements;)V
14: aload 3
aload 4
invokestatic com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins.registerJFREventTokenPlugins:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Lorg/graalvm/compiler/nodes/spi/Replacements;)V
15: aload 2
aload 3
invokestatic com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins.registerVMConfigurationPlugins:(Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;)V
16: aload 2
aload 3
invokestatic com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins.registerPlatformPlugins:(Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;)V
17: aload 3
invokestatic com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins.registerAWTPlugins:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;)V
18: aload 2
aload 3
invokestatic com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins.registerSizeOfPlugins:(Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;)V
19: aload 3
invokestatic com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins.registerReferenceAccessPlugins:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;)V
20: return
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 21 0 annotationSubstitutions Lcom/oracle/svm/hosted/substitute/AnnotationSubstitutionProcessor;
0 21 1 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
0 21 2 snippetReflection Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
0 21 3 plugins Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
0 21 4 replacements Lorg/graalvm/compiler/nodes/spi/Replacements;
0 21 5 analysis Z
MethodParameters:
Name Flags
annotationSubstitutions
metaAccess
snippetReflection
plugins
replacements
analysis
private static void registerSystemPlugins(jdk.vm.ci.meta.MetaAccessProvider, org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins);
descriptor: (Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: new org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration
dup
aload 1
ldc Ljava/lang/System;
invokespecial org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.<init>:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Ljava/lang/reflect/Type;)V
astore 2
start local 2 1: getstatic com.oracle.svm.core.SubstrateOptions.FoldSecurityManagerGetter:Lcom/oracle/svm/core/option/HostedOptionKey;
invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 3
2: aload 2
ldc "getSecurityManager"
new com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$1
dup
aload 0
invokespecial com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$1.<init>:(Ljdk/vm/ci/meta/MetaAccessProvider;)V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register0:(Ljava/lang/String;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
3: StackMap locals: org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration
StackMap stack:
aload 2
ldc "identityHashCode"
ldc Ljava/lang/Object;
new com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$2
dup
invokespecial com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$2.<init>:()V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register1:(Ljava/lang/String;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
0 5 1 plugins Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
1 5 2 r Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
MethodParameters:
Name Flags
metaAccess
plugins
private static void registerReflectionPlugins(org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins, org.graalvm.compiler.nodes.spi.Replacements, boolean);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Lorg/graalvm/compiler/nodes/spi/Replacements;Z)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration
dup
aload 0
getstatic com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins.reflectionClass:Ljava/lang/String;
aload 1
invokespecial org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.<init>:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Ljava/lang/String;Lorg/graalvm/compiler/nodes/spi/Replacements;)V
astore 3
start local 3 1: aload 3
ldc "getCallerClass"
new com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$3
dup
iload 2
invokespecial com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$3.<init>:(Z)V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register0:(Ljava/lang/String;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 plugins Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
0 3 1 replacements Lorg/graalvm/compiler/nodes/spi/Replacements;
0 3 2 analysis Z
1 3 3 r Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
MethodParameters:
Name Flags
plugins
replacements
analysis
private static void registerImageInfoPlugins(jdk.vm.ci.meta.MetaAccessProvider, org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins);
descriptor: (Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: new org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration
dup
aload 1
ldc Lorg/graalvm/nativeimage/ImageInfo;
invokespecial org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.<init>:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Ljava/lang/reflect/Type;)V
astore 2
start local 2 1: aload 2
ldc "inImageCode"
new com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$4
dup
aload 0
invokespecial com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$4.<init>:(Ljdk/vm/ci/meta/MetaAccessProvider;)V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register0:(Ljava/lang/String;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
2: aload 2
ldc "inImageBuildtimeCode"
new com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$5
dup
aload 0
invokespecial com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$5.<init>:(Ljdk/vm/ci/meta/MetaAccessProvider;)V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register0:(Ljava/lang/String;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
3: aload 2
ldc "inImageRuntimeCode"
new com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$6
dup
aload 0
invokespecial com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$6.<init>:(Ljdk/vm/ci/meta/MetaAccessProvider;)V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register0:(Ljava/lang/String;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
0 5 1 plugins Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
1 5 2 proxyRegistration Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
MethodParameters:
Name Flags
metaAccess
plugins
private static void registerProxyPlugins(org.graalvm.compiler.api.replacements.SnippetReflectionProvider, com.oracle.svm.hosted.substitute.AnnotationSubstitutionProcessor, org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins, boolean);
descriptor: (Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Lcom/oracle/svm/hosted/substitute/AnnotationSubstitutionProcessor;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Z)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=9, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
ifeq 4
1: new org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration
dup
aload 2
ldc Ljava/lang/reflect/Proxy;
invokespecial org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.<init>:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Ljava/lang/reflect/Type;)V
astore 4
start local 4 2: aload 4
ldc "getProxyClass"
ldc Ljava/lang/ClassLoader;
ldc [Ljava/lang/Class;
new com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$7
dup
aload 0
aload 1
invokespecial com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$7.<init>:(Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Lcom/oracle/svm/hosted/substitute/AnnotationSubstitutionProcessor;)V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register2:(Ljava/lang/String;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
3: aload 4
ldc "newProxyInstance"
ldc Ljava/lang/ClassLoader;
ldc [Ljava/lang/Class;
ldc Ljava/lang/reflect/InvocationHandler;
new com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$8
dup
aload 0
aload 1
invokespecial com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$8.<init>:(Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Lcom/oracle/svm/hosted/substitute/AnnotationSubstitutionProcessor;)V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register3:(Ljava/lang/String;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
end local 4 4: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 snippetReflection Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
0 5 1 annotationSubstitutions Lcom/oracle/svm/hosted/substitute/AnnotationSubstitutionProcessor;
0 5 2 plugins Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
0 5 3 analysis Z
2 4 4 proxyRegistration Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
MethodParameters:
Name Flags
snippetReflection
annotationSubstitutions
plugins
analysis
private static void interceptProxyInterfaces(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.api.replacements.SnippetReflectionProvider, com.oracle.svm.hosted.substitute.AnnotationSubstitutionProcessor, org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Lcom/oracle/svm/hosted/substitute/AnnotationSubstitutionProcessor;Lorg/graalvm/compiler/nodes/ValueNode;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
aload 3
aload 4
invokestatic com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins.extractClassArray:(Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Lcom/oracle/svm/hosted/substitute/AnnotationSubstitutionProcessor;Lorg/graalvm/compiler/nodes/ValueNode;)[Ljava/lang/Class;
astore 5
start local 5 1: aload 5
ifnull 10
2: ldc Lcom/oracle/svm/core/jdk/proxy/DynamicProxyRegistry;
invokestatic org.graalvm.nativeimage.ImageSingletons.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.svm.core.jdk.proxy.DynamicProxyRegistry
aload 5
invokeinterface com.oracle.svm.core.jdk.proxy.DynamicProxyRegistry.addProxyClass:([Ljava/lang/Class;)V
3: ldc Lcom/oracle/svm/hosted/FallbackFeature;
invokestatic org.graalvm.nativeimage.ImageSingletons.contains:(Ljava/lang/Class;)Z
ifeq 5
4: ldc Lcom/oracle/svm/hosted/FallbackFeature;
invokestatic org.graalvm.nativeimage.ImageSingletons.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.svm.hosted.FallbackFeature
aload 0
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
aload 0
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.bci:()I
invokevirtual com.oracle.svm.hosted.FallbackFeature.addAutoProxyInvoke:(Ljdk/vm/ci/meta/ResolvedJavaMethod;I)V
5: StackMap locals: java.lang.Class[]
StackMap stack:
getstatic com.oracle.svm.hosted.snippets.Options.DynamicProxyTracing:Lcom/oracle/svm/core/option/HostedOptionKey;
invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 14
6: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Successfully determined constant value for interfaces argument of call to "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
ldc "%H.%n(%p)"
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.format:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
7: ldc " reached from "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getGraph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
ldc "%H.%n(%p)"
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.format:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ". "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "Registered proxy class for "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokestatic java.util.Arrays.toString:([Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
9: goto 14
10: StackMap locals:
StackMap stack:
getstatic com.oracle.svm.hosted.snippets.Options.DynamicProxyTracing:Lcom/oracle/svm/core/option/HostedOptionKey;
invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 14
aload 0
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.parsingIntrinsic:()Z
ifne 14
11: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Could not determine constant value for interfaces argument of call to "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
ldc "%H.%n(%p)"
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.format:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
12: ldc " reached from "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getGraph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
ldc "%H.%n(%p)"
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.format:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
13: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
14: StackMap locals:
StackMap stack:
return
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 15 0 b Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
0 15 1 targetMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 15 2 snippetReflection Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
0 15 3 annotationSubstitutions Lcom/oracle/svm/hosted/substitute/AnnotationSubstitutionProcessor;
0 15 4 interfacesNode Lorg/graalvm/compiler/nodes/ValueNode;
1 15 5 interfaces [Ljava/lang/Class;
MethodParameters:
Name Flags
b
targetMethod
snippetReflection
annotationSubstitutions
interfacesNode
static java.lang.Class<?>[] extractClassArray(org.graalvm.compiler.api.replacements.SnippetReflectionProvider, com.oracle.svm.hosted.substitute.AnnotationSubstitutionProcessor, org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Lcom/oracle/svm/hosted/substitute/AnnotationSubstitutionProcessor;Lorg/graalvm/compiler/nodes/ValueNode;)[Ljava/lang/Class;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
aload 2
iconst_0
invokestatic com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins.extractClassArray:(Lcom/oracle/svm/hosted/substitute/AnnotationSubstitutionProcessor;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Lorg/graalvm/compiler/nodes/ValueNode;Z)[Ljava/lang/Class;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 snippetReflection Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
0 1 1 annotationSubstitutions Lcom/oracle/svm/hosted/substitute/AnnotationSubstitutionProcessor;
0 1 2 arrayNode Lorg/graalvm/compiler/nodes/ValueNode;
Signature: (Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Lcom/oracle/svm/hosted/substitute/AnnotationSubstitutionProcessor;Lorg/graalvm/compiler/nodes/ValueNode;)[Ljava/lang/Class<*>;
MethodParameters:
Name Flags
snippetReflection
annotationSubstitutions
arrayNode
static java.lang.Class<?>[] extractClassArray(com.oracle.svm.hosted.substitute.AnnotationSubstitutionProcessor, org.graalvm.compiler.api.replacements.SnippetReflectionProvider, org.graalvm.compiler.nodes.ValueNode, boolean);
descriptor: (Lcom/oracle/svm/hosted/substitute/AnnotationSubstitutionProcessor;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Lorg/graalvm/compiler/nodes/ValueNode;Z)[Ljava/lang/Class;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=12, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokestatic com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins.getDeoptProxyOriginalValue:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 4
start local 4 1: aload 4
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 7
iload 3
ifne 7
2: aload 1
ldc [Ljava/lang/Class;
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 java.lang.Class[]
astore 5
start local 5 3: aload 5
ifnonnull 4
aconst_null
goto 6
StackMap locals: org.graalvm.compiler.nodes.ValueNode java.lang.Class[]
StackMap stack:
4: aload 5
invokestatic java.util.stream.Stream.of:([Ljava/lang/Object;)Ljava/util/stream/Stream;
invokedynamic test()Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
java/util/Objects.nonNull(Ljava/lang/Object;)Z (6)
(Ljava/lang/Class;)Z
invokeinterface java.util.stream.Stream.allMatch:(Ljava/util/function/Predicate;)Z
ifeq 5
aload 5
goto 6
StackMap locals:
StackMap stack:
5: aconst_null
StackMap locals:
StackMap stack: java.lang.Class[]
6: areturn
end local 5 7: StackMap locals:
StackMap stack:
aload 4
instanceof org.graalvm.compiler.nodes.java.NewArrayNode
ifeq 31
8: aload 4
checkcast org.graalvm.compiler.nodes.java.NewArrayNode
astore 5
start local 5 9: aload 5
invokevirtual org.graalvm.compiler.nodes.java.NewArrayNode.length:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 6
start local 6 10: aload 6
invokevirtual org.graalvm.compiler.nodes.ValueNode.isJavaConstant:()Z
ifne 12
11: aconst_null
areturn
12: StackMap locals: org.graalvm.compiler.nodes.java.NewArrayNode org.graalvm.compiler.nodes.ValueNode
StackMap stack:
getstatic com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins.$assertionsDisabled:Z
ifne 13
aload 6
invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
if_acmpeq 13
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
13: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 7
start local 7 14: aload 5
invokevirtual org.graalvm.compiler.nodes.java.NewArrayNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
invokestatic com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins.unwrapNode:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/nodes/FixedNode;
astore 8
start local 8 15: goto 26
16: StackMap locals: java.util.List org.graalvm.compiler.nodes.FixedNode
StackMap stack:
aload 8
checkcast org.graalvm.compiler.nodes.java.StoreIndexedNode
astore 9
start local 9 17: getstatic com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins.$assertionsDisabled:Z
ifne 18
aload 9
invokevirtual org.graalvm.compiler.nodes.java.StoreIndexedNode.array:()Lorg/graalvm/compiler/nodes/ValueNode;
invokestatic com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins.getDeoptProxyOriginalValue:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
aload 5
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 18
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
18: StackMap locals: org.graalvm.compiler.nodes.java.StoreIndexedNode
StackMap stack:
aload 9
invokevirtual org.graalvm.compiler.nodes.java.StoreIndexedNode.value:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 10
start local 10 19: aload 10
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 23
aload 10
invokevirtual org.graalvm.compiler.nodes.ValueNode.isNullConstant:()Z
ifne 23
20: aload 1
ldc Ljava/lang/Class;
aload 10
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 java.lang.Class
astore 11
start local 11 21: aload 7
aload 0
aload 11
invokevirtual com.oracle.svm.hosted.substitute.AnnotationSubstitutionProcessor.getTargetClass:(Ljava/lang/Class;)Ljava/lang/Class;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 11 22: goto 25
23: StackMap locals: org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aconst_null
astore 7
24: goto 27
25: StackMap locals:
StackMap stack:
aload 9
invokevirtual org.graalvm.compiler.nodes.java.StoreIndexedNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
invokestatic com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins.unwrapNode:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/nodes/FixedNode;
astore 8
end local 10 end local 9 26: StackMap locals:
StackMap stack:
aload 8
instanceof org.graalvm.compiler.nodes.java.StoreIndexedNode
ifne 16
27: StackMap locals:
StackMap stack:
aload 6
invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
istore 9
start local 9 28: aload 7
ifnull 29
aload 7
invokeinterface java.util.List.size:()I
iload 9
if_icmpne 29
aload 7
iconst_0
anewarray java.lang.Class
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.Class[]
goto 30
StackMap locals: int
StackMap stack:
29: aconst_null
StackMap locals:
StackMap stack: java.lang.Class[]
30: areturn
end local 9 end local 8 end local 7 end local 6 end local 5 31: StackMap locals: com.oracle.svm.hosted.substitute.AnnotationSubstitutionProcessor org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.nodes.ValueNode int org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aconst_null
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 annotationSubstitutions Lcom/oracle/svm/hosted/substitute/AnnotationSubstitutionProcessor;
0 32 1 snippetReflection Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
0 32 2 arrayNode Lorg/graalvm/compiler/nodes/ValueNode;
0 32 3 exact Z
1 32 4 originalArrayNode Lorg/graalvm/compiler/nodes/ValueNode;
3 7 5 classes [Ljava/lang/Class;
9 31 5 newArray Lorg/graalvm/compiler/nodes/java/NewArrayNode;
10 31 6 newArrayLengthNode Lorg/graalvm/compiler/nodes/ValueNode;
14 31 7 classList Ljava/util/List<Ljava/lang/Class<*>;>;
15 31 8 successor Lorg/graalvm/compiler/nodes/FixedNode;
17 26 9 store Lorg/graalvm/compiler/nodes/java/StoreIndexedNode;
19 26 10 valueNode Lorg/graalvm/compiler/nodes/ValueNode;
21 22 11 clazz Ljava/lang/Class<*>;
28 31 9 newArrayLength I
Signature: (Lcom/oracle/svm/hosted/substitute/AnnotationSubstitutionProcessor;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Lorg/graalvm/compiler/nodes/ValueNode;Z)[Ljava/lang/Class<*>;
MethodParameters:
Name Flags
annotationSubstitutions
snippetReflection
arrayNode
exact
private static org.graalvm.compiler.nodes.ValueNode getDeoptProxyOriginalValue(org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
astore 1
start local 1 1: goto 3
2: StackMap locals: org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 1
checkcast com.oracle.svm.hosted.nodes.DeoptProxyNode
invokevirtual com.oracle.svm.hosted.nodes.DeoptProxyNode.getOriginalNode:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 1
3: StackMap locals:
StackMap stack:
aload 1
instanceof com.oracle.svm.hosted.nodes.DeoptProxyNode
ifne 2
4: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 node Lorg/graalvm/compiler/nodes/ValueNode;
1 5 1 original Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
node
private static org.graalvm.compiler.nodes.FixedNode unwrapNode(org.graalvm.compiler.nodes.FixedNode);
descriptor: (Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/nodes/FixedNode;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
astore 1
start local 1 1: goto 4
2: StackMap locals: org.graalvm.compiler.nodes.FixedNode
StackMap stack:
getstatic com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins.$assertionsDisabled:Z
ifne 3
aload 1
instanceof com.oracle.svm.core.graal.nodes.DeoptEntryNode
ifeq 3
aload 1
invokevirtual org.graalvm.compiler.nodes.FixedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
checkcast com.oracle.svm.hosted.meta.HostedMethod
invokevirtual com.oracle.svm.hosted.meta.HostedMethod.isDeoptTarget:()Z
ifne 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
aload 1
checkcast org.graalvm.compiler.nodes.FixedWithNextNode
invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
astore 1
4: StackMap locals:
StackMap stack:
aload 1
instanceof org.graalvm.compiler.nodes.FullInfopointNode
ifne 2
aload 1
instanceof com.oracle.svm.core.graal.nodes.DeoptEntryNode
ifne 2
5: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 node Lorg/graalvm/compiler/nodes/FixedNode;
1 6 1 successor Lorg/graalvm/compiler/nodes/FixedNode;
MethodParameters:
Name Flags
node
private static void registerAtomicUpdaterPlugins(jdk.vm.ci.meta.MetaAccessProvider, org.graalvm.compiler.api.replacements.SnippetReflectionProvider, org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins, boolean);
descriptor: (Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Z)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=10, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration
dup
aload 2
ldc Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
invokespecial org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.<init>:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Ljava/lang/reflect/Type;)V
astore 4
start local 4 1: aload 4
ldc "newUpdater"
ldc Ljava/lang/Class;
ldc Ljava/lang/Class;
ldc Ljava/lang/String;
new com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$9
dup
aload 0
aload 1
iload 3
invokespecial com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$9.<init>:(Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Z)V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register3:(Ljava/lang/String;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
2: new org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration
dup
aload 2
ldc Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
invokespecial org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.<init>:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Ljava/lang/reflect/Type;)V
astore 5
start local 5 3: aload 5
ldc "newUpdater"
ldc Ljava/lang/Class;
ldc Ljava/lang/String;
new com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$10
dup
aload 0
aload 1
iload 3
invokespecial com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$10.<init>:(Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Z)V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register2:(Ljava/lang/String;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
4: new org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration
dup
aload 2
ldc Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
invokespecial org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.<init>:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Ljava/lang/reflect/Type;)V
astore 6
start local 6 5: aload 6
ldc "newUpdater"
ldc Ljava/lang/Class;
ldc Ljava/lang/String;
new com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$11
dup
aload 0
aload 1
iload 3
invokespecial com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$11.<init>:(Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Z)V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register2:(Ljava/lang/String;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
6: return
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 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
0 7 1 snippetReflection Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
0 7 2 plugins Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
0 7 3 analysis Z
1 7 4 referenceUpdaterRegistration Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
3 7 5 integerUpdaterRegistration Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
5 7 6 longUpdaterRegistration Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
MethodParameters:
Name Flags
metaAccess
snippetReflection
plugins
analysis
private static void interceptUpdaterInvoke(jdk.vm.ci.meta.MetaAccessProvider, org.graalvm.compiler.api.replacements.SnippetReflectionProvider, boolean, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode);
descriptor: (Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;ZLorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 2
ifeq 11
1: aload 3
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 11
aload 4
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 11
2: aload 1
ldc Ljava/lang/Class;
aload 3
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 java.lang.Class
astore 5
start local 5 3: aload 1
ldc Ljava/lang/String;
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 java.lang.String
astore 6
start local 6 4: aload 5
aload 6
invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
astore 7
start local 7 5: iconst_1
anewarray java.lang.Class
dup
iconst_0
6: aload 5
aastore
invokestatic org.graalvm.nativeimage.hosted.RuntimeReflection.register:([Ljava/lang/Class;)V
iconst_1
anewarray java.lang.reflect.Field
dup
iconst_0
7: aload 7
aastore
invokestatic org.graalvm.nativeimage.hosted.RuntimeReflection.register:([Ljava/lang/reflect/Field;)V
8: aload 0
aload 7
invokestatic com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins.registerAsUnsafeAccessed:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/reflect/Field;)V
end local 7 9: goto 11
StackMap locals: jdk.vm.ci.meta.MetaAccessProvider org.graalvm.compiler.api.replacements.SnippetReflectionProvider int org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode java.lang.Class java.lang.String
StackMap stack: java.lang.NoSuchFieldException
10: pop
end local 6 end local 5 11: 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 12 0 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
0 12 1 snippetReflection Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
0 12 2 analysis Z
0 12 3 tclassNode Lorg/graalvm/compiler/nodes/ValueNode;
0 12 4 fieldNameNode Lorg/graalvm/compiler/nodes/ValueNode;
3 11 5 tclass Ljava/lang/Class<*>;
4 11 6 fieldName Ljava/lang/String;
5 9 7 field Ljava/lang/reflect/Field;
Exception table:
from to target type
4 9 10 Class java.lang.NoSuchFieldException
MethodParameters:
Name Flags
metaAccess
snippetReflection
analysis
tclassNode
fieldNameNode
private static void registerAsUnsafeAccessed(jdk.vm.ci.meta.MetaAccessProvider, java.lang.reflect.Field);
descriptor: (Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/reflect/Field;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaField:(Ljava/lang/reflect/Field;)Ljdk/vm/ci/meta/ResolvedJavaField;
checkcast com.oracle.graal.pointsto.meta.AnalysisField
astore 2
start local 2 1: aload 2
invokevirtual com.oracle.graal.pointsto.meta.AnalysisField.registerAsAccessed:()V
2: aload 0
checkcast com.oracle.graal.pointsto.infrastructure.UniverseMetaAccess
invokevirtual com.oracle.graal.pointsto.infrastructure.UniverseMetaAccess.getUniverse:()Lcom/oracle/graal/pointsto/infrastructure/Universe;
checkcast com.oracle.graal.pointsto.meta.AnalysisUniverse
astore 3
start local 3 3: aload 2
aload 3
invokevirtual com.oracle.graal.pointsto.meta.AnalysisField.registerAsUnsafeAccessed:(Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;)V
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
0 5 1 field Ljava/lang/reflect/Field;
1 5 2 targetField Lcom/oracle/graal/pointsto/meta/AnalysisField;
3 5 3 universe Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
MethodParameters:
Name Flags
metaAccess
field
private static void registerObjectPlugins(org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: new org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration
dup
aload 0
ldc Ljava/lang/Object;
invokespecial org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.<init>:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Ljava/lang/reflect/Type;)V
astore 1
start local 1 1: aload 1
ldc "clone"
ldc Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;
new com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$12
dup
invokespecial com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$12.<init>:()V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register1:(Ljava/lang/String;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
2: aload 1
ldc "hashCode"
ldc Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;
new com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$13
dup
invokespecial com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$13.<init>:()V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register1:(Ljava/lang/String;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 plugins Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
1 4 1 r Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
MethodParameters:
Name Flags
plugins
public static org.graalvm.compiler.replacements.nodes.ObjectClone objectCloneNode(org.graalvm.compiler.replacements.nodes.MacroNode$MacroParams, boolean);
descriptor: (Lorg/graalvm/compiler/replacements/nodes/MacroNode$MacroParams;Z)Lorg/graalvm/compiler/replacements/nodes/ObjectClone;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifeq 2
1: new com.oracle.svm.core.graal.jdk.SubstrateObjectCloneNode
dup
aload 0
invokespecial com.oracle.svm.core.graal.jdk.SubstrateObjectCloneNode.<init>:(Lorg/graalvm/compiler/replacements/nodes/MacroNode$MacroParams;)V
areturn
2: StackMap locals:
StackMap stack:
new com.oracle.svm.core.graal.jdk.ObjectCloneWithExceptionNode
dup
aload 0
invokespecial com.oracle.svm.core.graal.jdk.ObjectCloneWithExceptionNode.<init>:(Lorg/graalvm/compiler/replacements/nodes/MacroNode$MacroParams;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 macroParams Lorg/graalvm/compiler/replacements/nodes/MacroNode$MacroParams;
0 3 1 parsingIntrinsic Z
MethodParameters:
Name Flags
macroParams
parsingIntrinsic
private static void registerUnsafePlugins(jdk.vm.ci.meta.MetaAccessProvider, org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins, org.graalvm.compiler.api.replacements.SnippetReflectionProvider, boolean);
descriptor: (Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Z)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=10, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
new org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration
dup
aload 1
ldc Lsun/misc/Unsafe;
invokespecial org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.<init>:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Ljava/lang/reflect/Type;)V
aload 2
iload 3
invokestatic com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins.registerUnsafePlugins:(Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Z)V
1: getstatic org.graalvm.compiler.serviceprovider.JavaVersionUtil.JAVA_SPEC:I
bipush 8
if_icmple 6
2: new org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration
dup
aload 1
ldc "jdk.internal.misc.Unsafe"
invokespecial org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.<init>:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Ljava/lang/String;)V
astore 4
start local 4 3: aload 0
aload 4
aload 2
iload 3
invokestatic com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins.registerUnsafePlugins:(Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Z)V
4: aload 4
ldc "objectFieldOffset"
ldc Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;
ldc Ljava/lang/Class;
ldc Ljava/lang/String;
new com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$14
dup
aload 2
iload 3
aload 0
invokespecial com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$14.<init>:(Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;ZLjdk/vm/ci/meta/MetaAccessProvider;)V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register3:(Ljava/lang/String;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
5: aload 4
ldc "allocateUninitializedArray"
ldc Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;
ldc Ljava/lang/Class;
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
new com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$15
dup
invokespecial com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$15.<init>:()V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register3:(Ljava/lang/String;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
end local 4 6: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
0 7 1 plugins Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
0 7 2 snippetReflection Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
0 7 3 analysis Z
3 6 4 r Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
MethodParameters:
Name Flags
metaAccess
plugins
snippetReflection
analysis
private static void registerUnsafePlugins(jdk.vm.ci.meta.MetaAccessProvider, org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration, org.graalvm.compiler.api.replacements.SnippetReflectionProvider, boolean);
descriptor: (Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Z)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=9, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ldc "objectFieldOffset"
ldc Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;
ldc Ljava/lang/reflect/Field;
new com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$16
dup
aload 2
iload 3
aload 0
invokespecial com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$16.<init>:(Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;ZLjdk/vm/ci/meta/MetaAccessProvider;)V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register2:(Ljava/lang/String;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
1: aload 1
ldc "allocateInstance"
ldc Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;
ldc Ljava/lang/Class;
new com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$17
dup
invokespecial com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$17.<init>:()V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register2:(Ljava/lang/String;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
0 3 1 r Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
0 3 2 snippetReflection Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
0 3 3 analysis Z
MethodParameters:
Name Flags
metaAccess
r
snippetReflection
analysis
private static boolean processObjectFieldOffset(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, java.lang.reflect.Field, boolean, jdk.vm.ci.meta.MetaAccessProvider);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljava/lang/reflect/Field;ZLjdk/vm/ci/meta/MetaAccessProvider;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnonnull 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
iload 2
ifeq 5
3: aload 3
aload 1
invokestatic com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins.registerAsUnsafeAccessed:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/reflect/Field;)V
4: iconst_0
ireturn
5: StackMap locals:
StackMap stack:
aload 3
checkcast com.oracle.svm.hosted.meta.HostedMetaAccess
astore 4
start local 4 6: aload 4
aload 1
invokevirtual com.oracle.svm.hosted.meta.HostedMetaAccess.lookupJavaField:(Ljava/lang/reflect/Field;)Lcom/oracle/svm/hosted/meta/HostedField;
astore 5
start local 5 7: aload 5
getfield com.oracle.svm.hosted.meta.HostedField.wrapped:Lcom/oracle/graal/pointsto/meta/AnalysisField;
invokevirtual com.oracle.graal.pointsto.meta.AnalysisField.isUnsafeAccessed:()Z
ifeq 11
8: aload 5
invokevirtual com.oracle.svm.hosted.meta.HostedField.getLocation:()I
i2l
invokestatic jdk.vm.ci.meta.JavaConstant.forLong:(J)Ljdk/vm/ci/meta/PrimitiveConstant;
astore 6
start local 6 9: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
aload 6
aload 0
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
aload 0
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getGraph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokestatic org.graalvm.compiler.nodes.ConstantNode.forConstant:(Ljdk/vm/ci/meta/JavaConstant;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/StructuredGraph;)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
10: iconst_1
ireturn
end local 6 11: StackMap locals: com.oracle.svm.hosted.meta.HostedMetaAccess com.oracle.svm.hosted.meta.HostedField
StackMap stack:
iconst_0
ireturn
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 12 0 b Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
0 12 1 targetField Ljava/lang/reflect/Field;
0 12 2 analysis Z
0 12 3 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
6 12 4 hostedMetaAccess Lcom/oracle/svm/hosted/meta/HostedMetaAccess;
7 12 5 hostedField Lcom/oracle/svm/hosted/meta/HostedField;
9 11 6 offsetValue Ljdk/vm/ci/meta/JavaConstant;
MethodParameters:
Name Flags
b
targetField
analysis
metaAccess
private static void registerArrayPlugins(org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins, org.graalvm.compiler.api.replacements.SnippetReflectionProvider, boolean);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Z)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration
dup
aload 0
ldc Ljava/lang/reflect/Array;
invokespecial org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.<init>:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Ljava/lang/reflect/Type;)V
iconst_1
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.setAllowOverwrite:(Z)Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
astore 3
start local 3 1: aload 3
ldc "newInstance"
ldc Ljava/lang/Class;
ldc [I
new com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$18
dup
iload 2
aload 1
invokespecial com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$18.<init>:(ZLorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;)V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register2:(Ljava/lang/String;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 plugins Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
0 3 1 snippetReflection Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
0 3 2 analysis Z
1 3 3 r Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
MethodParameters:
Name Flags
plugins
snippetReflection
analysis
private static void registerArraysPlugins(org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins, boolean);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Z)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=3, args_size=2
start local 0 start local 1 0: new org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration
dup
aload 0
ldc Ljava/util/Arrays;
invokespecial org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.<init>:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Ljava/lang/reflect/Type;)V
iconst_1
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.setAllowOverwrite:(Z)Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
astore 2
start local 2 1: aload 2
ldc "copyOf"
ldc [Ljava/lang/Object;
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
new com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$19
dup
iload 1
invokespecial com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$19.<init>:(Z)V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register2:(Ljava/lang/String;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
2: aload 2
ldc "copyOf"
ldc [Ljava/lang/Object;
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
ldc Ljava/lang/Class;
new com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$20
dup
iload 1
invokespecial com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$20.<init>:(Z)V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register3:(Ljava/lang/String;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 plugins Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
0 4 1 analysis Z
1 4 2 r Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
MethodParameters:
Name Flags
plugins
analysis
private static void registerKnownIntrinsicsPlugins(org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins, boolean);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Z)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=3, args_size=2
start local 0 start local 1 0: new org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration
dup
aload 0
ldc Lcom/oracle/svm/core/snippets/KnownIntrinsics;
invokespecial org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.<init>:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Ljava/lang/reflect/Type;)V
astore 2
start local 2 1: aload 2
ldc "heapBase"
new com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$21
dup
invokespecial com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$21.<init>:()V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register0:(Ljava/lang/String;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
2: aload 2
ldc "readHub"
ldc Ljava/lang/Object;
new com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$22
dup
invokespecial com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$22.<init>:()V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register1:(Ljava/lang/String;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
3: aload 2
ldc "nonNullPointer"
ldc Lorg/graalvm/word/Pointer;
new com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$23
dup
invokespecial com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$23.<init>:()V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register1:(Ljava/lang/String;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
4: aload 2
ldc "readStackPointer"
new com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$24
dup
invokespecial com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$24.<init>:()V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register0:(Ljava/lang/String;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
5: aload 2
ldc "readCallerStackPointer"
new com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$25
dup
invokespecial com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$25.<init>:()V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register0:(Ljava/lang/String;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
6: aload 2
ldc "readReturnAddress"
new com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$26
dup
invokespecial com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$26.<init>:()V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register0:(Ljava/lang/String;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
7: aload 2
ldc "farReturn"
ldc Ljava/lang/Object;
ldc Lorg/graalvm/word/Pointer;
ldc Lorg/graalvm/nativeimage/c/function/CodePointer;
getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
new com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$27
dup
invokespecial com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$27.<init>:()V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register4:(Ljava/lang/String;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
8: aload 2
ldc "testDeoptimize"
new com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$28
dup
invokespecial com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$28.<init>:()V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register0:(Ljava/lang/String;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
9: aload 2
ldc "isDeoptimizationTarget"
new com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$29
dup
invokespecial com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$29.<init>:()V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register0:(Ljava/lang/String;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
10: aload 2
ldc "convertUnknownValue"
ldc Ljava/lang/Object;
ldc Ljava/lang/Class;
new com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$30
dup
iload 1
invokespecial com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$30.<init>:(Z)V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register2:(Ljava/lang/String;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
11: aload 2
invokestatic com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins.registerCastExact:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;)V
12: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 plugins Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
0 13 1 analysis Z
1 13 2 r Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
MethodParameters:
Name Flags
plugins
analysis
public static void registerCastExact(org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
ldc "castExact"
ldc Ljava/lang/Object;
ldc Ljava/lang/Class;
new com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$31
dup
invokespecial com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$31.<init>:()V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register2:(Ljava/lang/String;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 r Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
MethodParameters:
Name Flags
r
private static void checkNeverInline(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
ldc Lcom/oracle/svm/core/annotate/NeverInline;
invokestatic org.graalvm.util.DirectAnnotationAccess.isAnnotationPresent:(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;)Z
ifne 4
1: new java.lang.StringBuilder
dup
ldc "Accessing the stack pointer or instruction pointer of the caller frame is only safe and deterministic if the method is not inlined. Therefore, the method "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
2: aload 0
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
ldc "%H.%n(%p)"
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.format:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " must be annoated with @"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc Lcom/oracle/svm/core/annotate/NeverInline;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 b Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
MethodParameters:
Name Flags
b
private static org.graalvm.compiler.core.common.type.IntegerStamp nonZeroWord();
descriptor: ()Lorg/graalvm/compiler/core/common/type/IntegerStamp;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=0, args_size=0
0: bipush 64
lconst_1
ldc -1
invokestatic org.graalvm.compiler.core.common.type.StampFactory.forUnsignedInteger:(IJJ)Lorg/graalvm/compiler/core/common/type/IntegerStamp;
areturn
LocalVariableTable:
Start End Slot Name Signature
private static void registerStackValuePlugins(org.graalvm.compiler.api.replacements.SnippetReflectionProvider, org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins);
descriptor: (Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=3, args_size=2
start local 0 start local 1 0: new org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration
dup
aload 1
ldc Lorg/graalvm/nativeimage/StackValue;
invokespecial org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.<init>:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Ljava/lang/reflect/Type;)V
astore 2
start local 2 1: aload 2
ldc "get"
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
new com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$32
dup
invokespecial com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$32.<init>:()V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register1:(Ljava/lang/String;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
2: aload 2
ldc "get"
ldc Ljava/lang/Class;
new com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$33
dup
aload 0
invokespecial com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$33.<init>:(Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;)V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register1:(Ljava/lang/String;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
3: aload 2
ldc "get"
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
new com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$34
dup
invokespecial com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$34.<init>:()V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register2:(Ljava/lang/String;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
4: aload 2
ldc "get"
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
ldc Ljava/lang/Class;
new com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$35
dup
aload 0
invokespecial com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$35.<init>:(Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;)V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register2:(Ljava/lang/String;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 snippetReflection Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
0 6 1 plugins Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
1 6 2 r Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
MethodParameters:
Name Flags
snippetReflection
plugins
private static jdk.vm.ci.meta.ResolvedJavaType typeValue(jdk.vm.ci.meta.ConstantReflectionProvider, org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.ValueNode, java.lang.String);
descriptor: (Ljdk/vm/ci/meta/ConstantReflectionProvider;Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/ValueNode;Ljava/lang/String;)Ljdk/vm/ci/meta/ResolvedJavaType;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 3
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifne 2
1: aload 1
new java.lang.StringBuilder
dup
ldc "parameter "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " is not a compile time constant for call to "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
ldc "%H.%n(%p)"
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.format:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
aload 1
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.bci:()I
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.asStackTraceElement:(I)Ljava/lang/StackTraceElement;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.bailout:(Ljava/lang/String;)Ljdk/vm/ci/code/BailoutException;
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 3
invokevirtual org.graalvm.compiler.nodes.ValueNode.asConstant:()Ljdk/vm/ci/meta/Constant;
invokeinterface jdk.vm.ci.meta.ConstantReflectionProvider.asJavaType:(Ljdk/vm/ci/meta/Constant;)Ljdk/vm/ci/meta/ResolvedJavaType;
astore 5
start local 5 3: aload 5
ifnonnull 5
4: aload 1
new java.lang.StringBuilder
dup
ldc "parameter "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " is null for call to "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
ldc "%H.%n(%p)"
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.format:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
aload 1
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.bci:()I
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.asStackTraceElement:(I)Ljava/lang/StackTraceElement;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.bailout:(Ljava/lang/String;)Ljdk/vm/ci/code/BailoutException;
athrow
5: StackMap locals: jdk.vm.ci.meta.ResolvedJavaType
StackMap stack:
aload 5
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 6 0 constantReflection Ljdk/vm/ci/meta/ConstantReflectionProvider;
0 6 1 b Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
0 6 2 targetMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 6 3 typeNode Lorg/graalvm/compiler/nodes/ValueNode;
0 6 4 name Ljava/lang/String;
3 6 5 type Ljdk/vm/ci/meta/ResolvedJavaType;
MethodParameters:
Name Flags
constantReflection
b
targetMethod
typeNode
name
private static void registerClassPlugins(org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins, org.graalvm.compiler.api.replacements.SnippetReflectionProvider);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins.registerClassDesiredAssertionStatusPlugin:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 plugins Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
0 2 1 snippetReflection Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
MethodParameters:
Name Flags
plugins
snippetReflection
public static void registerClassDesiredAssertionStatusPlugin(org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins, org.graalvm.compiler.api.replacements.SnippetReflectionProvider);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: new org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration
dup
aload 0
ldc Ljava/lang/Class;
invokespecial org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.<init>:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Ljava/lang/reflect/Type;)V
astore 2
start local 2 1: aload 2
ldc "desiredAssertionStatus"
ldc Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;
new com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$36
dup
aload 1
invokespecial com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$36.<init>:(Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;)V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register1:(Ljava/lang/String;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 plugins Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
0 3 1 snippetReflection Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
1 3 2 r Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
MethodParameters:
Name Flags
plugins
snippetReflection
private static void registerEdgesPlugins(jdk.vm.ci.meta.MetaAccessProvider, org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins, boolean);
descriptor: (Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Z)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=9, locals=8, args_size=3
start local 0 start local 1 start local 2 0: iload 2
ifeq 8
1: new org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration
dup
aload 1
ldc Lorg/graalvm/compiler/graph/Edges;
invokespecial org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.<init>:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Ljava/lang/reflect/Type;)V
iconst_1
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.setAllowOverwrite:(Z)Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
astore 3
start local 3 2: iconst_2
anewarray java.lang.Class
dup
iconst_0
ldc Lorg/graalvm/compiler/graph/Node;
aastore
dup
iconst_1
ldc Lorg/graalvm/compiler/graph/NodeList;
aastore
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 7
StackMap locals: jdk.vm.ci.meta.MetaAccessProvider org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins int org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration top int int java.lang.Class[]
StackMap stack:
3: aload 7
iload 5
aaload
astore 4
start local 4 4: aload 3
new java.lang.StringBuilder
dup
ldc "get"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "Unsafe"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
ldc Lorg/graalvm/compiler/graph/Node;
getstatic java.lang.Long.TYPE:Ljava/lang/Class;
new com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$37
dup
aload 0
aload 4
invokespecial com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$37.<init>:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/Class;)V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register2:(Ljava/lang/String;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
5: aload 3
new java.lang.StringBuilder
dup
ldc "put"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "Unsafe"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
ldc Lorg/graalvm/compiler/graph/Node;
getstatic java.lang.Long.TYPE:Ljava/lang/Class;
aload 4
new com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$38
dup
aload 0
aload 4
invokespecial com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$38.<init>:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/Class;)V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register3:(Ljava/lang/String;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
end local 4 6: iinc 5 1
StackMap locals:
StackMap stack:
7: iload 5
iload 6
if_icmplt 3
end local 3 8: StackMap locals: jdk.vm.ci.meta.MetaAccessProvider org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins int
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
0 9 1 plugins Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
0 9 2 analysis Z
2 8 3 r Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
4 6 4 c Ljava/lang/Class<*>;
MethodParameters:
Name Flags
metaAccess
plugins
analysis
protected static long longValue(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.ValueNode, java.lang.String);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/ValueNode;Ljava/lang/String;)J
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifne 2
1: aload 0
new java.lang.StringBuilder
dup
ldc "parameter "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " is not a compile time constant for call to "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
ldc "%H.%n(%p)"
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.format:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
aload 0
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.bci:()I
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.asStackTraceElement:(I)Ljava/lang/StackTraceElement;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.bailout:(Ljava/lang/String;)Ljdk/vm/ci/code/BailoutException;
athrow
2: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
lreturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 b Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
0 3 1 targetMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 3 2 node Lorg/graalvm/compiler/nodes/ValueNode;
0 3 3 name Ljava/lang/String;
MethodParameters:
Name Flags
b
targetMethod
node
name
private static void registerJFRThrowablePlugins(org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins, org.graalvm.compiler.nodes.spi.Replacements);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Lorg/graalvm/compiler/nodes/spi/Replacements;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: new org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration
dup
aload 0
ldc "oracle.jrockit.jfr.jdkevents.ThrowableTracer"
aload 1
invokespecial org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.<init>:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Ljava/lang/String;Lorg/graalvm/compiler/nodes/spi/Replacements;)V
iconst_1
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.setAllowOverwrite:(Z)Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
astore 2
start local 2 1: aload 2
ldc "traceError"
ldc Ljava/lang/Error;
ldc Ljava/lang/String;
new com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$39
dup
invokespecial com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$39.<init>:()V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register2:(Ljava/lang/String;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
2: aload 2
ldc "traceThrowable"
ldc Ljava/lang/Throwable;
ldc Ljava/lang/String;
new com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$40
dup
invokespecial com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$40.<init>:()V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register2:(Ljava/lang/String;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 plugins Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
0 4 1 replacements Lorg/graalvm/compiler/nodes/spi/Replacements;
1 4 2 r Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
MethodParameters:
Name Flags
plugins
replacements
private static void registerJFREventTokenPlugins(org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins, org.graalvm.compiler.nodes.spi.Replacements);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Lorg/graalvm/compiler/nodes/spi/Replacements;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: new org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration
dup
aload 0
ldc "com.oracle.jrockit.jfr.EventToken"
aload 1
invokespecial org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.<init>:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Ljava/lang/String;Lorg/graalvm/compiler/nodes/spi/Replacements;)V
astore 2
start local 2 1: aload 2
ldc "isEnabled"
ldc Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;
new com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$41
dup
invokespecial com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$41.<init>:()V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register1:(Ljava/lang/String;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 plugins Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
0 3 1 replacements Lorg/graalvm/compiler/nodes/spi/Replacements;
1 3 2 r Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
MethodParameters:
Name Flags
plugins
replacements
private static void registerVMConfigurationPlugins(org.graalvm.compiler.api.replacements.SnippetReflectionProvider, org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins);
descriptor: (Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: new org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration
dup
aload 1
ldc Lorg/graalvm/nativeimage/ImageSingletons;
invokespecial org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.<init>:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Ljava/lang/reflect/Type;)V
astore 2
start local 2 1: aload 2
ldc "contains"
ldc Ljava/lang/Class;
new com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$42
dup
aload 0
invokespecial com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$42.<init>:(Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;)V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register1:(Ljava/lang/String;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
2: aload 2
ldc "lookup"
ldc Ljava/lang/Class;
new com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$43
dup
aload 0
invokespecial com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$43.<init>:(Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;)V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register1:(Ljava/lang/String;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 snippetReflection Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
0 4 1 plugins Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
1 4 2 r Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
MethodParameters:
Name Flags
snippetReflection
plugins
private static void registerPlatformPlugins(org.graalvm.compiler.api.replacements.SnippetReflectionProvider, org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins);
descriptor: (Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: new org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration
dup
aload 1
ldc Lorg/graalvm/nativeimage/Platform;
invokespecial org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.<init>:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Ljava/lang/reflect/Type;)V
astore 2
start local 2 1: aload 2
ldc "includedIn"
ldc Ljava/lang/Class;
new com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$44
dup
aload 0
invokespecial com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$44.<init>:(Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;)V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register1:(Ljava/lang/String;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 snippetReflection Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
0 3 1 plugins Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
1 3 2 r Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
MethodParameters:
Name Flags
snippetReflection
plugins
private static void registerAWTPlugins(org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: new org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration
dup
aload 0
ldc Ljava/awt/GraphicsEnvironment;
invokespecial org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.<init>:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Ljava/lang/reflect/Type;)V
astore 1
start local 1 1: aload 1
ldc "isHeadless"
new com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$45
dup
invokespecial com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$45.<init>:()V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register0:(Ljava/lang/String;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 plugins Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
1 3 1 r Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
MethodParameters:
Name Flags
plugins
private static void registerSizeOfPlugins(org.graalvm.compiler.api.replacements.SnippetReflectionProvider, org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins);
descriptor: (Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: new org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration
dup
aload 1
ldc Lorg/graalvm/nativeimage/c/struct/SizeOf;
invokespecial org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.<init>:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Ljava/lang/reflect/Type;)V
astore 2
start local 2 1: aload 2
ldc "get"
ldc Ljava/lang/Class;
new com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$46
dup
aload 0
invokespecial com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$46.<init>:(Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;)V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register1:(Ljava/lang/String;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
2: aload 2
ldc "unsigned"
ldc Ljava/lang/Class;
new com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$47
dup
aload 0
invokespecial com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$47.<init>:(Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;)V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register1:(Ljava/lang/String;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 snippetReflection Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
0 4 1 plugins Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
1 4 2 r Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
MethodParameters:
Name Flags
snippetReflection
plugins
private static void registerReferenceAccessPlugins(org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=2, args_size=1
start local 0 0: new org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration
dup
aload 0
ldc Lcom/oracle/svm/core/heap/ReferenceAccessImpl;
invokespecial org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.<init>:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Ljava/lang/reflect/Type;)V
astore 1
start local 1 1: aload 1
ldc "getCompressedRepresentation"
ldc Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;
ldc Ljava/lang/Object;
new com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$48
dup
invokespecial com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$48.<init>:()V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register2:(Ljava/lang/String;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
2: aload 1
ldc "uncompressReference"
ldc Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;
ldc Lorg/graalvm/word/UnsignedWord;
new com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$49
dup
invokespecial com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$49.<init>:()V
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register2:(Ljava/lang/String;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 plugins Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
1 4 1 r Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
MethodParameters:
Name Flags
plugins
private static <T> T constantObjectParameter(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, org.graalvm.compiler.api.replacements.SnippetReflectionProvider, jdk.vm.ci.meta.ResolvedJavaMethod, int, java.lang.Class<T>, org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Ljdk/vm/ci/meta/ResolvedJavaMethod;ILjava/lang/Class;Lorg/graalvm/compiler/nodes/ValueNode;)Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 5
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
aload 0
aload 2
iload 3
ldc "parameter is not a compile time constant"
invokestatic com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins.checkParameterUsage:(ZLorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;ILjava/lang/String;)V
1: aload 1
aload 4
aload 5
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;
astore 6
start local 6 2: aload 6
ifnull 3
iconst_1
goto 4
StackMap locals: java.lang.Object
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: aload 0
aload 2
iload 3
ldc "parameter is null"
invokestatic com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins.checkParameterUsage:(ZLorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;ILjava/lang/String;)V
5: aload 6
areturn
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 6 0 b Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
0 6 1 snippetReflection Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
0 6 2 targetMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 6 3 parameterIndex I
0 6 4 declaredType Ljava/lang/Class<TT;>;
0 6 5 classNode Lorg/graalvm/compiler/nodes/ValueNode;
2 6 6 result TT;
Signature: <T:Ljava/lang/Object;>(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Ljdk/vm/ci/meta/ResolvedJavaMethod;ILjava/lang/Class<TT;>;Lorg/graalvm/compiler/nodes/ValueNode;)TT;
MethodParameters:
Name Flags
b
snippetReflection
targetMethod
parameterIndex
declaredType
classNode
private static void checkParameterUsage(boolean, org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, jdk.vm.ci.meta.ResolvedJavaMethod, int, java.lang.String);
descriptor: (ZLorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;ILjava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 0
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aconst_null
astore 5
start local 5 3: aload 2
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getLocalVariableTable:()Ljdk/vm/ci/meta/LocalVariableTable;
astore 6
start local 6 4: aload 6
ifnull 8
5: aload 6
iload 3
iconst_0
invokevirtual jdk.vm.ci.meta.LocalVariableTable.getLocal:(II)Ljdk/vm/ci/meta/Local;
astore 7
start local 7 6: aload 7
ifnull 8
7: aload 7
invokevirtual jdk.vm.ci.meta.Local.getName:()Ljava/lang/String;
astore 5
end local 7 8: StackMap locals: java.lang.String jdk.vm.ci.meta.LocalVariableTable
StackMap stack:
aload 5
ifnonnull 10
9: iload 3
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
astore 5
10: StackMap locals:
StackMap stack:
ldc "%s: parameter %s of call to %s in %s"
iconst_4
anewarray java.lang.Object
dup
iconst_0
aload 4
aastore
dup
iconst_1
aload 5
aastore
dup
iconst_2
aload 2
aastore
dup
iconst_3
aload 1
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
aload 1
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.bci:()I
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.asStackTraceElement:(I)Ljava/lang/StackTraceElement;
aastore
invokestatic com.oracle.svm.core.util.UserError.abort:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
athrow
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 11 0 condition Z
0 11 1 b Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
0 11 2 targetMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 11 3 parameterIndex I
0 11 4 message Ljava/lang/String;
3 11 5 parameterName Ljava/lang/String;
4 11 6 variableTable Ljdk/vm/ci/meta/LocalVariableTable;
6 8 7 variable Ljdk/vm/ci/meta/Local;
MethodParameters:
Name Flags
condition
b
targetMethod
parameterIndex
message
}
SourceFile: "SubstrateGraphBuilderPlugins.java"
NestMembers:
com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$1 com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$10 com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$11 com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$12 com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$13 com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$14 com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$15 com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$16 com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$17 com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$18 com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$19 com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$2 com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$20 com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$21 com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$22 com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$23 com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$24 com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$25 com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$26 com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$27 com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$28 com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$29 com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$3 com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$30 com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$31 com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$32 com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$33 com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$34 com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$35 com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$36 com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$37 com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$38 com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$39 com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$4 com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$40 com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$41 com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$42 com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$43 com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$44 com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$45 com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$46 com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$47 com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$48 com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$49 com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$5 com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$6 com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$7 com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$8 com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$9
InnerClasses:
public UserException = com.oracle.svm.core.util.UserError$UserException of com.oracle.svm.core.util.UserError
com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$1
com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$10
com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$11
com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$12
com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$13
com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$14
com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$15
com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$16
com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$17
com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$18
com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$19
com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$2
com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$20
com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$21
com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$22
com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$23
com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$24
com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$25
com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$26
com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$27
com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$28
com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$29
com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$3
com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$30
com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$31
com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$32
com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$33
com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$34
com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$35
com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$36
com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$37
com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$38
com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$39
com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$4
com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$40
com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$41
com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$42
com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$43
com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$44
com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$45
com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$46
com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$47
com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$48
com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$49
com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$5
com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$6
com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$7
com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$8
com.oracle.svm.hosted.snippets.SubstrateGraphBuilderPlugins$9
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
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
public MacroParams = org.graalvm.compiler.replacements.nodes.MacroNode$MacroParams of org.graalvm.compiler.replacements.nodes.MacroNode