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 // com.oracle.svm.truffle.tck.PermissionsFeature$SafePrivilegedRecognizer this
        start local 2 // com.oracle.graal.pointsto.BigBang bigbang
         0: .line 621
            aload 0 /* this */
            aload 1
            putfield com.oracle.svm.truffle.tck.PermissionsFeature$SafePrivilegedRecognizer.this$0:Lcom/oracle/svm/truffle/tck/PermissionsFeature;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 622
            aload 0 /* this */
            aload 2 /* bigbang */
            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: .line 623
            aload 0 /* this */
            aload 2 /* bigbang */
            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: .line 624
            return
        end local 2 // com.oracle.graal.pointsto.BigBang bigbang
        end local 0 // com.oracle.svm.truffle.tck.PermissionsFeature$SafePrivilegedRecognizer this
      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 // com.oracle.svm.truffle.tck.PermissionsFeature$SafePrivilegedRecognizer this
        start local 1 // com.oracle.graal.pointsto.meta.AnalysisMethod method
        start local 2 // com.oracle.graal.pointsto.meta.AnalysisMethod caller
        start local 3 // java.util.LinkedHashSet trace
         0: .line 628
            aload 0 /* this */
            getfield com.oracle.svm.truffle.tck.PermissionsFeature$SafePrivilegedRecognizer.dopriviledged:Ljava/util/Set;
            aload 1 /* method */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 629
            iconst_0
            ireturn
         2: .line 631
      StackMap locals:
      StackMap stack:
            aload 2 /* caller */
            invokestatic com.oracle.svm.truffle.tck.PermissionsFeature.isCompilerClass:(Lcom/oracle/graal/pointsto/meta/AnalysisMethod;)Z
            ifne 3
            aload 2 /* caller */
            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 /* safeClass */
        start local 4 // boolean safeClass
         5: .line 632
            iload 4 /* safeClass */
            ifeq 7
         6: .line 633
            iconst_1
            ireturn
         7: .line 635
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.truffle.tck.PermissionsFeature$SafePrivilegedRecognizer.hostVM:Lcom/oracle/svm/hosted/SVMHost;
            aload 2 /* caller */
            invokevirtual com.oracle.svm.hosted.SVMHost.getAnalysisGraph:(Lcom/oracle/graal/pointsto/meta/AnalysisMethod;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 5 /* graph */
        start local 5 // org.graalvm.compiler.nodes.StructuredGraph graph
         8: .line 636
            aload 5 /* graph */
            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 /* invoke */
        start local 6 // org.graalvm.compiler.nodes.Invoke invoke
        10: .line 637
            aload 1 /* method */
            aload 6 /* invoke */
            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: .line 638
            aload 6 /* invoke */
            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 /* args */
        start local 8 // org.graalvm.compiler.graph.NodeInputList args
        12: .line 639
            aload 8 /* args */
            invokevirtual org.graalvm.compiler.graph.NodeInputList.isEmpty:()Z
            ifeq 14
        13: .line 640
            iconst_0
            ireturn
        14: .line 642
      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 /* args */
            iconst_0
            invokevirtual org.graalvm.compiler.graph.NodeInputList.get:(I)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
            astore 9 /* arg0 */
        start local 9 // org.graalvm.compiler.nodes.ValueNode arg0
        15: .line 643
            aload 9 /* arg0 */
            instanceof org.graalvm.compiler.nodes.java.NewInstanceNode
            ifne 17
        16: .line 644
            iconst_0
            ireturn
        17: .line 646
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 9 /* arg0 */
            checkcast org.graalvm.compiler.nodes.java.NewInstanceNode
            invokevirtual org.graalvm.compiler.nodes.java.NewInstanceNode.instanceClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
            astore 10 /* newType */
        start local 10 // jdk.vm.ci.meta.ResolvedJavaType newType
        18: .line 647
            aload 0 /* this */
            aload 1 /* method */
            aload 3 /* trace */
            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 /* methodCalledByAccessController */
        start local 11 // com.oracle.graal.pointsto.meta.AnalysisMethod methodCalledByAccessController
        19: .line 648
            aload 10 /* newType */
            ifnull 20
            aload 11 /* methodCalledByAccessController */
            ifnonnull 21
        20: .line 649
      StackMap locals: jdk.vm.ci.meta.ResolvedJavaType com.oracle.graal.pointsto.meta.AnalysisMethod
      StackMap stack:
            iconst_0
            ireturn
        21: .line 651
      StackMap locals:
      StackMap stack:
            aload 10 /* newType */
            aload 11 /* methodCalledByAccessController */
            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: .line 652
            iconst_0
            ireturn
        end local 11 // com.oracle.graal.pointsto.meta.AnalysisMethod methodCalledByAccessController
        end local 10 // jdk.vm.ci.meta.ResolvedJavaType newType
        end local 9 // org.graalvm.compiler.nodes.ValueNode arg0
        end local 8 // org.graalvm.compiler.graph.NodeInputList args
        end local 6 // org.graalvm.compiler.nodes.Invoke invoke
        23: .line 636
      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: .line 656
            iconst_1
            ireturn
        end local 5 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 4 // boolean safeClass
        end local 3 // java.util.LinkedHashSet trace
        end local 2 // com.oracle.graal.pointsto.meta.AnalysisMethod caller
        end local 1 // com.oracle.graal.pointsto.meta.AnalysisMethod method
        end local 0 // com.oracle.svm.truffle.tck.PermissionsFeature$SafePrivilegedRecognizer this
      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 // com.oracle.svm.truffle.tck.PermissionsFeature$SafePrivilegedRecognizer this
        start local 1 // com.oracle.graal.pointsto.meta.AnalysisMethod dopriviledgedMethod
        start local 2 // java.util.LinkedHashSet trace
         0: .line 663
            aconst_null
            astore 3 /* ep */
        start local 3 // com.oracle.graal.pointsto.meta.AnalysisMethod ep
         1: .line 664
            aload 2 /* trace */
            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 /* m */
        start local 4 // com.oracle.graal.pointsto.meta.AnalysisMethod m
         3: .line 665
            aload 1 /* dopriviledgedMethod */
            aload 4 /* m */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 666
            aload 3 /* ep */
            areturn
         5: .line 668
      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 /* m */
            astore 3 /* ep */
        end local 4 // com.oracle.graal.pointsto.meta.AnalysisMethod m
         6: .line 664
      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: .line 670
            aconst_null
            areturn
        end local 3 // com.oracle.graal.pointsto.meta.AnalysisMethod ep
        end local 2 // java.util.LinkedHashSet trace
        end local 1 // com.oracle.graal.pointsto.meta.AnalysisMethod dopriviledgedMethod
        end local 0 // com.oracle.svm.truffle.tck.PermissionsFeature$SafePrivilegedRecognizer this
      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 // jdk.vm.ci.meta.ResolvedJavaMethod m
         0: .line 623
            aload 0 /* m */
            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 /* m */
            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 // jdk.vm.ci.meta.ResolvedJavaMethod m
      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