public final class com.oracle.truffle.tools.chromeinspector.InspectorProfiler extends com.oracle.truffle.tools.chromeinspector.domains.ProfilerDomain
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.oracle.truffle.tools.chromeinspector.InspectorProfiler
  super_class: com.oracle.truffle.tools.chromeinspector.domains.ProfilerDomain
{
  private com.oracle.truffle.tools.profiler.CPUSampler sampler;
    descriptor: Lcom/oracle/truffle/tools/profiler/CPUSampler;
    flags: (0x0002) ACC_PRIVATE

  private com.oracle.truffle.tools.profiler.CPUTracer tracer;
    descriptor: Lcom/oracle/truffle/tools/profiler/CPUTracer;
    flags: (0x0002) ACC_PRIVATE

  private com.oracle.truffle.tools.chromeinspector.TypeHandler typeHandler;
    descriptor: Lcom/oracle/truffle/tools/chromeinspector/TypeHandler;
    flags: (0x0002) ACC_PRIVATE

  private com.oracle.truffle.tools.chromeinspector.ScriptsHandler slh;
    descriptor: Lcom/oracle/truffle/tools/chromeinspector/ScriptsHandler;
    flags: (0x0002) ACC_PRIVATE

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

  private boolean oldGatherSelfHitTimes;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private final com.oracle.truffle.tools.chromeinspector.InspectorExecutionContext context;
    descriptor: Lcom/oracle/truffle/tools/chromeinspector/InspectorExecutionContext;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.oracle.truffle.tools.chromeinspector.server.ConnectionWatcher connectionWatcher;
    descriptor: Lcom/oracle/truffle/tools/chromeinspector/server/ConnectionWatcher;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private com.oracle.truffle.tools.chromeinspector.instrument.Enabler enabler;
    descriptor: Lcom/oracle/truffle/tools/chromeinspector/instrument/Enabler;
    flags: (0x0002) ACC_PRIVATE

  public void <init>(com.oracle.truffle.tools.chromeinspector.InspectorExecutionContext, com.oracle.truffle.tools.chromeinspector.server.ConnectionWatcher);
    descriptor: (Lcom/oracle/truffle/tools/chromeinspector/InspectorExecutionContext;Lcom/oracle/truffle/tools/chromeinspector/server/ConnectionWatcher;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.tools.chromeinspector.InspectorProfiler this
        start local 1 // com.oracle.truffle.tools.chromeinspector.InspectorExecutionContext context
        start local 2 // com.oracle.truffle.tools.chromeinspector.server.ConnectionWatcher connectionWatcher
         0: .line 82
            aload 0 /* this */
            invokespecial com.oracle.truffle.tools.chromeinspector.domains.ProfilerDomain.<init>:()V
         1: .line 83
            aload 0 /* this */
            aload 1 /* context */
            putfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.context:Lcom/oracle/truffle/tools/chromeinspector/InspectorExecutionContext;
         2: .line 84
            aload 0 /* this */
            aload 2 /* connectionWatcher */
            putfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.connectionWatcher:Lcom/oracle/truffle/tools/chromeinspector/server/ConnectionWatcher;
         3: .line 85
            return
        end local 2 // com.oracle.truffle.tools.chromeinspector.server.ConnectionWatcher connectionWatcher
        end local 1 // com.oracle.truffle.tools.chromeinspector.InspectorExecutionContext context
        end local 0 // com.oracle.truffle.tools.chromeinspector.InspectorProfiler this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    4     0               this  Lcom/oracle/truffle/tools/chromeinspector/InspectorProfiler;
            0    4     1            context  Lcom/oracle/truffle/tools/chromeinspector/InspectorExecutionContext;
            0    4     2  connectionWatcher  Lcom/oracle/truffle/tools/chromeinspector/server/ConnectionWatcher;
    MethodParameters:
                   Name  Flags
      context            
      connectionWatcher  

  public void doEnable();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.oracle.truffle.tools.chromeinspector.InspectorProfiler this
         0: .line 89
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.context:Lcom/oracle/truffle/tools/chromeinspector/InspectorExecutionContext;
            invokevirtual com.oracle.truffle.tools.chromeinspector.InspectorExecutionContext.acquireScriptsHandler:()Lcom/oracle/truffle/tools/chromeinspector/ScriptsHandler;
            putfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.slh:Lcom/oracle/truffle/tools/chromeinspector/ScriptsHandler;
         1: .line 90
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.context:Lcom/oracle/truffle/tools/chromeinspector/InspectorExecutionContext;
            invokevirtual com.oracle.truffle.tools.chromeinspector.InspectorExecutionContext.getEnv:()Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.context:Lcom/oracle/truffle/tools/chromeinspector/InspectorExecutionContext;
            invokevirtual com.oracle.truffle.tools.chromeinspector.InspectorExecutionContext.getEnv:()Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
            invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstruments:()Ljava/util/Map;
            ldc "cpusampler"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.InstrumentInfo
            ldc Lcom/oracle/truffle/tools/profiler/CPUSampler;
            invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.lookup:(Lcom/oracle/truffle/api/InstrumentInfo;Ljava/lang/Class;)Ljava/lang/Object;
            checkcast com.oracle.truffle.tools.profiler.CPUSampler
            putfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
         2: .line 91
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.context:Lcom/oracle/truffle/tools/chromeinspector/InspectorExecutionContext;
            invokevirtual com.oracle.truffle.tools.chromeinspector.InspectorExecutionContext.getEnv:()Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.context:Lcom/oracle/truffle/tools/chromeinspector/InspectorExecutionContext;
            invokevirtual com.oracle.truffle.tools.chromeinspector.InspectorExecutionContext.getEnv:()Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
            invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstruments:()Ljava/util/Map;
            ldc "cputracer"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.InstrumentInfo
            ldc Lcom/oracle/truffle/tools/profiler/CPUTracer;
            invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.lookup:(Lcom/oracle/truffle/api/InstrumentInfo;Ljava/lang/Class;)Ljava/lang/Object;
            checkcast com.oracle.truffle.tools.profiler.CPUTracer
            putfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.tracer:Lcom/oracle/truffle/tools/profiler/CPUTracer;
         3: .line 92
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.context:Lcom/oracle/truffle/tools/chromeinspector/InspectorExecutionContext;
            invokevirtual com.oracle.truffle.tools.chromeinspector.InspectorExecutionContext.getEnv:()Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
            invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstruments:()Ljava/util/Map;
            ldc "TypeProfileInstrument"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.InstrumentInfo
            astore 1 /* instrumentInfo */
        start local 1 // com.oracle.truffle.api.InstrumentInfo instrumentInfo
         4: .line 93
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.context:Lcom/oracle/truffle/tools/chromeinspector/InspectorExecutionContext;
            invokevirtual com.oracle.truffle.tools.chromeinspector.InspectorExecutionContext.getEnv:()Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
            aload 1 /* instrumentInfo */
            ldc Lcom/oracle/truffle/tools/chromeinspector/instrument/Enabler;
            invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.lookup:(Lcom/oracle/truffle/api/InstrumentInfo;Ljava/lang/Class;)Ljava/lang/Object;
            checkcast com.oracle.truffle.tools.chromeinspector.instrument.Enabler
            putfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.enabler:Lcom/oracle/truffle/tools/chromeinspector/instrument/Enabler;
         5: .line 94
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.enabler:Lcom/oracle/truffle/tools/chromeinspector/instrument/Enabler;
            invokeinterface com.oracle.truffle.tools.chromeinspector.instrument.Enabler.enable:()V
         6: .line 95
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.context:Lcom/oracle/truffle/tools/chromeinspector/InspectorExecutionContext;
            invokevirtual com.oracle.truffle.tools.chromeinspector.InspectorExecutionContext.getEnv:()Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
            aload 1 /* instrumentInfo */
            ldc Lcom/oracle/truffle/tools/chromeinspector/TypeHandler$Provider;
            invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.lookup:(Lcom/oracle/truffle/api/InstrumentInfo;Ljava/lang/Class;)Ljava/lang/Object;
            checkcast com.oracle.truffle.tools.chromeinspector.TypeHandler$Provider
            invokeinterface com.oracle.truffle.tools.chromeinspector.TypeHandler$Provider.getTypeHandler:()Lcom/oracle/truffle/tools/chromeinspector/TypeHandler;
            putfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.typeHandler:Lcom/oracle/truffle/tools/chromeinspector/TypeHandler;
         7: .line 96
            return
        end local 1 // com.oracle.truffle.api.InstrumentInfo instrumentInfo
        end local 0 // com.oracle.truffle.tools.chromeinspector.InspectorProfiler this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    8     0            this  Lcom/oracle/truffle/tools/chromeinspector/InspectorProfiler;
            4    8     1  instrumentInfo  Lcom/oracle/truffle/api/InstrumentInfo;

  public void doDisable();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.tools.chromeinspector.InspectorProfiler this
         0: .line 100
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.slh:Lcom/oracle/truffle/tools/chromeinspector/ScriptsHandler;
            ifnull 8
         1: .line 101
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.context:Lcom/oracle/truffle/tools/chromeinspector/InspectorExecutionContext;
            invokevirtual com.oracle.truffle.tools.chromeinspector.InspectorExecutionContext.releaseScriptsHandler:()V
         2: .line 102
            aload 0 /* this */
            aconst_null
            putfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.slh:Lcom/oracle/truffle/tools/chromeinspector/ScriptsHandler;
         3: .line 103
            aload 0 /* this */
            aconst_null
            putfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
         4: .line 104
            aload 0 /* this */
            aconst_null
            putfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.tracer:Lcom/oracle/truffle/tools/profiler/CPUTracer;
         5: .line 105
            aload 0 /* this */
            aconst_null
            putfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.typeHandler:Lcom/oracle/truffle/tools/chromeinspector/TypeHandler;
         6: .line 106
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.enabler:Lcom/oracle/truffle/tools/chromeinspector/instrument/Enabler;
            invokeinterface com.oracle.truffle.tools.chromeinspector.instrument.Enabler.disable:()V
         7: .line 107
            aload 0 /* this */
            aconst_null
            putfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.enabler:Lcom/oracle/truffle/tools/chromeinspector/instrument/Enabler;
         8: .line 109
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.oracle.truffle.tools.chromeinspector.InspectorProfiler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lcom/oracle/truffle/tools/chromeinspector/InspectorProfiler;

  public void setSamplingInterval(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // com.oracle.truffle.tools.chromeinspector.InspectorProfiler this
        start local 1 // long interval
         0: .line 113
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
            lconst_1
            getstatic java.util.concurrent.TimeUnit.MICROSECONDS:Ljava/util/concurrent/TimeUnit;
            lload 1 /* interval */
            invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
            invokestatic java.lang.Math.max:(JJ)J
            invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.setPeriod:(J)V
         1: .line 114
            return
        end local 1 // long interval
        end local 0 // com.oracle.truffle.tools.chromeinspector.InspectorProfiler this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/oracle/truffle/tools/chromeinspector/InspectorProfiler;
            0    2     1  interval  J
    MethodParameters:
          Name  Flags
      interval  

  public void start();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.oracle.truffle.tools.chromeinspector.InspectorProfiler this
         0: .line 118
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.connectionWatcher:Lcom/oracle/truffle/tools/chromeinspector/server/ConnectionWatcher;
            invokevirtual com.oracle.truffle.tools.chromeinspector.server.ConnectionWatcher.setWaitForClose:()V
         1: .line 119
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
            dup
            astore 1
            monitorenter
         2: .line 120
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
            invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.isGatherSelfHitTimes:()Z
            putfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.oldGatherSelfHitTimes:Z
         3: .line 121
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
            iconst_1
            invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.setGatherSelfHitTimes:(Z)V
         4: .line 122
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
            getstatic com.oracle.truffle.tools.profiler.CPUSampler$Mode.ROOTS:Lcom/oracle/truffle/tools/profiler/CPUSampler$Mode;
            invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.setMode:(Lcom/oracle/truffle/tools/profiler/CPUSampler$Mode;)V
         5: .line 123
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
            invokestatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.newBuilder:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.context:Lcom/oracle/truffle/tools/chromeinspector/InspectorExecutionContext;
            invokevirtual com.oracle.truffle.tools.chromeinspector.InspectorExecutionContext.isInspectInternal:()Z
            invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.includeInternal:(Z)Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
            invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.build:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
            invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.setFilter:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;)V
         6: .line 124
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
            iconst_1
            invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.setCollecting:(Z)V
         7: .line 119
            aload 1
            monitorexit
         8: goto 11
      StackMap locals: com.oracle.truffle.tools.chromeinspector.InspectorProfiler com.oracle.truffle.tools.profiler.CPUSampler
      StackMap stack: java.lang.Throwable
         9: aload 1
            monitorexit
        10: athrow
        11: .line 126
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokestatic java.lang.System.currentTimeMillis:()J
            putfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.startTimestamp:J
        12: .line 127
            return
        end local 0 // com.oracle.truffle.tools.chromeinspector.InspectorProfiler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lcom/oracle/truffle/tools/chromeinspector/InspectorProfiler;
      Exception table:
        from    to  target  type
           2     8       9  any
           9    10       9  any

  public com.oracle.truffle.tools.chromeinspector.commands.Params stop();
    descriptor: ()Lcom/oracle/truffle/tools/chromeinspector/commands/Params;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=7, args_size=1
        start local 0 // com.oracle.truffle.tools.chromeinspector.InspectorProfiler this
         0: .line 131
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 1 /* time */
        start local 1 // long time
         1: .line 132
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
            dup
            astore 3
            monitorenter
         2: .line 133
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
            iconst_0
            invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.setCollecting:(Z)V
         3: .line 134
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.oldGatherSelfHitTimes:Z
            invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.setGatherSelfHitTimes:(Z)V
         4: .line 135
            lload 1 /* time */
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.startTimestamp:J
            lsub
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
            invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.getPeriod:()J
            ldiv
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
            invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.getSampleCount:()J
            lsub
            lstore 4 /* idleHitCount */
        start local 4 // long idleHitCount
         5: .line 136
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
            invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.getRootNodes:()Ljava/util/Collection;
            lload 4 /* idleHitCount */
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.startTimestamp:J
            lload 1 /* time */
            invokevirtual com.oracle.truffle.tools.chromeinspector.InspectorProfiler.getProfile:(Ljava/util/Collection;JJJ)Lcom/oracle/truffle/tools/chromeinspector/commands/Params;
            astore 6 /* profile */
        start local 6 // com.oracle.truffle.tools.chromeinspector.commands.Params profile
         6: .line 137
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.sampler:Lcom/oracle/truffle/tools/profiler/CPUSampler;
            invokevirtual com.oracle.truffle.tools.profiler.CPUSampler.clearData:()V
         7: .line 138
            aload 6 /* profile */
            aload 3
            monitorexit
         8: areturn
        end local 6 // com.oracle.truffle.tools.chromeinspector.commands.Params profile
        end local 4 // long idleHitCount
         9: .line 132
      StackMap locals: com.oracle.truffle.tools.chromeinspector.InspectorProfiler long com.oracle.truffle.tools.profiler.CPUSampler
      StackMap stack: java.lang.Throwable
            aload 3
            monitorexit
        10: athrow
        end local 1 // long time
        end local 0 // com.oracle.truffle.tools.chromeinspector.InspectorProfiler this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0          this  Lcom/oracle/truffle/tools/chromeinspector/InspectorProfiler;
            1   11     1          time  J
            5    9     4  idleHitCount  J
            6    9     6       profile  Lcom/oracle/truffle/tools/chromeinspector/commands/Params;
      Exception table:
        from    to  target  type
           2     8       9  any
           9    10       9  any

  public void startPreciseCoverage(boolean, boolean);
    descriptor: (ZZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // com.oracle.truffle.tools.chromeinspector.InspectorProfiler this
        start local 1 // boolean callCount
        start local 2 // boolean detailed
         0: .line 144
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.connectionWatcher:Lcom/oracle/truffle/tools/chromeinspector/server/ConnectionWatcher;
            invokevirtual com.oracle.truffle.tools.chromeinspector.server.ConnectionWatcher.setWaitForClose:()V
         1: .line 145
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.tracer:Lcom/oracle/truffle/tools/profiler/CPUTracer;
            dup
            astore 3
            monitorenter
         2: .line 146
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.tracer:Lcom/oracle/truffle/tools/profiler/CPUTracer;
            invokestatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.newBuilder:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            iload 2 /* detailed */
            ifeq 3
            ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$StatementTag;
            goto 4
      StackMap locals: com.oracle.truffle.tools.chromeinspector.InspectorProfiler int int com.oracle.truffle.tools.profiler.CPUTracer
      StackMap stack: com.oracle.truffle.tools.profiler.CPUTracer com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder java.lang.Class[] java.lang.Class[] int
         3: ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$RootTag;
      StackMap locals: com.oracle.truffle.tools.chromeinspector.InspectorProfiler int int com.oracle.truffle.tools.profiler.CPUTracer
      StackMap stack: com.oracle.truffle.tools.profiler.CPUTracer com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder java.lang.Class[] java.lang.Class[] int java.lang.Class
         4: aastore
            invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.tagIs:([Ljava/lang/Class;)Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.context:Lcom/oracle/truffle/tools/chromeinspector/InspectorExecutionContext;
            invokevirtual com.oracle.truffle.tools.chromeinspector.InspectorExecutionContext.isInspectInternal:()Z
            invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.includeInternal:(Z)Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
            invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.build:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
            invokevirtual com.oracle.truffle.tools.profiler.CPUTracer.setFilter:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;)V
         5: .line 147
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.tracer:Lcom/oracle/truffle/tools/profiler/CPUTracer;
            iconst_1
            invokevirtual com.oracle.truffle.tools.profiler.CPUTracer.setCollecting:(Z)V
         6: .line 145
            aload 3
            monitorexit
         7: goto 10
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: aload 3
            monitorexit
         9: athrow
        10: .line 149
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean detailed
        end local 1 // boolean callCount
        end local 0 // com.oracle.truffle.tools.chromeinspector.InspectorProfiler this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Lcom/oracle/truffle/tools/chromeinspector/InspectorProfiler;
            0   11     1  callCount  Z
            0   11     2   detailed  Z
      Exception table:
        from    to  target  type
           2     7       8  any
           8     9       8  any
    MethodParameters:
           Name  Flags
      callCount  
      detailed   

  public void stopPreciseCoverage();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.oracle.truffle.tools.chromeinspector.InspectorProfiler this
         0: .line 153
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.tracer:Lcom/oracle/truffle/tools/profiler/CPUTracer;
            dup
            astore 1
            monitorenter
         1: .line 154
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.tracer:Lcom/oracle/truffle/tools/profiler/CPUTracer;
            iconst_0
            invokevirtual com.oracle.truffle.tools.profiler.CPUTracer.setCollecting:(Z)V
         2: .line 155
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.tracer:Lcom/oracle/truffle/tools/profiler/CPUTracer;
            invokevirtual com.oracle.truffle.tools.profiler.CPUTracer.clearData:()V
         3: .line 153
            aload 1
            monitorexit
         4: goto 7
      StackMap locals: com.oracle.truffle.tools.chromeinspector.InspectorProfiler com.oracle.truffle.tools.profiler.CPUTracer
      StackMap stack: java.lang.Throwable
         5: aload 1
            monitorexit
         6: athrow
         7: .line 157
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.oracle.truffle.tools.chromeinspector.InspectorProfiler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/oracle/truffle/tools/chromeinspector/InspectorProfiler;
      Exception table:
        from    to  target  type
           1     4       5  any
           5     6       5  any

  public com.oracle.truffle.tools.chromeinspector.commands.Params takePreciseCoverage();
    descriptor: ()Lcom/oracle/truffle/tools/chromeinspector/commands/Params;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // com.oracle.truffle.tools.chromeinspector.InspectorProfiler this
         0: .line 161
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.tracer:Lcom/oracle/truffle/tools/profiler/CPUTracer;
            dup
            astore 1
            monitorenter
         1: .line 162
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.tracer:Lcom/oracle/truffle/tools/profiler/CPUTracer;
            invokevirtual com.oracle.truffle.tools.profiler.CPUTracer.getPayloads:()Ljava/util/Collection;
            invokevirtual com.oracle.truffle.tools.chromeinspector.InspectorProfiler.getCoverage:(Ljava/util/Collection;)Lcom/oracle/truffle/tools/chromeinspector/commands/Params;
            astore 2 /* coverage */
        start local 2 // com.oracle.truffle.tools.chromeinspector.commands.Params coverage
         2: .line 163
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.tracer:Lcom/oracle/truffle/tools/profiler/CPUTracer;
            invokevirtual com.oracle.truffle.tools.profiler.CPUTracer.clearData:()V
         3: .line 164
            aload 2 /* coverage */
            aload 1
            monitorexit
         4: areturn
        end local 2 // com.oracle.truffle.tools.chromeinspector.commands.Params coverage
         5: .line 161
      StackMap locals: com.oracle.truffle.tools.chromeinspector.InspectorProfiler com.oracle.truffle.tools.profiler.CPUTracer
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         6: athrow
        end local 0 // com.oracle.truffle.tools.chromeinspector.InspectorProfiler this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lcom/oracle/truffle/tools/chromeinspector/InspectorProfiler;
            2    5     2  coverage  Lcom/oracle/truffle/tools/chromeinspector/commands/Params;
      Exception table:
        from    to  target  type
           1     4       5  any
           5     6       5  any

  public com.oracle.truffle.tools.chromeinspector.commands.Params getBestEffortCoverage();
    descriptor: ()Lcom/oracle/truffle/tools/chromeinspector/commands/Params;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // com.oracle.truffle.tools.chromeinspector.InspectorProfiler this
         0: .line 170
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.tracer:Lcom/oracle/truffle/tools/profiler/CPUTracer;
            dup
            astore 1
            monitorenter
         1: .line 171
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.tracer:Lcom/oracle/truffle/tools/profiler/CPUTracer;
            invokevirtual com.oracle.truffle.tools.profiler.CPUTracer.getPayloads:()Ljava/util/Collection;
            invokevirtual com.oracle.truffle.tools.chromeinspector.InspectorProfiler.getCoverage:(Ljava/util/Collection;)Lcom/oracle/truffle/tools/chromeinspector/commands/Params;
            astore 2 /* coverage */
        start local 2 // com.oracle.truffle.tools.chromeinspector.commands.Params coverage
         2: .line 172
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.tracer:Lcom/oracle/truffle/tools/profiler/CPUTracer;
            invokevirtual com.oracle.truffle.tools.profiler.CPUTracer.clearData:()V
         3: .line 173
            aload 2 /* coverage */
            aload 1
            monitorexit
         4: areturn
        end local 2 // com.oracle.truffle.tools.chromeinspector.commands.Params coverage
         5: .line 170
      StackMap locals: com.oracle.truffle.tools.chromeinspector.InspectorProfiler com.oracle.truffle.tools.profiler.CPUTracer
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         6: athrow
        end local 0 // com.oracle.truffle.tools.chromeinspector.InspectorProfiler this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lcom/oracle/truffle/tools/chromeinspector/InspectorProfiler;
            2    5     2  coverage  Lcom/oracle/truffle/tools/chromeinspector/commands/Params;
      Exception table:
        from    to  target  type
           1     4       5  any
           5     6       5  any

  public void startTypeProfile();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.tools.chromeinspector.InspectorProfiler this
         0: .line 179
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.connectionWatcher:Lcom/oracle/truffle/tools/chromeinspector/server/ConnectionWatcher;
            invokevirtual com.oracle.truffle.tools.chromeinspector.server.ConnectionWatcher.setWaitForClose:()V
         1: .line 180
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.typeHandler:Lcom/oracle/truffle/tools/chromeinspector/TypeHandler;
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.context:Lcom/oracle/truffle/tools/chromeinspector/InspectorExecutionContext;
            invokevirtual com.oracle.truffle.tools.chromeinspector.InspectorExecutionContext.isInspectInternal:()Z
            invokevirtual com.oracle.truffle.tools.chromeinspector.TypeHandler.start:(Z)Z
            pop
         2: .line 181
            return
        end local 0 // com.oracle.truffle.tools.chromeinspector.InspectorProfiler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/truffle/tools/chromeinspector/InspectorProfiler;

  public void stopTypeProfile();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.oracle.truffle.tools.chromeinspector.InspectorProfiler this
         0: .line 185
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.typeHandler:Lcom/oracle/truffle/tools/chromeinspector/TypeHandler;
            dup
            astore 1
            monitorenter
         1: .line 186
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.typeHandler:Lcom/oracle/truffle/tools/chromeinspector/TypeHandler;
            invokevirtual com.oracle.truffle.tools.chromeinspector.TypeHandler.stop:()V
         2: .line 187
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.typeHandler:Lcom/oracle/truffle/tools/chromeinspector/TypeHandler;
            invokevirtual com.oracle.truffle.tools.chromeinspector.TypeHandler.clearData:()V
         3: .line 185
            aload 1
            monitorexit
         4: goto 7
      StackMap locals: com.oracle.truffle.tools.chromeinspector.InspectorProfiler com.oracle.truffle.tools.chromeinspector.TypeHandler
      StackMap stack: java.lang.Throwable
         5: aload 1
            monitorexit
         6: athrow
         7: .line 189
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.oracle.truffle.tools.chromeinspector.InspectorProfiler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/oracle/truffle/tools/chromeinspector/InspectorProfiler;
      Exception table:
        from    to  target  type
           1     4       5  any
           5     6       5  any

  public com.oracle.truffle.tools.chromeinspector.commands.Params takeTypeProfile();
    descriptor: ()Lcom/oracle/truffle/tools/chromeinspector/commands/Params;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // com.oracle.truffle.tools.chromeinspector.InspectorProfiler this
         0: .line 193
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.typeHandler:Lcom/oracle/truffle/tools/chromeinspector/TypeHandler;
            dup
            astore 1
            monitorenter
         1: .line 194
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.typeHandler:Lcom/oracle/truffle/tools/chromeinspector/TypeHandler;
            invokevirtual com.oracle.truffle.tools.chromeinspector.TypeHandler.getSectionTypeProfiles:()Ljava/util/Collection;
            invokevirtual com.oracle.truffle.tools.chromeinspector.InspectorProfiler.getTypeProfile:(Ljava/util/Collection;)Lcom/oracle/truffle/tools/chromeinspector/commands/Params;
            astore 2 /* typeProfile */
        start local 2 // com.oracle.truffle.tools.chromeinspector.commands.Params typeProfile
         2: .line 195
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.typeHandler:Lcom/oracle/truffle/tools/chromeinspector/TypeHandler;
            invokevirtual com.oracle.truffle.tools.chromeinspector.TypeHandler.clearData:()V
         3: .line 196
            aload 2 /* typeProfile */
            aload 1
            monitorexit
         4: areturn
        end local 2 // com.oracle.truffle.tools.chromeinspector.commands.Params typeProfile
         5: .line 193
      StackMap locals: com.oracle.truffle.tools.chromeinspector.InspectorProfiler com.oracle.truffle.tools.chromeinspector.TypeHandler
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         6: athrow
        end local 0 // com.oracle.truffle.tools.chromeinspector.InspectorProfiler this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lcom/oracle/truffle/tools/chromeinspector/InspectorProfiler;
            2    5     2  typeProfile  Lcom/oracle/truffle/tools/chromeinspector/commands/Params;
      Exception table:
        from    to  target  type
           1     4       5  any
           5     6       5  any

  private com.oracle.truffle.tools.chromeinspector.commands.Params getCoverage(java.util.Collection<com.oracle.truffle.tools.profiler.CPUTracer$Payload>);
    descriptor: (Ljava/util/Collection;)Lcom/oracle/truffle/tools/chromeinspector/commands/Params;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // com.oracle.truffle.tools.chromeinspector.InspectorProfiler this
        start local 1 // java.util.Collection payloads
         0: .line 201
            new com.oracle.truffle.tools.utils.json.JSONObject
            dup
            invokespecial com.oracle.truffle.tools.utils.json.JSONObject.<init>:()V
            astore 2 /* json */
        start local 2 // com.oracle.truffle.tools.utils.json.JSONObject json
         1: .line 202
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            astore 3 /* sourceToRoots */
        start local 3 // java.util.Map sourceToRoots
         2: .line 203
            aload 1 /* payloads */
            aload 3 /* sourceToRoots */
            invokedynamic accept(Ljava/util/Map;)Ljava/util/function/Consumer;
              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;)V
                  com/oracle/truffle/tools/chromeinspector/InspectorProfiler.lambda$0(Ljava/util/Map;Lcom/oracle/truffle/tools/profiler/CPUTracer$Payload;)V (6)
                  (Lcom/oracle/truffle/tools/profiler/CPUTracer$Payload;)V
            invokeinterface java.util.Collection.forEach:(Ljava/util/function/Consumer;)V
         3: .line 208
            new com.oracle.truffle.tools.utils.json.JSONArray
            dup
            invokespecial com.oracle.truffle.tools.utils.json.JSONArray.<init>:()V
            astore 4 /* result */
        start local 4 // com.oracle.truffle.tools.utils.json.JSONArray result
         4: .line 209
            aload 3 /* sourceToRoots */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
            aload 0 /* this */
            invokedynamic apply(Lcom/oracle/truffle/tools/chromeinspector/InspectorProfiler;)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/tools/chromeinspector/InspectorProfiler.lambda$3(Ljava/util/Map$Entry;)Lcom/oracle/truffle/tools/chromeinspector/types/ScriptCoverage; (7)
                  (Ljava/util/Map$Entry;)Lcom/oracle/truffle/tools/chromeinspector/types/ScriptCoverage;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         5: .line 223
            aload 4 /* result */
            invokedynamic accept(Lcom/oracle/truffle/tools/utils/json/JSONArray;)Ljava/util/function/Consumer;
              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;)V
                  com/oracle/truffle/tools/chromeinspector/InspectorProfiler.lambda$5(Lcom/oracle/truffle/tools/utils/json/JSONArray;Lcom/oracle/truffle/tools/chromeinspector/types/ScriptCoverage;)V (6)
                  (Lcom/oracle/truffle/tools/chromeinspector/types/ScriptCoverage;)V
            invokeinterface java.util.stream.Stream.forEachOrdered:(Ljava/util/function/Consumer;)V
         6: .line 226
            aload 2 /* json */
            ldc "result"
            aload 4 /* result */
            invokevirtual com.oracle.truffle.tools.utils.json.JSONObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lcom/oracle/truffle/tools/utils/json/JSONObject;
            pop
         7: .line 227
            new com.oracle.truffle.tools.chromeinspector.commands.Params
            dup
            aload 2 /* json */
            invokespecial com.oracle.truffle.tools.chromeinspector.commands.Params.<init>:(Lcom/oracle/truffle/tools/utils/json/JSONObject;)V
            areturn
        end local 4 // com.oracle.truffle.tools.utils.json.JSONArray result
        end local 3 // java.util.Map sourceToRoots
        end local 2 // com.oracle.truffle.tools.utils.json.JSONObject json
        end local 1 // java.util.Collection payloads
        end local 0 // com.oracle.truffle.tools.chromeinspector.InspectorProfiler this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    8     0           this  Lcom/oracle/truffle/tools/chromeinspector/InspectorProfiler;
            0    8     1       payloads  Ljava/util/Collection<Lcom/oracle/truffle/tools/profiler/CPUTracer$Payload;>;
            1    8     2           json  Lcom/oracle/truffle/tools/utils/json/JSONObject;
            2    8     3  sourceToRoots  Ljava/util/Map<Lcom/oracle/truffle/api/source/Source;Ljava/util/Map<Ljava/lang/String;Ljava/util/Collection<Lcom/oracle/truffle/tools/profiler/CPUTracer$Payload;>;>;>;
            4    8     4         result  Lcom/oracle/truffle/tools/utils/json/JSONArray;
    Signature: (Ljava/util/Collection<Lcom/oracle/truffle/tools/profiler/CPUTracer$Payload;>;)Lcom/oracle/truffle/tools/chromeinspector/commands/Params;
    MethodParameters:
          Name  Flags
      payloads  

  private com.oracle.truffle.tools.chromeinspector.commands.Params getProfile(java.util.Collection<com.oracle.truffle.tools.profiler.ProfilerNode<com.oracle.truffle.tools.profiler.CPUSampler$Payload>>, long, long, long);
    descriptor: (Ljava/util/Collection;JJJ)Lcom/oracle/truffle/tools/chromeinspector/commands/Params;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=11, locals=13, args_size=5
        start local 0 // com.oracle.truffle.tools.chromeinspector.InspectorProfiler this
        start local 1 // java.util.Collection rootProfilerNodes
        start local 2 // long idleHitCount
        start local 4 // long startTime
        start local 6 // long endTime
         0: .line 231
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 8 /* nodes */
        start local 8 // java.util.List nodes
         1: .line 232
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 9 /* timeLine */
        start local 9 // java.util.List timeLine
         2: .line 233
            iconst_1
            istore 10 /* counter */
        start local 10 // int counter
         3: .line 234
            new com.oracle.truffle.tools.chromeinspector.types.ProfileNode
            dup
            iload 10 /* counter */
            iinc 10 /* counter */ 1
            new com.oracle.truffle.tools.chromeinspector.types.RuntimeCallFrame
            dup
            ldc "(root)"
            iconst_0
            ldc ""
            iconst_0
            iconst_0
            invokespecial com.oracle.truffle.tools.chromeinspector.types.RuntimeCallFrame.<init>:(Ljava/lang/String;ILjava/lang/String;II)V
            lload 2 /* idleHitCount */
            invokespecial com.oracle.truffle.tools.chromeinspector.types.ProfileNode.<init>:(ILcom/oracle/truffle/tools/chromeinspector/types/RuntimeCallFrame;J)V
            astore 11 /* root */
        start local 11 // com.oracle.truffle.tools.chromeinspector.types.ProfileNode root
         4: .line 235
            aload 8 /* nodes */
            aload 11 /* root */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         5: .line 236
            aload 0 /* this */
            aload 11 /* root */
            aload 1 /* rootProfilerNodes */
            aload 8 /* nodes */
            aload 9 /* timeLine */
            iload 10 /* counter */
            invokevirtual com.oracle.truffle.tools.chromeinspector.InspectorProfiler.fillChildren:(Lcom/oracle/truffle/tools/chromeinspector/types/ProfileNode;Ljava/util/Collection;Ljava/util/List;Ljava/util/List;I)V
         6: .line 237
            aload 9 /* timeLine */
            invokedynamic compare()Ljava/util/Comparator;
              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;)I
                  com/oracle/truffle/tools/chromeinspector/InspectorProfiler.lambda$6(Lcom/oracle/truffle/tools/chromeinspector/types/Profile$TimeLineItem;Lcom/oracle/truffle/tools/chromeinspector/types/Profile$TimeLineItem;)I (6)
                  (Lcom/oracle/truffle/tools/chromeinspector/types/Profile$TimeLineItem;Lcom/oracle/truffle/tools/chromeinspector/types/Profile$TimeLineItem;)I
            invokestatic java.util.Collections.sort:(Ljava/util/List;Ljava/util/Comparator;)V
         7: .line 238
            new com.oracle.truffle.tools.utils.json.JSONObject
            dup
            invokespecial com.oracle.truffle.tools.utils.json.JSONObject.<init>:()V
            astore 12 /* json */
        start local 12 // com.oracle.truffle.tools.utils.json.JSONObject json
         8: .line 239
            aload 12 /* json */
            ldc "profile"
            new com.oracle.truffle.tools.chromeinspector.types.Profile
            dup
            aload 8 /* nodes */
            aload 8 /* nodes */
            invokeinterface java.util.List.size:()I
            anewarray com.oracle.truffle.tools.chromeinspector.types.ProfileNode
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast com.oracle.truffle.tools.chromeinspector.types.ProfileNode[]
            lload 4 /* startTime */
            lload 6 /* endTime */
            aload 9 /* timeLine */
            aload 9 /* timeLine */
            invokeinterface java.util.List.size:()I
            anewarray com.oracle.truffle.tools.chromeinspector.types.Profile$TimeLineItem
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast com.oracle.truffle.tools.chromeinspector.types.Profile$TimeLineItem[]
            invokespecial com.oracle.truffle.tools.chromeinspector.types.Profile.<init>:([Lcom/oracle/truffle/tools/chromeinspector/types/ProfileNode;JJ[Lcom/oracle/truffle/tools/chromeinspector/types/Profile$TimeLineItem;)V
            invokevirtual com.oracle.truffle.tools.chromeinspector.types.Profile.toJSON:()Lcom/oracle/truffle/tools/utils/json/JSONObject;
            invokevirtual com.oracle.truffle.tools.utils.json.JSONObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lcom/oracle/truffle/tools/utils/json/JSONObject;
            pop
         9: .line 240
            new com.oracle.truffle.tools.chromeinspector.commands.Params
            dup
            aload 12 /* json */
            invokespecial com.oracle.truffle.tools.chromeinspector.commands.Params.<init>:(Lcom/oracle/truffle/tools/utils/json/JSONObject;)V
            areturn
        end local 12 // com.oracle.truffle.tools.utils.json.JSONObject json
        end local 11 // com.oracle.truffle.tools.chromeinspector.types.ProfileNode root
        end local 10 // int counter
        end local 9 // java.util.List timeLine
        end local 8 // java.util.List nodes
        end local 6 // long endTime
        end local 4 // long startTime
        end local 2 // long idleHitCount
        end local 1 // java.util.Collection rootProfilerNodes
        end local 0 // com.oracle.truffle.tools.chromeinspector.InspectorProfiler this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   10     0               this  Lcom/oracle/truffle/tools/chromeinspector/InspectorProfiler;
            0   10     1  rootProfilerNodes  Ljava/util/Collection<Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;>;
            0   10     2       idleHitCount  J
            0   10     4          startTime  J
            0   10     6            endTime  J
            1   10     8              nodes  Ljava/util/List<Lcom/oracle/truffle/tools/chromeinspector/types/ProfileNode;>;
            2   10     9           timeLine  Ljava/util/List<Lcom/oracle/truffle/tools/chromeinspector/types/Profile$TimeLineItem;>;
            3   10    10            counter  I
            4   10    11               root  Lcom/oracle/truffle/tools/chromeinspector/types/ProfileNode;
            8   10    12               json  Lcom/oracle/truffle/tools/utils/json/JSONObject;
    Signature: (Ljava/util/Collection<Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;>;JJJ)Lcom/oracle/truffle/tools/chromeinspector/commands/Params;
    MethodParameters:
                   Name  Flags
      rootProfilerNodes  
      idleHitCount       
      startTime          
      endTime            

  private void fillChildren(com.oracle.truffle.tools.chromeinspector.types.ProfileNode, java.util.Collection<com.oracle.truffle.tools.profiler.ProfilerNode<com.oracle.truffle.tools.profiler.CPUSampler$Payload>>, java.util.List<com.oracle.truffle.tools.chromeinspector.types.ProfileNode>, java.util.List<com.oracle.truffle.tools.chromeinspector.types.Profile$TimeLineItem>, );
    descriptor: (Lcom/oracle/truffle/tools/chromeinspector/types/ProfileNode;Ljava/util/Collection;Ljava/util/List;Ljava/util/List;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=17, args_size=6
        start local 0 // com.oracle.truffle.tools.chromeinspector.InspectorProfiler this
        start local 1 // com.oracle.truffle.tools.chromeinspector.types.ProfileNode node
        start local 2 // java.util.Collection childProfilerNodes
        start local 3 // java.util.List nodes
        start local 4 // java.util.List timeLine
        start local 5 // int lastCounter
         0: .line 245
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 6 /* node2id */
        start local 6 // java.util.Map node2id
         1: .line 246
            new java.util.ArrayDeque
            dup
            invokespecial java.util.ArrayDeque.<init>:()V
            astore 7 /* dequeue */
        start local 7 // java.util.ArrayDeque dequeue
         2: .line 247
            aload 7 /* dequeue */
            aload 2 /* childProfilerNodes */
            invokevirtual java.util.ArrayDeque.addAll:(Ljava/util/Collection;)Z
            pop
         3: .line 248
            aload 1 /* node */
            aload 2 /* childProfilerNodes */
            aload 6 /* node2id */
            iload 5 /* lastCounter */
            invokestatic com.oracle.truffle.tools.chromeinspector.InspectorProfiler.assignChildIDs:(Lcom/oracle/truffle/tools/chromeinspector/types/ProfileNode;Ljava/util/Collection;Ljava/util/Map;I)I
            istore 8 /* counter */
        start local 8 // int counter
         4: .line 249
            goto 30
         5: .line 250
      StackMap locals: java.util.Map java.util.ArrayDeque int
      StackMap stack:
            aload 7 /* dequeue */
            invokevirtual java.util.ArrayDeque.pollFirst:()Ljava/lang/Object;
            checkcast com.oracle.truffle.tools.profiler.ProfilerNode
            astore 9 /* childProfilerNode */
        start local 9 // com.oracle.truffle.tools.profiler.ProfilerNode childProfilerNode
         6: .line 251
            aload 6 /* node2id */
            aload 9 /* childProfilerNode */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 10 /* id */
        start local 10 // int id
         7: .line 252
            iload 10 /* id */
            ifge 30
         8: .line 253
            iload 10 /* id */
            ineg
            istore 10 /* id */
         9: .line 254
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.slh:Lcom/oracle/truffle/tools/chromeinspector/ScriptsHandler;
            aload 9 /* childProfilerNode */
            invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            invokevirtual com.oracle.truffle.api.source.SourceSection.getSource:()Lcom/oracle/truffle/api/source/Source;
            invokevirtual com.oracle.truffle.tools.chromeinspector.ScriptsHandler.getScriptId:(Lcom/oracle/truffle/api/source/Source;)I
            istore 11 /* scriptId */
        start local 11 // int scriptId
        10: .line 255
            iload 11 /* scriptId */
            ifge 11
            aconst_null
            goto 12
      StackMap locals: com.oracle.truffle.tools.profiler.ProfilerNode int int
      StackMap stack:
        11: aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.slh:Lcom/oracle/truffle/tools/chromeinspector/ScriptsHandler;
            iload 11 /* scriptId */
            invokevirtual com.oracle.truffle.tools.chromeinspector.ScriptsHandler.getScript:(I)Lcom/oracle/truffle/tools/chromeinspector/types/Script;
      StackMap locals:
      StackMap stack: com.oracle.truffle.tools.chromeinspector.types.Script
        12: astore 12 /* script */
        start local 12 // com.oracle.truffle.tools.chromeinspector.types.Script script
        13: .line 256
            aload 9 /* childProfilerNode */
            invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            astore 13 /* sourceSection */
        start local 13 // com.oracle.truffle.api.source.SourceSection sourceSection
        14: .line 257
            new com.oracle.truffle.tools.chromeinspector.types.ProfileNode
            dup
            iload 10 /* id */
        15: new com.oracle.truffle.tools.chromeinspector.types.RuntimeCallFrame
            dup
            aload 9 /* childProfilerNode */
            invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getRootName:()Ljava/lang/String;
            aload 12 /* script */
            ifnull 16
            aload 12 /* script */
            invokevirtual com.oracle.truffle.tools.chromeinspector.types.Script.getId:()I
            goto 17
      StackMap locals: com.oracle.truffle.tools.chromeinspector.InspectorProfiler com.oracle.truffle.tools.chromeinspector.types.ProfileNode java.util.Collection java.util.List java.util.List int java.util.Map java.util.ArrayDeque int com.oracle.truffle.tools.profiler.ProfilerNode int int com.oracle.truffle.tools.chromeinspector.types.Script com.oracle.truffle.api.source.SourceSection
      StackMap stack: new 14 new 14 int new 15 new 15 java.lang.String
        16: iconst_0
      StackMap locals: com.oracle.truffle.tools.chromeinspector.InspectorProfiler com.oracle.truffle.tools.chromeinspector.types.ProfileNode java.util.Collection java.util.List java.util.List int java.util.Map java.util.ArrayDeque int com.oracle.truffle.tools.profiler.ProfilerNode int int com.oracle.truffle.tools.chromeinspector.types.Script com.oracle.truffle.api.source.SourceSection
      StackMap stack: new 14 new 14 int new 15 new 15 java.lang.String int
        17: aload 12 /* script */
            ifnull 18
            aload 12 /* script */
            invokevirtual com.oracle.truffle.tools.chromeinspector.types.Script.getUrl:()Ljava/lang/String;
            goto 19
      StackMap locals: com.oracle.truffle.tools.chromeinspector.InspectorProfiler com.oracle.truffle.tools.chromeinspector.types.ProfileNode java.util.Collection java.util.List java.util.List int java.util.Map java.util.ArrayDeque int com.oracle.truffle.tools.profiler.ProfilerNode int int com.oracle.truffle.tools.chromeinspector.types.Script com.oracle.truffle.api.source.SourceSection
      StackMap stack: new 14 new 14 int new 15 new 15 java.lang.String int
        18: ldc ""
        19: .line 258
      StackMap locals: com.oracle.truffle.tools.chromeinspector.InspectorProfiler com.oracle.truffle.tools.chromeinspector.types.ProfileNode java.util.Collection java.util.List java.util.List int java.util.Map java.util.ArrayDeque int com.oracle.truffle.tools.profiler.ProfilerNode int int com.oracle.truffle.tools.chromeinspector.types.Script com.oracle.truffle.api.source.SourceSection
      StackMap stack: new 14 new 14 int new 15 new 15 java.lang.String int java.lang.String
            aload 13 /* sourceSection */
            invokevirtual com.oracle.truffle.api.source.SourceSection.getStartLine:()I
            aload 13 /* sourceSection */
            invokevirtual com.oracle.truffle.api.source.SourceSection.getStartColumn:()I
            invokespecial com.oracle.truffle.tools.chromeinspector.types.RuntimeCallFrame.<init>:(Ljava/lang/String;ILjava/lang/String;II)V
            aload 9 /* childProfilerNode */
            invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getPayload:()Ljava/lang/Object;
            checkcast com.oracle.truffle.tools.profiler.CPUSampler$Payload
            invokevirtual com.oracle.truffle.tools.profiler.CPUSampler$Payload.getSelfHitCount:()I
            i2l
        20: .line 257
            invokespecial com.oracle.truffle.tools.chromeinspector.types.ProfileNode.<init>:(ILcom/oracle/truffle/tools/chromeinspector/types/RuntimeCallFrame;J)V
            astore 14 /* childNode */
        start local 14 // com.oracle.truffle.tools.chromeinspector.types.ProfileNode childNode
        21: .line 259
            aload 3 /* nodes */
            aload 14 /* childNode */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        22: .line 260
            aload 9 /* childProfilerNode */
            invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getPayload:()Ljava/lang/Object;
            checkcast com.oracle.truffle.tools.profiler.CPUSampler$Payload
            invokevirtual com.oracle.truffle.tools.profiler.CPUSampler$Payload.getSelfHitTimes:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 16
            goto 25
      StackMap locals: com.oracle.truffle.tools.chromeinspector.InspectorProfiler com.oracle.truffle.tools.chromeinspector.types.ProfileNode java.util.Collection java.util.List java.util.List int java.util.Map java.util.ArrayDeque int com.oracle.truffle.tools.profiler.ProfilerNode int int com.oracle.truffle.tools.chromeinspector.types.Script com.oracle.truffle.api.source.SourceSection com.oracle.truffle.tools.chromeinspector.types.ProfileNode top java.util.Iterator
      StackMap stack:
        23: aload 16
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Long
            astore 15 /* timestamp */
        start local 15 // java.lang.Long timestamp
        24: .line 261
            aload 4 /* timeLine */
            new com.oracle.truffle.tools.chromeinspector.types.Profile$TimeLineItem
            dup
            aload 15 /* timestamp */
            invokevirtual java.lang.Long.longValue:()J
            iload 10 /* id */
            invokespecial com.oracle.truffle.tools.chromeinspector.types.Profile$TimeLineItem.<init>:(JI)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 15 // java.lang.Long timestamp
        25: .line 260
      StackMap locals:
      StackMap stack:
            aload 16
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 23
        26: .line 263
            aload 6 /* node2id */
            aload 9 /* childProfilerNode */
            iload 10 /* id */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        27: .line 264
            aload 9 /* childProfilerNode */
            invokevirtual com.oracle.truffle.tools.profiler.ProfilerNode.getChildren:()Ljava/util/Collection;
            astore 15 /* grandChildren */
        start local 15 // java.util.Collection grandChildren
        28: .line 265
            aload 14 /* childNode */
            aload 15 /* grandChildren */
            aload 6 /* node2id */
            iload 8 /* counter */
            invokestatic com.oracle.truffle.tools.chromeinspector.InspectorProfiler.assignChildIDs:(Lcom/oracle/truffle/tools/chromeinspector/types/ProfileNode;Ljava/util/Collection;Ljava/util/Map;I)I
            istore 8 /* counter */
        29: .line 266
            aload 7 /* dequeue */
            aload 15 /* grandChildren */
            invokevirtual java.util.ArrayDeque.addAll:(Ljava/util/Collection;)Z
            pop
        end local 15 // java.util.Collection grandChildren
        end local 14 // com.oracle.truffle.tools.chromeinspector.types.ProfileNode childNode
        end local 13 // com.oracle.truffle.api.source.SourceSection sourceSection
        end local 12 // com.oracle.truffle.tools.chromeinspector.types.Script script
        end local 11 // int scriptId
        end local 10 // int id
        end local 9 // com.oracle.truffle.tools.profiler.ProfilerNode childProfilerNode
        30: .line 249
      StackMap locals: com.oracle.truffle.tools.chromeinspector.InspectorProfiler com.oracle.truffle.tools.chromeinspector.types.ProfileNode java.util.Collection java.util.List java.util.List int java.util.Map java.util.ArrayDeque int
      StackMap stack:
            aload 7 /* dequeue */
            invokevirtual java.util.ArrayDeque.isEmpty:()Z
            ifeq 5
        31: .line 269
            return
        end local 8 // int counter
        end local 7 // java.util.ArrayDeque dequeue
        end local 6 // java.util.Map node2id
        end local 5 // int lastCounter
        end local 4 // java.util.List timeLine
        end local 3 // java.util.List nodes
        end local 2 // java.util.Collection childProfilerNodes
        end local 1 // com.oracle.truffle.tools.chromeinspector.types.ProfileNode node
        end local 0 // com.oracle.truffle.tools.chromeinspector.InspectorProfiler this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   32     0                this  Lcom/oracle/truffle/tools/chromeinspector/InspectorProfiler;
            0   32     1                node  Lcom/oracle/truffle/tools/chromeinspector/types/ProfileNode;
            0   32     2  childProfilerNodes  Ljava/util/Collection<Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;>;
            0   32     3               nodes  Ljava/util/List<Lcom/oracle/truffle/tools/chromeinspector/types/ProfileNode;>;
            0   32     4            timeLine  Ljava/util/List<Lcom/oracle/truffle/tools/chromeinspector/types/Profile$TimeLineItem;>;
            0   32     5         lastCounter  I
            1   32     6             node2id  Ljava/util/Map<Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;Ljava/lang/Integer;>;
            2   32     7             dequeue  Ljava/util/ArrayDeque<Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;>;
            4   32     8             counter  I
            6   30     9   childProfilerNode  Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;
            7   30    10                  id  I
           10   30    11            scriptId  I
           13   30    12              script  Lcom/oracle/truffle/tools/chromeinspector/types/Script;
           14   30    13       sourceSection  Lcom/oracle/truffle/api/source/SourceSection;
           21   30    14           childNode  Lcom/oracle/truffle/tools/chromeinspector/types/ProfileNode;
           24   25    15           timestamp  Ljava/lang/Long;
           28   30    15       grandChildren  Ljava/util/Collection<Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;>;
    Signature: (Lcom/oracle/truffle/tools/chromeinspector/types/ProfileNode;Ljava/util/Collection<Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;>;Ljava/util/List<Lcom/oracle/truffle/tools/chromeinspector/types/ProfileNode;>;Ljava/util/List<Lcom/oracle/truffle/tools/chromeinspector/types/Profile$TimeLineItem;>;I)V
    MethodParameters:
                    Name  Flags
      node                
      childProfilerNodes  
      nodes               
      timeLine            
      lastCounter         

  private static int assignChildIDs(com.oracle.truffle.tools.chromeinspector.types.ProfileNode, java.util.Collection<com.oracle.truffle.tools.profiler.ProfilerNode<com.oracle.truffle.tools.profiler.CPUSampler$Payload>>, java.util.Map<com.oracle.truffle.tools.profiler.ProfilerNode<com.oracle.truffle.tools.profiler.CPUSampler$Payload>, java.lang.Integer>, );
    descriptor: (Lcom/oracle/truffle/tools/chromeinspector/types/ProfileNode;Ljava/util/Collection;Ljava/util/Map;I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=4
        start local 0 // com.oracle.truffle.tools.chromeinspector.types.ProfileNode node
        start local 1 // java.util.Collection childProfilerNodes
        start local 2 // java.util.Map node2id
        start local 3 // int lastCounter
         0: .line 272
            iload 3 /* lastCounter */
            istore 4 /* counter */
        start local 4 // int counter
         1: .line 273
            aload 1 /* childProfilerNodes */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 6
            goto 8
      StackMap locals: com.oracle.truffle.tools.chromeinspector.types.ProfileNode java.util.Collection java.util.Map int int top java.util.Iterator
      StackMap stack:
         2: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.truffle.tools.profiler.ProfilerNode
            astore 5 /* child */
        start local 5 // com.oracle.truffle.tools.profiler.ProfilerNode child
         3: .line 274
            aload 2 /* node2id */
            aload 5 /* child */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 7 /* id */
        start local 7 // java.lang.Integer id
         4: .line 275
            aload 7 /* id */
            ifnonnull 7
         5: .line 276
            iload 4 /* counter */
            iinc 4 /* counter */ 1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            astore 7 /* id */
         6: .line 277
            aload 2 /* node2id */
            aload 5 /* child */
            aload 7 /* id */
            invokevirtual java.lang.Integer.intValue:()I
            ineg
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 279
      StackMap locals: com.oracle.truffle.tools.chromeinspector.types.ProfileNode java.util.Collection java.util.Map int int com.oracle.truffle.tools.profiler.ProfilerNode java.util.Iterator java.lang.Integer
      StackMap stack:
            aload 0 /* node */
            aload 7 /* id */
            invokevirtual java.lang.Integer.intValue:()I
            invokestatic java.lang.Math.abs:(I)I
            invokevirtual com.oracle.truffle.tools.chromeinspector.types.ProfileNode.addChild:(I)V
        end local 7 // java.lang.Integer id
        end local 5 // com.oracle.truffle.tools.profiler.ProfilerNode child
         8: .line 273
      StackMap locals: com.oracle.truffle.tools.chromeinspector.types.ProfileNode java.util.Collection java.util.Map int int top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         9: .line 281
            iload 4 /* counter */
            ireturn
        end local 4 // int counter
        end local 3 // int lastCounter
        end local 2 // java.util.Map node2id
        end local 1 // java.util.Collection childProfilerNodes
        end local 0 // com.oracle.truffle.tools.chromeinspector.types.ProfileNode node
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   10     0                node  Lcom/oracle/truffle/tools/chromeinspector/types/ProfileNode;
            0   10     1  childProfilerNodes  Ljava/util/Collection<Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;>;
            0   10     2             node2id  Ljava/util/Map<Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;Ljava/lang/Integer;>;
            0   10     3         lastCounter  I
            1   10     4             counter  I
            3    8     5               child  Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;
            4    8     7                  id  Ljava/lang/Integer;
    Signature: (Lcom/oracle/truffle/tools/chromeinspector/types/ProfileNode;Ljava/util/Collection<Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;>;Ljava/util/Map<Lcom/oracle/truffle/tools/profiler/ProfilerNode<Lcom/oracle/truffle/tools/profiler/CPUSampler$Payload;>;Ljava/lang/Integer;>;I)I
    MethodParameters:
                    Name  Flags
      node                
      childProfilerNodes  
      node2id             
      lastCounter         

  private com.oracle.truffle.tools.chromeinspector.commands.Params getTypeProfile(java.util.Collection<com.oracle.truffle.tools.chromeinspector.TypeHandler$SectionTypeProfile>);
    descriptor: (Ljava/util/Collection;)Lcom/oracle/truffle/tools/chromeinspector/commands/Params;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // com.oracle.truffle.tools.chromeinspector.InspectorProfiler this
        start local 1 // java.util.Collection profiles
         0: .line 285
            new com.oracle.truffle.tools.utils.json.JSONObject
            dup
            invokespecial com.oracle.truffle.tools.utils.json.JSONObject.<init>:()V
            astore 2 /* json */
        start local 2 // com.oracle.truffle.tools.utils.json.JSONObject json
         1: .line 286
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            astore 3 /* sourceToProfiles */
        start local 3 // java.util.Map sourceToProfiles
         2: .line 287
            aload 1 /* profiles */
            aload 3 /* sourceToProfiles */
            invokedynamic accept(Ljava/util/Map;)Ljava/util/function/Consumer;
              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;)V
                  com/oracle/truffle/tools/chromeinspector/InspectorProfiler.lambda$7(Ljava/util/Map;Lcom/oracle/truffle/tools/chromeinspector/TypeHandler$SectionTypeProfile;)V (6)
                  (Lcom/oracle/truffle/tools/chromeinspector/TypeHandler$SectionTypeProfile;)V
            invokeinterface java.util.Collection.forEach:(Ljava/util/function/Consumer;)V
         3: .line 291
            new com.oracle.truffle.tools.utils.json.JSONArray
            dup
            invokespecial com.oracle.truffle.tools.utils.json.JSONArray.<init>:()V
            astore 4 /* result */
        start local 4 // com.oracle.truffle.tools.utils.json.JSONArray result
         4: .line 292
            aload 3 /* sourceToProfiles */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            aload 0 /* this */
            aload 4 /* result */
            invokedynamic accept(Lcom/oracle/truffle/tools/chromeinspector/InspectorProfiler;Lcom/oracle/truffle/tools/utils/json/JSONArray;)Ljava/util/function/Consumer;
              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;)V
                  com/oracle/truffle/tools/chromeinspector/InspectorProfiler.lambda$9(Lcom/oracle/truffle/tools/utils/json/JSONArray;Ljava/util/Map$Entry;)V (7)
                  (Ljava/util/Map$Entry;)V
            invokeinterface java.util.Set.forEach:(Ljava/util/function/Consumer;)V
         5: .line 307
            aload 2 /* json */
            ldc "result"
            aload 4 /* result */
            invokevirtual com.oracle.truffle.tools.utils.json.JSONObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lcom/oracle/truffle/tools/utils/json/JSONObject;
            pop
         6: .line 308
            new com.oracle.truffle.tools.chromeinspector.commands.Params
            dup
            aload 2 /* json */
            invokespecial com.oracle.truffle.tools.chromeinspector.commands.Params.<init>:(Lcom/oracle/truffle/tools/utils/json/JSONObject;)V
            areturn
        end local 4 // com.oracle.truffle.tools.utils.json.JSONArray result
        end local 3 // java.util.Map sourceToProfiles
        end local 2 // com.oracle.truffle.tools.utils.json.JSONObject json
        end local 1 // java.util.Collection profiles
        end local 0 // com.oracle.truffle.tools.chromeinspector.InspectorProfiler this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    7     0              this  Lcom/oracle/truffle/tools/chromeinspector/InspectorProfiler;
            0    7     1          profiles  Ljava/util/Collection<Lcom/oracle/truffle/tools/chromeinspector/TypeHandler$SectionTypeProfile;>;
            1    7     2              json  Lcom/oracle/truffle/tools/utils/json/JSONObject;
            2    7     3  sourceToProfiles  Ljava/util/Map<Lcom/oracle/truffle/api/source/Source;Ljava/util/Collection<Lcom/oracle/truffle/tools/chromeinspector/TypeHandler$SectionTypeProfile;>;>;
            4    7     4            result  Lcom/oracle/truffle/tools/utils/json/JSONArray;
    Signature: (Ljava/util/Collection<Lcom/oracle/truffle/tools/chromeinspector/TypeHandler$SectionTypeProfile;>;)Lcom/oracle/truffle/tools/chromeinspector/commands/Params;
    MethodParameters:
          Name  Flags
      profiles  

  private static void lambda$0(java.util.Map, com.oracle.truffle.tools.profiler.CPUTracer$Payload);
    descriptor: (Ljava/util/Map;Lcom/oracle/truffle/tools/profiler/CPUTracer$Payload;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=4, args_size=2
        start local 1 // com.oracle.truffle.tools.profiler.CPUTracer$Payload payload
         0: .line 204
            aload 0
            aload 1 /* payload */
            invokevirtual com.oracle.truffle.tools.profiler.CPUTracer$Payload.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            invokevirtual com.oracle.truffle.api.source.SourceSection.getSource:()Lcom/oracle/truffle/api/source/Source;
            invokedynamic apply()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/tools/chromeinspector/InspectorProfiler.lambda$1(Lcom/oracle/truffle/api/source/Source;)Ljava/util/Map; (6)
                  (Lcom/oracle/truffle/api/source/Source;)Ljava/util/Map;
            invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast java.util.Map
            astore 2 /* rootsToPayloads */
        start local 2 // java.util.Map rootsToPayloads
         1: .line 205
            aload 2 /* rootsToPayloads */
            aload 1 /* payload */
            invokevirtual com.oracle.truffle.tools.profiler.CPUTracer$Payload.getRootName:()Ljava/lang/String;
            invokedynamic apply()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/tools/chromeinspector/InspectorProfiler.lambda$2(Ljava/lang/String;)Ljava/util/Collection; (6)
                  (Ljava/lang/String;)Ljava/util/Collection;
            invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast java.util.Collection
            astore 3 /* pls */
        start local 3 // java.util.Collection pls
         2: .line 206
            aload 3 /* pls */
            aload 1 /* payload */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.util.Collection pls
        end local 2 // java.util.Map rootsToPayloads
         3: .line 207
            return
        end local 1 // com.oracle.truffle.tools.profiler.CPUTracer$Payload payload
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     1          payload  Lcom/oracle/truffle/tools/profiler/CPUTracer$Payload;
            1    3     2  rootsToPayloads  Ljava/util/Map<Ljava/lang/String;Ljava/util/Collection<Lcom/oracle/truffle/tools/profiler/CPUTracer$Payload;>;>;
            2    3     3              pls  Ljava/util/Collection<Lcom/oracle/truffle/tools/profiler/CPUTracer$Payload;>;

  private com.oracle.truffle.tools.chromeinspector.types.ScriptCoverage lambda$3(java.util.Map$Entry);
    descriptor: (Ljava/util/Map$Entry;)Lcom/oracle/truffle/tools/chromeinspector/types/ScriptCoverage;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // com.oracle.truffle.tools.chromeinspector.InspectorProfiler this
        start local 1 // java.util.Map$Entry sourceEntry
         0: .line 210
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* functions */
        start local 2 // java.util.List functions
         1: .line 211
            aload 1 /* sourceEntry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.Map
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            aload 2 /* functions */
            invokedynamic accept(Ljava/util/List;)Ljava/util/function/Consumer;
              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;)V
                  com/oracle/truffle/tools/chromeinspector/InspectorProfiler.lambda$4(Ljava/util/List;Ljava/util/Map$Entry;)V (6)
                  (Ljava/util/Map$Entry;)V
            invokeinterface java.util.Set.forEach:(Ljava/util/function/Consumer;)V
         2: .line 220
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.slh:Lcom/oracle/truffle/tools/chromeinspector/ScriptsHandler;
            aload 1 /* sourceEntry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast com.oracle.truffle.api.source.Source
            invokevirtual com.oracle.truffle.tools.chromeinspector.ScriptsHandler.getScriptId:(Lcom/oracle/truffle/api/source/Source;)I
            istore 3 /* scriptId */
        start local 3 // int scriptId
         3: .line 221
            iload 3 /* scriptId */
            ifge 4
            aconst_null
            goto 5
      StackMap locals: java.util.List int
      StackMap stack:
         4: aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.slh:Lcom/oracle/truffle/tools/chromeinspector/ScriptsHandler;
            iload 3 /* scriptId */
            invokevirtual com.oracle.truffle.tools.chromeinspector.ScriptsHandler.getScript:(I)Lcom/oracle/truffle/tools/chromeinspector/types/Script;
      StackMap locals:
      StackMap stack: com.oracle.truffle.tools.chromeinspector.types.Script
         5: astore 4 /* script */
        start local 4 // com.oracle.truffle.tools.chromeinspector.types.Script script
         6: .line 222
            new com.oracle.truffle.tools.chromeinspector.types.ScriptCoverage
            dup
            aload 4 /* script */
            ifnull 7
            aload 4 /* script */
            invokevirtual com.oracle.truffle.tools.chromeinspector.types.Script.getId:()I
            goto 8
      StackMap locals: com.oracle.truffle.tools.chromeinspector.InspectorProfiler java.util.Map$Entry java.util.List int com.oracle.truffle.tools.chromeinspector.types.Script
      StackMap stack: new 6 new 6
         7: iconst_0
      StackMap locals: com.oracle.truffle.tools.chromeinspector.InspectorProfiler java.util.Map$Entry java.util.List int com.oracle.truffle.tools.chromeinspector.types.Script
      StackMap stack: new 6 new 6 int
         8: aload 4 /* script */
            ifnull 9
            aload 4 /* script */
            invokevirtual com.oracle.truffle.tools.chromeinspector.types.Script.getUrl:()Ljava/lang/String;
            goto 10
      StackMap locals: com.oracle.truffle.tools.chromeinspector.InspectorProfiler java.util.Map$Entry java.util.List int com.oracle.truffle.tools.chromeinspector.types.Script
      StackMap stack: new 6 new 6 int
         9: ldc ""
      StackMap locals: com.oracle.truffle.tools.chromeinspector.InspectorProfiler java.util.Map$Entry java.util.List int com.oracle.truffle.tools.chromeinspector.types.Script
      StackMap stack: new 6 new 6 int java.lang.String
        10: aload 2 /* functions */
            aload 2 /* functions */
            invokeinterface java.util.List.size:()I
            anewarray com.oracle.truffle.tools.chromeinspector.types.FunctionCoverage
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast com.oracle.truffle.tools.chromeinspector.types.FunctionCoverage[]
            invokespecial com.oracle.truffle.tools.chromeinspector.types.ScriptCoverage.<init>:(ILjava/lang/String;[Lcom/oracle/truffle/tools/chromeinspector/types/FunctionCoverage;)V
            areturn
        end local 4 // com.oracle.truffle.tools.chromeinspector.types.Script script
        end local 3 // int scriptId
        end local 2 // java.util.List functions
        end local 1 // java.util.Map$Entry sourceEntry
        end local 0 // com.oracle.truffle.tools.chromeinspector.InspectorProfiler this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0         this  Lcom/oracle/truffle/tools/chromeinspector/InspectorProfiler;
            0   11     1  sourceEntry  Ljava/util/Map$Entry<Lcom/oracle/truffle/api/source/Source;Ljava/util/Map<Ljava/lang/String;Ljava/util/Collection<Lcom/oracle/truffle/tools/profiler/CPUTracer$Payload;>;>;>;
            1   11     2    functions  Ljava/util/List<Lcom/oracle/truffle/tools/chromeinspector/types/FunctionCoverage;>;
            3   11     3     scriptId  I
            6   11     4       script  Lcom/oracle/truffle/tools/chromeinspector/types/Script;

  private static void lambda$5(com.oracle.truffle.tools.utils.json.JSONArray, com.oracle.truffle.tools.chromeinspector.types.ScriptCoverage);
    descriptor: (Lcom/oracle/truffle/tools/utils/json/JSONArray;Lcom/oracle/truffle/tools/chromeinspector/types/ScriptCoverage;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // com.oracle.truffle.tools.chromeinspector.types.ScriptCoverage scriptCoverage
         0: .line 224
            aload 0
            aload 1 /* scriptCoverage */
            invokevirtual com.oracle.truffle.tools.chromeinspector.types.ScriptCoverage.toJSON:()Lcom/oracle/truffle/tools/utils/json/JSONObject;
            invokevirtual com.oracle.truffle.tools.utils.json.JSONArray.put:(Ljava/lang/Object;)Lcom/oracle/truffle/tools/utils/json/JSONArray;
            pop
         1: .line 225
            return
        end local 1 // com.oracle.truffle.tools.chromeinspector.types.ScriptCoverage scriptCoverage
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     1  scriptCoverage  Lcom/oracle/truffle/tools/chromeinspector/types/ScriptCoverage;

  private static int lambda$6(com.oracle.truffle.tools.chromeinspector.types.Profile$TimeLineItem, com.oracle.truffle.tools.chromeinspector.types.Profile$TimeLineItem);
    descriptor: (Lcom/oracle/truffle/tools/chromeinspector/types/Profile$TimeLineItem;Lcom/oracle/truffle/tools/chromeinspector/types/Profile$TimeLineItem;)I
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.oracle.truffle.tools.chromeinspector.types.Profile$TimeLineItem item1
        start local 1 // com.oracle.truffle.tools.chromeinspector.types.Profile$TimeLineItem item2
         0: .line 237
            aload 0 /* item1 */
            invokevirtual com.oracle.truffle.tools.chromeinspector.types.Profile$TimeLineItem.getTimestamp:()J
            aload 1 /* item2 */
            invokevirtual com.oracle.truffle.tools.chromeinspector.types.Profile$TimeLineItem.getTimestamp:()J
            invokestatic java.lang.Long.compare:(JJ)I
            ireturn
        end local 1 // com.oracle.truffle.tools.chromeinspector.types.Profile$TimeLineItem item2
        end local 0 // com.oracle.truffle.tools.chromeinspector.types.Profile$TimeLineItem item1
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  item1  Lcom/oracle/truffle/tools/chromeinspector/types/Profile$TimeLineItem;
            0    1     1  item2  Lcom/oracle/truffle/tools/chromeinspector/types/Profile$TimeLineItem;

  private static void lambda$7(java.util.Map, com.oracle.truffle.tools.chromeinspector.TypeHandler$SectionTypeProfile);
    descriptor: (Ljava/util/Map;Lcom/oracle/truffle/tools/chromeinspector/TypeHandler$SectionTypeProfile;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=2
        start local 1 // com.oracle.truffle.tools.chromeinspector.TypeHandler$SectionTypeProfile profile
         0: .line 288
            aload 0
            aload 1 /* profile */
            invokevirtual com.oracle.truffle.tools.chromeinspector.TypeHandler$SectionTypeProfile.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            invokevirtual com.oracle.truffle.api.source.SourceSection.getSource:()Lcom/oracle/truffle/api/source/Source;
            invokedynamic apply()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/tools/chromeinspector/InspectorProfiler.lambda$8(Lcom/oracle/truffle/api/source/Source;)Ljava/util/Collection; (6)
                  (Lcom/oracle/truffle/api/source/Source;)Ljava/util/Collection;
            invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast java.util.Collection
            astore 2 /* pfs */
        start local 2 // java.util.Collection pfs
         1: .line 289
            aload 2 /* pfs */
            aload 1 /* profile */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        end local 2 // java.util.Collection pfs
         2: .line 290
            return
        end local 1 // com.oracle.truffle.tools.chromeinspector.TypeHandler$SectionTypeProfile profile
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     1  profile  Lcom/oracle/truffle/tools/chromeinspector/TypeHandler$SectionTypeProfile;
            1    2     2      pfs  Ljava/util/Collection<Lcom/oracle/truffle/tools/chromeinspector/TypeHandler$SectionTypeProfile;>;

  private void lambda$9(com.oracle.truffle.tools.utils.json.JSONArray, java.util.Map$Entry);
    descriptor: (Lcom/oracle/truffle/tools/utils/json/JSONArray;Ljava/util/Map$Entry;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=7, locals=6, args_size=3
        start local 0 // com.oracle.truffle.tools.chromeinspector.InspectorProfiler this
        start local 2 // java.util.Map$Entry entry
         0: .line 293
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* entries */
        start local 3 // java.util.List entries
         1: .line 294
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.Collection
            aload 3 /* entries */
            invokedynamic accept(Ljava/util/List;)Ljava/util/function/Consumer;
              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;)V
                  com/oracle/truffle/tools/chromeinspector/InspectorProfiler.lambda$10(Ljava/util/List;Lcom/oracle/truffle/tools/chromeinspector/TypeHandler$SectionTypeProfile;)V (6)
                  (Lcom/oracle/truffle/tools/chromeinspector/TypeHandler$SectionTypeProfile;)V
            invokeinterface java.util.Collection.forEach:(Ljava/util/function/Consumer;)V
         2: .line 303
            aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.slh:Lcom/oracle/truffle/tools/chromeinspector/ScriptsHandler;
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast com.oracle.truffle.api.source.Source
            invokevirtual com.oracle.truffle.tools.chromeinspector.ScriptsHandler.getScriptId:(Lcom/oracle/truffle/api/source/Source;)I
            istore 4 /* scriptId */
        start local 4 // int scriptId
         3: .line 304
            iload 4 /* scriptId */
            ifge 4
            aconst_null
            goto 5
      StackMap locals: java.util.List int
      StackMap stack:
         4: aload 0 /* this */
            getfield com.oracle.truffle.tools.chromeinspector.InspectorProfiler.slh:Lcom/oracle/truffle/tools/chromeinspector/ScriptsHandler;
            iload 4 /* scriptId */
            invokevirtual com.oracle.truffle.tools.chromeinspector.ScriptsHandler.getScript:(I)Lcom/oracle/truffle/tools/chromeinspector/types/Script;
      StackMap locals:
      StackMap stack: com.oracle.truffle.tools.chromeinspector.types.Script
         5: astore 5 /* script */
        start local 5 // com.oracle.truffle.tools.chromeinspector.types.Script script
         6: .line 305
            aload 1
         7: new com.oracle.truffle.tools.chromeinspector.types.ScriptTypeProfile
            dup
            aload 5 /* script */
            ifnull 8
            aload 5 /* script */
            invokevirtual com.oracle.truffle.tools.chromeinspector.types.Script.getId:()I
            goto 9
      StackMap locals: com.oracle.truffle.tools.chromeinspector.InspectorProfiler com.oracle.truffle.tools.utils.json.JSONArray java.util.Map$Entry java.util.List int com.oracle.truffle.tools.chromeinspector.types.Script
      StackMap stack: com.oracle.truffle.tools.utils.json.JSONArray new 7 new 7
         8: iconst_0
      StackMap locals: com.oracle.truffle.tools.chromeinspector.InspectorProfiler com.oracle.truffle.tools.utils.json.JSONArray java.util.Map$Entry java.util.List int com.oracle.truffle.tools.chromeinspector.types.Script
      StackMap stack: com.oracle.truffle.tools.utils.json.JSONArray new 7 new 7 int
         9: aload 5 /* script */
            ifnull 10
            aload 5 /* script */
            invokevirtual com.oracle.truffle.tools.chromeinspector.types.Script.getUrl:()Ljava/lang/String;
            goto 11
      StackMap locals: com.oracle.truffle.tools.chromeinspector.InspectorProfiler com.oracle.truffle.tools.utils.json.JSONArray java.util.Map$Entry java.util.List int com.oracle.truffle.tools.chromeinspector.types.Script
      StackMap stack: com.oracle.truffle.tools.utils.json.JSONArray new 7 new 7 int
        10: ldc ""
      StackMap locals: com.oracle.truffle.tools.chromeinspector.InspectorProfiler com.oracle.truffle.tools.utils.json.JSONArray java.util.Map$Entry java.util.List int com.oracle.truffle.tools.chromeinspector.types.Script
      StackMap stack: com.oracle.truffle.tools.utils.json.JSONArray new 7 new 7 int java.lang.String
        11: aload 3 /* entries */
            aload 3 /* entries */
            invokeinterface java.util.List.size:()I
            anewarray com.oracle.truffle.tools.chromeinspector.types.TypeProfileEntry
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast com.oracle.truffle.tools.chromeinspector.types.TypeProfileEntry[]
            invokespecial com.oracle.truffle.tools.chromeinspector.types.ScriptTypeProfile.<init>:(ILjava/lang/String;[Lcom/oracle/truffle/tools/chromeinspector/types/TypeProfileEntry;)V
            invokevirtual com.oracle.truffle.tools.chromeinspector.types.ScriptTypeProfile.toJSON:()Lcom/oracle/truffle/tools/utils/json/JSONObject;
            invokevirtual com.oracle.truffle.tools.utils.json.JSONArray.put:(Ljava/lang/Object;)Lcom/oracle/truffle/tools/utils/json/JSONArray;
            pop
        end local 5 // com.oracle.truffle.tools.chromeinspector.types.Script script
        end local 4 // int scriptId
        end local 3 // java.util.List entries
        12: .line 306
            return
        end local 2 // java.util.Map$Entry entry
        end local 0 // com.oracle.truffle.tools.chromeinspector.InspectorProfiler this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      this  Lcom/oracle/truffle/tools/chromeinspector/InspectorProfiler;
            0   13     2     entry  Ljava/util/Map$Entry<Lcom/oracle/truffle/api/source/Source;Ljava/util/Collection<Lcom/oracle/truffle/tools/chromeinspector/TypeHandler$SectionTypeProfile;>;>;
            1   12     3   entries  Ljava/util/List<Lcom/oracle/truffle/tools/chromeinspector/types/TypeProfileEntry;>;
            3   12     4  scriptId  I
            6   12     5    script  Lcom/oracle/truffle/tools/chromeinspector/types/Script;

  private static java.util.Map lambda$1(com.oracle.truffle.api.source.Source);
    descriptor: (Lcom/oracle/truffle/api/source/Source;)Ljava/util/Map;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.source.Source s
         0: .line 204
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            areturn
        end local 0 // com.oracle.truffle.api.source.Source s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Lcom/oracle/truffle/api/source/Source;

  private static java.util.Collection lambda$2(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/Collection;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String t
         0: .line 205
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            areturn
        end local 0 // java.lang.String t
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     t  Ljava/lang/String;

  private static void lambda$4(java.util.List, java.util.Map$Entry);
    descriptor: (Ljava/util/List;Ljava/util/Map$Entry;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=7, locals=6, args_size=2
        start local 1 // java.util.Map$Entry rootEntry
         0: .line 212
            iconst_0
            istore 2 /* isBlockCoverage */
        start local 2 // boolean isBlockCoverage
         1: .line 213
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* ranges */
        start local 3 // java.util.List ranges
         2: .line 214
            aload 1 /* rootEntry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.Collection
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 6
      StackMap locals: java.util.List java.util.Map$Entry int java.util.List top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.truffle.tools.profiler.CPUTracer$Payload
            astore 4 /* payload */
        start local 4 // com.oracle.truffle.tools.profiler.CPUTracer$Payload payload
         4: .line 215
            iload 2 /* isBlockCoverage */
            aload 4 /* payload */
            invokevirtual com.oracle.truffle.tools.profiler.CPUTracer$Payload.getTags:()Ljava/util/Set;
            ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$StatementTag;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ior
            istore 2 /* isBlockCoverage */
         5: .line 216
            aload 3 /* ranges */
            new com.oracle.truffle.tools.chromeinspector.types.CoverageRange
            dup
            aload 4 /* payload */
            invokevirtual com.oracle.truffle.tools.profiler.CPUTracer$Payload.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            invokevirtual com.oracle.truffle.api.source.SourceSection.getCharIndex:()I
            aload 4 /* payload */
            invokevirtual com.oracle.truffle.tools.profiler.CPUTracer$Payload.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            invokevirtual com.oracle.truffle.api.source.SourceSection.getCharEndIndex:()I
            aload 4 /* payload */
            invokevirtual com.oracle.truffle.tools.profiler.CPUTracer$Payload.getCount:()J
            invokespecial com.oracle.truffle.tools.chromeinspector.types.CoverageRange.<init>:(IIJ)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // com.oracle.truffle.tools.profiler.CPUTracer$Payload payload
         6: .line 214
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         7: .line 218
            aload 0
            new com.oracle.truffle.tools.chromeinspector.types.FunctionCoverage
            dup
            aload 1 /* rootEntry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            iload 2 /* isBlockCoverage */
            aload 3 /* ranges */
            aload 3 /* ranges */
            invokeinterface java.util.List.size:()I
            anewarray com.oracle.truffle.tools.chromeinspector.types.CoverageRange
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast com.oracle.truffle.tools.chromeinspector.types.CoverageRange[]
            invokespecial com.oracle.truffle.tools.chromeinspector.types.FunctionCoverage.<init>:(Ljava/lang/String;Z[Lcom/oracle/truffle/tools/chromeinspector/types/CoverageRange;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.util.List ranges
        end local 2 // boolean isBlockCoverage
         8: .line 219
            return
        end local 1 // java.util.Map$Entry rootEntry
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    9     1        rootEntry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/Collection<Lcom/oracle/truffle/tools/profiler/CPUTracer$Payload;>;>;
            1    8     2  isBlockCoverage  Z
            2    8     3           ranges  Ljava/util/List<Lcom/oracle/truffle/tools/chromeinspector/types/CoverageRange;>;
            4    6     4          payload  Lcom/oracle/truffle/tools/profiler/CPUTracer$Payload;

  private static java.util.Collection lambda$8(com.oracle.truffle.api.source.Source);
    descriptor: (Lcom/oracle/truffle/api/source/Source;)Ljava/util/Collection;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.source.Source t
         0: .line 288
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            areturn
        end local 0 // com.oracle.truffle.api.source.Source t
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     t  Lcom/oracle/truffle/api/source/Source;

  private static void lambda$10(java.util.List, com.oracle.truffle.tools.chromeinspector.TypeHandler$SectionTypeProfile);
    descriptor: (Ljava/util/List;Lcom/oracle/truffle/tools/chromeinspector/TypeHandler$SectionTypeProfile;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=6, locals=3, args_size=2
        start local 1 // com.oracle.truffle.tools.chromeinspector.TypeHandler$SectionTypeProfile sectionProfile
         0: .line 295
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* types */
        start local 2 // java.util.List types
         1: .line 296
            aload 1 /* sectionProfile */
            invokevirtual com.oracle.truffle.tools.chromeinspector.TypeHandler$SectionTypeProfile.getTypes:()Ljava/util/Collection;
            aload 2 /* types */
            invokedynamic accept(Ljava/util/List;)Ljava/util/function/Consumer;
              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;)V
                  com/oracle/truffle/tools/chromeinspector/InspectorProfiler.lambda$11(Ljava/util/List;Ljava/lang/String;)V (6)
                  (Ljava/lang/String;)V
            invokeinterface java.util.Collection.forEach:(Ljava/util/function/Consumer;)V
         2: .line 299
            aload 2 /* types */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 4
         3: .line 300
            aload 0
            new com.oracle.truffle.tools.chromeinspector.types.TypeProfileEntry
            dup
            aload 1 /* sectionProfile */
            invokevirtual com.oracle.truffle.tools.chromeinspector.TypeHandler$SectionTypeProfile.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            invokevirtual com.oracle.truffle.api.source.SourceSection.getCharEndIndex:()I
            aload 2 /* types */
            aload 2 /* types */
            invokeinterface java.util.List.size:()I
            anewarray com.oracle.truffle.tools.chromeinspector.types.TypeObject
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast com.oracle.truffle.tools.chromeinspector.types.TypeObject[]
            invokespecial com.oracle.truffle.tools.chromeinspector.types.TypeProfileEntry.<init>:(I[Lcom/oracle/truffle/tools/chromeinspector/types/TypeObject;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 2 // java.util.List types
         4: .line 302
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.oracle.truffle.tools.chromeinspector.TypeHandler$SectionTypeProfile sectionProfile
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     1  sectionProfile  Lcom/oracle/truffle/tools/chromeinspector/TypeHandler$SectionTypeProfile;
            1    4     2           types  Ljava/util/List<Lcom/oracle/truffle/tools/chromeinspector/types/TypeObject;>;

  private static void lambda$11(java.util.List, java.lang.String);
    descriptor: (Ljava/util/List;Ljava/lang/String;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=2, args_size=2
        start local 1 // java.lang.String type
         0: .line 297
            aload 0
            new com.oracle.truffle.tools.chromeinspector.types.TypeObject
            dup
            aload 1 /* type */
            invokespecial com.oracle.truffle.tools.chromeinspector.types.TypeObject.<init>:(Ljava/lang/String;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 298
            return
        end local 1 // java.lang.String type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     1  type  Ljava/lang/String;
}
SourceFile: "InspectorProfiler.java"
InnerClasses:
  public final Builder = com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder of com.oracle.truffle.api.instrumentation.SourceSectionFilter
  public final RootTag = com.oracle.truffle.api.instrumentation.StandardTags$RootTag of com.oracle.truffle.api.instrumentation.StandardTags
  public final StatementTag = com.oracle.truffle.api.instrumentation.StandardTags$StatementTag of com.oracle.truffle.api.instrumentation.StandardTags
  public final Env = com.oracle.truffle.api.instrumentation.TruffleInstrument$Env of com.oracle.truffle.api.instrumentation.TruffleInstrument
  public abstract Provider = com.oracle.truffle.tools.chromeinspector.TypeHandler$Provider of com.oracle.truffle.tools.chromeinspector.TypeHandler
  public final SectionTypeProfile = com.oracle.truffle.tools.chromeinspector.TypeHandler$SectionTypeProfile of com.oracle.truffle.tools.chromeinspector.TypeHandler
  public final TimeLineItem = com.oracle.truffle.tools.chromeinspector.types.Profile$TimeLineItem of com.oracle.truffle.tools.chromeinspector.types.Profile
  public final Mode = com.oracle.truffle.tools.profiler.CPUSampler$Mode of com.oracle.truffle.tools.profiler.CPUSampler
  public final Payload = com.oracle.truffle.tools.profiler.CPUSampler$Payload of com.oracle.truffle.tools.profiler.CPUSampler
  public final Payload = com.oracle.truffle.tools.profiler.CPUTracer$Payload of com.oracle.truffle.tools.profiler.CPUTracer
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Entry = java.util.Map$Entry of java.util.Map