public class com.oracle.svm.hosted.dashboard.DashboardDumpFeature implements org.graalvm.nativeimage.hosted.Feature
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.svm.hosted.dashboard.DashboardDumpFeature
  super_class: java.lang.Object
{
  private final com.oracle.svm.hosted.dashboard.ToJson dumper;
    descriptor: Lcom/oracle/svm/hosted/dashboard/ToJson;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static boolean isHeapBreakdownDumped();
    descriptor: ()Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 51
            getstatic com.oracle.svm.hosted.dashboard.DashboardOptions.DashboardAll:Lcom/oracle/svm/core/option/HostedOptionKey;
            invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifne 1
            getstatic com.oracle.svm.hosted.dashboard.DashboardOptions.DashboardHeap:Lcom/oracle/svm/core/option/HostedOptionKey;
            invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static boolean isPointsToDumped();
    descriptor: ()Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 55
            getstatic com.oracle.svm.hosted.dashboard.DashboardOptions.DashboardAll:Lcom/oracle/svm/core/option/HostedOptionKey;
            invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifne 1
            getstatic com.oracle.svm.hosted.dashboard.DashboardOptions.DashboardPointsTo:Lcom/oracle/svm/core/option/HostedOptionKey;
            invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static boolean isCodeBreakdownDumped();
    descriptor: ()Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 59
            getstatic com.oracle.svm.hosted.dashboard.DashboardOptions.DashboardAll:Lcom/oracle/svm/core/option/HostedOptionKey;
            invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifne 1
            getstatic com.oracle.svm.hosted.dashboard.DashboardOptions.DashboardCode:Lcom/oracle/svm/core/option/HostedOptionKey;
            invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static boolean isBgvFormat();
    descriptor: ()Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 63
            getstatic com.oracle.svm.hosted.dashboard.DashboardOptions.DashboardBgv:Lcom/oracle/svm/core/option/HostedOptionKey;
            invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static boolean isJsonFormat();
    descriptor: ()Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 67
            getstatic com.oracle.svm.hosted.dashboard.DashboardOptions.DashboardJson:Lcom/oracle/svm/core/option/HostedOptionKey;
            invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifne 1
            invokestatic com.oracle.svm.hosted.dashboard.DashboardDumpFeature.isPretty:()Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static boolean isPretty();
    descriptor: ()Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 71
            getstatic com.oracle.svm.hosted.dashboard.DashboardOptions.DashboardPretty:Lcom/oracle/svm/core/option/HostedOptionKey;
            invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.nio.file.Path getFile(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/nio/file/Path;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.lang.String extension
         0: .line 77
            new java.io.File
            dup
            new java.lang.StringBuilder
            dup
            getstatic com.oracle.svm.hosted.dashboard.DashboardOptions.DashboardDump:Lcom/oracle/svm/core/option/HostedOptionKey;
            invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* extension */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual java.io.File.getAbsoluteFile:()Ljava/io/File;
            invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
            areturn
        end local 0 // java.lang.String extension
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  extension  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      extension  

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.oracle.svm.hosted.dashboard.DashboardDumpFeature this
         0: .line 80
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 81
            invokestatic com.oracle.svm.hosted.dashboard.DashboardDumpFeature.isSane:()Z
            ifeq 10
         2: .line 82
            invokestatic com.oracle.svm.hosted.dashboard.DashboardDumpFeature.isJsonFormat:()Z
            ifeq 6
         3: .line 83
            aload 0 /* this */
            new com.oracle.svm.hosted.dashboard.ToJson
            dup
            invokestatic com.oracle.svm.hosted.dashboard.DashboardDumpFeature.isPretty:()Z
            invokespecial com.oracle.svm.hosted.dashboard.ToJson.<init>:(Z)V
            putfield com.oracle.svm.hosted.dashboard.DashboardDumpFeature.dumper:Lcom/oracle/svm/hosted/dashboard/ToJson;
         4: .line 84
            ldc "Dashboard JSON dump header"
            ldc "dump"
            invokestatic com.oracle.svm.hosted.dashboard.DashboardDumpFeature.getFile:(Ljava/lang/String;)Ljava/nio/file/Path;
            iconst_0
            aload 0 /* this */
            invokedynamic accept(Lcom/oracle/svm/hosted/dashboard/DashboardDumpFeature;)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/svm/hosted/dashboard/DashboardDumpFeature.lambda$0(Ljava/io/OutputStream;)V (7)
                  (Ljava/io/OutputStream;)V
            invokestatic com.oracle.graal.pointsto.reports.ReportUtils.report:(Ljava/lang/String;Ljava/nio/file/Path;ZLjava/util/function/Consumer;)V
         5: .line 89
            goto 7
         6: .line 90
      StackMap locals: com.oracle.svm.hosted.dashboard.DashboardDumpFeature
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield com.oracle.svm.hosted.dashboard.DashboardDumpFeature.dumper:Lcom/oracle/svm/hosted/dashboard/ToJson;
         7: .line 92
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.svm.hosted.dashboard.DashboardDumpFeature.isBgvFormat:()Z
            ifeq 11
         8: .line 93
            ldc "Dashboard BGV dump header"
            ldc "bgv"
            invokestatic com.oracle.svm.hosted.dashboard.DashboardDumpFeature.getFile:(Ljava/lang/String;)Ljava/nio/file/Path;
            iconst_0
            invokedynamic accept()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/svm/hosted/dashboard/DashboardDumpFeature.lambda$1(Ljava/io/OutputStream;)V (6)
                  (Ljava/io/OutputStream;)V
            invokestatic com.oracle.graal.pointsto.reports.ReportUtils.report:(Ljava/lang/String;Ljava/nio/file/Path;ZLjava/util/function/Consumer;)V
         9: .line 101
            goto 11
        10: .line 102
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield com.oracle.svm.hosted.dashboard.DashboardDumpFeature.dumper:Lcom/oracle/svm/hosted/dashboard/ToJson;
        11: .line 104
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.oracle.svm.hosted.dashboard.DashboardDumpFeature this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lcom/oracle/svm/hosted/dashboard/DashboardDumpFeature;

  public boolean isInConfiguration(org.graalvm.nativeimage.hosted.Feature$IsInConfigurationAccess);
    descriptor: (Lorg/graalvm/nativeimage/hosted/Feature$IsInConfigurationAccess;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.svm.hosted.dashboard.DashboardDumpFeature this
        start local 1 // org.graalvm.nativeimage.hosted.Feature$IsInConfigurationAccess access
         0: .line 108
            invokestatic com.oracle.svm.hosted.dashboard.DashboardDumpFeature.isSane:()Z
            ireturn
        end local 1 // org.graalvm.nativeimage.hosted.Feature$IsInConfigurationAccess access
        end local 0 // com.oracle.svm.hosted.dashboard.DashboardDumpFeature this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/oracle/svm/hosted/dashboard/DashboardDumpFeature;
            0    1     1  access  Lorg/graalvm/nativeimage/hosted/Feature$IsInConfigurationAccess;
    MethodParameters:
        Name  Flags
      access  

  private static boolean isSane();
    descriptor: ()Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 112
            getstatic com.oracle.svm.hosted.dashboard.DashboardOptions.DashboardDump:Lcom/oracle/svm/core/option/HostedOptionKey;
            invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
            ifnull 2
            invokestatic com.oracle.svm.hosted.dashboard.DashboardDumpFeature.isHeapBreakdownDumped:()Z
            ifne 1
            invokestatic com.oracle.svm.hosted.dashboard.DashboardDumpFeature.isPointsToDumped:()Z
            ifne 1
            invokestatic com.oracle.svm.hosted.dashboard.DashboardDumpFeature.isCodeBreakdownDumped:()Z
            ifeq 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void onAnalysisExit(org.graalvm.nativeimage.hosted.Feature$OnAnalysisExitAccess);
    descriptor: (Lorg/graalvm/nativeimage/hosted/Feature$OnAnalysisExitAccess;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.oracle.svm.hosted.dashboard.DashboardDumpFeature this
        start local 1 // org.graalvm.nativeimage.hosted.Feature$OnAnalysisExitAccess access
         0: .line 117
            invokestatic com.oracle.svm.hosted.dashboard.DashboardDumpFeature.isPointsToDumped:()Z
            ifeq 13
         1: .line 118
            invokestatic com.oracle.svm.hosted.dashboard.DashboardDumpFeature.isJsonFormat:()Z
            ifeq 7
         2: .line 120
            ldc "Dashboard PointsTo analysis JSON dump"
         3: .line 121
            ldc "dump"
            invokestatic com.oracle.svm.hosted.dashboard.DashboardDumpFeature.getFile:(Ljava/lang/String;)Ljava/nio/file/Path;
         4: .line 122
            iconst_1
         5: .line 123
            aload 0 /* this */
            aload 1 /* access */
            invokedynamic accept(Lcom/oracle/svm/hosted/dashboard/DashboardDumpFeature;Lorg/graalvm/nativeimage/hosted/Feature$OnAnalysisExitAccess;)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/svm/hosted/dashboard/DashboardDumpFeature.lambda$2(Lorg/graalvm/nativeimage/hosted/Feature$OnAnalysisExitAccess;Ljava/io/OutputStream;)V (7)
                  (Ljava/io/OutputStream;)V
         6: .line 119
            invokestatic com.oracle.graal.pointsto.reports.ReportUtils.report:(Ljava/lang/String;Ljava/nio/file/Path;ZLjava/util/function/Consumer;)V
         7: .line 129
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.svm.hosted.dashboard.DashboardDumpFeature.isBgvFormat:()Z
            ifeq 13
         8: .line 131
            ldc "Dashboard PointsTo analysis BGV dump"
         9: .line 132
            ldc "bgv"
            invokestatic com.oracle.svm.hosted.dashboard.DashboardDumpFeature.getFile:(Ljava/lang/String;)Ljava/nio/file/Path;
        10: .line 133
            iconst_1
        11: .line 134
            aload 1 /* access */
            invokedynamic accept(Lorg/graalvm/nativeimage/hosted/Feature$OnAnalysisExitAccess;)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/svm/hosted/dashboard/DashboardDumpFeature.lambda$3(Lorg/graalvm/nativeimage/hosted/Feature$OnAnalysisExitAccess;Ljava/io/OutputStream;)V (6)
                  (Ljava/io/OutputStream;)V
        12: .line 130
            invokestatic com.oracle.graal.pointsto.reports.ReportUtils.report:(Ljava/lang/String;Ljava/nio/file/Path;ZLjava/util/function/Consumer;)V
        13: .line 145
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.nativeimage.hosted.Feature$OnAnalysisExitAccess access
        end local 0 // com.oracle.svm.hosted.dashboard.DashboardDumpFeature this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    this  Lcom/oracle/svm/hosted/dashboard/DashboardDumpFeature;
            0   14     1  access  Lorg/graalvm/nativeimage/hosted/Feature$OnAnalysisExitAccess;
    MethodParameters:
        Name  Flags
      access  

  public void afterCompilation(org.graalvm.nativeimage.hosted.Feature$AfterCompilationAccess);
    descriptor: (Lorg/graalvm/nativeimage/hosted/Feature$AfterCompilationAccess;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // com.oracle.svm.hosted.dashboard.DashboardDumpFeature this
        start local 1 // org.graalvm.nativeimage.hosted.Feature$AfterCompilationAccess access
         0: .line 149
            invokestatic com.oracle.svm.hosted.dashboard.DashboardDumpFeature.isCodeBreakdownDumped:()Z
            ifne 1
            invokestatic com.oracle.svm.hosted.dashboard.DashboardDumpFeature.isPointsToDumped:()Z
            ifeq 14
         1: .line 150
      StackMap locals:
      StackMap stack:
            new com.oracle.svm.hosted.dashboard.CodeBreakdownJsonObject
            dup
            aload 1 /* access */
            invokespecial com.oracle.svm.hosted.dashboard.CodeBreakdownJsonObject.<init>:(Lorg/graalvm/nativeimage/hosted/Feature$AfterCompilationAccess;)V
            astore 2 /* dump */
        start local 2 // com.oracle.svm.hosted.dashboard.CodeBreakdownJsonObject dump
         2: .line 151
            invokestatic com.oracle.svm.hosted.dashboard.DashboardDumpFeature.isJsonFormat:()Z
            ifeq 8
         3: .line 153
            ldc "Dashboard Code-Breakdown JSON dump"
         4: .line 154
            ldc "dump"
            invokestatic com.oracle.svm.hosted.dashboard.DashboardDumpFeature.getFile:(Ljava/lang/String;)Ljava/nio/file/Path;
         5: .line 155
            iconst_1
         6: .line 156
            aload 0 /* this */
            aload 2 /* dump */
            invokedynamic accept(Lcom/oracle/svm/hosted/dashboard/DashboardDumpFeature;Lcom/oracle/svm/hosted/dashboard/CodeBreakdownJsonObject;)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/svm/hosted/dashboard/DashboardDumpFeature.lambda$4(Lcom/oracle/svm/hosted/dashboard/CodeBreakdownJsonObject;Ljava/io/OutputStream;)V (7)
                  (Ljava/io/OutputStream;)V
         7: .line 152
            invokestatic com.oracle.graal.pointsto.reports.ReportUtils.report:(Ljava/lang/String;Ljava/nio/file/Path;ZLjava/util/function/Consumer;)V
         8: .line 162
      StackMap locals: com.oracle.svm.hosted.dashboard.CodeBreakdownJsonObject
      StackMap stack:
            invokestatic com.oracle.svm.hosted.dashboard.DashboardDumpFeature.isBgvFormat:()Z
            ifeq 14
         9: .line 164
            ldc "Dashboard Code-Breakdown BGV dump"
        10: .line 165
            ldc "bgv"
            invokestatic com.oracle.svm.hosted.dashboard.DashboardDumpFeature.getFile:(Ljava/lang/String;)Ljava/nio/file/Path;
        11: .line 166
            iconst_1
        12: .line 167
            aload 2 /* dump */
            aload 1 /* access */
            invokedynamic accept(Lcom/oracle/svm/hosted/dashboard/CodeBreakdownJsonObject;Lorg/graalvm/nativeimage/hosted/Feature$AfterCompilationAccess;)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/svm/hosted/dashboard/DashboardDumpFeature.lambda$5(Lcom/oracle/svm/hosted/dashboard/CodeBreakdownJsonObject;Lorg/graalvm/nativeimage/hosted/Feature$AfterCompilationAccess;Ljava/io/OutputStream;)V (6)
                  (Ljava/io/OutputStream;)V
        13: .line 163
            invokestatic com.oracle.graal.pointsto.reports.ReportUtils.report:(Ljava/lang/String;Ljava/nio/file/Path;ZLjava/util/function/Consumer;)V
        end local 2 // com.oracle.svm.hosted.dashboard.CodeBreakdownJsonObject dump
        14: .line 178
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.nativeimage.hosted.Feature$AfterCompilationAccess access
        end local 0 // com.oracle.svm.hosted.dashboard.DashboardDumpFeature this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   15     0    this  Lcom/oracle/svm/hosted/dashboard/DashboardDumpFeature;
            0   15     1  access  Lorg/graalvm/nativeimage/hosted/Feature$AfterCompilationAccess;
            2   14     2    dump  Lcom/oracle/svm/hosted/dashboard/CodeBreakdownJsonObject;
    MethodParameters:
        Name  Flags
      access  

  public void afterHeapLayout(org.graalvm.nativeimage.hosted.Feature$AfterHeapLayoutAccess);
    descriptor: (Lorg/graalvm/nativeimage/hosted/Feature$AfterHeapLayoutAccess;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // com.oracle.svm.hosted.dashboard.DashboardDumpFeature this
        start local 1 // org.graalvm.nativeimage.hosted.Feature$AfterHeapLayoutAccess access
         0: .line 182
            invokestatic com.oracle.svm.hosted.dashboard.DashboardDumpFeature.isHeapBreakdownDumped:()Z
            ifeq 14
         1: .line 183
            new com.oracle.svm.hosted.dashboard.HeapBreakdownJsonObject
            dup
            aload 1 /* access */
            invokespecial com.oracle.svm.hosted.dashboard.HeapBreakdownJsonObject.<init>:(Lorg/graalvm/nativeimage/hosted/Feature$AfterHeapLayoutAccess;)V
            astore 2 /* dump */
        start local 2 // com.oracle.svm.hosted.dashboard.HeapBreakdownJsonObject dump
         2: .line 184
            invokestatic com.oracle.svm.hosted.dashboard.DashboardDumpFeature.isJsonFormat:()Z
            ifeq 8
         3: .line 186
            ldc "Dashboard Heap-Breakdown JSON dump"
         4: .line 187
            ldc "dump"
            invokestatic com.oracle.svm.hosted.dashboard.DashboardDumpFeature.getFile:(Ljava/lang/String;)Ljava/nio/file/Path;
         5: .line 188
            iconst_1
         6: .line 189
            aload 0 /* this */
            aload 2 /* dump */
            invokedynamic accept(Lcom/oracle/svm/hosted/dashboard/DashboardDumpFeature;Lcom/oracle/svm/hosted/dashboard/HeapBreakdownJsonObject;)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/svm/hosted/dashboard/DashboardDumpFeature.lambda$6(Lcom/oracle/svm/hosted/dashboard/HeapBreakdownJsonObject;Ljava/io/OutputStream;)V (7)
                  (Ljava/io/OutputStream;)V
         7: .line 185
            invokestatic com.oracle.graal.pointsto.reports.ReportUtils.report:(Ljava/lang/String;Ljava/nio/file/Path;ZLjava/util/function/Consumer;)V
         8: .line 195
      StackMap locals: com.oracle.svm.hosted.dashboard.HeapBreakdownJsonObject
      StackMap stack:
            invokestatic com.oracle.svm.hosted.dashboard.DashboardDumpFeature.isBgvFormat:()Z
            ifeq 14
         9: .line 197
            ldc "Dashboard Heap-Breakdown BGV dump"
        10: .line 198
            ldc "bgv"
            invokestatic com.oracle.svm.hosted.dashboard.DashboardDumpFeature.getFile:(Ljava/lang/String;)Ljava/nio/file/Path;
        11: .line 199
            iconst_1
        12: .line 200
            aload 2 /* dump */
            aload 1 /* access */
            invokedynamic accept(Lcom/oracle/svm/hosted/dashboard/HeapBreakdownJsonObject;Lorg/graalvm/nativeimage/hosted/Feature$AfterHeapLayoutAccess;)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/svm/hosted/dashboard/DashboardDumpFeature.lambda$7(Lcom/oracle/svm/hosted/dashboard/HeapBreakdownJsonObject;Lorg/graalvm/nativeimage/hosted/Feature$AfterHeapLayoutAccess;Ljava/io/OutputStream;)V (6)
                  (Ljava/io/OutputStream;)V
        13: .line 196
            invokestatic com.oracle.graal.pointsto.reports.ReportUtils.report:(Ljava/lang/String;Ljava/nio/file/Path;ZLjava/util/function/Consumer;)V
        end local 2 // com.oracle.svm.hosted.dashboard.HeapBreakdownJsonObject dump
        14: .line 211
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.nativeimage.hosted.Feature$AfterHeapLayoutAccess access
        end local 0 // com.oracle.svm.hosted.dashboard.DashboardDumpFeature this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   15     0    this  Lcom/oracle/svm/hosted/dashboard/DashboardDumpFeature;
            0   15     1  access  Lorg/graalvm/nativeimage/hosted/Feature$AfterHeapLayoutAccess;
            2   14     2    dump  Lcom/oracle/svm/hosted/dashboard/HeapBreakdownJsonObject;
    MethodParameters:
        Name  Flags
      access  

  public void cleanup();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.oracle.svm.hosted.dashboard.DashboardDumpFeature this
         0: .line 215
            invokestatic com.oracle.svm.hosted.dashboard.DashboardDumpFeature.isJsonFormat:()Z
            ifeq 6
         1: .line 217
            ldc "Dashboard JSON dump end"
         2: .line 218
            ldc "dump"
            invokestatic com.oracle.svm.hosted.dashboard.DashboardDumpFeature.getFile:(Ljava/lang/String;)Ljava/nio/file/Path;
         3: .line 219
            iconst_1
         4: .line 220
            aload 0 /* this */
            invokedynamic accept(Lcom/oracle/svm/hosted/dashboard/DashboardDumpFeature;)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/svm/hosted/dashboard/DashboardDumpFeature.lambda$8(Ljava/io/OutputStream;)V (7)
                  (Ljava/io/OutputStream;)V
         5: .line 216
            invokestatic com.oracle.graal.pointsto.reports.ReportUtils.report:(Ljava/lang/String;Ljava/nio/file/Path;ZLjava/util/function/Consumer;)V
         6: .line 226
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Print of Dashboard dump output ended."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         7: .line 227
            return
        end local 0 // com.oracle.svm.hosted.dashboard.DashboardDumpFeature this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/oracle/svm/hosted/dashboard/DashboardDumpFeature;

  private void lambda$0(java.io.OutputStream);
    descriptor: (Ljava/io/OutputStream;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // com.oracle.svm.hosted.dashboard.DashboardDumpFeature this
        start local 1 // java.io.OutputStream os
         0: .line 85
            aconst_null
            astore 2
            aconst_null
            astore 3
         1: new java.io.PrintWriter
            dup
            aload 1 /* os */
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/OutputStream;)V
            astore 4 /* pw */
        start local 4 // java.io.PrintWriter pw
         2: .line 86
            aload 0 /* this */
            getfield com.oracle.svm.hosted.dashboard.DashboardDumpFeature.dumper:Lcom/oracle/svm/hosted/dashboard/ToJson;
            aload 4 /* pw */
            invokevirtual com.oracle.svm.hosted.dashboard.ToJson.printHeader:(Ljava/io/PrintWriter;)V
         3: .line 87
            aload 4 /* pw */
            ifnull 9
            aload 4 /* pw */
            invokevirtual java.io.PrintWriter.close:()V
            goto 9
      StackMap locals: com.oracle.svm.hosted.dashboard.DashboardDumpFeature java.io.OutputStream java.lang.Throwable java.lang.Throwable java.io.PrintWriter
      StackMap stack: java.lang.Throwable
         4: astore 2
            aload 4 /* pw */
            ifnull 5
            aload 4 /* pw */
            invokevirtual java.io.PrintWriter.close:()V
        end local 4 // java.io.PrintWriter pw
      StackMap locals:
      StackMap stack:
         5: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: astore 3
            aload 2
            ifnonnull 7
            aload 3
            astore 2
            goto 8
      StackMap locals:
      StackMap stack:
         7: aload 2
            aload 3
            if_acmpeq 8
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
         8: aload 2
            athrow
         9: .line 88
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.io.OutputStream os
        end local 0 // com.oracle.svm.hosted.dashboard.DashboardDumpFeature this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lcom/oracle/svm/hosted/dashboard/DashboardDumpFeature;
            0   10     1    os  Ljava/io/OutputStream;
            2    5     4    pw  Ljava/io/PrintWriter;
      Exception table:
        from    to  target  type
           2     3       4  any
           1     6       6  any

  private static void lambda$1(java.io.OutputStream);
    descriptor: (Ljava/io/OutputStream;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.io.OutputStream os
         0: .line 95
            getstatic com.oracle.svm.hosted.dashboard.DashboardDumpFeature$VoidGraphStructure.INSTANCE:Lorg/graalvm/graphio/GraphStructure;
            invokestatic org.graalvm.graphio.GraphOutput.newBuilder:(Lorg/graalvm/graphio/GraphStructure;)Lorg/graalvm/graphio/GraphOutput$Builder;
            aload 0 /* os */
            invokestatic java.nio.channels.Channels.newChannel:(Ljava/io/OutputStream;)Ljava/nio/channels/WritableByteChannel;
            invokevirtual org.graalvm.graphio.GraphOutput$Builder.build:(Ljava/nio/channels/WritableByteChannel;)Lorg/graalvm/graphio/GraphOutput;
            invokevirtual org.graalvm.graphio.GraphOutput.close:()V
         1: .line 96
            goto 4
      StackMap locals:
      StackMap stack: java.io.IOException
         2: astore 1 /* ex */
        start local 1 // java.io.IOException ex
         3: .line 97
            ldc Lcom/oracle/svm/hosted/dashboard/DashboardDumpFeature;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.util.logging.Logger.getLogger:(Ljava/lang/String;)Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.SEVERE:Ljava/util/logging/Level;
            aconst_null
            aload 1 /* ex */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 1 // java.io.IOException ex
         4: .line 99
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.io.OutputStream os
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0    os  Ljava/io/OutputStream;
            3    4     1    ex  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException

  private void lambda$2(org.graalvm.nativeimage.hosted.Feature$OnAnalysisExitAccess, java.io.OutputStream);
    descriptor: (Lorg/graalvm/nativeimage/hosted/Feature$OnAnalysisExitAccess;Ljava/io/OutputStream;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=6, locals=6, args_size=3
        start local 0 // com.oracle.svm.hosted.dashboard.DashboardDumpFeature this
        start local 2 // java.io.OutputStream os
         0: .line 124
            aconst_null
            astore 3
            aconst_null
            astore 4
         1: new java.io.PrintWriter
            dup
            aload 2 /* os */
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/OutputStream;)V
            astore 5 /* pw */
        start local 5 // java.io.PrintWriter pw
         2: .line 125
            aload 0 /* this */
            getfield com.oracle.svm.hosted.dashboard.DashboardDumpFeature.dumper:Lcom/oracle/svm/hosted/dashboard/ToJson;
            aload 5 /* pw */
            ldc "points-to"
            new com.oracle.svm.hosted.dashboard.PointsToJsonObject
            dup
            aload 1
            invokespecial com.oracle.svm.hosted.dashboard.PointsToJsonObject.<init>:(Lorg/graalvm/nativeimage/hosted/Feature$OnAnalysisExitAccess;)V
            invokevirtual com.oracle.svm.hosted.dashboard.ToJson.put:(Ljava/io/PrintWriter;Ljava/lang/String;Lcom/oracle/svm/hosted/dashboard/ToJson$JsonValue;)V
         3: .line 126
            aload 5 /* pw */
            ifnull 9
            aload 5 /* pw */
            invokevirtual java.io.PrintWriter.close:()V
            goto 9
      StackMap locals: com.oracle.svm.hosted.dashboard.DashboardDumpFeature org.graalvm.nativeimage.hosted.Feature$OnAnalysisExitAccess java.io.OutputStream java.lang.Throwable java.lang.Throwable java.io.PrintWriter
      StackMap stack: java.lang.Throwable
         4: astore 3
            aload 5 /* pw */
            ifnull 5
            aload 5 /* pw */
            invokevirtual java.io.PrintWriter.close:()V
        end local 5 // java.io.PrintWriter pw
      StackMap locals:
      StackMap stack:
         5: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: astore 4
            aload 3
            ifnonnull 7
            aload 4
            astore 3
            goto 8
      StackMap locals:
      StackMap stack:
         7: aload 3
            aload 4
            if_acmpeq 8
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
         8: aload 3
            athrow
         9: .line 127
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.io.OutputStream os
        end local 0 // com.oracle.svm.hosted.dashboard.DashboardDumpFeature this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lcom/oracle/svm/hosted/dashboard/DashboardDumpFeature;
            0   10     2    os  Ljava/io/OutputStream;
            2    5     5    pw  Ljava/io/PrintWriter;
      Exception table:
        from    to  target  type
           2     3       4  any
           1     6       6  any

  private static void lambda$3(org.graalvm.nativeimage.hosted.Feature$OnAnalysisExitAccess, java.io.OutputStream);
    descriptor: (Lorg/graalvm/nativeimage/hosted/Feature$OnAnalysisExitAccess;Ljava/io/OutputStream;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=7, locals=5, args_size=2
        start local 1 // java.io.OutputStream os
         0: .line 135
            aconst_null
            astore 2
            aconst_null
            astore 3
         1: getstatic com.oracle.svm.hosted.dashboard.DashboardDumpFeature$VoidGraphStructure.INSTANCE:Lorg/graalvm/graphio/GraphStructure;
            invokestatic org.graalvm.graphio.GraphOutput.newBuilder:(Lorg/graalvm/graphio/GraphStructure;)Lorg/graalvm/graphio/GraphOutput$Builder;
            iconst_1
            invokevirtual org.graalvm.graphio.GraphOutput$Builder.embedded:(Z)Lorg/graalvm/graphio/GraphOutput$Builder;
            aload 1 /* os */
            invokestatic java.nio.channels.Channels.newChannel:(Ljava/io/OutputStream;)Ljava/nio/channels/WritableByteChannel;
            invokevirtual org.graalvm.graphio.GraphOutput$Builder.build:(Ljava/nio/channels/WritableByteChannel;)Lorg/graalvm/graphio/GraphOutput;
            astore 4 /* out */
        start local 4 // org.graalvm.graphio.GraphOutput out
         2: .line 136
            aload 4 /* out */
            aconst_null
            ldc "points-to"
            aconst_null
            aconst_null
            iconst_0
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokevirtual org.graalvm.graphio.GraphOutput.beginGroup:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;ILjava/util/Map;)V
         3: .line 137
            new com.oracle.svm.hosted.dashboard.PointsToJsonObject
            dup
            aload 0
            invokespecial com.oracle.svm.hosted.dashboard.PointsToJsonObject.<init>:(Lorg/graalvm/nativeimage/hosted/Feature$OnAnalysisExitAccess;)V
            aload 4 /* out */
            invokevirtual com.oracle.svm.hosted.dashboard.PointsToJsonObject.dump:(Lorg/graalvm/graphio/GraphOutput;)V
         4: .line 138
            aload 4 /* out */
            invokevirtual org.graalvm.graphio.GraphOutput.endGroup:()V
         5: .line 139
            aload 4 /* out */
            ifnull 13
            aload 4 /* out */
            invokevirtual org.graalvm.graphio.GraphOutput.close:()V
            goto 13
      StackMap locals: org.graalvm.nativeimage.hosted.Feature$OnAnalysisExitAccess java.io.OutputStream java.lang.Throwable java.lang.Throwable org.graalvm.graphio.GraphOutput
      StackMap stack: java.lang.Throwable
         6: astore 2
            aload 4 /* out */
            ifnull 7
            aload 4 /* out */
            invokevirtual org.graalvm.graphio.GraphOutput.close:()V
        end local 4 // org.graalvm.graphio.GraphOutput out
      StackMap locals:
      StackMap stack:
         7: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: astore 3
            aload 2
            ifnonnull 9
            aload 3
            astore 2
            goto 10
      StackMap locals:
      StackMap stack:
         9: aload 2
            aload 3
            if_acmpeq 10
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        10: aload 2
            athrow
      StackMap locals: org.graalvm.nativeimage.hosted.Feature$OnAnalysisExitAccess java.io.OutputStream
      StackMap stack: java.io.IOException
        11: astore 2 /* ex */
        start local 2 // java.io.IOException ex
        12: .line 140
            aload 0
            checkcast com.oracle.svm.hosted.FeatureImpl$OnAnalysisExitAccessImpl
            invokevirtual com.oracle.svm.hosted.FeatureImpl$OnAnalysisExitAccessImpl.getDebugContext:()Lorg/graalvm/compiler/debug/DebugContext;
            ldc "Dump of PointsTo analysis failed with: %s"
            aload 2 /* ex */
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 2 // java.io.IOException ex
        13: .line 142
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.io.OutputStream os
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     1    os  Ljava/io/OutputStream;
            2    7     4   out  Lorg/graalvm/graphio/GraphOutput<**>;
           12   13     2    ex  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           2     5       6  any
           1     8       8  any
           0    11      11  Class java.io.IOException

  private void lambda$4(com.oracle.svm.hosted.dashboard.CodeBreakdownJsonObject, java.io.OutputStream);
    descriptor: (Lcom/oracle/svm/hosted/dashboard/CodeBreakdownJsonObject;Ljava/io/OutputStream;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // com.oracle.svm.hosted.dashboard.DashboardDumpFeature this
        start local 2 // java.io.OutputStream os
         0: .line 157
            aconst_null
            astore 3
            aconst_null
            astore 4
         1: new java.io.PrintWriter
            dup
            aload 2 /* os */
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/OutputStream;)V
            astore 5 /* pw */
        start local 5 // java.io.PrintWriter pw
         2: .line 158
            aload 0 /* this */
            getfield com.oracle.svm.hosted.dashboard.DashboardDumpFeature.dumper:Lcom/oracle/svm/hosted/dashboard/ToJson;
            aload 5 /* pw */
            ldc "code-breakdown"
            aload 1
            invokevirtual com.oracle.svm.hosted.dashboard.ToJson.put:(Ljava/io/PrintWriter;Ljava/lang/String;Lcom/oracle/svm/hosted/dashboard/ToJson$JsonValue;)V
         3: .line 159
            aload 5 /* pw */
            ifnull 9
            aload 5 /* pw */
            invokevirtual java.io.PrintWriter.close:()V
            goto 9
      StackMap locals: com.oracle.svm.hosted.dashboard.DashboardDumpFeature com.oracle.svm.hosted.dashboard.CodeBreakdownJsonObject java.io.OutputStream java.lang.Throwable java.lang.Throwable java.io.PrintWriter
      StackMap stack: java.lang.Throwable
         4: astore 3
            aload 5 /* pw */
            ifnull 5
            aload 5 /* pw */
            invokevirtual java.io.PrintWriter.close:()V
        end local 5 // java.io.PrintWriter pw
      StackMap locals:
      StackMap stack:
         5: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: astore 4
            aload 3
            ifnonnull 7
            aload 4
            astore 3
            goto 8
      StackMap locals:
      StackMap stack:
         7: aload 3
            aload 4
            if_acmpeq 8
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
         8: aload 3
            athrow
         9: .line 160
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.io.OutputStream os
        end local 0 // com.oracle.svm.hosted.dashboard.DashboardDumpFeature this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lcom/oracle/svm/hosted/dashboard/DashboardDumpFeature;
            0   10     2    os  Ljava/io/OutputStream;
            2    5     5    pw  Ljava/io/PrintWriter;
      Exception table:
        from    to  target  type
           2     3       4  any
           1     6       6  any

  private static void lambda$5(com.oracle.svm.hosted.dashboard.CodeBreakdownJsonObject, org.graalvm.nativeimage.hosted.Feature$AfterCompilationAccess, java.io.OutputStream);
    descriptor: (Lcom/oracle/svm/hosted/dashboard/CodeBreakdownJsonObject;Lorg/graalvm/nativeimage/hosted/Feature$AfterCompilationAccess;Ljava/io/OutputStream;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=7, locals=6, args_size=3
        start local 2 // java.io.OutputStream os
         0: .line 168
            aconst_null
            astore 3
            aconst_null
            astore 4
         1: getstatic com.oracle.svm.hosted.dashboard.DashboardDumpFeature$VoidGraphStructure.INSTANCE:Lorg/graalvm/graphio/GraphStructure;
            invokestatic org.graalvm.graphio.GraphOutput.newBuilder:(Lorg/graalvm/graphio/GraphStructure;)Lorg/graalvm/graphio/GraphOutput$Builder;
            iconst_1
            invokevirtual org.graalvm.graphio.GraphOutput$Builder.embedded:(Z)Lorg/graalvm/graphio/GraphOutput$Builder;
            aload 2 /* os */
            invokestatic java.nio.channels.Channels.newChannel:(Ljava/io/OutputStream;)Ljava/nio/channels/WritableByteChannel;
            invokevirtual org.graalvm.graphio.GraphOutput$Builder.build:(Ljava/nio/channels/WritableByteChannel;)Lorg/graalvm/graphio/GraphOutput;
            astore 5 /* out */
        start local 5 // org.graalvm.graphio.GraphOutput out
         2: .line 169
            aload 0
            invokevirtual com.oracle.svm.hosted.dashboard.CodeBreakdownJsonObject.build:()V
         3: .line 170
            aload 5 /* out */
            aconst_null
            ldc "code-breakdown"
            aconst_null
            aconst_null
            iconst_0
            aload 0
            invokevirtual com.oracle.svm.hosted.dashboard.CodeBreakdownJsonObject.getData:()Ljava/util/Map;
            invokevirtual org.graalvm.graphio.GraphOutput.beginGroup:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;ILjava/util/Map;)V
         4: .line 171
            aload 5 /* out */
            invokevirtual org.graalvm.graphio.GraphOutput.endGroup:()V
         5: .line 172
            aload 5 /* out */
            ifnull 13
            aload 5 /* out */
            invokevirtual org.graalvm.graphio.GraphOutput.close:()V
            goto 13
      StackMap locals: com.oracle.svm.hosted.dashboard.CodeBreakdownJsonObject org.graalvm.nativeimage.hosted.Feature$AfterCompilationAccess java.io.OutputStream java.lang.Throwable java.lang.Throwable org.graalvm.graphio.GraphOutput
      StackMap stack: java.lang.Throwable
         6: astore 3
            aload 5 /* out */
            ifnull 7
            aload 5 /* out */
            invokevirtual org.graalvm.graphio.GraphOutput.close:()V
        end local 5 // org.graalvm.graphio.GraphOutput out
      StackMap locals:
      StackMap stack:
         7: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: astore 4
            aload 3
            ifnonnull 9
            aload 4
            astore 3
            goto 10
      StackMap locals:
      StackMap stack:
         9: aload 3
            aload 4
            if_acmpeq 10
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        10: aload 3
            athrow
      StackMap locals: com.oracle.svm.hosted.dashboard.CodeBreakdownJsonObject org.graalvm.nativeimage.hosted.Feature$AfterCompilationAccess java.io.OutputStream
      StackMap stack: java.io.IOException
        11: astore 3 /* ex */
        start local 3 // java.io.IOException ex
        12: .line 173
            aload 1
            checkcast com.oracle.svm.hosted.FeatureImpl$AfterCompilationAccessImpl
            invokevirtual com.oracle.svm.hosted.FeatureImpl$AfterCompilationAccessImpl.getDebugContext:()Lorg/graalvm/compiler/debug/DebugContext;
            ldc "Dump of Code-Breakdown failed with: %s"
            aload 3 /* ex */
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 3 // java.io.IOException ex
        13: .line 175
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.io.OutputStream os
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     2    os  Ljava/io/OutputStream;
            2    7     5   out  Lorg/graalvm/graphio/GraphOutput<**>;
           12   13     3    ex  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           2     5       6  any
           1     8       8  any
           0    11      11  Class java.io.IOException

  private void lambda$6(com.oracle.svm.hosted.dashboard.HeapBreakdownJsonObject, java.io.OutputStream);
    descriptor: (Lcom/oracle/svm/hosted/dashboard/HeapBreakdownJsonObject;Ljava/io/OutputStream;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // com.oracle.svm.hosted.dashboard.DashboardDumpFeature this
        start local 2 // java.io.OutputStream os
         0: .line 190
            aconst_null
            astore 3
            aconst_null
            astore 4
         1: new java.io.PrintWriter
            dup
            aload 2 /* os */
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/OutputStream;)V
            astore 5 /* pw */
        start local 5 // java.io.PrintWriter pw
         2: .line 191
            aload 0 /* this */
            getfield com.oracle.svm.hosted.dashboard.DashboardDumpFeature.dumper:Lcom/oracle/svm/hosted/dashboard/ToJson;
            aload 5 /* pw */
            ldc "heap-breakdown"
            aload 1
            invokevirtual com.oracle.svm.hosted.dashboard.ToJson.put:(Ljava/io/PrintWriter;Ljava/lang/String;Lcom/oracle/svm/hosted/dashboard/ToJson$JsonValue;)V
         3: .line 192
            aload 5 /* pw */
            ifnull 9
            aload 5 /* pw */
            invokevirtual java.io.PrintWriter.close:()V
            goto 9
      StackMap locals: com.oracle.svm.hosted.dashboard.DashboardDumpFeature com.oracle.svm.hosted.dashboard.HeapBreakdownJsonObject java.io.OutputStream java.lang.Throwable java.lang.Throwable java.io.PrintWriter
      StackMap stack: java.lang.Throwable
         4: astore 3
            aload 5 /* pw */
            ifnull 5
            aload 5 /* pw */
            invokevirtual java.io.PrintWriter.close:()V
        end local 5 // java.io.PrintWriter pw
      StackMap locals:
      StackMap stack:
         5: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: astore 4
            aload 3
            ifnonnull 7
            aload 4
            astore 3
            goto 8
      StackMap locals:
      StackMap stack:
         7: aload 3
            aload 4
            if_acmpeq 8
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
         8: aload 3
            athrow
         9: .line 193
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.io.OutputStream os
        end local 0 // com.oracle.svm.hosted.dashboard.DashboardDumpFeature this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lcom/oracle/svm/hosted/dashboard/DashboardDumpFeature;
            0   10     2    os  Ljava/io/OutputStream;
            2    5     5    pw  Ljava/io/PrintWriter;
      Exception table:
        from    to  target  type
           2     3       4  any
           1     6       6  any

  private static void lambda$7(com.oracle.svm.hosted.dashboard.HeapBreakdownJsonObject, org.graalvm.nativeimage.hosted.Feature$AfterHeapLayoutAccess, java.io.OutputStream);
    descriptor: (Lcom/oracle/svm/hosted/dashboard/HeapBreakdownJsonObject;Lorg/graalvm/nativeimage/hosted/Feature$AfterHeapLayoutAccess;Ljava/io/OutputStream;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=7, locals=6, args_size=3
        start local 2 // java.io.OutputStream os
         0: .line 201
            aconst_null
            astore 3
            aconst_null
            astore 4
         1: getstatic com.oracle.svm.hosted.dashboard.DashboardDumpFeature$VoidGraphStructure.INSTANCE:Lorg/graalvm/graphio/GraphStructure;
            invokestatic org.graalvm.graphio.GraphOutput.newBuilder:(Lorg/graalvm/graphio/GraphStructure;)Lorg/graalvm/graphio/GraphOutput$Builder;
            iconst_1
            invokevirtual org.graalvm.graphio.GraphOutput$Builder.embedded:(Z)Lorg/graalvm/graphio/GraphOutput$Builder;
            aload 2 /* os */
            invokestatic java.nio.channels.Channels.newChannel:(Ljava/io/OutputStream;)Ljava/nio/channels/WritableByteChannel;
            invokevirtual org.graalvm.graphio.GraphOutput$Builder.build:(Ljava/nio/channels/WritableByteChannel;)Lorg/graalvm/graphio/GraphOutput;
            astore 5 /* out */
        start local 5 // org.graalvm.graphio.GraphOutput out
         2: .line 202
            aload 0
            invokevirtual com.oracle.svm.hosted.dashboard.HeapBreakdownJsonObject.build:()V
         3: .line 203
            aload 5 /* out */
            aconst_null
            ldc "heap-breakdown"
            aconst_null
            aconst_null
            iconst_0
            aload 0
            invokevirtual com.oracle.svm.hosted.dashboard.HeapBreakdownJsonObject.getData:()Ljava/util/Map;
            invokevirtual org.graalvm.graphio.GraphOutput.beginGroup:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;ILjava/util/Map;)V
         4: .line 204
            aload 5 /* out */
            invokevirtual org.graalvm.graphio.GraphOutput.endGroup:()V
         5: .line 205
            aload 5 /* out */
            ifnull 13
            aload 5 /* out */
            invokevirtual org.graalvm.graphio.GraphOutput.close:()V
            goto 13
      StackMap locals: com.oracle.svm.hosted.dashboard.HeapBreakdownJsonObject org.graalvm.nativeimage.hosted.Feature$AfterHeapLayoutAccess java.io.OutputStream java.lang.Throwable java.lang.Throwable org.graalvm.graphio.GraphOutput
      StackMap stack: java.lang.Throwable
         6: astore 3
            aload 5 /* out */
            ifnull 7
            aload 5 /* out */
            invokevirtual org.graalvm.graphio.GraphOutput.close:()V
        end local 5 // org.graalvm.graphio.GraphOutput out
      StackMap locals:
      StackMap stack:
         7: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: astore 4
            aload 3
            ifnonnull 9
            aload 4
            astore 3
            goto 10
      StackMap locals:
      StackMap stack:
         9: aload 3
            aload 4
            if_acmpeq 10
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        10: aload 3
            athrow
      StackMap locals: com.oracle.svm.hosted.dashboard.HeapBreakdownJsonObject org.graalvm.nativeimage.hosted.Feature$AfterHeapLayoutAccess java.io.OutputStream
      StackMap stack: java.io.IOException
        11: astore 3 /* ex */
        start local 3 // java.io.IOException ex
        12: .line 206
            aload 1
            checkcast com.oracle.svm.hosted.FeatureImpl$AfterHeapLayoutAccessImpl
            invokevirtual com.oracle.svm.hosted.FeatureImpl$AfterHeapLayoutAccessImpl.getDebugContext:()Lorg/graalvm/compiler/debug/DebugContext;
            ldc "Dump of Heap-Breakdown failed with: %s"
            aload 3 /* ex */
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 3 // java.io.IOException ex
        13: .line 208
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.io.OutputStream os
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     2    os  Ljava/io/OutputStream;
            2    7     5   out  Lorg/graalvm/graphio/GraphOutput<**>;
           12   13     3    ex  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           2     5       6  any
           1     8       8  any
           0    11      11  Class java.io.IOException

  private void lambda$8(java.io.OutputStream);
    descriptor: (Ljava/io/OutputStream;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // com.oracle.svm.hosted.dashboard.DashboardDumpFeature this
        start local 1 // java.io.OutputStream os
         0: .line 221
            aconst_null
            astore 2
            aconst_null
            astore 3
         1: new java.io.PrintWriter
            dup
            aload 1 /* os */
            iconst_1
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/OutputStream;Z)V
            astore 4 /* pw */
        start local 4 // java.io.PrintWriter pw
         2: .line 222
            aload 0 /* this */
            getfield com.oracle.svm.hosted.dashboard.DashboardDumpFeature.dumper:Lcom/oracle/svm/hosted/dashboard/ToJson;
            aload 4 /* pw */
            invokevirtual com.oracle.svm.hosted.dashboard.ToJson.close:(Ljava/io/PrintWriter;)V
         3: .line 223
            aload 4 /* pw */
            ifnull 9
            aload 4 /* pw */
            invokevirtual java.io.PrintWriter.close:()V
            goto 9
      StackMap locals: com.oracle.svm.hosted.dashboard.DashboardDumpFeature java.io.OutputStream java.lang.Throwable java.lang.Throwable java.io.PrintWriter
      StackMap stack: java.lang.Throwable
         4: astore 2
            aload 4 /* pw */
            ifnull 5
            aload 4 /* pw */
            invokevirtual java.io.PrintWriter.close:()V
        end local 4 // java.io.PrintWriter pw
      StackMap locals:
      StackMap stack:
         5: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: astore 3
            aload 2
            ifnonnull 7
            aload 3
            astore 2
            goto 8
      StackMap locals:
      StackMap stack:
         7: aload 2
            aload 3
            if_acmpeq 8
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
         8: aload 2
            athrow
         9: .line 224
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.io.OutputStream os
        end local 0 // com.oracle.svm.hosted.dashboard.DashboardDumpFeature this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lcom/oracle/svm/hosted/dashboard/DashboardDumpFeature;
            0   10     1    os  Ljava/io/OutputStream;
            2    5     4    pw  Ljava/io/PrintWriter;
      Exception table:
        from    to  target  type
           2     3       4  any
           1     6       6  any
}
SourceFile: "DashboardDumpFeature.java"
NestMembers:
  com.oracle.svm.hosted.dashboard.DashboardDumpFeature$VoidGraphStructure
InnerClasses:
  public AfterCompilationAccessImpl = com.oracle.svm.hosted.FeatureImpl$AfterCompilationAccessImpl of com.oracle.svm.hosted.FeatureImpl
  public AfterHeapLayoutAccessImpl = com.oracle.svm.hosted.FeatureImpl$AfterHeapLayoutAccessImpl of com.oracle.svm.hosted.FeatureImpl
  public OnAnalysisExitAccessImpl = com.oracle.svm.hosted.FeatureImpl$OnAnalysisExitAccessImpl of com.oracle.svm.hosted.FeatureImpl
  public final VoidGraphStructure = com.oracle.svm.hosted.dashboard.DashboardDumpFeature$VoidGraphStructure of com.oracle.svm.hosted.dashboard.DashboardDumpFeature
  public abstract JsonValue = com.oracle.svm.hosted.dashboard.ToJson$JsonValue of com.oracle.svm.hosted.dashboard.ToJson
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public final Builder = org.graalvm.graphio.GraphOutput$Builder of org.graalvm.graphio.GraphOutput
  public abstract AfterCompilationAccess = org.graalvm.nativeimage.hosted.Feature$AfterCompilationAccess of org.graalvm.nativeimage.hosted.Feature
  public abstract AfterHeapLayoutAccess = org.graalvm.nativeimage.hosted.Feature$AfterHeapLayoutAccess of org.graalvm.nativeimage.hosted.Feature
  public abstract IsInConfigurationAccess = org.graalvm.nativeimage.hosted.Feature$IsInConfigurationAccess of org.graalvm.nativeimage.hosted.Feature
  public abstract OnAnalysisExitAccess = org.graalvm.nativeimage.hosted.Feature$OnAnalysisExitAccess of org.graalvm.nativeimage.hosted.Feature
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.AutomaticFeature()