final class com.oracle.truffle.api.dsl.SpecializationStatistics$UncachedNodeStatistics extends com.oracle.truffle.api.dsl.SpecializationStatistics$NodeStatistics
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.oracle.truffle.api.dsl.SpecializationStatistics$UncachedNodeStatistics
  super_class: com.oracle.truffle.api.dsl.SpecializationStatistics$NodeStatistics
{
  final com.oracle.truffle.api.nodes.Node node;
    descriptor: Lcom/oracle/truffle/api/nodes/Node;
    flags: (0x0010) ACC_FINAL

  final java.lang.String[] specializationNames;
    descriptor: [Ljava/lang/String;
    flags: (0x0010) ACC_FINAL

  void <init>(com.oracle.truffle.api.nodes.Node, java.lang.String[]);
    descriptor: (Lcom/oracle/truffle/api/nodes/Node;[Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.api.dsl.SpecializationStatistics$UncachedNodeStatistics this
        start local 1 // com.oracle.truffle.api.nodes.Node node
        start local 2 // java.lang.String[] specializations
         0: .line 655
            aload 0 /* this */
            invokespecial com.oracle.truffle.api.dsl.SpecializationStatistics$NodeStatistics.<init>:()V
         1: .line 656
            aload 0 /* this */
            aload 1 /* node */
            putfield com.oracle.truffle.api.dsl.SpecializationStatistics$UncachedNodeStatistics.node:Lcom/oracle/truffle/api/nodes/Node;
         2: .line 657
            aload 0 /* this */
            aload 2 /* specializations */
            putfield com.oracle.truffle.api.dsl.SpecializationStatistics$UncachedNodeStatistics.specializationNames:[Ljava/lang/String;
         3: .line 658
            return
        end local 2 // java.lang.String[] specializations
        end local 1 // com.oracle.truffle.api.nodes.Node node
        end local 0 // com.oracle.truffle.api.dsl.SpecializationStatistics$UncachedNodeStatistics this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Lcom/oracle/truffle/api/dsl/SpecializationStatistics$UncachedNodeStatistics;
            0    4     1             node  Lcom/oracle/truffle/api/nodes/Node;
            0    4     2  specializations  [Ljava/lang/String;
    MethodParameters:
                 Name  Flags
      node             
      specializations  

  public void acceptExecute(int, java.lang.Class<?>);
    descriptor: (ILjava/lang/Class;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.truffle.api.dsl.SpecializationStatistics$UncachedNodeStatistics this
        start local 1 // int specializationIndex
        start local 2 // java.lang.Class arg0
         0: .line 663
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$UncachedNodeStatistics.lookup:()Lcom/oracle/truffle/api/dsl/SpecializationStatistics$NodeStatistics;
            iload 1 /* specializationIndex */
            aload 2 /* arg0 */
            invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$NodeStatistics.acceptExecute:(ILjava/lang/Class;)V
         1: .line 664
            return
        end local 2 // java.lang.Class arg0
        end local 1 // int specializationIndex
        end local 0 // com.oracle.truffle.api.dsl.SpecializationStatistics$UncachedNodeStatistics this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    2     0                 this  Lcom/oracle/truffle/api/dsl/SpecializationStatistics$UncachedNodeStatistics;
            0    2     1  specializationIndex  I
            0    2     2                 arg0  Ljava/lang/Class<*>;
    Signature: (ILjava/lang/Class<*>;)V
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
                     Name  Flags
      specializationIndex  
      arg0                 

  public void acceptExecute(int, java.lang.Class<?>, java.lang.Class<?>);
    descriptor: (ILjava/lang/Class;Ljava/lang/Class;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.oracle.truffle.api.dsl.SpecializationStatistics$UncachedNodeStatistics this
        start local 1 // int specializationIndex
        start local 2 // java.lang.Class arg0
        start local 3 // java.lang.Class arg1
         0: .line 669
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$UncachedNodeStatistics.lookup:()Lcom/oracle/truffle/api/dsl/SpecializationStatistics$NodeStatistics;
            iload 1 /* specializationIndex */
            aload 2 /* arg0 */
            aload 3 /* arg1 */
            invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$NodeStatistics.acceptExecute:(ILjava/lang/Class;Ljava/lang/Class;)V
         1: .line 670
            return
        end local 3 // java.lang.Class arg1
        end local 2 // java.lang.Class arg0
        end local 1 // int specializationIndex
        end local 0 // com.oracle.truffle.api.dsl.SpecializationStatistics$UncachedNodeStatistics this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    2     0                 this  Lcom/oracle/truffle/api/dsl/SpecializationStatistics$UncachedNodeStatistics;
            0    2     1  specializationIndex  I
            0    2     2                 arg0  Ljava/lang/Class<*>;
            0    2     3                 arg1  Ljava/lang/Class<*>;
    Signature: (ILjava/lang/Class<*>;Ljava/lang/Class<*>;)V
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
                     Name  Flags
      specializationIndex  
      arg0                 
      arg1                 

  public void acceptExecute(int, java.lang.Class<?>[]);
    descriptor: (I[Ljava/lang/Class;)V
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.truffle.api.dsl.SpecializationStatistics$UncachedNodeStatistics this
        start local 1 // int specializationIndex
        start local 2 // java.lang.Class[] args
         0: .line 675
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$UncachedNodeStatistics.lookup:()Lcom/oracle/truffle/api/dsl/SpecializationStatistics$NodeStatistics;
            iload 1 /* specializationIndex */
            aload 2 /* args */
            invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$NodeStatistics.acceptExecute:(I[Ljava/lang/Class;)V
         1: .line 676
            return
        end local 2 // java.lang.Class[] args
        end local 1 // int specializationIndex
        end local 0 // com.oracle.truffle.api.dsl.SpecializationStatistics$UncachedNodeStatistics this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    2     0                 this  Lcom/oracle/truffle/api/dsl/SpecializationStatistics$UncachedNodeStatistics;
            0    2     1  specializationIndex  I
            0    2     2                 args  [Ljava/lang/Class;
    Signature: (I[Ljava/lang/Class<*>;)V
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
                     Name  Flags
      specializationIndex  
      args                 

  public java.lang.Class<?> resolveValueClass();
    descriptor: (Ljava/lang/Object;)Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.api.dsl.SpecializationStatistics$UncachedNodeStatistics this
        start local 1 // java.lang.Object value
         0: .line 680
            aload 1 /* value */
            ifnonnull 2
         1: .line 681
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            areturn
         2: .line 683
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            areturn
        end local 1 // java.lang.Object value
        end local 0 // com.oracle.truffle.api.dsl.SpecializationStatistics$UncachedNodeStatistics this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lcom/oracle/truffle/api/dsl/SpecializationStatistics$UncachedNodeStatistics;
            0    3     1  value  Ljava/lang/Object;
    Signature: (Ljava/lang/Object;)Ljava/lang/Class<*>;
    MethodParameters:
       Name  Flags
      value  

  private com.oracle.truffle.api.dsl.SpecializationStatistics$NodeStatistics lookup();
    descriptor: ()Lcom/oracle/truffle/api/dsl/SpecializationStatistics$NodeStatistics;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // com.oracle.truffle.api.dsl.SpecializationStatistics$UncachedNodeStatistics this
         0: .line 688
            getstatic com.oracle.truffle.api.dsl.SpecializationStatistics.STATISTICS:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast com.oracle.truffle.api.dsl.SpecializationStatistics
            astore 1 /* statistics */
        start local 1 // com.oracle.truffle.api.dsl.SpecializationStatistics statistics
         1: .line 689
            aload 1 /* statistics */
            ifnull 7
         2: .line 690
            aload 1 /* statistics */
            dup
            astore 2
            monitorenter
         3: .line 691
            aload 1 /* statistics */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics.uncachedStatistics:Ljava/util/Map;
            aload 0 /* this */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics$UncachedNodeStatistics.node:Lcom/oracle/truffle/api/nodes/Node;
            aload 0 /* this */
            aload 1 /* statistics */
            invokedynamic apply(Lcom/oracle/truffle/api/dsl/SpecializationStatistics$UncachedNodeStatistics;Lcom/oracle/truffle/api/dsl/SpecializationStatistics;)Ljava/util/function/Function;
              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;)Ljava/lang/Object;
                  com/oracle/truffle/api/dsl/SpecializationStatistics$UncachedNodeStatistics.lambda$0(Lcom/oracle/truffle/api/dsl/SpecializationStatistics;Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/dsl/SpecializationStatistics$EnabledNodeStatistics; (7)
                  (Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/dsl/SpecializationStatistics$EnabledNodeStatistics;
            invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.dsl.SpecializationStatistics$NodeStatistics
            aload 2
            monitorexit
         4: areturn
         5: .line 690
      StackMap locals: com.oracle.truffle.api.dsl.SpecializationStatistics$UncachedNodeStatistics com.oracle.truffle.api.dsl.SpecializationStatistics com.oracle.truffle.api.dsl.SpecializationStatistics
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
         6: athrow
         7: .line 694
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.dsl.SpecializationStatistics$DisabledNodeStatistics.INSTANCE:Lcom/oracle/truffle/api/dsl/SpecializationStatistics$DisabledNodeStatistics;
            areturn
        end local 1 // com.oracle.truffle.api.dsl.SpecializationStatistics statistics
        end local 0 // com.oracle.truffle.api.dsl.SpecializationStatistics$UncachedNodeStatistics this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lcom/oracle/truffle/api/dsl/SpecializationStatistics$UncachedNodeStatistics;
            1    8     1  statistics  Lcom/oracle/truffle/api/dsl/SpecializationStatistics;
      Exception table:
        from    to  target  type
           3     4       5  any
           5     6       5  any

  private com.oracle.truffle.api.dsl.SpecializationStatistics$EnabledNodeStatistics createUncachedStatistic(com.oracle.truffle.api.dsl.SpecializationStatistics, com.oracle.truffle.api.nodes.Node);
    descriptor: (Lcom/oracle/truffle/api/dsl/SpecializationStatistics;Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/dsl/SpecializationStatistics$EnabledNodeStatistics;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // com.oracle.truffle.api.dsl.SpecializationStatistics$UncachedNodeStatistics this
        start local 1 // com.oracle.truffle.api.dsl.SpecializationStatistics statistics
        start local 2 // com.oracle.truffle.api.nodes.Node n
         0: .line 699
            aload 1 /* statistics */
            aload 0 /* this */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics$UncachedNodeStatistics.node:Lcom/oracle/truffle/api/nodes/Node;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 0 /* this */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics$UncachedNodeStatistics.specializationNames:[Ljava/lang/String;
            invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics.getClassStatistics:(Ljava/lang/Class;[Ljava/lang/String;)Lcom/oracle/truffle/api/dsl/SpecializationStatistics$NodeClassStatistics;
            astore 3 /* classStat */
        start local 3 // com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassStatistics classStat
         1: .line 700
            new com.oracle.truffle.api.dsl.SpecializationStatistics$EnabledNodeStatistics
            dup
            aload 2 /* n */
            aload 3 /* classStat */
            invokespecial com.oracle.truffle.api.dsl.SpecializationStatistics$EnabledNodeStatistics.<init>:(Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/dsl/SpecializationStatistics$NodeClassStatistics;)V
            astore 4 /* nodeStatistic */
        start local 4 // com.oracle.truffle.api.dsl.SpecializationStatistics$EnabledNodeStatistics nodeStatistic
         2: .line 701
            aload 3 /* classStat */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassStatistics.statistics:Ljava/util/List;
            aload 4 /* nodeStatistic */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         3: .line 702
            aload 4 /* nodeStatistic */
            areturn
        end local 4 // com.oracle.truffle.api.dsl.SpecializationStatistics$EnabledNodeStatistics nodeStatistic
        end local 3 // com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassStatistics classStat
        end local 2 // com.oracle.truffle.api.nodes.Node n
        end local 1 // com.oracle.truffle.api.dsl.SpecializationStatistics statistics
        end local 0 // com.oracle.truffle.api.dsl.SpecializationStatistics$UncachedNodeStatistics this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lcom/oracle/truffle/api/dsl/SpecializationStatistics$UncachedNodeStatistics;
            0    4     1     statistics  Lcom/oracle/truffle/api/dsl/SpecializationStatistics;
            0    4     2              n  Lcom/oracle/truffle/api/nodes/Node;
            1    4     3      classStat  Lcom/oracle/truffle/api/dsl/SpecializationStatistics$NodeClassStatistics;
            2    4     4  nodeStatistic  Lcom/oracle/truffle/api/dsl/SpecializationStatistics$EnabledNodeStatistics;
    MethodParameters:
            Name  Flags
      statistics  
      n           

  private com.oracle.truffle.api.dsl.SpecializationStatistics$EnabledNodeStatistics lambda$0(com.oracle.truffle.api.dsl.SpecializationStatistics, com.oracle.truffle.api.nodes.Node);
    descriptor: (Lcom/oracle/truffle/api/dsl/SpecializationStatistics;Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/dsl/SpecializationStatistics$EnabledNodeStatistics;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.truffle.api.dsl.SpecializationStatistics$UncachedNodeStatistics this
        start local 2 // com.oracle.truffle.api.nodes.Node n
         0: .line 691
            aload 0 /* this */
            aload 1
            aload 2 /* n */
            invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$UncachedNodeStatistics.createUncachedStatistic:(Lcom/oracle/truffle/api/dsl/SpecializationStatistics;Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/dsl/SpecializationStatistics$EnabledNodeStatistics;
            areturn
        end local 2 // com.oracle.truffle.api.nodes.Node n
        end local 0 // com.oracle.truffle.api.dsl.SpecializationStatistics$UncachedNodeStatistics this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/dsl/SpecializationStatistics$UncachedNodeStatistics;
            0    1     2     n  Lcom/oracle/truffle/api/nodes/Node;
}
SourceFile: "SpecializationStatistics.java"
NestHost: com.oracle.truffle.api.dsl.SpecializationStatistics
InnerClasses:
  public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
  final DisabledNodeStatistics = com.oracle.truffle.api.dsl.SpecializationStatistics$DisabledNodeStatistics of com.oracle.truffle.api.dsl.SpecializationStatistics
  final EnabledNodeStatistics = com.oracle.truffle.api.dsl.SpecializationStatistics$EnabledNodeStatistics of com.oracle.truffle.api.dsl.SpecializationStatistics
  final NodeClassStatistics = com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassStatistics of com.oracle.truffle.api.dsl.SpecializationStatistics
  public abstract NodeStatistics = com.oracle.truffle.api.dsl.SpecializationStatistics$NodeStatistics of com.oracle.truffle.api.dsl.SpecializationStatistics
  final UncachedNodeStatistics = com.oracle.truffle.api.dsl.SpecializationStatistics$UncachedNodeStatistics of com.oracle.truffle.api.dsl.SpecializationStatistics
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles