final class com.oracle.svm.truffle.tck.PermissionsFeature$SafePrivilegedRecognizer implements com.oracle.svm.truffle.tck.PermissionsFeature$CallGraphFilter
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.oracle.svm.truffle.tck.PermissionsFeature$SafePrivilegedRecognizer
super_class: java.lang.Object
{
private final com.oracle.svm.hosted.SVMHost hostVM;
descriptor: Lcom/oracle/svm/hosted/SVMHost;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Set<com.oracle.graal.pointsto.meta.AnalysisMethod> dopriviledged;
descriptor: Ljava/util/Set;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Set<Lcom/oracle/graal/pointsto/meta/AnalysisMethod;>;
final com.oracle.svm.truffle.tck.PermissionsFeature this$0;
descriptor: Lcom/oracle/svm/truffle/tck/PermissionsFeature;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(com.oracle.svm.truffle.tck.PermissionsFeature, com.oracle.graal.pointsto.BigBang);
descriptor: (Lcom/oracle/svm/truffle/tck/PermissionsFeature;Lcom/oracle/graal/pointsto/BigBang;)V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=3
start local 0 start local 2 0: aload 0
aload 1
putfield com.oracle.svm.truffle.tck.PermissionsFeature$SafePrivilegedRecognizer.this$0:Lcom/oracle/svm/truffle/tck/PermissionsFeature;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 2
invokevirtual com.oracle.graal.pointsto.BigBang.getHostVM:()Lcom/oracle/graal/pointsto/api/HostVM;
checkcast com.oracle.svm.hosted.SVMHost
putfield com.oracle.svm.truffle.tck.PermissionsFeature$SafePrivilegedRecognizer.hostVM:Lcom/oracle/svm/hosted/SVMHost;
2: aload 0
aload 2
ldc Ljava/security/AccessController;
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
com/oracle/svm/truffle/tck/PermissionsFeature$SafePrivilegedRecognizer.lambda$0(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z (6)
(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
invokestatic com.oracle.svm.truffle.tck.PermissionsFeature.findMethods:(Lcom/oracle/graal/pointsto/BigBang;Ljava/lang/Class;Ljava/util/function/Predicate;)Ljava/util/Set;
putfield com.oracle.svm.truffle.tck.PermissionsFeature$SafePrivilegedRecognizer.dopriviledged:Ljava/util/Set;
3: return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/svm/truffle/tck/PermissionsFeature$SafePrivilegedRecognizer;
0 4 2 bigbang Lcom/oracle/graal/pointsto/BigBang;
MethodParameters:
Name Flags
this$0 final
bigbang
public boolean test(com.oracle.graal.pointsto.meta.AnalysisMethod, com.oracle.graal.pointsto.meta.AnalysisMethod, java.util.LinkedHashSet<com.oracle.graal.pointsto.meta.AnalysisMethod>);
descriptor: (Lcom/oracle/graal/pointsto/meta/AnalysisMethod;Lcom/oracle/graal/pointsto/meta/AnalysisMethod;Ljava/util/LinkedHashSet;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=12, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.oracle.svm.truffle.tck.PermissionsFeature$SafePrivilegedRecognizer.dopriviledged:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 2
invokestatic com.oracle.svm.truffle.tck.PermissionsFeature.isCompilerClass:(Lcom/oracle/graal/pointsto/meta/AnalysisMethod;)Z
ifne 3
aload 2
invokestatic com.oracle.svm.truffle.tck.PermissionsFeature.isSystemClass:(Lcom/oracle/graal/pointsto/meta/AnalysisMethod;)Z
ifne 3
iconst_0
goto 4
StackMap locals:
StackMap stack:
3: iconst_1
StackMap locals:
StackMap stack: int
4: istore 4
start local 4 5: iload 4
ifeq 7
6: iconst_1
ireturn
7: StackMap locals: int
StackMap stack:
aload 0
getfield com.oracle.svm.truffle.tck.PermissionsFeature$SafePrivilegedRecognizer.hostVM:Lcom/oracle/svm/hosted/SVMHost;
aload 2
invokevirtual com.oracle.svm.hosted.SVMHost.getAnalysisGraph:(Lcom/oracle/graal/pointsto/meta/AnalysisMethod;)Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 5
start local 5 8: aload 5
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getInvokes:()Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 7
goto 23
StackMap locals: com.oracle.svm.truffle.tck.PermissionsFeature$SafePrivilegedRecognizer com.oracle.graal.pointsto.meta.AnalysisMethod com.oracle.graal.pointsto.meta.AnalysisMethod java.util.LinkedHashSet int org.graalvm.compiler.nodes.StructuredGraph top java.util.Iterator
StackMap stack:
9: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.Invoke
astore 6
start local 6 10: aload 1
aload 6
invokeinterface org.graalvm.compiler.nodes.Invoke.callTarget:()Lorg/graalvm/compiler/nodes/CallTargetNode;
invokevirtual org.graalvm.compiler.nodes.CallTargetNode.targetMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.equals:(Ljava/lang/Object;)Z
ifeq 23
11: aload 6
invokeinterface org.graalvm.compiler.nodes.Invoke.callTarget:()Lorg/graalvm/compiler/nodes/CallTargetNode;
invokevirtual org.graalvm.compiler.nodes.CallTargetNode.arguments:()Lorg/graalvm/compiler/graph/NodeInputList;
astore 8
start local 8 12: aload 8
invokevirtual org.graalvm.compiler.graph.NodeInputList.isEmpty:()Z
ifeq 14
13: iconst_0
ireturn
14: StackMap locals: com.oracle.svm.truffle.tck.PermissionsFeature$SafePrivilegedRecognizer com.oracle.graal.pointsto.meta.AnalysisMethod com.oracle.graal.pointsto.meta.AnalysisMethod java.util.LinkedHashSet int org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.Invoke java.util.Iterator org.graalvm.compiler.graph.NodeInputList
StackMap stack:
aload 8
iconst_0
invokevirtual org.graalvm.compiler.graph.NodeInputList.get:(I)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 9
start local 9 15: aload 9
instanceof org.graalvm.compiler.nodes.java.NewInstanceNode
ifne 17
16: iconst_0
ireturn
17: StackMap locals: org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 9
checkcast org.graalvm.compiler.nodes.java.NewInstanceNode
invokevirtual org.graalvm.compiler.nodes.java.NewInstanceNode.instanceClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
astore 10
start local 10 18: aload 0
aload 1
aload 3
invokevirtual com.oracle.svm.truffle.tck.PermissionsFeature$SafePrivilegedRecognizer.findPrivilegedEntryPoint:(Lcom/oracle/graal/pointsto/meta/AnalysisMethod;Ljava/util/LinkedHashSet;)Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
astore 11
start local 11 19: aload 10
ifnull 20
aload 11
ifnonnull 21
20: StackMap locals: jdk.vm.ci.meta.ResolvedJavaType com.oracle.graal.pointsto.meta.AnalysisMethod
StackMap stack:
iconst_0
ireturn
21: StackMap locals:
StackMap stack:
aload 10
aload 11
invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.getDeclaringClass:()Lcom/oracle/graal/pointsto/meta/AnalysisType;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 23
22: iconst_0
ireturn
end local 11 end local 10 end local 9 end local 8 end local 6 23: StackMap locals: com.oracle.svm.truffle.tck.PermissionsFeature$SafePrivilegedRecognizer com.oracle.graal.pointsto.meta.AnalysisMethod com.oracle.graal.pointsto.meta.AnalysisMethod java.util.LinkedHashSet int org.graalvm.compiler.nodes.StructuredGraph top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
24: iconst_1
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 25 0 this Lcom/oracle/svm/truffle/tck/PermissionsFeature$SafePrivilegedRecognizer;
0 25 1 method Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
0 25 2 caller Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
0 25 3 trace Ljava/util/LinkedHashSet<Lcom/oracle/graal/pointsto/meta/AnalysisMethod;>;
5 25 4 safeClass Z
8 25 5 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
10 23 6 invoke Lorg/graalvm/compiler/nodes/Invoke;
12 23 8 args Lorg/graalvm/compiler/graph/NodeInputList<Lorg/graalvm/compiler/nodes/ValueNode;>;
15 23 9 arg0 Lorg/graalvm/compiler/nodes/ValueNode;
18 23 10 newType Ljdk/vm/ci/meta/ResolvedJavaType;
19 23 11 methodCalledByAccessController Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
Signature: (Lcom/oracle/graal/pointsto/meta/AnalysisMethod;Lcom/oracle/graal/pointsto/meta/AnalysisMethod;Ljava/util/LinkedHashSet<Lcom/oracle/graal/pointsto/meta/AnalysisMethod;>;)Z
MethodParameters:
Name Flags
method
caller
trace
private com.oracle.graal.pointsto.meta.AnalysisMethod findPrivilegedEntryPoint(com.oracle.graal.pointsto.meta.AnalysisMethod, java.util.LinkedHashSet<com.oracle.graal.pointsto.meta.AnalysisMethod>);
descriptor: (Lcom/oracle/graal/pointsto/meta/AnalysisMethod;Ljava/util/LinkedHashSet;)Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aload 2
invokevirtual java.util.LinkedHashSet.iterator:()Ljava/util/Iterator;
astore 5
goto 6
StackMap locals: com.oracle.svm.truffle.tck.PermissionsFeature$SafePrivilegedRecognizer com.oracle.graal.pointsto.meta.AnalysisMethod java.util.LinkedHashSet com.oracle.graal.pointsto.meta.AnalysisMethod top java.util.Iterator
StackMap stack:
2: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.graal.pointsto.meta.AnalysisMethod
astore 4
start local 4 3: aload 1
aload 4
invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.equals:(Ljava/lang/Object;)Z
ifeq 5
4: aload 3
areturn
5: StackMap locals: com.oracle.svm.truffle.tck.PermissionsFeature$SafePrivilegedRecognizer com.oracle.graal.pointsto.meta.AnalysisMethod java.util.LinkedHashSet com.oracle.graal.pointsto.meta.AnalysisMethod com.oracle.graal.pointsto.meta.AnalysisMethod java.util.Iterator
StackMap stack:
aload 4
astore 3
end local 4 6: StackMap locals: com.oracle.svm.truffle.tck.PermissionsFeature$SafePrivilegedRecognizer com.oracle.graal.pointsto.meta.AnalysisMethod java.util.LinkedHashSet com.oracle.graal.pointsto.meta.AnalysisMethod top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
7: aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/svm/truffle/tck/PermissionsFeature$SafePrivilegedRecognizer;
0 8 1 dopriviledgedMethod Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
0 8 2 trace Ljava/util/LinkedHashSet<Lcom/oracle/graal/pointsto/meta/AnalysisMethod;>;
1 8 3 ep Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
3 6 4 m Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
Signature: (Lcom/oracle/graal/pointsto/meta/AnalysisMethod;Ljava/util/LinkedHashSet<Lcom/oracle/graal/pointsto/meta/AnalysisMethod;>;)Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
MethodParameters:
Name Flags
dopriviledgedMethod
trace
private static boolean lambda$0(jdk.vm.ci.meta.ResolvedJavaMethod);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getName:()Ljava/lang/String;
ldc "doPrivileged"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 1
aload 0
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getName:()Ljava/lang/String;
ldc "doPrivilegedWithCombiner"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 m Ljdk/vm/ci/meta/ResolvedJavaMethod;
}
SourceFile: "PermissionsFeature.java"
NestHost: com.oracle.svm.truffle.tck.PermissionsFeature
InnerClasses:
private abstract CallGraphFilter = com.oracle.svm.truffle.tck.PermissionsFeature$CallGraphFilter of com.oracle.svm.truffle.tck.PermissionsFeature
private final SafePrivilegedRecognizer = com.oracle.svm.truffle.tck.PermissionsFeature$SafePrivilegedRecognizer of com.oracle.svm.truffle.tck.PermissionsFeature
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles