public class org.graalvm.compiler.hotspot.test.NodeCostDumpUtil
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.hotspot.test.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 61
            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.test.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.test.NodeCostDumpUtil this
         0: .line 57
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.graalvm.compiler.hotspot.test.NodeCostDumpUtil this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/test/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 64
            aload 0 /* arg */
            invokevirtual java.lang.String.length:()I
            ifne 2
         1: .line 65
            aconst_null
            areturn
         2: .line 68
      StackMap locals:
      StackMap stack:
            aload 0 /* arg */
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
            pop
         3: .line 69
            aload 0 /* arg */
         4: areturn
         5: .line 70
      StackMap locals:
      StackMap stack: java.util.regex.PatternSyntaxException
            pop
         6: .line 72
            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 73
            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 78
            aload 0 /* args */
            arraylength
            iconst_1
            if_icmpeq 3
         1: .line 79
            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 80
            iconst_m1
            invokestatic java.lang.System.exit:(I)V
         3: .line 82
      StackMap locals:
      StackMap stack:
            aload 0 /* args */
            iconst_0
            aaload
            invokestatic org.graalvm.compiler.hotspot.test.NodeCostDumpUtil.getArgumentRegex:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* pattern */
        start local 1 // java.lang.String pattern
         4: .line 83
            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 84
            aload 2 /* version */
            ldc "1.9"
            invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
            iflt 8
         6: .line 85
            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 86
            iconst_m1
            invokestatic java.lang.System.exit:(I)V
         8: .line 88
      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 89
            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 90
            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 91
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 6 /* classes */
        start local 6 // java.util.HashSet classes
        12: .line 93
            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 94
            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 95
            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 96
            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 97
            aload 8 /* path */
            ldc ".jar"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 27
        18: .line 98
            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 99
            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.test.NodeCostDumpUtil.initAllClasses:(Ljava/nio/file/Path;Ljava/lang/ClassLoader;Ljava/util/HashSet;)V
        21: .line 100
            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 102
      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.test.NodeCostDumpUtil.initAllClasses:(Ljava/nio/file/Path;Ljava/lang/ClassLoader;Ljava/util/HashSet;)V
        end local 8 // java.lang.String path
        28: .line 95
      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 106
            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 107
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            pop
        32: .line 109
      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 110
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 7 /* nodeClasses */
        start local 7 // java.util.List nodeClasses
        34: .line 111
            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 112
            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 113
            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 111
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 35
        39: .line 116
            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 117
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 8 /* nc */
        start local 8 // java.util.List nc
        41: .line 118
            aload 7 /* nodeClasses */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 46
      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 /* c */
        start local 9 // java.lang.Class c
        43: .line 120
            aload 8 /* nc */
            aload 9 /* c */
            invokestatic org.graalvm.compiler.graph.NodeClass.get:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/NodeClass;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        44: .line 121
            goto 46
      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
        45: pop
        end local 9 // java.lang.Class c
        46: .line 118
      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
        47: .line 125
            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
        48: .line 126
            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/test/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 */
        49: .line 127
            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/test/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
        50: .line 132
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            getstatic org.graalvm.compiler.hotspot.test.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
        51: .line 133
            aload 8 /* nc */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 74
      StackMap locals:
      StackMap stack:
        52: 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
        53: .line 134
            aconst_null
            astore 11 /* packageStrippedName */
        start local 11 // java.lang.String packageStrippedName
        54: .line 136
            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 */
        55: .line 137
            goto 58
      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
        56: pop
        57: .line 139
            goto 74
        58: .line 141
      StackMap locals:
      StackMap stack:
            aload 1 /* pattern */
            ifnull 60
            aload 11 /* packageStrippedName */
            aload 1 /* pattern */
            invokevirtual java.lang.String.matches:(Ljava/lang/String;)Z
            ifne 60
        59: .line 142
            goto 74
        60: .line 144
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 12 /* overridesSizeMethod */
        start local 12 // boolean overridesSizeMethod
        61: .line 145
            iconst_0
            istore 13 /* overridesCyclesMethod */
        start local 13 // boolean overridesCyclesMethod
        62: .line 146
            aload 9 /* nodeclass */
            invokevirtual org.graalvm.compiler.graph.NodeClass.getJavaClass:()Ljava/lang/Class;
            astore 14 /* c */
        start local 14 // java.lang.Class c
        63: .line 148
            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
        64: .line 149
            iconst_1
            istore 12 /* overridesSizeMethod */
        65: .line 150
            goto 67
      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
        66: pop
        67: .line 154
      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
        68: .line 155
            iconst_1
            istore 13 /* overridesCyclesMethod */
        69: .line 156
            goto 71
      StackMap locals:
      StackMap stack: java.lang.Throwable
        70: pop
        71: .line 159
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            getstatic org.graalvm.compiler.hotspot.test.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.test.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.test.NodeCostDumpUtil.memoryCheckPoint:(Ljava/lang/Class;)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            dup
            bipush 7
        72: .line 160
            aload 14 /* c */
            invokestatic org.graalvm.compiler.hotspot.test.NodeCostDumpUtil.virtualizable:(Ljava/lang/Class;)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
        73: .line 159
            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
        74: .line 133
      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 52
        75: .line 162
            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   76     0                    args  [Ljava/lang/String;
            4   76     1                 pattern  Ljava/lang/String;
            5   76     2                 version  Ljava/lang/String;
            9   76     3                 jvmciCP  [Ljava/lang/String;
           10   76     4          primarySuiteCP  [Ljava/lang/String;
           11   76     5  applicationClassLoader  Ljava/lang/ClassLoader;
           12   76     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   76     7             nodeClasses  Ljava/util/List<Ljava/lang/Class<*>;>;
           36   38     8                  loaded  Ljava/lang/Class<*>;
           41   76     8                      nc  Ljava/util/List<Lorg/graalvm/compiler/graph/NodeClass<*>;>;
           43   46     9                       c  Ljava/lang/Class<*>;
           53   74     9               nodeclass  Lorg/graalvm/compiler/graph/NodeClass<*>;
           54   74    11     packageStrippedName  Ljava/lang/String;
           61   74    12     overridesSizeMethod  Z
           62   74    13   overridesCyclesMethod  Z
           63   74    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    44      45  Class java.lang.Throwable
          54    55      56  Class java.lang.Throwable
          63    65      66  Class java.lang.Throwable
          67    69      70  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 165
            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 169
            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 173
            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 178
            aload 0 /* root */
            new org.graalvm.compiler.hotspot.test.NodeCostDumpUtil$1
            dup
            aload 0 /* root */
            aload 1 /* classLoader */
            aload 2 /* classes */
            invokespecial org.graalvm.compiler.hotspot.test.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 209
            goto 4
      StackMap locals:
      StackMap stack: java.io.IOException
         2: pop
         3: .line 210
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            pop
         4: .line 212
      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 215
            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 216
            ldc "com.oracle."
            areturn
         2: .line 217
      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 218
            ldc "org.graalvm."
            areturn
         4: .line 220
      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 224
            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 228
            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 229
            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 233
            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 126
            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 128
            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 129
            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 130
            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.test.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.test.NodeCostDumpUtil$1