public class org.openjdk.jmh.profile.ClassloaderProfiler implements org.openjdk.jmh.profile.InternalProfiler
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.openjdk.jmh.profile.ClassloaderProfiler
  super_class: java.lang.Object
{
  private long loadedClasses;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private long unloadedClasses;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private long beforeTime;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private long afterTime;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.openjdk.jmh.profile.ClassloaderProfiler this
         0: .line 38
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.openjdk.jmh.profile.ClassloaderProfiler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/openjdk/jmh/profile/ClassloaderProfiler;

  public java.lang.String getDescription();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.openjdk.jmh.profile.ClassloaderProfiler this
         0: .line 47
            ldc "Classloader profiling via standard MBeans"
            areturn
        end local 0 // org.openjdk.jmh.profile.ClassloaderProfiler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/openjdk/jmh/profile/ClassloaderProfiler;

  public void beforeIteration(org.openjdk.jmh.infra.BenchmarkParams, org.openjdk.jmh.infra.IterationParams);
    descriptor: (Lorg/openjdk/jmh/infra/BenchmarkParams;Lorg/openjdk/jmh/infra/IterationParams;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.openjdk.jmh.profile.ClassloaderProfiler this
        start local 1 // org.openjdk.jmh.infra.BenchmarkParams benchmarkParams
        start local 2 // org.openjdk.jmh.infra.IterationParams iterationParams
         0: .line 52
            invokestatic java.lang.management.ManagementFactory.getClassLoadingMXBean:()Ljava/lang/management/ClassLoadingMXBean;
            astore 3 /* cl */
        start local 3 // java.lang.management.ClassLoadingMXBean cl
         1: .line 54
            aload 0 /* this */
            invokestatic java.lang.System.nanoTime:()J
            putfield org.openjdk.jmh.profile.ClassloaderProfiler.beforeTime:J
         2: .line 57
            aload 0 /* this */
            aload 3 /* cl */
            invokeinterface java.lang.management.ClassLoadingMXBean.getTotalLoadedClassCount:()J
            putfield org.openjdk.jmh.profile.ClassloaderProfiler.loadedClasses:J
         3: .line 58
            goto 5
      StackMap locals: org.openjdk.jmh.profile.ClassloaderProfiler org.openjdk.jmh.infra.BenchmarkParams org.openjdk.jmh.infra.IterationParams java.lang.management.ClassLoadingMXBean
      StackMap stack: java.lang.UnsupportedOperationException
         4: pop
         5: .line 62
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* cl */
            invokeinterface java.lang.management.ClassLoadingMXBean.getUnloadedClassCount:()J
            putfield org.openjdk.jmh.profile.ClassloaderProfiler.unloadedClasses:J
         6: .line 63
            goto 8
      StackMap locals:
      StackMap stack: java.lang.UnsupportedOperationException
         7: pop
         8: .line 66
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.management.ClassLoadingMXBean cl
        end local 2 // org.openjdk.jmh.infra.IterationParams iterationParams
        end local 1 // org.openjdk.jmh.infra.BenchmarkParams benchmarkParams
        end local 0 // org.openjdk.jmh.profile.ClassloaderProfiler this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    9     0             this  Lorg/openjdk/jmh/profile/ClassloaderProfiler;
            0    9     1  benchmarkParams  Lorg/openjdk/jmh/infra/BenchmarkParams;
            0    9     2  iterationParams  Lorg/openjdk/jmh/infra/IterationParams;
            1    9     3               cl  Ljava/lang/management/ClassLoadingMXBean;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.UnsupportedOperationException
           5     6       7  Class java.lang.UnsupportedOperationException
    MethodParameters:
                 Name  Flags
      benchmarkParams  
      iterationParams  

  public java.util.Collection<? extends org.openjdk.jmh.results.Result> afterIteration(org.openjdk.jmh.infra.BenchmarkParams, org.openjdk.jmh.infra.IterationParams, org.openjdk.jmh.results.IterationResult);
    descriptor: (Lorg/openjdk/jmh/infra/BenchmarkParams;Lorg/openjdk/jmh/infra/IterationParams;Lorg/openjdk/jmh/results/IterationResult;)Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=14, args_size=4
        start local 0 // org.openjdk.jmh.profile.ClassloaderProfiler this
        start local 1 // org.openjdk.jmh.infra.BenchmarkParams benchmarkParams
        start local 2 // org.openjdk.jmh.infra.IterationParams iterationParams
        start local 3 // org.openjdk.jmh.results.IterationResult result
         0: .line 70
            aload 0 /* this */
            invokestatic java.lang.System.nanoTime:()J
            putfield org.openjdk.jmh.profile.ClassloaderProfiler.afterTime:J
         1: .line 72
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* results */
        start local 4 // java.util.List results
         2: .line 74
            invokestatic java.lang.management.ManagementFactory.getClassLoadingMXBean:()Ljava/lang/management/ClassLoadingMXBean;
            astore 5 /* cl */
        start local 5 // java.lang.management.ClassLoadingMXBean cl
         3: .line 76
            aload 3 /* result */
            invokevirtual org.openjdk.jmh.results.IterationResult.getMetadata:()Lorg/openjdk/jmh/results/IterationResultMetaData;
            invokevirtual org.openjdk.jmh.results.IterationResultMetaData.getAllOps:()J
            lstore 6 /* allOps */
        start local 6 // long allOps
         4: .line 77
            dconst_1
            getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
            lconst_1
            invokevirtual java.util.concurrent.TimeUnit.toNanos:(J)J
            l2d
            dmul
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.ClassloaderProfiler.afterTime:J
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.ClassloaderProfiler.beforeTime:J
            lsub
            l2d
            ddiv
            dstore 8 /* time */
        start local 8 // double time
         5: .line 80
            aload 5 /* cl */
            invokeinterface java.lang.management.ClassLoadingMXBean.getTotalLoadedClassCount:()J
            lstore 10 /* loadedClassCount */
        start local 10 // long loadedClassCount
         6: .line 81
            lload 10 /* loadedClassCount */
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.ClassloaderProfiler.loadedClasses:J
            lsub
            lstore 12 /* loaded */
        start local 12 // long loaded
         7: .line 82
            aload 4 /* results */
            new org.openjdk.jmh.results.ScalarResult
            dup
            ldc "\u00B7class.load"
            lload 12 /* loaded */
            l2d
            dload 8 /* time */
            ddiv
            ldc "classes/sec"
            getstatic org.openjdk.jmh.results.AggregationPolicy.AVG:Lorg/openjdk/jmh/results/AggregationPolicy;
            invokespecial org.openjdk.jmh.results.ScalarResult.<init>:(Ljava/lang/String;DLjava/lang/String;Lorg/openjdk/jmh/results/AggregationPolicy;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         8: .line 83
            aload 4 /* results */
            new org.openjdk.jmh.results.ScalarResult
            dup
            ldc "\u00B7class.load.norm"
            dconst_1
            lload 12 /* loaded */
            l2d
            dmul
            lload 6 /* allOps */
            l2d
            ddiv
            ldc "classes/op"
            getstatic org.openjdk.jmh.results.AggregationPolicy.AVG:Lorg/openjdk/jmh/results/AggregationPolicy;
            invokespecial org.openjdk.jmh.results.ScalarResult.<init>:(Ljava/lang/String;DLjava/lang/String;Lorg/openjdk/jmh/results/AggregationPolicy;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 12 // long loaded
        end local 10 // long loadedClassCount
         9: .line 84
            goto 11
      StackMap locals: org.openjdk.jmh.profile.ClassloaderProfiler org.openjdk.jmh.infra.BenchmarkParams org.openjdk.jmh.infra.IterationParams org.openjdk.jmh.results.IterationResult java.util.List java.lang.management.ClassLoadingMXBean long double
      StackMap stack: java.lang.UnsupportedOperationException
        10: pop
        11: .line 89
      StackMap locals:
      StackMap stack:
            aload 5 /* cl */
            invokeinterface java.lang.management.ClassLoadingMXBean.getUnloadedClassCount:()J
            lstore 10 /* unloadedClassCount */
        start local 10 // long unloadedClassCount
        12: .line 90
            lload 10 /* unloadedClassCount */
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.ClassloaderProfiler.unloadedClasses:J
            lsub
            lstore 12 /* unloaded */
        start local 12 // long unloaded
        13: .line 91
            aload 4 /* results */
            new org.openjdk.jmh.results.ScalarResult
            dup
            ldc "\u00B7class.unload"
            lload 12 /* unloaded */
            l2d
            dload 8 /* time */
            ddiv
            ldc "classes/sec"
            getstatic org.openjdk.jmh.results.AggregationPolicy.AVG:Lorg/openjdk/jmh/results/AggregationPolicy;
            invokespecial org.openjdk.jmh.results.ScalarResult.<init>:(Ljava/lang/String;DLjava/lang/String;Lorg/openjdk/jmh/results/AggregationPolicy;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        14: .line 92
            aload 4 /* results */
            new org.openjdk.jmh.results.ScalarResult
            dup
            ldc "\u00B7class.unload.norm"
            dconst_1
            lload 12 /* unloaded */
            l2d
            dmul
            lload 6 /* allOps */
            l2d
            ddiv
            ldc "classes/op"
            getstatic org.openjdk.jmh.results.AggregationPolicy.AVG:Lorg/openjdk/jmh/results/AggregationPolicy;
            invokespecial org.openjdk.jmh.results.ScalarResult.<init>:(Ljava/lang/String;DLjava/lang/String;Lorg/openjdk/jmh/results/AggregationPolicy;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 12 // long unloaded
        end local 10 // long unloadedClassCount
        15: .line 94
            goto 17
      StackMap locals:
      StackMap stack: java.lang.UnsupportedOperationException
        16: pop
        17: .line 98
      StackMap locals:
      StackMap stack:
            aload 4 /* results */
            areturn
        end local 8 // double time
        end local 6 // long allOps
        end local 5 // java.lang.management.ClassLoadingMXBean cl
        end local 4 // java.util.List results
        end local 3 // org.openjdk.jmh.results.IterationResult result
        end local 2 // org.openjdk.jmh.infra.IterationParams iterationParams
        end local 1 // org.openjdk.jmh.infra.BenchmarkParams benchmarkParams
        end local 0 // org.openjdk.jmh.profile.ClassloaderProfiler this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   18     0                this  Lorg/openjdk/jmh/profile/ClassloaderProfiler;
            0   18     1     benchmarkParams  Lorg/openjdk/jmh/infra/BenchmarkParams;
            0   18     2     iterationParams  Lorg/openjdk/jmh/infra/IterationParams;
            0   18     3              result  Lorg/openjdk/jmh/results/IterationResult;
            2   18     4             results  Ljava/util/List<Lorg/openjdk/jmh/results/Result;>;
            3   18     5                  cl  Ljava/lang/management/ClassLoadingMXBean;
            4   18     6              allOps  J
            5   18     8                time  D
            6    9    10    loadedClassCount  J
            7    9    12              loaded  J
           12   15    10  unloadedClassCount  J
           13   15    12            unloaded  J
      Exception table:
        from    to  target  type
           5     9      10  Class java.lang.UnsupportedOperationException
          11    15      16  Class java.lang.UnsupportedOperationException
    Signature: (Lorg/openjdk/jmh/infra/BenchmarkParams;Lorg/openjdk/jmh/infra/IterationParams;Lorg/openjdk/jmh/results/IterationResult;)Ljava/util/Collection<+Lorg/openjdk/jmh/results/Result;>;
    MethodParameters:
                 Name  Flags
      benchmarkParams  
      iterationParams  
      result           
}
SourceFile: "ClassloaderProfiler.java"