public class com.oracle.svm.hosted.code.NativeMethodSubstitutionProcessor extends com.oracle.graal.pointsto.infrastructure.SubstitutionProcessor
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.svm.hosted.code.NativeMethodSubstitutionProcessor
super_class: com.oracle.graal.pointsto.infrastructure.SubstitutionProcessor
{
private static final java.lang.Class<?>[] FILTER_ANNOTATIONS;
descriptor: [Ljava/lang/Class;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: [Ljava/lang/Class<*>;
private final com.oracle.graal.pointsto.infrastructure.SubstitutionProcessor processor;
descriptor: Lcom/oracle/graal/pointsto/infrastructure/SubstitutionProcessor;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.graalvm.compiler.nodes.spi.Replacements replacements;
descriptor: Lorg/graalvm/compiler/nodes/spi/Replacements;
flags: (0x0012) ACC_PRIVATE, 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=4, locals=0, args_size=0
0: ldc Lcom/oracle/svm/hosted/code/NativeMethodSubstitutionProcessor;
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.code.NativeMethodSubstitutionProcessor.$assertionsDisabled:Z
3: iconst_3
anewarray java.lang.Class
dup
iconst_0
ldc Lorg/graalvm/compiler/graph/Node$NodeIntrinsic;
aastore
dup
iconst_1
ldc Lorg/graalvm/compiler/word/Word$Operation;
aastore
dup
iconst_2
ldc Lorg/graalvm/nativeimage/c/constant/CConstant;
aastore
putstatic com.oracle.svm.hosted.code.NativeMethodSubstitutionProcessor.FILTER_ANNOTATIONS:[Ljava/lang/Class;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(com.oracle.graal.pointsto.infrastructure.SubstitutionProcessor, org.graalvm.compiler.nodes.spi.Replacements);
descriptor: (Lcom/oracle/graal/pointsto/infrastructure/SubstitutionProcessor;Lorg/graalvm/compiler/nodes/spi/Replacements;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial com.oracle.graal.pointsto.infrastructure.SubstitutionProcessor.<init>:()V
1: aload 0
aload 1
putfield com.oracle.svm.hosted.code.NativeMethodSubstitutionProcessor.processor:Lcom/oracle/graal/pointsto/infrastructure/SubstitutionProcessor;
2: aload 0
aload 2
putfield com.oracle.svm.hosted.code.NativeMethodSubstitutionProcessor.replacements:Lorg/graalvm/compiler/nodes/spi/Replacements;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/svm/hosted/code/NativeMethodSubstitutionProcessor;
0 4 1 processor Lcom/oracle/graal/pointsto/infrastructure/SubstitutionProcessor;
0 4 2 replacements Lorg/graalvm/compiler/nodes/spi/Replacements;
MethodParameters:
Name Flags
processor
replacements
public jdk.vm.ci.meta.ResolvedJavaMethod lookup(jdk.vm.ci.meta.ResolvedJavaMethod);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=10, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.isNative:()Z
ifne 2
1: aload 1
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getCodeSize:()I
ifne 3
aload 1
instanceof com.oracle.graal.pointsto.infrastructure.GraphProvider
ifeq 5
3: StackMap locals:
StackMap stack:
getstatic com.oracle.svm.hosted.code.NativeMethodSubstitutionProcessor.$assertionsDisabled:Z
ifne 4
aload 1
instanceof com.oracle.graal.pointsto.infrastructure.WrappedJavaMethod
ifeq 4
new java.lang.AssertionError
dup
ldc "Must not see AnalysisMethod or HostedMethod here"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
4: StackMap locals:
StackMap stack:
aload 1
areturn
5: StackMap locals:
StackMap stack:
aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getAnnotations:()[Ljava/lang/annotation/Annotation;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 15
StackMap locals: com.oracle.svm.hosted.code.NativeMethodSubstitutionProcessor jdk.vm.ci.meta.ResolvedJavaMethod top int int java.lang.annotation.Annotation[]
StackMap stack:
6: aload 5
iload 3
aaload
astore 2
start local 2 7: getstatic com.oracle.svm.hosted.code.NativeMethodSubstitutionProcessor.FILTER_ANNOTATIONS:[Ljava/lang/Class;
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 12
StackMap locals: com.oracle.svm.hosted.code.NativeMethodSubstitutionProcessor jdk.vm.ci.meta.ResolvedJavaMethod java.lang.annotation.Annotation int int java.lang.annotation.Annotation[] top int int java.lang.Class[]
StackMap stack:
8: aload 9
iload 7
aaload
astore 6
start local 6 9: aload 2
invokeinterface java.lang.annotation.Annotation.annotationType:()Ljava/lang/Class;
aload 6
if_acmpne 11
10: aload 1
areturn
end local 6 11: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
12: iload 7
iload 8
if_icmplt 8
13: getstatic com.oracle.svm.hosted.code.NativeMethodSubstitutionProcessor.$assertionsDisabled:Z
ifne 14
aload 2
invokeinterface java.lang.annotation.Annotation.annotationType:()Ljava/lang/Class;
ldc Lorg/graalvm/nativeimage/c/function/CFunction;
if_acmpne 14
new java.lang.AssertionError
dup
ldc "CFunction must have been handled by another SubstitutionProcessor"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 2 14: StackMap locals: com.oracle.svm.hosted.code.NativeMethodSubstitutionProcessor jdk.vm.ci.meta.ResolvedJavaMethod top int int java.lang.annotation.Annotation[]
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
15: iload 3
iload 4
if_icmplt 6
16: aload 0
getfield com.oracle.svm.hosted.code.NativeMethodSubstitutionProcessor.replacements:Lorg/graalvm/compiler/nodes/spi/Replacements;
invokeinterface org.graalvm.compiler.nodes.spi.Replacements.getGraphBuilderPlugins:()Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins.getInvocationPlugins:()Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
aload 1
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins.lookupInvocation:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;
ifnull 17
iconst_1
goto 18
StackMap locals: com.oracle.svm.hosted.code.NativeMethodSubstitutionProcessor jdk.vm.ci.meta.ResolvedJavaMethod
StackMap stack:
17: iconst_0
StackMap locals:
StackMap stack: int
18: istore 2
start local 2 19: iload 2
ifeq 21
20: aload 1
areturn
21: StackMap locals: int
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.code.NativeMethodSubstitutionProcessor.processor:Lcom/oracle/graal/pointsto/infrastructure/SubstitutionProcessor;
aload 1
invokevirtual com.oracle.graal.pointsto.infrastructure.SubstitutionProcessor.lookup:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lcom/oracle/svm/hosted/code/NativeMethodSubstitutionProcessor;
0 22 1 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
7 14 2 annotation Ljava/lang/annotation/Annotation;
9 11 6 c Ljava/lang/Class<*>;
19 22 2 isHandledByPlugin Z
MethodParameters:
Name Flags
method
public jdk.vm.ci.meta.ResolvedJavaMethod resolve(jdk.vm.ci.meta.ResolvedJavaMethod);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.svm.hosted.code.NativeMethodSubstitutionProcessor.processor:Lcom/oracle/graal/pointsto/infrastructure/SubstitutionProcessor;
aload 1
invokevirtual com.oracle.graal.pointsto.infrastructure.SubstitutionProcessor.resolve:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/code/NativeMethodSubstitutionProcessor;
0 1 1 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
MethodParameters:
Name Flags
method
}
SourceFile: "NativeMethodSubstitutionProcessor.java"
InnerClasses:
public abstract NodeIntrinsic = org.graalvm.compiler.graph.Node$NodeIntrinsic of org.graalvm.compiler.graph.Node
public Plugins = org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins of org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration
public abstract Operation = org.graalvm.compiler.word.Word$Operation of org.graalvm.compiler.word.Word