public class org.graalvm.compiler.hotspot.NodeCostDumpUtil
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.hotspot.NodeCostDumpUtil
  super_class: java.lang.Object
{
  private static final java.lang.String prefix1;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "com.oracle."

  private static final java.lang.String prefix2;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.graalvm."

  private static final java.lang.String FMT;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 60
            bipush 8
            anewarray java.lang.String
            dup
            iconst_0
            ldc "%s"
            aastore
            dup
            iconst_1
            ldc "%s"
            aastore
            dup
            iconst_2
            ldc "%s"
            aastore
            dup
            iconst_3
            ldc "%s"
            aastore
            dup
            iconst_4
            ldc "%s"
            aastore
            dup
            iconst_5
            ldc "%s"
            aastore
            dup
            bipush 6
            ldc "%s"
            aastore
            dup
            bipush 7
            ldc "%s"
            aastore
            invokestatic org.graalvm.compiler.debug.CSVUtil.buildFormatString:([Ljava/lang/String;)Ljava/lang/String;
            putstatic org.graalvm.compiler.hotspot.NodeCostDumpUtil.FMT:Ljava/lang/String;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

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

  private static java.lang.String getArgumentRegex(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String arg
         0: .line 63
            aload 0 /* arg */
            invokevirtual java.lang.String.length:()I
            ifne 2
         1: .line 64
            aconst_null
            areturn
         2: .line 67
      StackMap locals:
      StackMap stack:
            aload 0 /* arg */
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
            pop
         3: .line 68
            aload 0 /* arg */
         4: areturn
         5: .line 69
      StackMap locals:
      StackMap stack: java.util.regex.PatternSyntaxException
            pop
         6: .line 71
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "Invalid regex given, defaulting to \".*\" regex.."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         7: .line 72
            aconst_null
            areturn
        end local 0 // java.lang.String arg
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0   arg  Ljava/lang/String;
      Exception table:
        from    to  target  type
           2     4       5  Class java.util.regex.PatternSyntaxException
    MethodParameters:
      Name  Flags
      arg   

  public static void main(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=15, args_size=1
        start local 0 // java.lang.String[] args
         0: .line 77
            aload 0 /* args */
            arraylength
            iconst_1
            if_icmpeq 3
         1: .line 78
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "NodeCostDumpUtil expects exactly one argument, the node name regex to match against."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 79
            iconst_m1
            invokestatic java.lang.System.exit:(I)V
         3: .line 81
      StackMap locals:
      StackMap stack:
            aload 0 /* args */
            iconst_0
            aaload
            invokestatic org.graalvm.compiler.hotspot.NodeCostDumpUtil.getArgumentRegex:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* pattern */
        start local 1 // java.lang.String pattern
         4: .line 82
            ldc "java.specification.version"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* version */
        start local 2 // java.lang.String version
         5: .line 83
            aload 2 /* version */
            ldc "1.9"
            invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
            iflt 8
         6: .line 84
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "NodeCostDumpUtil does not support JDK versions greater than 1.8, current version is %s.\n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* version */
            aastore
            invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
            pop
         7: .line 85
            iconst_m1
            invokestatic java.lang.System.exit:(I)V
         8: .line 87
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            ldc "jvmci.class.path.append"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            getstatic java.io.File.pathSeparator:Ljava/lang/String;
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 3 /* jvmciCP */
        start local 3 // java.lang.String[] jvmciCP
         9: .line 88
            ldc "primary.suite.cp"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            getstatic java.io.File.pathSeparator:Ljava/lang/String;
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 4 /* primarySuiteCP */
        start local 4 // java.lang.String[] primarySuiteCP
        10: .line 89
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
            astore 5 /* applicationClassLoader */
        start local 5 // java.lang.ClassLoader applicationClassLoader
        11: .line 90
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 6 /* classes */
        start local 6 // java.util.HashSet classes
        12: .line 92
            new java.util.HashSet
            dup
            aload 4 /* primarySuiteCP */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            astore 7 /* uniquePaths */
        start local 7 // java.util.Set uniquePaths
        13: .line 93
            aload 7 /* uniquePaths */
            aload 3 /* jvmciCP */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        14: .line 94
            aload 7 /* uniquePaths */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 9
            goto 28
      StackMap locals: java.lang.String[] java.lang.String java.lang.String java.lang.String[] java.lang.String[] java.lang.ClassLoader java.util.HashSet java.util.Set top java.util.Iterator
      StackMap stack:
        15: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 8 /* path */
        start local 8 // java.lang.String path
        16: .line 95
            new java.io.File
            dup
            aload 8 /* path */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual java.io.File.exists:()Z
            ifeq 28
        17: .line 96
            aload 8 /* path */
            ldc ".jar"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 27
        18: .line 97
            aconst_null
            astore 10
            aconst_null
            astore 11
        19: new java.lang.StringBuilder
            dup
            ldc "jar:file:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* path */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic java.net.URI.create:(Ljava/lang/String;)Ljava/net/URI;
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokestatic java.nio.file.FileSystems.newFileSystem:(Ljava/net/URI;Ljava/util/Map;)Ljava/nio/file/FileSystem;
            astore 12 /* jarFileSystem */
        start local 12 // java.nio.file.FileSystem jarFileSystem
        20: .line 98
            aload 12 /* jarFileSystem */
            ldc "/"
            iconst_0
            anewarray java.lang.String
            invokevirtual java.nio.file.FileSystem.getPath:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            aload 5 /* applicationClassLoader */
            aload 6 /* classes */
            invokestatic org.graalvm.compiler.hotspot.NodeCostDumpUtil.initAllClasses:(Ljava/nio/file/Path;Ljava/lang/ClassLoader;Ljava/util/HashSet;)V
        21: .line 99
            aload 12 /* jarFileSystem */
            ifnull 28
            aload 12 /* jarFileSystem */
            invokevirtual java.nio.file.FileSystem.close:()V
            goto 28
      StackMap locals: java.lang.String[] java.lang.String java.lang.String java.lang.String[] java.lang.String[] java.lang.ClassLoader java.util.HashSet java.util.Set java.lang.String java.util.Iterator java.lang.Throwable java.lang.Throwable java.nio.file.FileSystem
      StackMap stack: java.lang.Throwable
        22: astore 10
            aload 12 /* jarFileSystem */
            ifnull 23
            aload 12 /* jarFileSystem */
            invokevirtual java.nio.file.FileSystem.close:()V
        end local 12 // java.nio.file.FileSystem jarFileSystem
      StackMap locals:
      StackMap stack:
        23: aload 10
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        24: astore 11
            aload 10
            ifnonnull 25
            aload 11
            astore 10
            goto 26
      StackMap locals:
      StackMap stack:
        25: aload 10
            aload 11
            if_acmpeq 26
            aload 10
            aload 11
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        26: aload 10
            athrow
        27: .line 101
      StackMap locals:
      StackMap stack:
            invokestatic java.nio.file.FileSystems.getDefault:()Ljava/nio/file/FileSystem;
            aload 8 /* path */
            iconst_0
            anewarray java.lang.String
            invokevirtual java.nio.file.FileSystem.getPath:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            aload 5 /* applicationClassLoader */
            aload 6 /* classes */
            invokestatic org.graalvm.compiler.hotspot.NodeCostDumpUtil.initAllClasses:(Ljava/nio/file/Path;Ljava/lang/ClassLoader;Ljava/util/HashSet;)V
        end local 8 // java.lang.String path
        28: .line 94
      StackMap locals: java.lang.String[] java.lang.String java.lang.String java.lang.String[] java.lang.String[] java.lang.ClassLoader java.util.HashSet java.util.Set top java.util.Iterator
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 15
        end local 7 // java.util.Set uniquePaths
        29: .line 105
            goto 32
      StackMap locals: java.lang.String[] java.lang.String java.lang.String java.lang.String[] java.lang.String[] java.lang.ClassLoader java.util.HashSet
      StackMap stack: java.io.IOException
        30: pop
        31: .line 106
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            pop
        32: .line 108
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "Loaded %d classes...\n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 6 /* classes */
            invokevirtual java.util.HashSet.size:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
            pop
        33: .line 109
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 7 /* nodeClasses */
        start local 7 // java.util.List nodeClasses
        34: .line 110
            aload 6 /* classes */
            invokevirtual java.util.HashSet.iterator:()Ljava/util/Iterator;
            astore 9
            goto 38
      StackMap locals: java.lang.String[] java.lang.String java.lang.String java.lang.String[] java.lang.String[] java.lang.ClassLoader java.util.HashSet java.util.List top java.util.Iterator
      StackMap stack:
        35: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Class
            astore 8 /* loaded */
        start local 8 // java.lang.Class loaded
        36: .line 111
            ldc Lorg/graalvm/compiler/graph/Node;
            aload 8 /* loaded */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 38
            aload 8 /* loaded */
            invokevirtual java.lang.Class.isArray:()Z
            ifne 38
        37: .line 112
            aload 7 /* nodeClasses */
            aload 8 /* loaded */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // java.lang.Class loaded
        38: .line 110
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 35
        39: .line 115
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "Loaded %s node classes...\n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 7 /* nodeClasses */
            invokeinterface java.util.List.size:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
            pop
        40: .line 116
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 8 /* nc */
        start local 8 // java.util.List nc
        41: .line 117
            aload 7 /* nodeClasses */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 50
      StackMap locals: java.lang.String[] java.lang.String java.lang.String java.lang.String[] java.lang.String[] java.lang.ClassLoader java.util.HashSet java.util.List java.util.List top java.util.Iterator
      StackMap stack:
        42: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Class
            astore 9 /* nodeClass */
        start local 9 // java.lang.Class nodeClass
        43: .line 120
            aload 9 /* nodeClass */
            ldc "TYPE"
            invokevirtual java.lang.Class.getField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
            astore 11 /* f */
        start local 11 // java.lang.reflect.Field f
        44: .line 121
            aload 11 /* f */
            iconst_1
            invokevirtual java.lang.reflect.Field.setAccessible:(Z)V
        45: .line 122
            aload 11 /* f */
            aconst_null
            invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 12 /* val */
        start local 12 // java.lang.Object val
        46: .line 123
            aload 12 /* val */
            checkcast org.graalvm.compiler.graph.NodeClass
            astore 13 /* nodeType */
        start local 13 // org.graalvm.compiler.graph.NodeClass nodeType
        47: .line 124
            aload 8 /* nc */
            aload 13 /* nodeType */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 13 // org.graalvm.compiler.graph.NodeClass nodeType
        end local 12 // java.lang.Object val
        48: .line 125
            goto 50
        end local 11 // java.lang.reflect.Field f
      StackMap locals: java.lang.String[] java.lang.String java.lang.String java.lang.String[] java.lang.String[] java.lang.ClassLoader java.util.HashSet java.util.List java.util.List java.lang.Class java.util.Iterator
      StackMap stack: java.lang.Throwable
        49: pop
        end local 9 // java.lang.Class nodeClass
        50: .line 117
      StackMap locals: java.lang.String[] java.lang.String java.lang.String java.lang.String[] java.lang.String[] java.lang.ClassLoader java.util.HashSet java.util.List java.util.List top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 42
        51: .line 129
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "Read TYPE field from %s node classes...\n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 8 /* nc */
            invokeinterface java.util.List.size:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
            pop
        52: .line 130
            aload 8 /* nc */
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            invokedynamic test()Ljava/util/function/Predicate;
              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;)Z
                  org/graalvm/compiler/hotspot/NodeCostDumpUtil.lambda$0(Lorg/graalvm/compiler/graph/NodeClass;)Z (6)
                  (Lorg/graalvm/compiler/graph/NodeClass;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
            astore 8 /* nc */
        53: .line 131
            aload 8 /* nc */
            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
                  org/graalvm/compiler/hotspot/NodeCostDumpUtil.lambda$1(Lorg/graalvm/compiler/graph/NodeClass;Lorg/graalvm/compiler/graph/NodeClass;)I (6)
                  (Lorg/graalvm/compiler/graph/NodeClass;Lorg/graalvm/compiler/graph/NodeClass;)I
            invokeinterface java.util.List.sort:(Ljava/util/Comparator;)V
        54: .line 136
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            getstatic org.graalvm.compiler.hotspot.NodeCostDumpUtil.FMT:Ljava/lang/String;
            bipush 8
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "NodeName"
            aastore
            dup
            iconst_1
            ldc "Size"
            aastore
            dup
            iconst_2
            ldc "Overrides Size Method"
            aastore
            dup
            iconst_3
            ldc "Cycles"
            aastore
            dup
            iconst_4
            ldc "Overrides Cycles Method"
            aastore
            dup
            iconst_5
            ldc "Canonicalizable"
            aastore
            dup
            bipush 6
            ldc "MemoryCheckPoint"
            aastore
            dup
            bipush 7
            ldc "Virtualizable"
            aastore
            invokestatic org.graalvm.compiler.debug.CSVUtil$Escape.println:(Ljava/io/PrintStream;Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
            pop
        55: .line 137
            aload 8 /* nc */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 78
      StackMap locals:
      StackMap stack:
        56: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.NodeClass
            astore 9 /* nodeclass */
        start local 9 // org.graalvm.compiler.graph.NodeClass nodeclass
        57: .line 138
            aconst_null
            astore 11 /* packageStrippedName */
        start local 11 // java.lang.String packageStrippedName
        58: .line 140
            aload 9 /* nodeclass */
            invokevirtual org.graalvm.compiler.graph.NodeClass.getJavaClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getCanonicalName:()Ljava/lang/String;
            ldc "com.oracle."
            ldc ""
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            ldc "org.graalvm."
            ldc ""
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            astore 11 /* packageStrippedName */
        59: .line 141
            goto 62
      StackMap locals: java.lang.String[] java.lang.String java.lang.String java.lang.String[] java.lang.String[] java.lang.ClassLoader java.util.HashSet java.util.List java.util.List org.graalvm.compiler.graph.NodeClass java.util.Iterator java.lang.String
      StackMap stack: java.lang.Throwable
        60: pop
        61: .line 143
            goto 78
        62: .line 145
      StackMap locals:
      StackMap stack:
            aload 1 /* pattern */
            ifnull 64
            aload 11 /* packageStrippedName */
            aload 1 /* pattern */
            invokevirtual java.lang.String.matches:(Ljava/lang/String;)Z
            ifne 64
        63: .line 146
            goto 78
        64: .line 148
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 12 /* overridesSizeMethod */
        start local 12 // boolean overridesSizeMethod
        65: .line 149
            iconst_0
            istore 13 /* overridesCyclesMethod */
        start local 13 // boolean overridesCyclesMethod
        66: .line 150
            aload 9 /* nodeclass */
            invokevirtual org.graalvm.compiler.graph.NodeClass.getJavaClass:()Ljava/lang/Class;
            astore 14 /* c */
        start local 14 // java.lang.Class c
        67: .line 152
            aload 14 /* c */
            ldc "estimatedNodeSize"
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            pop
        68: .line 153
            iconst_1
            istore 12 /* overridesSizeMethod */
        69: .line 154
            goto 71
      StackMap locals: java.lang.String[] java.lang.String java.lang.String java.lang.String[] java.lang.String[] java.lang.ClassLoader java.util.HashSet java.util.List java.util.List org.graalvm.compiler.graph.NodeClass java.util.Iterator java.lang.String int int java.lang.Class
      StackMap stack: java.lang.Throwable
        70: pop
        71: .line 158
      StackMap locals:
      StackMap stack:
            aload 14 /* c */
            ldc "estimatedNodeCycles"
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            pop
        72: .line 159
            iconst_1
            istore 13 /* overridesCyclesMethod */
        73: .line 160
            goto 75
      StackMap locals:
      StackMap stack: java.lang.Throwable
        74: pop
        75: .line 163
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            getstatic org.graalvm.compiler.hotspot.NodeCostDumpUtil.FMT:Ljava/lang/String;
            bipush 8
            anewarray java.lang.Object
            dup
            iconst_0
            aload 11 /* packageStrippedName */
            aastore
            dup
            iconst_1
            aload 9 /* nodeclass */
            invokevirtual org.graalvm.compiler.graph.NodeClass.size:()Lorg/graalvm/compiler/nodeinfo/NodeSize;
            aastore
            dup
            iconst_2
            iload 12 /* overridesSizeMethod */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            dup
            iconst_3
            aload 9 /* nodeclass */
            invokevirtual org.graalvm.compiler.graph.NodeClass.cycles:()Lorg/graalvm/compiler/nodeinfo/NodeCycles;
            aastore
            dup
            iconst_4
            iload 13 /* overridesCyclesMethod */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            dup
            iconst_5
            aload 14 /* c */
            invokestatic org.graalvm.compiler.hotspot.NodeCostDumpUtil.canonicalizable:(Ljava/lang/Class;)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            dup
            bipush 6
            aload 14 /* c */
            invokestatic org.graalvm.compiler.hotspot.NodeCostDumpUtil.memoryCheckPoint:(Ljava/lang/Class;)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            dup
            bipush 7
        76: .line 164
            aload 14 /* c */
            invokestatic org.graalvm.compiler.hotspot.NodeCostDumpUtil.virtualizable:(Ljava/lang/Class;)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
        77: .line 163
            invokestatic org.graalvm.compiler.debug.CSVUtil$Escape.println:(Ljava/io/PrintStream;Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
            pop
        end local 14 // java.lang.Class c
        end local 13 // boolean overridesCyclesMethod
        end local 12 // boolean overridesSizeMethod
        end local 11 // java.lang.String packageStrippedName
        end local 9 // org.graalvm.compiler.graph.NodeClass nodeclass
        78: .line 137
      StackMap locals: java.lang.String[] java.lang.String java.lang.String java.lang.String[] java.lang.String[] java.lang.ClassLoader java.util.HashSet java.util.List java.util.List top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 56
        79: .line 166
            return
        end local 8 // java.util.List nc
        end local 7 // java.util.List nodeClasses
        end local 6 // java.util.HashSet classes
        end local 5 // java.lang.ClassLoader applicationClassLoader
        end local 4 // java.lang.String[] primarySuiteCP
        end local 3 // java.lang.String[] jvmciCP
        end local 2 // java.lang.String version
        end local 1 // java.lang.String pattern
        end local 0 // java.lang.String[] args
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   80     0                    args  [Ljava/lang/String;
            4   80     1                 pattern  Ljava/lang/String;
            5   80     2                 version  Ljava/lang/String;
            9   80     3                 jvmciCP  [Ljava/lang/String;
           10   80     4          primarySuiteCP  [Ljava/lang/String;
           11   80     5  applicationClassLoader  Ljava/lang/ClassLoader;
           12   80     6                 classes  Ljava/util/HashSet<Ljava/lang/Class<*>;>;
           13   29     7             uniquePaths  Ljava/util/Set<Ljava/lang/String;>;
           16   28     8                    path  Ljava/lang/String;
           20   23    12           jarFileSystem  Ljava/nio/file/FileSystem;
           34   80     7             nodeClasses  Ljava/util/List<Ljava/lang/Class<*>;>;
           36   38     8                  loaded  Ljava/lang/Class<*>;
           41   80     8                      nc  Ljava/util/List<Lorg/graalvm/compiler/graph/NodeClass<*>;>;
           43   50     9               nodeClass  Ljava/lang/Class<*>;
           44   49    11                       f  Ljava/lang/reflect/Field;
           46   48    12                     val  Ljava/lang/Object;
           47   48    13                nodeType  Lorg/graalvm/compiler/graph/NodeClass<*>;
           57   78     9               nodeclass  Lorg/graalvm/compiler/graph/NodeClass<*>;
           58   78    11     packageStrippedName  Ljava/lang/String;
           65   78    12     overridesSizeMethod  Z
           66   78    13   overridesCyclesMethod  Z
           67   78    14                       c  Ljava/lang/Class<*>;
      Exception table:
        from    to  target  type
          20    21      22  any
          19    24      24  any
          12    29      30  Class java.io.IOException
          43    48      49  Class java.lang.Throwable
          58    59      60  Class java.lang.Throwable
          67    69      70  Class java.lang.Throwable
          71    73      74  Class java.lang.Throwable
    MethodParameters:
      Name  Flags
      args  

  private static boolean canonicalizable(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Class c
         0: .line 169
            ldc Lorg/graalvm/compiler/graph/spi/Canonicalizable;
            aload 0 /* c */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ireturn
        end local 0 // java.lang.Class c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     c  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Z
    MethodParameters:
      Name  Flags
      c     

  private static boolean virtualizable(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Class c
         0: .line 173
            ldc Lorg/graalvm/compiler/nodes/spi/Virtualizable;
            aload 0 /* c */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ireturn
        end local 0 // java.lang.Class c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     c  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Z
    MethodParameters:
      Name  Flags
      c     

  private static boolean memoryCheckPoint(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Class c
         0: .line 177
            ldc Lorg/graalvm/compiler/nodes/memory/MemoryCheckpoint;
            aload 0 /* c */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ireturn
        end local 0 // java.lang.Class c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     c  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Z
    MethodParameters:
      Name  Flags
      c     

  private static void initAllClasses(java.nio.file.Path, java.lang.ClassLoader, java.util.HashSet<java.lang.Class<?>>);
    descriptor: (Ljava/nio/file/Path;Ljava/lang/ClassLoader;Ljava/util/HashSet;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // java.nio.file.Path root
        start local 1 // java.lang.ClassLoader classLoader
        start local 2 // java.util.HashSet classes
         0: .line 182
            aload 0 /* root */
            new org.graalvm.compiler.hotspot.NodeCostDumpUtil$1
            dup
            aload 0 /* root */
            aload 1 /* classLoader */
            aload 2 /* classes */
            invokespecial org.graalvm.compiler.hotspot.NodeCostDumpUtil$1.<init>:(Ljava/nio/file/Path;Ljava/lang/ClassLoader;Ljava/util/HashSet;)V
            invokestatic java.nio.file.Files.walkFileTree:(Ljava/nio/file/Path;Ljava/nio/file/FileVisitor;)Ljava/nio/file/Path;
            pop
         1: .line 213
            goto 4
      StackMap locals:
      StackMap stack: java.io.IOException
         2: pop
         3: .line 214
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            pop
         4: .line 216
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.util.HashSet classes
        end local 1 // java.lang.ClassLoader classLoader
        end local 0 // java.nio.file.Path root
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         root  Ljava/nio/file/Path;
            0    5     1  classLoader  Ljava/lang/ClassLoader;
            0    5     2      classes  Ljava/util/HashSet<Ljava/lang/Class<*>;>;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException
    Signature: (Ljava/nio/file/Path;Ljava/lang/ClassLoader;Ljava/util/HashSet<Ljava/lang/Class<*>;>;)V
    MethodParameters:
             Name  Flags
      root         final
      classLoader  
      classes      

  private static java.lang.String prefixed(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String className
         0: .line 219
            aload 0 /* className */
            ldc "com.oracle."
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 2
            aload 0 /* className */
            ldc "com.oracle."
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            ifle 2
         1: .line 220
            ldc "com.oracle."
            areturn
         2: .line 221
      StackMap locals:
      StackMap stack:
            aload 0 /* className */
            ldc "org.graalvm."
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 4
            aload 0 /* className */
            ldc "org.graalvm."
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            ifle 4
         3: .line 222
            ldc "org.graalvm."
            areturn
         4: .line 224
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // java.lang.String className
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0  className  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      className  

  private static java.lang.String stripClassName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String className
         0: .line 228
            aload 0 /* className */
            bipush 47
            bipush 46
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            areturn
        end local 0 // java.lang.String className
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  className  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      className  

  private static java.lang.String constructClazzPart(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.lang.String stripped
        start local 1 // java.lang.String prefix
         0: .line 232
            aload 0 /* stripped */
            aload 0 /* stripped */
            aload 1 /* prefix */
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
            aload 0 /* stripped */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 2 /* clazzPart */
        start local 2 // java.lang.String clazzPart
         1: .line 233
            aload 2 /* clazzPart */
            iconst_0
            aload 2 /* clazzPart */
            invokevirtual java.lang.String.length:()I
            ldc ".class"
            invokevirtual java.lang.String.length:()I
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
        end local 2 // java.lang.String clazzPart
        end local 1 // java.lang.String prefix
        end local 0 // java.lang.String stripped
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0   stripped  Ljava/lang/String;
            0    2     1     prefix  Ljava/lang/String;
            1    2     2  clazzPart  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      stripped  
      prefix    

  private static java.lang.String constructURLPart(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.lang.String stripped
        start local 1 // java.lang.String className
        start local 2 // java.lang.String prefix
         0: .line 237
            aload 1 /* className */
            iconst_0
            aload 0 /* stripped */
            aload 2 /* prefix */
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
        end local 2 // java.lang.String prefix
        end local 1 // java.lang.String className
        end local 0 // java.lang.String stripped
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0   stripped  Ljava/lang/String;
            0    1     1  className  Ljava/lang/String;
            0    1     2     prefix  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      stripped   
      className  
      prefix     

  private static boolean lambda$0(org.graalvm.compiler.graph.NodeClass);
    descriptor: (Lorg/graalvm/compiler/graph/NodeClass;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.graph.NodeClass x
         0: .line 130
            aload 0 /* x */
            ifnull 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // org.graalvm.compiler.graph.NodeClass x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     x  Lorg/graalvm/compiler/graph/NodeClass<*>;

  private static int lambda$1(org.graalvm.compiler.graph.NodeClass, org.graalvm.compiler.graph.NodeClass);
    descriptor: (Lorg/graalvm/compiler/graph/NodeClass;Lorg/graalvm/compiler/graph/NodeClass;)I
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.graph.NodeClass x
        start local 1 // org.graalvm.compiler.graph.NodeClass y
         0: .line 132
            aload 0 /* x */
            invokevirtual org.graalvm.compiler.graph.NodeClass.getJavaClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 2 /* a */
        start local 2 // java.lang.String a
         1: .line 133
            aload 1 /* y */
            invokevirtual org.graalvm.compiler.graph.NodeClass.getJavaClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 3 /* b */
        start local 3 // java.lang.String b
         2: .line 134
            aload 2 /* a */
            aload 3 /* b */
            invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
            ireturn
        end local 3 // java.lang.String b
        end local 2 // java.lang.String a
        end local 1 // org.graalvm.compiler.graph.NodeClass y
        end local 0 // org.graalvm.compiler.graph.NodeClass x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     x  Lorg/graalvm/compiler/graph/NodeClass<*>;
            0    3     1     y  Lorg/graalvm/compiler/graph/NodeClass<*>;
            1    3     2     a  Ljava/lang/String;
            2    3     3     b  Ljava/lang/String;
}
SourceFile: "NodeCostDumpUtil.java"
NestMembers:
  org.graalvm.compiler.hotspot.NodeCostDumpUtil$1
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public final Escape = org.graalvm.compiler.debug.CSVUtil$Escape of org.graalvm.compiler.debug.CSVUtil
  org.graalvm.compiler.hotspot.NodeCostDumpUtil$1