class jdk.nashorn.internal.runtime.linker.LinkerCallSite$ProfilingLinkerCallSite$ProfileDumper implements java.lang.Runnable
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: jdk.nashorn.internal.runtime.linker.LinkerCallSite$ProfilingLinkerCallSite$ProfileDumper
  super_class: java.lang.Object
{
  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.linker.LinkerCallSite$ProfilingLinkerCallSite$ProfileDumper this
         0: .line 278
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // jdk.nashorn.internal.runtime.linker.LinkerCallSite$ProfilingLinkerCallSite$ProfileDumper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/linker/LinkerCallSite$ProfilingLinkerCallSite$ProfileDumper;

  public void run();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.linker.LinkerCallSite$ProfilingLinkerCallSite$ProfileDumper this
         0: .line 281
            aconst_null
            astore 1 /* out */
        start local 1 // java.io.PrintWriter out
         1: .line 282
            iconst_0
            istore 2 /* fileOutput */
        start local 2 // boolean fileOutput
         2: .line 286
            new java.io.PrintWriter
            dup
            new java.io.FileOutputStream
            dup
            getstatic jdk.nashorn.internal.runtime.linker.LinkerCallSite.PROFILEFILE:Ljava/lang/String;
            invokespecial java.io.FileOutputStream.<init>:(Ljava/lang/String;)V
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/OutputStream;)V
            astore 1 /* out */
         3: .line 287
            iconst_1
            istore 2 /* fileOutput */
         4: .line 288
            goto 7
      StackMap locals: jdk.nashorn.internal.runtime.linker.LinkerCallSite$ProfilingLinkerCallSite$ProfileDumper java.io.PrintWriter int
      StackMap stack: java.io.FileNotFoundException
         5: pop
         6: .line 289
            invokestatic jdk.nashorn.internal.runtime.Context.getCurrentErr:()Ljava/io/PrintWriter;
            astore 1 /* out */
         7: .line 292
      StackMap locals:
      StackMap stack:
            aload 1 /* out */
            invokestatic jdk.nashorn.internal.runtime.linker.LinkerCallSite$ProfilingLinkerCallSite$ProfileDumper.dump:(Ljava/io/PrintWriter;)V
         8: .line 293
            goto 13
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: astore 3
        10: .line 294
            aload 1 /* out */
            ifnull 12
            iload 2 /* fileOutput */
            ifeq 12
        11: .line 295
            aload 1 /* out */
            invokevirtual java.io.PrintWriter.close:()V
        12: .line 297
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 3
            athrow
        13: .line 294
      StackMap locals:
      StackMap stack:
            aload 1 /* out */
            ifnull 15
            iload 2 /* fileOutput */
            ifeq 15
        14: .line 295
            aload 1 /* out */
            invokevirtual java.io.PrintWriter.close:()V
        15: .line 298
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean fileOutput
        end local 1 // java.io.PrintWriter out
        end local 0 // jdk.nashorn.internal.runtime.linker.LinkerCallSite$ProfilingLinkerCallSite$ProfileDumper this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   16     0        this  Ljdk/nashorn/internal/runtime/linker/LinkerCallSite$ProfilingLinkerCallSite$ProfileDumper;
            1   16     1         out  Ljava/io/PrintWriter;
            2   16     2  fileOutput  Z
      Exception table:
        from    to  target  type
           2     4       5  Class java.io.FileNotFoundException
           2     9       9  any

  private static void dump(java.io.PrintWriter);
    descriptor: (Ljava/io/PrintWriter;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // java.io.PrintWriter out
         0: .line 301
            iconst_0
            istore 1 /* index */
        start local 1 // int index
         1: .line 302
            getstatic jdk.nashorn.internal.runtime.linker.LinkerCallSite$ProfilingLinkerCallSite.profileCallSites:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
            astore 3
            goto 8
      StackMap locals: java.io.PrintWriter int top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.runtime.linker.LinkerCallSite$ProfilingLinkerCallSite
            astore 2 /* callSite */
        start local 2 // jdk.nashorn.internal.runtime.linker.LinkerCallSite$ProfilingLinkerCallSite callSite
         3: .line 303
            aload 0 /* out */
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            iload 1 /* index */
            iinc 1 /* index */ 1
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            bipush 9
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
         4: .line 304
            aload 2 /* callSite */
            invokevirtual jdk.nashorn.internal.runtime.linker.LinkerCallSite$ProfilingLinkerCallSite.getDescriptor:()Ljdk/dynalink/CallSiteDescriptor;
            invokevirtual jdk.dynalink.CallSiteDescriptor.getOperation:()Ljdk/dynalink/Operation;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            bipush 9
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
         5: .line 305
            aload 2 /* callSite */
            getfield jdk.nashorn.internal.runtime.linker.LinkerCallSite$ProfilingLinkerCallSite.totalTime:J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            bipush 9
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
         6: .line 306
            aload 2 /* callSite */
            getfield jdk.nashorn.internal.runtime.linker.LinkerCallSite$ProfilingLinkerCallSite.hitCount:J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 303
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        end local 2 // jdk.nashorn.internal.runtime.linker.LinkerCallSite$ProfilingLinkerCallSite callSite
         8: .line 302
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         9: .line 308
            return
        end local 1 // int index
        end local 0 // java.io.PrintWriter out
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0       out  Ljava/io/PrintWriter;
            1   10     1     index  I
            3    8     2  callSite  Ljdk/nashorn/internal/runtime/linker/LinkerCallSite$ProfilingLinkerCallSite;
    MethodParameters:
      Name  Flags
      out   final
}
SourceFile: "LinkerCallSite.java"
NestHost: jdk.nashorn.internal.runtime.linker.LinkerCallSite
InnerClasses:
  private ProfilingLinkerCallSite = jdk.nashorn.internal.runtime.linker.LinkerCallSite$ProfilingLinkerCallSite of jdk.nashorn.internal.runtime.linker.LinkerCallSite
  ProfileDumper = jdk.nashorn.internal.runtime.linker.LinkerCallSite$ProfilingLinkerCallSite$ProfileDumper of jdk.nashorn.internal.runtime.linker.LinkerCallSite$ProfilingLinkerCallSite