public final class org.graalvm.compiler.graph.NodeClass<T> extends org.graalvm.compiler.core.common.FieldIntrospection<T>
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.graalvm.compiler.graph.NodeClass
  super_class: org.graalvm.compiler.core.common.FieldIntrospection
{
  private static final sun.misc.Unsafe UNSAFE;
    descriptor: Lsun/misc/Unsafe;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.graalvm.compiler.debug.TimerKey Init_FieldScanning;
    descriptor: Lorg/graalvm/compiler/debug/TimerKey;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.graalvm.compiler.debug.TimerKey Init_FieldScanningInner;
    descriptor: Lorg/graalvm/compiler/debug/TimerKey;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.graalvm.compiler.debug.TimerKey Init_AnnotationParsing;
    descriptor: Lorg/graalvm/compiler/debug/TimerKey;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.graalvm.compiler.debug.TimerKey Init_Edges;
    descriptor: Lorg/graalvm/compiler/debug/TimerKey;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.graalvm.compiler.debug.TimerKey Init_Data;
    descriptor: Lorg/graalvm/compiler/debug/TimerKey;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.graalvm.compiler.debug.TimerKey Init_AllowedUsages;
    descriptor: Lorg/graalvm/compiler/debug/TimerKey;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.graalvm.compiler.debug.TimerKey Init_IterableIds;
    descriptor: Lorg/graalvm/compiler/debug/TimerKey;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  public static final long MAX_EDGES;
    descriptor: J
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  public static final long MAX_LIST_EDGES;
    descriptor: J
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 6

  public static final long OFFSET_MASK;
    descriptor: J
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 252

  public static final long LIST_MASK;
    descriptor: J
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final long NEXT_EDGE;
    descriptor: J
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  private static final java.lang.Class<?> NODE_CLASS;
    descriptor: Ljava/lang/Class;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/lang/Class<*>;

  private static final java.lang.Class<?> INPUT_LIST_CLASS;
    descriptor: Ljava/lang/Class;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/lang/Class<*>;

  private static final java.lang.Class<?> SUCCESSOR_LIST_CLASS;
    descriptor: Ljava/lang/Class;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/lang/Class<*>;

  private static final java.util.concurrent.atomic.AtomicInteger nextIterableId;
    descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.concurrent.atomic.AtomicInteger nextLeafId;
    descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final org.graalvm.compiler.graph.InputEdges inputs;
    descriptor: Lorg/graalvm/compiler/graph/InputEdges;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.graalvm.compiler.graph.SuccessorEdges successors;
    descriptor: Lorg/graalvm/compiler/graph/SuccessorEdges;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.graalvm.compiler.graph.NodeClass<? super T> superNodeClass;
    descriptor: Lorg/graalvm/compiler/graph/NodeClass;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/graalvm/compiler/graph/NodeClass<-TT;>;

  private final boolean canGVN;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int startGVNNumber;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String nameTemplate;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int iterableId;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.EnumSet<org.graalvm.compiler.nodeinfo.InputType> allowedUsageTypes;
    descriptor: Ljava/util/EnumSet;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/EnumSet<Lorg/graalvm/compiler/nodeinfo/InputType;>;

  private int[] iterableIds;
    descriptor: [I
    flags: (0x0002) ACC_PRIVATE

  private final long inputsIteration;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final long successorIteration;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static final org.graalvm.compiler.debug.CounterKey ITERABLE_NODE_TYPES;
    descriptor: Lorg/graalvm/compiler/debug/CounterKey;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final boolean isCanonicalizable;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean isCommutative;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean isSimplifiable;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean isLeafNode;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int leafId;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.graalvm.compiler.nodeinfo.NodeCycles cycles;
    descriptor: Lorg/graalvm/compiler/nodeinfo/NodeCycles;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.graalvm.compiler.nodeinfo.NodeSize size;
    descriptor: Lorg/graalvm/compiler/nodeinfo/NodeSize;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.lang.String shortName;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 83
            ldc Lorg/graalvm/compiler/graph/NodeClass;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.graalvm.compiler.graph.NodeClass.$assertionsDisabled:Z
         3: .line 85
            invokestatic org.graalvm.compiler.serviceprovider.GraalUnsafeAccess.getUnsafe:()Lsun/misc/Unsafe;
            putstatic org.graalvm.compiler.graph.NodeClass.UNSAFE:Lsun/misc/Unsafe;
         4: .line 87
            ldc "NodeClass.Init.FieldScanning"
            invokestatic org.graalvm.compiler.debug.DebugContext.timer:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/TimerKey;
            putstatic org.graalvm.compiler.graph.NodeClass.Init_FieldScanning:Lorg/graalvm/compiler/debug/TimerKey;
         5: .line 88
            ldc "NodeClass.Init.FieldScanning.Inner"
            invokestatic org.graalvm.compiler.debug.DebugContext.timer:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/TimerKey;
            putstatic org.graalvm.compiler.graph.NodeClass.Init_FieldScanningInner:Lorg/graalvm/compiler/debug/TimerKey;
         6: .line 89
            ldc "NodeClass.Init.AnnotationParsing"
            invokestatic org.graalvm.compiler.debug.DebugContext.timer:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/TimerKey;
            putstatic org.graalvm.compiler.graph.NodeClass.Init_AnnotationParsing:Lorg/graalvm/compiler/debug/TimerKey;
         7: .line 90
            ldc "NodeClass.Init.Edges"
            invokestatic org.graalvm.compiler.debug.DebugContext.timer:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/TimerKey;
            putstatic org.graalvm.compiler.graph.NodeClass.Init_Edges:Lorg/graalvm/compiler/debug/TimerKey;
         8: .line 91
            ldc "NodeClass.Init.Data"
            invokestatic org.graalvm.compiler.debug.DebugContext.timer:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/TimerKey;
            putstatic org.graalvm.compiler.graph.NodeClass.Init_Data:Lorg/graalvm/compiler/debug/TimerKey;
         9: .line 92
            ldc "NodeClass.Init.AllowedUsages"
            invokestatic org.graalvm.compiler.debug.DebugContext.timer:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/TimerKey;
            putstatic org.graalvm.compiler.graph.NodeClass.Init_AllowedUsages:Lorg/graalvm/compiler/debug/TimerKey;
        10: .line 93
            ldc "NodeClass.Init.IterableIds"
            invokestatic org.graalvm.compiler.debug.DebugContext.timer:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/TimerKey;
            putstatic org.graalvm.compiler.graph.NodeClass.Init_IterableIds:Lorg/graalvm/compiler/debug/TimerKey;
        11: .line 140
            ldc Lorg/graalvm/compiler/graph/Node;
            putstatic org.graalvm.compiler.graph.NodeClass.NODE_CLASS:Ljava/lang/Class;
        12: .line 141
            ldc Lorg/graalvm/compiler/graph/NodeInputList;
            putstatic org.graalvm.compiler.graph.NodeClass.INPUT_LIST_CLASS:Ljava/lang/Class;
        13: .line 142
            ldc Lorg/graalvm/compiler/graph/NodeSuccessorList;
            putstatic org.graalvm.compiler.graph.NodeClass.SUCCESSOR_LIST_CLASS:Ljava/lang/Class;
        14: .line 144
            new java.util.concurrent.atomic.AtomicInteger
            dup
            invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
            putstatic org.graalvm.compiler.graph.NodeClass.nextIterableId:Ljava/util/concurrent/atomic/AtomicInteger;
        15: .line 145
            new java.util.concurrent.atomic.AtomicInteger
            dup
            invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
            putstatic org.graalvm.compiler.graph.NodeClass.nextLeafId:Ljava/util/concurrent/atomic/AtomicInteger;
        16: .line 160
            ldc "IterableNodeTypes"
            invokestatic org.graalvm.compiler.debug.DebugContext.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/CounterKey;
            putstatic org.graalvm.compiler.graph.NodeClass.ITERABLE_NODE_TYPES:Lorg/graalvm/compiler/debug/CounterKey;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static <T extends java.lang.annotation.Annotation> T getAnnotationTimed(java.lang.reflect.AnnotatedElement, java.lang.Class<T>, org.graalvm.compiler.debug.DebugContext);
    descriptor: (Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;Lorg/graalvm/compiler/debug/DebugContext;)Ljava/lang/annotation/Annotation;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=3
        start local 0 // java.lang.reflect.AnnotatedElement e
        start local 1 // java.lang.Class annotationClass
        start local 2 // org.graalvm.compiler.debug.DebugContext debug
         0: .line 103
            aconst_null
            astore 3
            aconst_null
            astore 4
         1: getstatic org.graalvm.compiler.graph.NodeClass.Init_AnnotationParsing:Lorg/graalvm/compiler/debug/TimerKey;
            aload 2 /* debug */
            invokeinterface org.graalvm.compiler.debug.TimerKey.start:(Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/debug/DebugCloseable;
            astore 5 /* s */
        start local 5 // org.graalvm.compiler.debug.DebugCloseable s
         2: .line 104
            aload 0 /* e */
            aload 1 /* annotationClass */
            invokeinterface java.lang.reflect.AnnotatedElement.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
         3: .line 105
            aload 5 /* s */
            ifnull 4
            aload 5 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
         4: .line 104
      StackMap locals: java.lang.reflect.AnnotatedElement java.lang.Class org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable
      StackMap stack: java.lang.annotation.Annotation
            areturn
      StackMap locals:
      StackMap stack: java.lang.Throwable
         5: astore 3
         6: .line 105
            aload 5 /* s */
            ifnull 7
            aload 5 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 5 // org.graalvm.compiler.debug.DebugCloseable s
      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
        end local 2 // org.graalvm.compiler.debug.DebugContext debug
        end local 1 // java.lang.Class annotationClass
        end local 0 // java.lang.reflect.AnnotatedElement e
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   11     0                e  Ljava/lang/reflect/AnnotatedElement;
            0   11     1  annotationClass  Ljava/lang/Class<TT;>;
            0   11     2            debug  Lorg/graalvm/compiler/debug/DebugContext;
            2    7     5                s  Lorg/graalvm/compiler/debug/DebugCloseable;
      Exception table:
        from    to  target  type
           2     3       5  any
           1     4       8  any
           5     8       8  any
    Signature: <T::Ljava/lang/annotation/Annotation;>(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class<TT;>;Lorg/graalvm/compiler/debug/DebugContext;)TT;
    MethodParameters:
                 Name  Flags
      e                
      annotationClass  
      debug            

  public static <T> org.graalvm.compiler.graph.NodeClass<T> create(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Lorg/graalvm/compiler/graph/NodeClass;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // java.lang.Class c
         0: .line 112
            getstatic org.graalvm.compiler.graph.NodeClass.$assertionsDisabled:Z
            ifne 1
            aload 0 /* c */
            invokestatic org.graalvm.compiler.graph.NodeClass.getUnchecked:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/NodeClass;
            ifnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 113
      StackMap locals:
      StackMap stack:
            aload 0 /* c */
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            astore 1 /* superclass */
        start local 1 // java.lang.Class superclass
         2: .line 114
            aconst_null
            astore 2 /* nodeSuperclass */
        start local 2 // org.graalvm.compiler.graph.NodeClass nodeSuperclass
         3: .line 115
            aload 1 /* superclass */
            getstatic org.graalvm.compiler.graph.NodeClass.NODE_CLASS:Ljava/lang/Class;
            if_acmpeq 5
         4: .line 116
            aload 1 /* superclass */
            invokestatic org.graalvm.compiler.graph.NodeClass.get:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/NodeClass;
            astore 2 /* nodeSuperclass */
         5: .line 118
      StackMap locals: java.lang.Class org.graalvm.compiler.graph.NodeClass
      StackMap stack:
            new org.graalvm.compiler.graph.NodeClass
            dup
            aload 0 /* c */
            aload 2 /* nodeSuperclass */
            invokespecial org.graalvm.compiler.graph.NodeClass.<init>:(Ljava/lang/Class;Lorg/graalvm/compiler/graph/NodeClass;)V
            areturn
        end local 2 // org.graalvm.compiler.graph.NodeClass nodeSuperclass
        end local 1 // java.lang.Class superclass
        end local 0 // java.lang.Class c
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    6     0               c  Ljava/lang/Class<TT;>;
            2    6     1      superclass  Ljava/lang/Class<-TT;>;
            3    6     2  nodeSuperclass  Lorg/graalvm/compiler/graph/NodeClass<-TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;)Lorg/graalvm/compiler/graph/NodeClass<TT;>;
    MethodParameters:
      Name  Flags
      c     

  private static <T> org.graalvm.compiler.graph.NodeClass<T> getUnchecked(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Lorg/graalvm/compiler/graph/NodeClass;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.lang.Class clazz
         0: .line 124
            aload 0 /* clazz */
            ldc "TYPE"
            invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
            astore 1 /* field */
        start local 1 // java.lang.reflect.Field field
         1: .line 125
            aload 1 /* field */
            iconst_1
            invokevirtual java.lang.reflect.Field.setAccessible:(Z)V
         2: .line 126
            aload 1 /* field */
            aconst_null
            invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.NodeClass
         3: areturn
        end local 1 // java.lang.reflect.Field field
         4: .line 127
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 1 /* e */
        start local 1 // java.lang.Exception e
         5: .line 128
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Could not load Graal NodeClass TYPE field for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* clazz */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 1 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.lang.Exception e
        end local 0 // java.lang.Class clazz
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0  clazz  Ljava/lang/Class<TT;>;
            1    4     1  field  Ljava/lang/reflect/Field;
            5    6     1      e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     3       4  Class java.lang.IllegalArgumentException
           0     3       4  Class java.lang.IllegalAccessException
           0     3       4  Class java.lang.NoSuchFieldException
           0     3       4  Class java.lang.SecurityException
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;)Lorg/graalvm/compiler/graph/NodeClass<TT;>;
    MethodParameters:
       Name  Flags
      clazz  

  public static <T> org.graalvm.compiler.graph.NodeClass<T> get(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Lorg/graalvm/compiler/graph/NodeClass;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.Class clazz
         0: .line 133
            aload 0 /* clazz */
            invokestatic org.graalvm.compiler.graph.NodeClass.getUnchecked:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/NodeClass;
            astore 1 /* result */
        start local 1 // org.graalvm.compiler.graph.NodeClass result
         1: .line 134
            aload 1 /* result */
            ifnonnull 3
            aload 0 /* clazz */
            getstatic org.graalvm.compiler.graph.NodeClass.NODE_CLASS:Ljava/lang/Class;
            if_acmpeq 3
         2: .line 135
            new java.lang.StringBuilder
            dup
            ldc "TYPE field not initialized for class "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* clazz */
            invokevirtual java.lang.Class.getTypeName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
         3: .line 137
      StackMap locals: org.graalvm.compiler.graph.NodeClass
      StackMap stack:
            aload 1 /* result */
            areturn
        end local 1 // org.graalvm.compiler.graph.NodeClass result
        end local 0 // java.lang.Class clazz
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0   clazz  Ljava/lang/Class<TT;>;
            1    4     1  result  Lorg/graalvm/compiler/graph/NodeClass<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;)Lorg/graalvm/compiler/graph/NodeClass<TT;>;
    MethodParameters:
       Name  Flags
      clazz  

  public void <init>(java.lang.Class<T>, org.graalvm.compiler.graph.NodeClass<? super T>);
    descriptor: (Ljava/lang/Class;Lorg/graalvm/compiler/graph/NodeClass;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.graph.NodeClass this
        start local 1 // java.lang.Class clazz
        start local 2 // org.graalvm.compiler.graph.NodeClass superNodeClass
         0: .line 181
            aload 0 /* this */
            aload 1 /* clazz */
            aload 2 /* superNodeClass */
            new org.graalvm.compiler.core.common.FieldsScanner$DefaultCalcOffset
            dup
            invokespecial org.graalvm.compiler.core.common.FieldsScanner$DefaultCalcOffset.<init>:()V
            aconst_null
            iconst_0
            invokespecial org.graalvm.compiler.graph.NodeClass.<init>:(Ljava/lang/Class;Lorg/graalvm/compiler/graph/NodeClass;Lorg/graalvm/compiler/core/common/FieldsScanner$CalcOffset;[II)V
         1: .line 182
            return
        end local 2 // org.graalvm.compiler.graph.NodeClass superNodeClass
        end local 1 // java.lang.Class clazz
        end local 0 // org.graalvm.compiler.graph.NodeClass this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lorg/graalvm/compiler/graph/NodeClass<TT;>;
            0    2     1           clazz  Ljava/lang/Class<TT;>;
            0    2     2  superNodeClass  Lorg/graalvm/compiler/graph/NodeClass<-TT;>;
    Signature: (Ljava/lang/Class<TT;>;Lorg/graalvm/compiler/graph/NodeClass<-TT;>;)V
    MethodParameters:
                Name  Flags
      clazz           
      superNodeClass  

  public void <init>(java.lang.Class<T>, org.graalvm.compiler.graph.NodeClass<? super T>, org.graalvm.compiler.core.common.FieldsScanner$CalcOffset, int[], );
    descriptor: (Ljava/lang/Class;Lorg/graalvm/compiler/graph/NodeClass;Lorg/graalvm/compiler/core/common/FieldsScanner$CalcOffset;[II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=14, args_size=6
        start local 0 // org.graalvm.compiler.graph.NodeClass this
        start local 1 // java.lang.Class clazz
        start local 2 // org.graalvm.compiler.graph.NodeClass superNodeClass
        start local 3 // org.graalvm.compiler.core.common.FieldsScanner$CalcOffset calcOffset
        start local 4 // int[] presetIterableIds
        start local 5 // int presetIterableId
         0: .line 186
            aload 0 /* this */
            aload 1 /* clazz */
            invokespecial org.graalvm.compiler.core.common.FieldIntrospection.<init>:(Ljava/lang/Class;)V
         1: .line 187
            invokestatic org.graalvm.compiler.debug.DebugContext.forCurrentThread:()Lorg/graalvm/compiler/debug/DebugContext;
            astore 6 /* debug */
        start local 6 // org.graalvm.compiler.debug.DebugContext debug
         2: .line 188
            aload 0 /* this */
            aload 2 /* superNodeClass */
            putfield org.graalvm.compiler.graph.NodeClass.superNodeClass:Lorg/graalvm/compiler/graph/NodeClass;
         3: .line 189
            getstatic org.graalvm.compiler.graph.NodeClass.$assertionsDisabled:Z
            ifne 4
            getstatic org.graalvm.compiler.graph.NodeClass.NODE_CLASS:Ljava/lang/Class;
            aload 1 /* clazz */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 191
      StackMap locals: org.graalvm.compiler.graph.NodeClass java.lang.Class org.graalvm.compiler.graph.NodeClass org.graalvm.compiler.core.common.FieldsScanner$CalcOffset int[] int org.graalvm.compiler.debug.DebugContext
      StackMap stack:
            aload 0 /* this */
            ldc Lorg/graalvm/compiler/graph/spi/Canonicalizable;
            aload 1 /* clazz */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            putfield org.graalvm.compiler.graph.NodeClass.isCanonicalizable:Z
         5: .line 192
            aload 0 /* this */
            ldc Lorg/graalvm/compiler/graph/spi/Canonicalizable$BinaryCommutative;
            aload 1 /* clazz */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            putfield org.graalvm.compiler.graph.NodeClass.isCommutative:Z
         6: .line 193
            ldc Lorg/graalvm/compiler/graph/spi/Canonicalizable$Unary;
            aload 1 /* clazz */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 7
            ldc Lorg/graalvm/compiler/graph/spi/Canonicalizable$Binary;
            aload 1 /* clazz */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 8
         7: .line 194
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.graph.NodeClass.$assertionsDisabled:Z
            ifne 8
            ldc Lorg/graalvm/compiler/graph/spi/Canonicalizable$Unary;
            aload 1 /* clazz */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ldc Lorg/graalvm/compiler/graph/spi/Canonicalizable$Binary;
            aload 1 /* clazz */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ixor
            ifne 8
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 1 /* clazz */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " should implement either Unary or Binary, not both"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         8: .line 197
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc Lorg/graalvm/compiler/graph/spi/Simplifiable;
            aload 1 /* clazz */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            putfield org.graalvm.compiler.graph.NodeClass.isSimplifiable:Z
         9: .line 199
            new org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner
            dup
            aload 3 /* calcOffset */
            aload 2 /* superNodeClass */
            aload 6 /* debug */
            invokespecial org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner.<init>:(Lorg/graalvm/compiler/core/common/FieldsScanner$CalcOffset;Lorg/graalvm/compiler/graph/NodeClass;Lorg/graalvm/compiler/debug/DebugContext;)V
            astore 7 /* fs */
        start local 7 // org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner fs
        10: .line 200
            aconst_null
            astore 8
            aconst_null
            astore 9
        11: getstatic org.graalvm.compiler.graph.NodeClass.Init_FieldScanning:Lorg/graalvm/compiler/debug/TimerKey;
            aload 6 /* debug */
            invokeinterface org.graalvm.compiler.debug.TimerKey.start:(Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/debug/DebugCloseable;
            astore 10 /* t */
        start local 10 // org.graalvm.compiler.debug.DebugCloseable t
        12: .line 201
            aload 7 /* fs */
            aload 1 /* clazz */
            aload 1 /* clazz */
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            iconst_0
            invokevirtual org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner.scan:(Ljava/lang/Class;Ljava/lang/Class;Z)V
        13: .line 202
            aload 10 /* t */
            ifnull 19
            aload 10 /* t */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 19
      StackMap locals: org.graalvm.compiler.graph.NodeClass java.lang.Class org.graalvm.compiler.graph.NodeClass org.graalvm.compiler.core.common.FieldsScanner$CalcOffset int[] int org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable
      StackMap stack: java.lang.Throwable
        14: astore 8
            aload 10 /* t */
            ifnull 15
            aload 10 /* t */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 10 // org.graalvm.compiler.debug.DebugCloseable t
      StackMap locals:
      StackMap stack:
        15: aload 8
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        16: astore 9
            aload 8
            ifnonnull 17
            aload 9
            astore 8
            goto 18
      StackMap locals:
      StackMap stack:
        17: aload 8
            aload 9
            if_acmpeq 18
            aload 8
            aload 9
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        18: aload 8
            athrow
        19: .line 204
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 8
            aconst_null
            astore 9
        20: getstatic org.graalvm.compiler.graph.NodeClass.Init_Edges:Lorg/graalvm/compiler/debug/TimerKey;
            aload 6 /* debug */
            invokeinterface org.graalvm.compiler.debug.TimerKey.start:(Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/debug/DebugCloseable;
            astore 10 /* t1 */
        start local 10 // org.graalvm.compiler.debug.DebugCloseable t1
        21: .line 205
            aload 0 /* this */
            new org.graalvm.compiler.graph.SuccessorEdges
            dup
            aload 7 /* fs */
            getfield org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner.directSuccessors:I
            aload 7 /* fs */
            getfield org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner.successors:Ljava/util/ArrayList;
            invokespecial org.graalvm.compiler.graph.SuccessorEdges.<init>:(ILjava/util/ArrayList;)V
            putfield org.graalvm.compiler.graph.NodeClass.successors:Lorg/graalvm/compiler/graph/SuccessorEdges;
        22: .line 206
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.successors:Lorg/graalvm/compiler/graph/SuccessorEdges;
            invokevirtual org.graalvm.compiler.graph.SuccessorEdges.type:()Lorg/graalvm/compiler/graph/Edges$Type;
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.successors:Lorg/graalvm/compiler/graph/SuccessorEdges;
            invokevirtual org.graalvm.compiler.graph.SuccessorEdges.getDirectCount:()I
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.successors:Lorg/graalvm/compiler/graph/SuccessorEdges;
            invokevirtual org.graalvm.compiler.graph.SuccessorEdges.getOffsets:()[J
            invokestatic org.graalvm.compiler.graph.NodeClass.computeIterationMask:(Lorg/graalvm/compiler/graph/Edges$Type;I[J)J
            putfield org.graalvm.compiler.graph.NodeClass.successorIteration:J
        23: .line 207
            aload 0 /* this */
            new org.graalvm.compiler.graph.InputEdges
            dup
            aload 7 /* fs */
            getfield org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner.directInputs:I
            aload 7 /* fs */
            getfield org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner.inputs:Ljava/util/ArrayList;
            invokespecial org.graalvm.compiler.graph.InputEdges.<init>:(ILjava/util/ArrayList;)V
            putfield org.graalvm.compiler.graph.NodeClass.inputs:Lorg/graalvm/compiler/graph/InputEdges;
        24: .line 208
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.inputs:Lorg/graalvm/compiler/graph/InputEdges;
            invokevirtual org.graalvm.compiler.graph.InputEdges.type:()Lorg/graalvm/compiler/graph/Edges$Type;
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.inputs:Lorg/graalvm/compiler/graph/InputEdges;
            invokevirtual org.graalvm.compiler.graph.InputEdges.getDirectCount:()I
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.inputs:Lorg/graalvm/compiler/graph/InputEdges;
            invokevirtual org.graalvm.compiler.graph.InputEdges.getOffsets:()[J
            invokestatic org.graalvm.compiler.graph.NodeClass.computeIterationMask:(Lorg/graalvm/compiler/graph/Edges$Type;I[J)J
            putfield org.graalvm.compiler.graph.NodeClass.inputsIteration:J
        25: .line 209
            aload 10 /* t1 */
            ifnull 31
            aload 10 /* t1 */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 31
      StackMap locals: org.graalvm.compiler.graph.NodeClass java.lang.Class org.graalvm.compiler.graph.NodeClass org.graalvm.compiler.core.common.FieldsScanner$CalcOffset int[] int org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable
      StackMap stack: java.lang.Throwable
        26: astore 8
            aload 10 /* t1 */
            ifnull 27
            aload 10 /* t1 */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 10 // org.graalvm.compiler.debug.DebugCloseable t1
      StackMap locals:
      StackMap stack:
        27: aload 8
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        28: astore 9
            aload 8
            ifnonnull 29
            aload 9
            astore 8
            goto 30
      StackMap locals:
      StackMap stack:
        29: aload 8
            aload 9
            if_acmpeq 30
            aload 8
            aload 9
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        30: aload 8
            athrow
        31: .line 210
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 8
            aconst_null
            astore 9
        32: getstatic org.graalvm.compiler.graph.NodeClass.Init_Data:Lorg/graalvm/compiler/debug/TimerKey;
            aload 6 /* debug */
            invokeinterface org.graalvm.compiler.debug.TimerKey.start:(Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/debug/DebugCloseable;
            astore 10 /* t1 */
        start local 10 // org.graalvm.compiler.debug.DebugCloseable t1
        33: .line 211
            aload 0 /* this */
            aload 7 /* fs */
            getfield org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner.data:Ljava/util/ArrayList;
            invokestatic org.graalvm.compiler.core.common.Fields.create:(Ljava/util/ArrayList;)Lorg/graalvm/compiler/core/common/Fields;
            putfield org.graalvm.compiler.graph.NodeClass.data:Lorg/graalvm/compiler/core/common/Fields;
        34: .line 212
            aload 10 /* t1 */
            ifnull 40
            aload 10 /* t1 */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 40
      StackMap locals: org.graalvm.compiler.graph.NodeClass java.lang.Class org.graalvm.compiler.graph.NodeClass org.graalvm.compiler.core.common.FieldsScanner$CalcOffset int[] int org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable
      StackMap stack: java.lang.Throwable
        35: astore 8
            aload 10 /* t1 */
            ifnull 36
            aload 10 /* t1 */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 10 // org.graalvm.compiler.debug.DebugCloseable t1
      StackMap locals:
      StackMap stack:
        36: aload 8
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        37: astore 9
            aload 8
            ifnonnull 38
            aload 9
            astore 8
            goto 39
      StackMap locals:
      StackMap stack:
        38: aload 8
            aload 9
            if_acmpeq 39
            aload 8
            aload 9
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        39: aload 8
            athrow
        40: .line 214
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.inputs:Lorg/graalvm/compiler/graph/InputEdges;
            invokevirtual org.graalvm.compiler.graph.InputEdges.getCount:()I
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.successors:Lorg/graalvm/compiler/graph/SuccessorEdges;
            invokevirtual org.graalvm.compiler.graph.SuccessorEdges.getCount:()I
            iadd
            ifne 41
            iconst_1
            goto 42
      StackMap locals:
      StackMap stack: org.graalvm.compiler.graph.NodeClass
        41: iconst_0
      StackMap locals: org.graalvm.compiler.graph.NodeClass java.lang.Class org.graalvm.compiler.graph.NodeClass org.graalvm.compiler.core.common.FieldsScanner$CalcOffset int[] int org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner
      StackMap stack: org.graalvm.compiler.graph.NodeClass int
        42: putfield org.graalvm.compiler.graph.NodeClass.isLeafNode:Z
        43: .line 215
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.isLeafNode:Z
            ifeq 46
        44: .line 216
            aload 0 /* this */
            getstatic org.graalvm.compiler.graph.NodeClass.nextLeafId:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.getAndIncrement:()I
            putfield org.graalvm.compiler.graph.NodeClass.leafId:I
        45: .line 217
            goto 47
        46: .line 218
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_m1
            putfield org.graalvm.compiler.graph.NodeClass.leafId:I
        47: .line 221
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc Lorg/graalvm/compiler/graph/Node$ValueNumberable;
            aload 1 /* clazz */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            putfield org.graalvm.compiler.graph.NodeClass.canGVN:Z
        48: .line 222
            aload 0 /* this */
            aload 1 /* clazz */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.hashCode:()I
            putfield org.graalvm.compiler.graph.NodeClass.startGVNNumber:I
        49: .line 224
            aload 1 /* clazz */
            ldc Lorg/graalvm/compiler/nodeinfo/NodeInfo;
            aload 6 /* debug */
            invokestatic org.graalvm.compiler.graph.NodeClass.getAnnotationTimed:(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;Lorg/graalvm/compiler/debug/DebugContext;)Ljava/lang/annotation/Annotation;
            checkcast org.graalvm.compiler.nodeinfo.NodeInfo
            astore 8 /* info */
        start local 8 // org.graalvm.compiler.nodeinfo.NodeInfo info
        50: .line 225
            getstatic org.graalvm.compiler.graph.NodeClass.$assertionsDisabled:Z
            ifne 51
            aload 8 /* info */
            ifnonnull 51
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Missing NodeInfo annotation on "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* clazz */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        51: .line 226
      StackMap locals: org.graalvm.compiler.nodeinfo.NodeInfo
      StackMap stack:
            aload 8 /* info */
            invokeinterface org.graalvm.compiler.nodeinfo.NodeInfo.nameTemplate:()Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 54
        52: .line 227
            aload 0 /* this */
            aload 8 /* info */
            invokeinterface org.graalvm.compiler.nodeinfo.NodeInfo.nameTemplate:()Ljava/lang/String;
            putfield org.graalvm.compiler.graph.NodeClass.nameTemplate:Ljava/lang/String;
        53: .line 228
            goto 58
      StackMap locals:
      StackMap stack:
        54: aload 8 /* info */
            invokeinterface org.graalvm.compiler.nodeinfo.NodeInfo.shortName:()Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 57
        55: .line 229
            aload 0 /* this */
            aload 8 /* info */
            invokeinterface org.graalvm.compiler.nodeinfo.NodeInfo.shortName:()Ljava/lang/String;
            putfield org.graalvm.compiler.graph.NodeClass.nameTemplate:Ljava/lang/String;
        56: .line 230
            goto 58
        57: .line 231
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc ""
            putfield org.graalvm.compiler.graph.NodeClass.nameTemplate:Ljava/lang/String;
        58: .line 234
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 9
            aconst_null
            astore 10
        59: getstatic org.graalvm.compiler.graph.NodeClass.Init_AllowedUsages:Lorg/graalvm/compiler/debug/TimerKey;
            aload 6 /* debug */
            invokeinterface org.graalvm.compiler.debug.TimerKey.start:(Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/debug/DebugCloseable;
            astore 11 /* t1 */
        start local 11 // org.graalvm.compiler.debug.DebugCloseable t1
        60: .line 235
            aload 0 /* this */
            aload 2 /* superNodeClass */
            ifnonnull 61
            ldc Lorg/graalvm/compiler/nodeinfo/InputType;
            invokestatic java.util.EnumSet.noneOf:(Ljava/lang/Class;)Ljava/util/EnumSet;
            goto 62
      StackMap locals: org.graalvm.compiler.graph.NodeClass java.lang.Class org.graalvm.compiler.graph.NodeClass org.graalvm.compiler.core.common.FieldsScanner$CalcOffset int[] int org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner org.graalvm.compiler.nodeinfo.NodeInfo java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable
      StackMap stack: org.graalvm.compiler.graph.NodeClass
        61: aload 2 /* superNodeClass */
            getfield org.graalvm.compiler.graph.NodeClass.allowedUsageTypes:Ljava/util/EnumSet;
            invokevirtual java.util.EnumSet.clone:()Ljava/util/EnumSet;
      StackMap locals: org.graalvm.compiler.graph.NodeClass java.lang.Class org.graalvm.compiler.graph.NodeClass org.graalvm.compiler.core.common.FieldsScanner$CalcOffset int[] int org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner org.graalvm.compiler.nodeinfo.NodeInfo java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable
      StackMap stack: org.graalvm.compiler.graph.NodeClass java.util.EnumSet
        62: putfield org.graalvm.compiler.graph.NodeClass.allowedUsageTypes:Ljava/util/EnumSet;
        63: .line 236
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.allowedUsageTypes:Ljava/util/EnumSet;
            aload 8 /* info */
            invokeinterface org.graalvm.compiler.nodeinfo.NodeInfo.allowedUsageTypes:()[Lorg/graalvm/compiler/nodeinfo/InputType;
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokevirtual java.util.EnumSet.addAll:(Ljava/util/Collection;)Z
            pop
        64: .line 237
            aload 11 /* t1 */
            ifnull 70
            aload 11 /* t1 */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 70
      StackMap locals:
      StackMap stack: java.lang.Throwable
        65: astore 9
            aload 11 /* t1 */
            ifnull 66
            aload 11 /* t1 */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 11 // org.graalvm.compiler.debug.DebugCloseable t1
      StackMap locals:
      StackMap stack:
        66: aload 9
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        67: astore 10
            aload 9
            ifnonnull 68
            aload 10
            astore 9
            goto 69
      StackMap locals:
      StackMap stack:
        68: aload 9
            aload 10
            if_acmpeq 69
            aload 9
            aload 10
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        69: aload 9
            athrow
        70: .line 239
      StackMap locals:
      StackMap stack:
            aload 4 /* presetIterableIds */
            ifnull 74
        71: .line 240
            aload 0 /* this */
            aload 4 /* presetIterableIds */
            putfield org.graalvm.compiler.graph.NodeClass.iterableIds:[I
        72: .line 241
            aload 0 /* this */
            iload 5 /* presetIterableId */
            putfield org.graalvm.compiler.graph.NodeClass.iterableId:I
        73: .line 242
            goto 93
      StackMap locals:
      StackMap stack:
        74: ldc Lorg/graalvm/compiler/graph/IterableNodeType;
            aload 1 /* clazz */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 91
        75: .line 243
            getstatic org.graalvm.compiler.graph.NodeClass.ITERABLE_NODE_TYPES:Lorg/graalvm/compiler/debug/CounterKey;
            aload 6 /* debug */
            invokeinterface org.graalvm.compiler.debug.CounterKey.increment:(Lorg/graalvm/compiler/debug/DebugContext;)V
        76: .line 244
            aconst_null
            astore 9
            aconst_null
            astore 10
        77: getstatic org.graalvm.compiler.graph.NodeClass.Init_IterableIds:Lorg/graalvm/compiler/debug/TimerKey;
            aload 6 /* debug */
            invokeinterface org.graalvm.compiler.debug.TimerKey.start:(Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/debug/DebugCloseable;
            astore 11 /* t1 */
        start local 11 // org.graalvm.compiler.debug.DebugCloseable t1
        78: .line 245
            aload 0 /* this */
            getstatic org.graalvm.compiler.graph.NodeClass.nextIterableId:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.getAndIncrement:()I
            putfield org.graalvm.compiler.graph.NodeClass.iterableId:I
        79: .line 247
            aload 2 /* superNodeClass */
            astore 12 /* snc */
        start local 12 // org.graalvm.compiler.graph.NodeClass snc
        80: .line 248
            goto 83
        81: .line 249
      StackMap locals: org.graalvm.compiler.graph.NodeClass java.lang.Class org.graalvm.compiler.graph.NodeClass org.graalvm.compiler.core.common.FieldsScanner$CalcOffset int[] int org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner org.graalvm.compiler.nodeinfo.NodeInfo java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.graph.NodeClass
      StackMap stack:
            aload 12 /* snc */
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.iterableId:I
            invokevirtual org.graalvm.compiler.graph.NodeClass.addIterableId:(I)V
        82: .line 250
            aload 12 /* snc */
            getfield org.graalvm.compiler.graph.NodeClass.superNodeClass:Lorg/graalvm/compiler/graph/NodeClass;
            astore 12 /* snc */
        83: .line 248
      StackMap locals:
      StackMap stack:
            aload 12 /* snc */
            ifnull 84
            ldc Lorg/graalvm/compiler/graph/IterableNodeType;
            aload 12 /* snc */
            invokevirtual org.graalvm.compiler.graph.NodeClass.getClazz:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 81
        84: .line 253
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            newarray 10
            dup
            iconst_0
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.iterableId:I
            iastore
            putfield org.graalvm.compiler.graph.NodeClass.iterableIds:[I
        end local 12 // org.graalvm.compiler.graph.NodeClass snc
        85: .line 254
            aload 11 /* t1 */
            ifnull 93
            aload 11 /* t1 */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 93
      StackMap locals: org.graalvm.compiler.graph.NodeClass java.lang.Class org.graalvm.compiler.graph.NodeClass org.graalvm.compiler.core.common.FieldsScanner$CalcOffset int[] int org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner org.graalvm.compiler.nodeinfo.NodeInfo java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable
      StackMap stack: java.lang.Throwable
        86: astore 9
            aload 11 /* t1 */
            ifnull 87
            aload 11 /* t1 */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 11 // org.graalvm.compiler.debug.DebugCloseable t1
      StackMap locals:
      StackMap stack:
        87: aload 9
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        88: astore 10
            aload 9
            ifnonnull 89
            aload 10
            astore 9
            goto 90
      StackMap locals:
      StackMap stack:
        89: aload 9
            aload 10
            if_acmpeq 90
            aload 9
            aload 10
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        90: aload 9
            athrow
        91: .line 256
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_m1
            putfield org.graalvm.compiler.graph.NodeClass.iterableId:I
        92: .line 257
            aload 0 /* this */
            aconst_null
            putfield org.graalvm.compiler.graph.NodeClass.iterableIds:[I
        93: .line 259
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.graph.NodeClass.$assertionsDisabled:Z
            ifne 94
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.graph.NodeClass.verifyIterableIds:()Z
            ifne 94
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        94: .line 261
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 9
            aconst_null
            astore 10
        95: aload 6 /* debug */
            ldc "NodeCosts"
            invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
            astore 11 /* scope */
        start local 11 // org.graalvm.compiler.debug.DebugContext$Scope scope
        96: .line 272
            aload 8 /* info */
            invokeinterface org.graalvm.compiler.nodeinfo.NodeInfo.cycles:()Lorg/graalvm/compiler/nodeinfo/NodeCycles;
            astore 12 /* c */
        start local 12 // org.graalvm.compiler.nodeinfo.NodeCycles c
        97: .line 273
            aload 12 /* c */
            getstatic org.graalvm.compiler.nodeinfo.NodeCycles.CYCLES_UNSET:Lorg/graalvm/compiler/nodeinfo/NodeCycles;
            if_acmpne 102
        98: .line 274
            aload 0 /* this */
            aload 2 /* superNodeClass */
            ifnull 99
            aload 2 /* superNodeClass */
            getfield org.graalvm.compiler.graph.NodeClass.cycles:Lorg/graalvm/compiler/nodeinfo/NodeCycles;
            goto 100
      StackMap locals: org.graalvm.compiler.graph.NodeClass java.lang.Class org.graalvm.compiler.graph.NodeClass org.graalvm.compiler.core.common.FieldsScanner$CalcOffset int[] int org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner org.graalvm.compiler.nodeinfo.NodeInfo java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.nodeinfo.NodeCycles
      StackMap stack: org.graalvm.compiler.graph.NodeClass
        99: getstatic org.graalvm.compiler.nodeinfo.NodeCycles.CYCLES_UNSET:Lorg/graalvm/compiler/nodeinfo/NodeCycles;
      StackMap locals: org.graalvm.compiler.graph.NodeClass java.lang.Class org.graalvm.compiler.graph.NodeClass org.graalvm.compiler.core.common.FieldsScanner$CalcOffset int[] int org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner org.graalvm.compiler.nodeinfo.NodeInfo java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.nodeinfo.NodeCycles
      StackMap stack: org.graalvm.compiler.graph.NodeClass org.graalvm.compiler.nodeinfo.NodeCycles
       100: putfield org.graalvm.compiler.graph.NodeClass.cycles:Lorg/graalvm/compiler/nodeinfo/NodeCycles;
       101: .line 275
            goto 103
       102: .line 276
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 12 /* c */
            putfield org.graalvm.compiler.graph.NodeClass.cycles:Lorg/graalvm/compiler/nodeinfo/NodeCycles;
       103: .line 278
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.graph.NodeClass.$assertionsDisabled:Z
            ifne 104
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.cycles:Lorg/graalvm/compiler/nodeinfo/NodeCycles;
            ifnonnull 104
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
       104: .line 279
      StackMap locals:
      StackMap stack:
            aload 8 /* info */
            invokeinterface org.graalvm.compiler.nodeinfo.NodeInfo.size:()Lorg/graalvm/compiler/nodeinfo/NodeSize;
            astore 13 /* s */
        start local 13 // org.graalvm.compiler.nodeinfo.NodeSize s
       105: .line 280
            aload 13 /* s */
            getstatic org.graalvm.compiler.nodeinfo.NodeSize.SIZE_UNSET:Lorg/graalvm/compiler/nodeinfo/NodeSize;
            if_acmpne 110
       106: .line 281
            aload 0 /* this */
            aload 2 /* superNodeClass */
            ifnull 107
            aload 2 /* superNodeClass */
            getfield org.graalvm.compiler.graph.NodeClass.size:Lorg/graalvm/compiler/nodeinfo/NodeSize;
            goto 108
      StackMap locals: org.graalvm.compiler.graph.NodeClass java.lang.Class org.graalvm.compiler.graph.NodeClass org.graalvm.compiler.core.common.FieldsScanner$CalcOffset int[] int org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner org.graalvm.compiler.nodeinfo.NodeInfo java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.nodeinfo.NodeCycles org.graalvm.compiler.nodeinfo.NodeSize
      StackMap stack: org.graalvm.compiler.graph.NodeClass
       107: getstatic org.graalvm.compiler.nodeinfo.NodeSize.SIZE_UNSET:Lorg/graalvm/compiler/nodeinfo/NodeSize;
      StackMap locals: org.graalvm.compiler.graph.NodeClass java.lang.Class org.graalvm.compiler.graph.NodeClass org.graalvm.compiler.core.common.FieldsScanner$CalcOffset int[] int org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner org.graalvm.compiler.nodeinfo.NodeInfo java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.nodeinfo.NodeCycles org.graalvm.compiler.nodeinfo.NodeSize
      StackMap stack: org.graalvm.compiler.graph.NodeClass org.graalvm.compiler.nodeinfo.NodeSize
       108: putfield org.graalvm.compiler.graph.NodeClass.size:Lorg/graalvm/compiler/nodeinfo/NodeSize;
       109: .line 282
            goto 111
       110: .line 283
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 13 /* s */
            putfield org.graalvm.compiler.graph.NodeClass.size:Lorg/graalvm/compiler/nodeinfo/NodeSize;
       111: .line 285
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.graph.NodeClass.$assertionsDisabled:Z
            ifne 112
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.size:Lorg/graalvm/compiler/nodeinfo/NodeSize;
            ifnonnull 112
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
       112: .line 286
      StackMap locals:
      StackMap stack:
            aload 6 /* debug */
            ldc "Node cost for node of type __| %s |_, cycles:%s,size:%s"
            aload 1 /* clazz */
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.cycles:Lorg/graalvm/compiler/nodeinfo/NodeCycles;
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.size:Lorg/graalvm/compiler/nodeinfo/NodeSize;
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
        end local 13 // org.graalvm.compiler.nodeinfo.NodeSize s
        end local 12 // org.graalvm.compiler.nodeinfo.NodeCycles c
       113: .line 287
            aload 11 /* scope */
            ifnull 119
            aload 11 /* scope */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
            goto 119
      StackMap locals: org.graalvm.compiler.graph.NodeClass java.lang.Class org.graalvm.compiler.graph.NodeClass org.graalvm.compiler.core.common.FieldsScanner$CalcOffset int[] int org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner org.graalvm.compiler.nodeinfo.NodeInfo java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
      StackMap stack: java.lang.Throwable
       114: astore 9
            aload 11 /* scope */
            ifnull 115
            aload 11 /* scope */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
        end local 11 // org.graalvm.compiler.debug.DebugContext$Scope scope
      StackMap locals:
      StackMap stack:
       115: aload 9
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
       116: astore 10
            aload 9
            ifnonnull 117
            aload 10
            astore 9
            goto 118
      StackMap locals:
      StackMap stack:
       117: aload 9
            aload 10
            if_acmpeq 118
            aload 9
            aload 10
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       118: aload 9
            athrow
       119: .line 288
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.graph.NodeClass.$assertionsDisabled:Z
            ifne 120
            aload 7 /* fs */
            invokestatic org.graalvm.compiler.graph.NodeClass.verifyMemoryEdgeInvariant:(Lorg/graalvm/compiler/graph/NodeClass$NodeFieldsScanner;)Z
            ifne 120
            new java.lang.AssertionError
            dup
            ldc "Nodes participating in the memory graph should have at most 1 optional memory input."
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
       120: .line 289
      StackMap locals:
      StackMap stack:
            return
        end local 8 // org.graalvm.compiler.nodeinfo.NodeInfo info
        end local 7 // org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner fs
        end local 6 // org.graalvm.compiler.debug.DebugContext debug
        end local 5 // int presetIterableId
        end local 4 // int[] presetIterableIds
        end local 3 // org.graalvm.compiler.core.common.FieldsScanner$CalcOffset calcOffset
        end local 2 // org.graalvm.compiler.graph.NodeClass superNodeClass
        end local 1 // java.lang.Class clazz
        end local 0 // org.graalvm.compiler.graph.NodeClass this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0  121     0               this  Lorg/graalvm/compiler/graph/NodeClass<TT;>;
            0  121     1              clazz  Ljava/lang/Class<TT;>;
            0  121     2     superNodeClass  Lorg/graalvm/compiler/graph/NodeClass<-TT;>;
            0  121     3         calcOffset  Lorg/graalvm/compiler/core/common/FieldsScanner$CalcOffset;
            0  121     4  presetIterableIds  [I
            0  121     5   presetIterableId  I
            2  121     6              debug  Lorg/graalvm/compiler/debug/DebugContext;
           10  121     7                 fs  Lorg/graalvm/compiler/graph/NodeClass$NodeFieldsScanner;
           12   15    10                  t  Lorg/graalvm/compiler/debug/DebugCloseable;
           21   27    10                 t1  Lorg/graalvm/compiler/debug/DebugCloseable;
           33   36    10                 t1  Lorg/graalvm/compiler/debug/DebugCloseable;
           50  121     8               info  Lorg/graalvm/compiler/nodeinfo/NodeInfo;
           60   66    11                 t1  Lorg/graalvm/compiler/debug/DebugCloseable;
           78   87    11                 t1  Lorg/graalvm/compiler/debug/DebugCloseable;
           80   85    12                snc  Lorg/graalvm/compiler/graph/NodeClass<*>;
           96  115    11              scope  Lorg/graalvm/compiler/debug/DebugContext$Scope;
           97  113    12                  c  Lorg/graalvm/compiler/nodeinfo/NodeCycles;
          105  113    13                  s  Lorg/graalvm/compiler/nodeinfo/NodeSize;
      Exception table:
        from    to  target  type
          12    13      14  any
          11    16      16  any
          21    25      26  any
          20    28      28  any
          33    34      35  any
          32    37      37  any
          60    64      65  any
          59    67      67  any
          78    85      86  any
          77    88      88  any
          96   113     114  any
          95   116     116  any
    Signature: (Ljava/lang/Class<TT;>;Lorg/graalvm/compiler/graph/NodeClass<-TT;>;Lorg/graalvm/compiler/core/common/FieldsScanner$CalcOffset;[II)V
    MethodParameters:
                   Name  Flags
      clazz              
      superNodeClass     
      calcOffset         
      presetIterableIds  
      presetIterableId   

  private static boolean verifyMemoryEdgeInvariant(org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner);
    descriptor: (Lorg/graalvm/compiler/graph/NodeClass$NodeFieldsScanner;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner fs
         0: .line 292
            iconst_0
            istore 1 /* optionalMemoryInputs */
        start local 1 // int optionalMemoryInputs
         1: .line 293
            aload 0 /* fs */
            getfield org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner.inputs:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner int top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.NodeClass$InputInfo
            astore 2 /* info */
        start local 2 // org.graalvm.compiler.graph.NodeClass$InputInfo info
         3: .line 294
            aload 2 /* info */
            getfield org.graalvm.compiler.graph.NodeClass$InputInfo.optional:Z
            ifeq 5
            aload 2 /* info */
            getfield org.graalvm.compiler.graph.NodeClass$InputInfo.inputType:Lorg/graalvm/compiler/nodeinfo/InputType;
            getstatic org.graalvm.compiler.nodeinfo.InputType.Memory:Lorg/graalvm/compiler/nodeinfo/InputType;
            if_acmpne 5
         4: .line 295
            iinc 1 /* optionalMemoryInputs */ 1
        end local 2 // org.graalvm.compiler.graph.NodeClass$InputInfo info
         5: .line 293
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 298
            iload 1 /* optionalMemoryInputs */
            iconst_1
            if_icmpgt 7
            iconst_1
            ireturn
      StackMap locals: org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner int
      StackMap stack:
         7: iconst_0
            ireturn
        end local 1 // int optionalMemoryInputs
        end local 0 // org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner fs
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    8     0                    fs  Lorg/graalvm/compiler/graph/NodeClass$NodeFieldsScanner;
            1    8     1  optionalMemoryInputs  I
            3    5     2                  info  Lorg/graalvm/compiler/graph/NodeClass$InputInfo;
    MethodParameters:
      Name  Flags
      fs    

  public org.graalvm.compiler.nodeinfo.NodeCycles cycles();
    descriptor: ()Lorg/graalvm/compiler/nodeinfo/NodeCycles;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.graph.NodeClass this
         0: .line 305
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.cycles:Lorg/graalvm/compiler/nodeinfo/NodeCycles;
            areturn
        end local 0 // org.graalvm.compiler.graph.NodeClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/graph/NodeClass<TT;>;

  public org.graalvm.compiler.nodeinfo.NodeSize size();
    descriptor: ()Lorg/graalvm/compiler/nodeinfo/NodeSize;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.graph.NodeClass this
         0: .line 309
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.size:Lorg/graalvm/compiler/nodeinfo/NodeSize;
            areturn
        end local 0 // org.graalvm.compiler.graph.NodeClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/graph/NodeClass<TT;>;

  public static long computeIterationMask(org.graalvm.compiler.graph.Edges$Type, int, long[]);
    descriptor: (Lorg/graalvm/compiler/graph/Edges$Type;I[J)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=8, args_size=3
        start local 0 // org.graalvm.compiler.graph.Edges$Type type
        start local 1 // int directCount
        start local 2 // long[] offsets
         0: .line 313
            lconst_0
            lstore 3 /* mask */
        start local 3 // long mask
         1: .line 314
            aload 2 /* offsets */
            arraylength
            i2l
            ldc 8
            lcmp
            ifle 3
         2: .line 315
            new org.graalvm.compiler.debug.GraalError
            dup
            ldc "Exceeded maximum of %d edges (%s)"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            ldc 8
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_1
            aload 0 /* type */
            aastore
            invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
            athrow
         3: .line 317
      StackMap locals: long
      StackMap stack:
            aload 2 /* offsets */
            arraylength
            iload 1 /* directCount */
            isub
            i2l
            ldc 6
            lcmp
            ifle 5
         4: .line 318
            new org.graalvm.compiler.debug.GraalError
            dup
            ldc "Exceeded maximum of %d list edges (%s)"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            ldc 6
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_1
            aload 0 /* type */
            aastore
            invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
            athrow
         5: .line 321
      StackMap locals:
      StackMap stack:
            aload 2 /* offsets */
            arraylength
            iconst_1
            isub
            istore 5 /* i */
        start local 5 // int i
         6: goto 14
         7: .line 322
      StackMap locals: int
      StackMap stack:
            aload 2 /* offsets */
            iload 5 /* i */
            laload
            lstore 6 /* offset */
        start local 6 // long offset
         8: .line 323
            getstatic org.graalvm.compiler.graph.NodeClass.$assertionsDisabled:Z
            ifne 9
            lload 6 /* offset */
            ldc 255
            land
            lload 6 /* offset */
            lcmp
            ifeq 9
            new java.lang.AssertionError
            dup
            ldc "field offset too large!"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         9: .line 324
      StackMap locals: long
      StackMap stack:
            lload 3 /* mask */
            bipush 8
            lshl
            lstore 3 /* mask */
        10: .line 325
            lload 3 /* mask */
            lload 6 /* offset */
            lor
            lstore 3 /* mask */
        11: .line 326
            iload 5 /* i */
            iload 1 /* directCount */
            if_icmplt 13
        12: .line 327
            lload 3 /* mask */
            ldc 3
            lor
            lstore 3 /* mask */
        end local 6 // long offset
        13: .line 321
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ -1
      StackMap locals:
      StackMap stack:
        14: iload 5 /* i */
            ifge 7
        end local 5 // int i
        15: .line 330
            lload 3 /* mask */
            lreturn
        end local 3 // long mask
        end local 2 // long[] offsets
        end local 1 // int directCount
        end local 0 // org.graalvm.compiler.graph.Edges$Type type
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   16     0         type  Lorg/graalvm/compiler/graph/Edges$Type;
            0   16     1  directCount  I
            0   16     2      offsets  [J
            1   16     3         mask  J
            6   15     5            i  I
            8   13     6       offset  J
    MethodParameters:
             Name  Flags
      type         
      directCount  
      offsets      

  private synchronized void addIterableId(int);
    descriptor: (I)V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.graph.NodeClass this
        start local 1 // int newIterableId
         0: .line 334
            getstatic org.graalvm.compiler.graph.NodeClass.$assertionsDisabled:Z
            ifne 1
            iload 1 /* newIterableId */
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.iterableIds:[I
            invokestatic org.graalvm.compiler.graph.NodeClass.containsId:(I[I)Z
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 335
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.iterableIds:[I
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.iterableIds:[I
            arraylength
            iconst_1
            iadd
            invokestatic java.util.Arrays.copyOf:([II)[I
            astore 2 /* copy */
        start local 2 // int[] copy
         2: .line 336
            aload 2 /* copy */
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.iterableIds:[I
            arraylength
            iload 1 /* newIterableId */
            iastore
         3: .line 337
            aload 0 /* this */
            aload 2 /* copy */
            putfield org.graalvm.compiler.graph.NodeClass.iterableIds:[I
         4: .line 338
            return
        end local 2 // int[] copy
        end local 1 // int newIterableId
        end local 0 // org.graalvm.compiler.graph.NodeClass this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lorg/graalvm/compiler/graph/NodeClass<TT;>;
            0    5     1  newIterableId  I
            2    5     2           copy  [I
    MethodParameters:
               Name  Flags
      newIterableId  

  private boolean verifyIterableIds();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.graph.NodeClass this
         0: .line 341
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.superNodeClass:Lorg/graalvm/compiler/graph/NodeClass;
            astore 1 /* snc */
        start local 1 // org.graalvm.compiler.graph.NodeClass snc
         1: .line 342
            goto 4
         2: .line 343
      StackMap locals: org.graalvm.compiler.graph.NodeClass
      StackMap stack:
            getstatic org.graalvm.compiler.graph.NodeClass.$assertionsDisabled:Z
            ifne 3
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.iterableId:I
            aload 1 /* snc */
            getfield org.graalvm.compiler.graph.NodeClass.iterableIds:[I
            invokestatic org.graalvm.compiler.graph.NodeClass.containsId:(I[I)Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 344
      StackMap locals:
      StackMap stack:
            aload 1 /* snc */
            getfield org.graalvm.compiler.graph.NodeClass.superNodeClass:Lorg/graalvm/compiler/graph/NodeClass;
            astore 1 /* snc */
         4: .line 342
      StackMap locals:
      StackMap stack:
            aload 1 /* snc */
            ifnull 5
            ldc Lorg/graalvm/compiler/graph/IterableNodeType;
            aload 1 /* snc */
            invokevirtual org.graalvm.compiler.graph.NodeClass.getClazz:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 2
         5: .line 346
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // org.graalvm.compiler.graph.NodeClass snc
        end local 0 // org.graalvm.compiler.graph.NodeClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/graalvm/compiler/graph/NodeClass<TT;>;
            1    6     1   snc  Lorg/graalvm/compiler/graph/NodeClass<*>;

  private static boolean containsId(int, int[]);
    descriptor: (I[I)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // int iterableId
        start local 1 // int[] iterableIds
         0: .line 350
            aload 1 /* iterableIds */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 5
      StackMap locals: int int[] top int int int[]
      StackMap stack:
         1: aload 5
            iload 3
            iaload
            istore 2 /* i */
        start local 2 // int i
         2: .line 351
            iload 2 /* i */
            iload 0 /* iterableId */
            if_icmpne 4
         3: .line 352
            iconst_1
            ireturn
        end local 2 // int i
         4: .line 350
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         5: iload 3
            iload 4
            if_icmplt 1
         6: .line 355
            iconst_0
            ireturn
        end local 1 // int[] iterableIds
        end local 0 // int iterableId
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0   iterableId  I
            0    7     1  iterableIds  [I
            2    4     2            i  I
    MethodParameters:
             Name  Flags
      iterableId   
      iterableIds  

  public java.lang.String shortName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // org.graalvm.compiler.graph.NodeClass this
         0: .line 361
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.shortName:Ljava/lang/String;
            ifnonnull 10
         1: .line 362
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.graph.NodeClass.getClazz:()Ljava/lang/Class;
            ldc Lorg/graalvm/compiler/nodeinfo/NodeInfo;
            invokevirtual java.lang.Class.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.graalvm.compiler.nodeinfo.NodeInfo
            astore 1 /* info */
        start local 1 // org.graalvm.compiler.nodeinfo.NodeInfo info
         2: .line 363
            aload 1 /* info */
            invokeinterface org.graalvm.compiler.nodeinfo.NodeInfo.shortName:()Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 5
         3: .line 364
            aload 0 /* this */
            aload 1 /* info */
            invokeinterface org.graalvm.compiler.nodeinfo.NodeInfo.shortName:()Ljava/lang/String;
            putfield org.graalvm.compiler.graph.NodeClass.shortName:Ljava/lang/String;
         4: .line 365
            goto 10
         5: .line 366
      StackMap locals: org.graalvm.compiler.nodeinfo.NodeInfo
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.graph.NodeClass.getClazz:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            astore 2 /* localShortName */
        start local 2 // java.lang.String localShortName
         6: .line 367
            aload 2 /* localShortName */
            ldc "Node"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 9
            aload 2 /* localShortName */
            ldc "StartNode"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 9
            aload 2 /* localShortName */
            ldc "EndNode"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 9
         7: .line 368
            aload 0 /* this */
            aload 2 /* localShortName */
            iconst_0
            aload 2 /* localShortName */
            invokevirtual java.lang.String.length:()I
            iconst_4
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            putfield org.graalvm.compiler.graph.NodeClass.shortName:Ljava/lang/String;
         8: .line 369
            goto 10
         9: .line 370
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 2 /* localShortName */
            putfield org.graalvm.compiler.graph.NodeClass.shortName:Ljava/lang/String;
        end local 2 // java.lang.String localShortName
        end local 1 // org.graalvm.compiler.nodeinfo.NodeInfo info
        10: .line 374
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.shortName:Ljava/lang/String;
            areturn
        end local 0 // org.graalvm.compiler.graph.NodeClass this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   11     0            this  Lorg/graalvm/compiler/graph/NodeClass<TT;>;
            2   10     1            info  Lorg/graalvm/compiler/nodeinfo/NodeInfo;
            6   10     2  localShortName  Ljava/lang/String;

  public org.graalvm.compiler.core.common.Fields[] getAllFields();
    descriptor: ()[Lorg/graalvm/compiler/core/common/Fields;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.graph.NodeClass this
         0: .line 379
            iconst_3
            anewarray org.graalvm.compiler.core.common.Fields
            dup
            iconst_0
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.data:Lorg/graalvm/compiler/core/common/Fields;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.inputs:Lorg/graalvm/compiler/graph/InputEdges;
            aastore
            dup
            iconst_2
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.successors:Lorg/graalvm/compiler/graph/SuccessorEdges;
            aastore
            areturn
        end local 0 // org.graalvm.compiler.graph.NodeClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/graph/NodeClass<TT;>;

  int[] iterableIds();
    descriptor: ()[I
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.graph.NodeClass this
         0: .line 383
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.iterableIds:[I
            areturn
        end local 0 // org.graalvm.compiler.graph.NodeClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/graph/NodeClass<TT;>;

  public int iterableId();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.graph.NodeClass this
         0: .line 387
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.iterableId:I
            ireturn
        end local 0 // org.graalvm.compiler.graph.NodeClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/graph/NodeClass<TT;>;

  public boolean valueNumberable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.graph.NodeClass this
         0: .line 391
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.canGVN:Z
            ireturn
        end local 0 // org.graalvm.compiler.graph.NodeClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/graph/NodeClass<TT;>;

  public boolean isCanonicalizable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.graph.NodeClass this
         0: .line 398
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.isCanonicalizable:Z
            ireturn
        end local 0 // org.graalvm.compiler.graph.NodeClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/graph/NodeClass<TT;>;

  public boolean isCommutative();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.graph.NodeClass this
         0: .line 405
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.isCommutative:Z
            ireturn
        end local 0 // org.graalvm.compiler.graph.NodeClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/graph/NodeClass<TT;>;

  public boolean isSimplifiable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.graph.NodeClass this
         0: .line 412
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.isSimplifiable:Z
            ireturn
        end local 0 // org.graalvm.compiler.graph.NodeClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/graph/NodeClass<TT;>;

  static int allocatedNodeIterabledIds();
    descriptor: ()I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 416
            getstatic org.graalvm.compiler.graph.NodeClass.nextIterableId:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.EnumSet<org.graalvm.compiler.nodeinfo.InputType> getAllowedUsageTypes();
    descriptor: ()Ljava/util/EnumSet;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.graph.NodeClass this
         0: .line 420
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.allowedUsageTypes:Ljava/util/EnumSet;
            areturn
        end local 0 // org.graalvm.compiler.graph.NodeClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/graph/NodeClass<TT;>;
    Signature: ()Ljava/util/EnumSet<Lorg/graalvm/compiler/nodeinfo/InputType;>;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.graph.NodeClass this
         0: .line 543
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* str */
        start local 1 // java.lang.StringBuilder str
         1: .line 544
            aload 1 /* str */
            ldc "NodeClass "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.graph.NodeClass.getClazz:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 545
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.inputs:Lorg/graalvm/compiler/graph/InputEdges;
            aload 1 /* str */
            invokevirtual org.graalvm.compiler.graph.InputEdges.appendFields:(Ljava/lang/StringBuilder;)V
         3: .line 546
            aload 1 /* str */
            ldc "] ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 547
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.successors:Lorg/graalvm/compiler/graph/SuccessorEdges;
            aload 1 /* str */
            invokevirtual org.graalvm.compiler.graph.SuccessorEdges.appendFields:(Ljava/lang/StringBuilder;)V
         5: .line 548
            aload 1 /* str */
            ldc "] ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 549
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.data:Lorg/graalvm/compiler/core/common/Fields;
            aload 1 /* str */
            invokevirtual org.graalvm.compiler.core.common.Fields.appendFields:(Ljava/lang/StringBuilder;)V
         7: .line 550
            aload 1 /* str */
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 551
            aload 1 /* str */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder str
        end local 0 // org.graalvm.compiler.graph.NodeClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/graalvm/compiler/graph/NodeClass<TT;>;
            1    9     1   str  Ljava/lang/StringBuilder;

  private static int deepHashCode0(java.lang.Object);
    descriptor: (Ljava/lang/Object;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object o
         0: .line 555
            aload 0 /* o */
            ifnonnull 2
         1: .line 556
            iconst_0
            ireturn
         2: .line 557
      StackMap locals:
      StackMap stack:
            aload 0 /* o */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isArray:()Z
            ifne 4
         3: .line 558
            aload 0 /* o */
            invokevirtual java.lang.Object.hashCode:()I
            ireturn
         4: .line 559
      StackMap locals:
      StackMap stack:
            aload 0 /* o */
            instanceof java.lang.Object[]
            ifeq 6
         5: .line 560
            aload 0 /* o */
            checkcast java.lang.Object[]
            invokestatic java.util.Arrays.deepHashCode:([Ljava/lang/Object;)I
            ireturn
         6: .line 561
      StackMap locals:
      StackMap stack:
            aload 0 /* o */
            instanceof byte[]
            ifeq 8
         7: .line 562
            aload 0 /* o */
            checkcast byte[]
            invokestatic java.util.Arrays.hashCode:([B)I
            ireturn
         8: .line 563
      StackMap locals:
      StackMap stack:
            aload 0 /* o */
            instanceof short[]
            ifeq 10
         9: .line 564
            aload 0 /* o */
            checkcast short[]
            invokestatic java.util.Arrays.hashCode:([S)I
            ireturn
        10: .line 565
      StackMap locals:
      StackMap stack:
            aload 0 /* o */
            instanceof int[]
            ifeq 12
        11: .line 566
            aload 0 /* o */
            checkcast int[]
            invokestatic java.util.Arrays.hashCode:([I)I
            ireturn
        12: .line 567
      StackMap locals:
      StackMap stack:
            aload 0 /* o */
            instanceof long[]
            ifeq 14
        13: .line 568
            aload 0 /* o */
            checkcast long[]
            invokestatic java.util.Arrays.hashCode:([J)I
            ireturn
        14: .line 569
      StackMap locals:
      StackMap stack:
            aload 0 /* o */
            instanceof char[]
            ifeq 16
        15: .line 570
            aload 0 /* o */
            checkcast char[]
            invokestatic java.util.Arrays.hashCode:([C)I
            ireturn
        16: .line 571
      StackMap locals:
      StackMap stack:
            aload 0 /* o */
            instanceof float[]
            ifeq 18
        17: .line 572
            aload 0 /* o */
            checkcast float[]
            invokestatic java.util.Arrays.hashCode:([F)I
            ireturn
        18: .line 573
      StackMap locals:
      StackMap stack:
            aload 0 /* o */
            instanceof double[]
            ifeq 20
        19: .line 574
            aload 0 /* o */
            checkcast double[]
            invokestatic java.util.Arrays.hashCode:([D)I
            ireturn
        20: .line 575
      StackMap locals:
      StackMap stack:
            aload 0 /* o */
            instanceof boolean[]
            ifeq 22
        21: .line 576
            aload 0 /* o */
            checkcast boolean[]
            invokestatic java.util.Arrays.hashCode:([Z)I
            ireturn
        22: .line 578
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        end local 0 // java.lang.Object o
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   23     0     o  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      o     

  public int valueNumber(org.graalvm.compiler.graph.Node);
    descriptor: (Lorg/graalvm/compiler/graph/Node;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=9, args_size=2
        start local 0 // org.graalvm.compiler.graph.NodeClass this
        start local 1 // org.graalvm.compiler.graph.Node n
         0: .line 583
            iconst_0
            istore 2 /* number */
        start local 2 // int number
         1: .line 584
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.canGVN:Z
            ifeq 47
         2: .line 585
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.startGVNNumber:I
            istore 2 /* number */
         3: .line 586
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 46
         5: .line 587
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.data:Lorg/graalvm/compiler/core/common/Fields;
            iload 3 /* i */
            invokevirtual org.graalvm.compiler.core.common.Fields.getType:(I)Ljava/lang/Class;
            astore 4 /* type */
        start local 4 // java.lang.Class type
         6: .line 588
            aload 4 /* type */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 42
         7: .line 589
            aload 4 /* type */
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            if_acmpne 11
         8: .line 590
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.data:Lorg/graalvm/compiler/core/common/Fields;
            aload 1 /* n */
            iload 3 /* i */
            invokevirtual org.graalvm.compiler.core.common.Fields.getInt:(Ljava/lang/Object;I)I
            istore 5 /* intValue */
        start local 5 // int intValue
         9: .line 591
            iload 2 /* number */
            iload 5 /* intValue */
            iadd
            istore 2 /* number */
        end local 5 // int intValue
        10: .line 592
            goto 44
      StackMap locals: java.lang.Class
      StackMap stack:
        11: aload 4 /* type */
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            if_acmpne 15
        12: .line 593
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.data:Lorg/graalvm/compiler/core/common/Fields;
            aload 1 /* n */
            iload 3 /* i */
            invokevirtual org.graalvm.compiler.core.common.Fields.getLong:(Ljava/lang/Object;I)J
            lstore 5 /* longValue */
        start local 5 // long longValue
        13: .line 594
            iload 2 /* number */
            i2l
            lload 5 /* longValue */
            lload 5 /* longValue */
            bipush 32
            lushr
            lxor
            ladd
            l2i
            istore 2 /* number */
        end local 5 // long longValue
        14: .line 595
            goto 44
      StackMap locals:
      StackMap stack:
        15: aload 4 /* type */
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            if_acmpne 20
        16: .line 596
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.data:Lorg/graalvm/compiler/core/common/Fields;
            aload 1 /* n */
            iload 3 /* i */
            invokevirtual org.graalvm.compiler.core.common.Fields.getBoolean:(Ljava/lang/Object;I)Z
            istore 5 /* booleanValue */
        start local 5 // boolean booleanValue
        17: .line 597
            iload 5 /* booleanValue */
            ifeq 44
        18: .line 598
            iinc 2 /* number */ 7
        end local 5 // boolean booleanValue
        19: .line 600
            goto 44
      StackMap locals:
      StackMap stack:
        20: aload 4 /* type */
            getstatic java.lang.Float.TYPE:Ljava/lang/Class;
            if_acmpne 24
        21: .line 601
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.data:Lorg/graalvm/compiler/core/common/Fields;
            aload 1 /* n */
            iload 3 /* i */
            invokevirtual org.graalvm.compiler.core.common.Fields.getFloat:(Ljava/lang/Object;I)F
            fstore 5 /* floatValue */
        start local 5 // float floatValue
        22: .line 602
            iload 2 /* number */
            fload 5 /* floatValue */
            invokestatic java.lang.Float.floatToRawIntBits:(F)I
            iadd
            istore 2 /* number */
        end local 5 // float floatValue
        23: .line 603
            goto 44
      StackMap locals:
      StackMap stack:
        24: aload 4 /* type */
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            if_acmpne 29
        25: .line 604
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.data:Lorg/graalvm/compiler/core/common/Fields;
            aload 1 /* n */
            iload 3 /* i */
            invokevirtual org.graalvm.compiler.core.common.Fields.getDouble:(Ljava/lang/Object;I)D
            dstore 5 /* doubleValue */
        start local 5 // double doubleValue
        26: .line 605
            dload 5 /* doubleValue */
            invokestatic java.lang.Double.doubleToRawLongBits:(D)J
            lstore 7 /* longValue */
        start local 7 // long longValue
        27: .line 606
            iload 2 /* number */
            i2l
            lload 7 /* longValue */
            lload 7 /* longValue */
            bipush 32
            lushr
            lxor
            ladd
            l2i
            istore 2 /* number */
        end local 7 // long longValue
        end local 5 // double doubleValue
        28: .line 607
            goto 44
      StackMap locals:
      StackMap stack:
        29: aload 4 /* type */
            getstatic java.lang.Short.TYPE:Ljava/lang/Class;
            if_acmpne 33
        30: .line 608
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.data:Lorg/graalvm/compiler/core/common/Fields;
            aload 1 /* n */
            iload 3 /* i */
            invokevirtual org.graalvm.compiler.core.common.Fields.getShort:(Ljava/lang/Object;I)S
            istore 5 /* shortValue */
        start local 5 // short shortValue
        31: .line 609
            iload 2 /* number */
            iload 5 /* shortValue */
            iadd
            istore 2 /* number */
        end local 5 // short shortValue
        32: .line 610
            goto 44
      StackMap locals:
      StackMap stack:
        33: aload 4 /* type */
            getstatic java.lang.Character.TYPE:Ljava/lang/Class;
            if_acmpne 37
        34: .line 611
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.data:Lorg/graalvm/compiler/core/common/Fields;
            aload 1 /* n */
            iload 3 /* i */
            invokevirtual org.graalvm.compiler.core.common.Fields.getChar:(Ljava/lang/Object;I)C
            istore 5 /* charValue */
        start local 5 // char charValue
        35: .line 612
            iload 2 /* number */
            iload 5 /* charValue */
            iadd
            istore 2 /* number */
        end local 5 // char charValue
        36: .line 613
            goto 44
      StackMap locals:
      StackMap stack:
        37: aload 4 /* type */
            getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
            if_acmpne 41
        38: .line 614
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.data:Lorg/graalvm/compiler/core/common/Fields;
            aload 1 /* n */
            iload 3 /* i */
            invokevirtual org.graalvm.compiler.core.common.Fields.getByte:(Ljava/lang/Object;I)B
            istore 5 /* byteValue */
        start local 5 // byte byteValue
        39: .line 615
            iload 2 /* number */
            iload 5 /* byteValue */
            iadd
            istore 2 /* number */
        end local 5 // byte byteValue
        40: .line 616
            goto 44
        41: .line 617
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.graph.NodeClass.$assertionsDisabled:Z
            ifne 44
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "unhandled property type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* type */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        42: .line 620
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.data:Lorg/graalvm/compiler/core/common/Fields;
            aload 1 /* n */
            iload 3 /* i */
            invokevirtual org.graalvm.compiler.core.common.Fields.getObject:(Ljava/lang/Object;I)Ljava/lang/Object;
            astore 5 /* o */
        start local 5 // java.lang.Object o
        43: .line 621
            iload 2 /* number */
            aload 5 /* o */
            invokestatic org.graalvm.compiler.graph.NodeClass.deepHashCode0:(Ljava/lang/Object;)I
            iadd
            istore 2 /* number */
        end local 5 // java.lang.Object o
        44: .line 623
      StackMap locals:
      StackMap stack:
            iload 2 /* number */
            bipush 13
            imul
            istore 2 /* number */
        end local 4 // java.lang.Class type
        45: .line 586
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        46: iload 3 /* i */
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.data:Lorg/graalvm/compiler/core/common/Fields;
            invokevirtual org.graalvm.compiler.core.common.Fields.getCount:()I
            if_icmplt 5
        end local 3 // int i
        47: .line 626
      StackMap locals:
      StackMap stack:
            iload 2 /* number */
            ireturn
        end local 2 // int number
        end local 1 // org.graalvm.compiler.graph.Node n
        end local 0 // org.graalvm.compiler.graph.NodeClass this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   48     0          this  Lorg/graalvm/compiler/graph/NodeClass<TT;>;
            0   48     1             n  Lorg/graalvm/compiler/graph/Node;
            1   48     2        number  I
            4   47     3             i  I
            6   45     4          type  Ljava/lang/Class<*>;
            9   10     5      intValue  I
           13   14     5     longValue  J
           17   19     5  booleanValue  Z
           22   23     5    floatValue  F
           26   28     5   doubleValue  D
           27   28     7     longValue  J
           31   32     5    shortValue  S
           35   36     5     charValue  C
           39   40     5     byteValue  B
           43   44     5             o  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      n     

  private static boolean deepEquals0(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Object e1
        start local 1 // java.lang.Object e2
         0: .line 630
            aload 0 /* e1 */
            aload 1 /* e2 */
            if_acmpne 2
         1: .line 631
            iconst_1
            ireturn
         2: .line 632
      StackMap locals:
      StackMap stack:
            aload 0 /* e1 */
            ifnull 3
            aload 1 /* e2 */
            ifnonnull 4
         3: .line 633
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         4: .line 634
      StackMap locals:
      StackMap stack:
            aload 0 /* e1 */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 5
            aload 0 /* e1 */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 1 /* e2 */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            if_acmpeq 6
         5: .line 635
      StackMap locals:
      StackMap stack:
            aload 0 /* e1 */
            aload 1 /* e2 */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ireturn
         6: .line 636
      StackMap locals:
      StackMap stack:
            aload 0 /* e1 */
            instanceof java.lang.Object[]
            ifeq 8
            aload 1 /* e2 */
            instanceof java.lang.Object[]
            ifeq 8
         7: .line 637
            aload 0 /* e1 */
            checkcast java.lang.Object[]
            aload 1 /* e2 */
            checkcast java.lang.Object[]
            invokestatic org.graalvm.compiler.graph.NodeClass.deepEquals:([Ljava/lang/Object;[Ljava/lang/Object;)Z
            ireturn
         8: .line 638
      StackMap locals:
      StackMap stack:
            aload 0 /* e1 */
            instanceof int[]
            ifeq 10
         9: .line 639
            aload 0 /* e1 */
            checkcast int[]
            aload 1 /* e2 */
            checkcast int[]
            invokestatic java.util.Arrays.equals:([I[I)Z
            ireturn
        10: .line 640
      StackMap locals:
      StackMap stack:
            aload 0 /* e1 */
            instanceof long[]
            ifeq 12
        11: .line 641
            aload 0 /* e1 */
            checkcast long[]
            aload 1 /* e2 */
            checkcast long[]
            invokestatic java.util.Arrays.equals:([J[J)Z
            ireturn
        12: .line 642
      StackMap locals:
      StackMap stack:
            aload 0 /* e1 */
            instanceof byte[]
            ifeq 14
        13: .line 643
            aload 0 /* e1 */
            checkcast byte[]
            aload 1 /* e2 */
            checkcast byte[]
            invokestatic java.util.Arrays.equals:([B[B)Z
            ireturn
        14: .line 644
      StackMap locals:
      StackMap stack:
            aload 0 /* e1 */
            instanceof char[]
            ifeq 16
        15: .line 645
            aload 0 /* e1 */
            checkcast char[]
            aload 1 /* e2 */
            checkcast char[]
            invokestatic java.util.Arrays.equals:([C[C)Z
            ireturn
        16: .line 646
      StackMap locals:
      StackMap stack:
            aload 0 /* e1 */
            instanceof short[]
            ifeq 18
        17: .line 647
            aload 0 /* e1 */
            checkcast short[]
            aload 1 /* e2 */
            checkcast short[]
            invokestatic java.util.Arrays.equals:([S[S)Z
            ireturn
        18: .line 648
      StackMap locals:
      StackMap stack:
            aload 0 /* e1 */
            instanceof float[]
            ifeq 20
        19: .line 649
            aload 0 /* e1 */
            checkcast float[]
            aload 1 /* e2 */
            checkcast float[]
            invokestatic java.util.Arrays.equals:([F[F)Z
            ireturn
        20: .line 650
      StackMap locals:
      StackMap stack:
            aload 0 /* e1 */
            instanceof double[]
            ifeq 22
        21: .line 651
            aload 0 /* e1 */
            checkcast double[]
            aload 1 /* e2 */
            checkcast double[]
            invokestatic java.util.Arrays.equals:([D[D)Z
            ireturn
        22: .line 652
      StackMap locals:
      StackMap stack:
            aload 0 /* e1 */
            instanceof boolean[]
            ifeq 24
        23: .line 653
            aload 0 /* e1 */
            checkcast boolean[]
            aload 1 /* e2 */
            checkcast boolean[]
            invokestatic java.util.Arrays.equals:([Z[Z)Z
            ireturn
        24: .line 655
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        end local 1 // java.lang.Object e2
        end local 0 // java.lang.Object e1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   25     0    e1  Ljava/lang/Object;
            0   25     1    e2  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      e1    
      e2    

  private static boolean deepEquals(java.lang.Object[], java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;[Ljava/lang/Object;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.lang.Object[] a1
        start local 1 // java.lang.Object[] a2
         0: .line 660
            aload 0 /* a1 */
            arraylength
            istore 2 /* length */
        start local 2 // int length
         1: .line 661
            aload 1 /* a2 */
            arraylength
            iload 2 /* length */
            if_icmpeq 3
         2: .line 662
            iconst_0
            ireturn
         3: .line 665
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 8
         5: .line 666
      StackMap locals: int
      StackMap stack:
            aload 0 /* a1 */
            iload 3 /* i */
            aaload
            aload 1 /* a2 */
            iload 3 /* i */
            aaload
            invokestatic org.graalvm.compiler.graph.NodeClass.deepEquals0:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 7
         6: .line 667
            iconst_0
            ireturn
         7: .line 665
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            iload 2 /* length */
            if_icmplt 5
        end local 3 // int i
         9: .line 670
            iconst_1
            ireturn
        end local 2 // int length
        end local 1 // java.lang.Object[] a2
        end local 0 // java.lang.Object[] a1
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0      a1  [Ljava/lang/Object;
            0   10     1      a2  [Ljava/lang/Object;
            1   10     2  length  I
            4    9     3       i  I
    MethodParameters:
      Name  Flags
      a1    
      a2    

  public boolean dataEquals(org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node);
    descriptor: (Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // org.graalvm.compiler.graph.NodeClass this
        start local 1 // org.graalvm.compiler.graph.Node a
        start local 2 // org.graalvm.compiler.graph.Node b
         0: .line 674
            getstatic org.graalvm.compiler.graph.NodeClass.$assertionsDisabled:Z
            ifne 1
            aload 1 /* a */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 2 /* b */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            if_acmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 675
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 55
         3: .line 676
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.data:Lorg/graalvm/compiler/core/common/Fields;
            iload 3 /* i */
            invokevirtual org.graalvm.compiler.core.common.Fields.getType:(I)Ljava/lang/Class;
            astore 4 /* type */
        start local 4 // java.lang.Class type
         4: .line 677
            aload 4 /* type */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 46
         5: .line 678
            aload 4 /* type */
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            if_acmpne 10
         6: .line 679
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.data:Lorg/graalvm/compiler/core/common/Fields;
            aload 1 /* a */
            iload 3 /* i */
            invokevirtual org.graalvm.compiler.core.common.Fields.getInt:(Ljava/lang/Object;I)I
            istore 5 /* aInt */
        start local 5 // int aInt
         7: .line 680
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.data:Lorg/graalvm/compiler/core/common/Fields;
            aload 2 /* b */
            iload 3 /* i */
            invokevirtual org.graalvm.compiler.core.common.Fields.getInt:(Ljava/lang/Object;I)I
            istore 6 /* bInt */
        start local 6 // int bInt
         8: .line 681
            iload 5 /* aInt */
            iload 6 /* bInt */
            if_icmpeq 54
         9: .line 682
            iconst_0
            ireturn
        end local 6 // int bInt
        end local 5 // int aInt
        10: .line 684
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 4 /* type */
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            if_acmpne 15
        11: .line 685
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.data:Lorg/graalvm/compiler/core/common/Fields;
            aload 1 /* a */
            iload 3 /* i */
            invokevirtual org.graalvm.compiler.core.common.Fields.getBoolean:(Ljava/lang/Object;I)Z
            istore 5 /* aBoolean */
        start local 5 // boolean aBoolean
        12: .line 686
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.data:Lorg/graalvm/compiler/core/common/Fields;
            aload 2 /* b */
            iload 3 /* i */
            invokevirtual org.graalvm.compiler.core.common.Fields.getBoolean:(Ljava/lang/Object;I)Z
            istore 6 /* bBoolean */
        start local 6 // boolean bBoolean
        13: .line 687
            iload 5 /* aBoolean */
            iload 6 /* bBoolean */
            if_icmpeq 54
        14: .line 688
            iconst_0
            ireturn
        end local 6 // boolean bBoolean
        end local 5 // boolean aBoolean
        15: .line 690
      StackMap locals:
      StackMap stack:
            aload 4 /* type */
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            if_acmpne 20
        16: .line 691
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.data:Lorg/graalvm/compiler/core/common/Fields;
            aload 1 /* a */
            iload 3 /* i */
            invokevirtual org.graalvm.compiler.core.common.Fields.getLong:(Ljava/lang/Object;I)J
            lstore 5 /* aLong */
        start local 5 // long aLong
        17: .line 692
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.data:Lorg/graalvm/compiler/core/common/Fields;
            aload 2 /* b */
            iload 3 /* i */
            invokevirtual org.graalvm.compiler.core.common.Fields.getLong:(Ljava/lang/Object;I)J
            lstore 7 /* bLong */
        start local 7 // long bLong
        18: .line 693
            lload 5 /* aLong */
            lload 7 /* bLong */
            lcmp
            ifeq 54
        19: .line 694
            iconst_0
            ireturn
        end local 7 // long bLong
        end local 5 // long aLong
        20: .line 696
      StackMap locals:
      StackMap stack:
            aload 4 /* type */
            getstatic java.lang.Float.TYPE:Ljava/lang/Class;
            if_acmpne 25
        21: .line 697
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.data:Lorg/graalvm/compiler/core/common/Fields;
            aload 1 /* a */
            iload 3 /* i */
            invokevirtual org.graalvm.compiler.core.common.Fields.getFloat:(Ljava/lang/Object;I)F
            fstore 5 /* aFloat */
        start local 5 // float aFloat
        22: .line 698
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.data:Lorg/graalvm/compiler/core/common/Fields;
            aload 2 /* b */
            iload 3 /* i */
            invokevirtual org.graalvm.compiler.core.common.Fields.getFloat:(Ljava/lang/Object;I)F
            fstore 6 /* bFloat */
        start local 6 // float bFloat
        23: .line 699
            fload 5 /* aFloat */
            fload 6 /* bFloat */
            fcmpl
            ifeq 54
        24: .line 700
            iconst_0
            ireturn
        end local 6 // float bFloat
        end local 5 // float aFloat
        25: .line 702
      StackMap locals:
      StackMap stack:
            aload 4 /* type */
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            if_acmpne 30
        26: .line 703
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.data:Lorg/graalvm/compiler/core/common/Fields;
            aload 1 /* a */
            iload 3 /* i */
            invokevirtual org.graalvm.compiler.core.common.Fields.getDouble:(Ljava/lang/Object;I)D
            dstore 5 /* aDouble */
        start local 5 // double aDouble
        27: .line 704
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.data:Lorg/graalvm/compiler/core/common/Fields;
            aload 2 /* b */
            iload 3 /* i */
            invokevirtual org.graalvm.compiler.core.common.Fields.getDouble:(Ljava/lang/Object;I)D
            dstore 7 /* bDouble */
        start local 7 // double bDouble
        28: .line 705
            dload 5 /* aDouble */
            dload 7 /* bDouble */
            dcmpl
            ifeq 54
        29: .line 706
            iconst_0
            ireturn
        end local 7 // double bDouble
        end local 5 // double aDouble
        30: .line 708
      StackMap locals:
      StackMap stack:
            aload 4 /* type */
            getstatic java.lang.Short.TYPE:Ljava/lang/Class;
            if_acmpne 35
        31: .line 709
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.data:Lorg/graalvm/compiler/core/common/Fields;
            aload 1 /* a */
            iload 3 /* i */
            invokevirtual org.graalvm.compiler.core.common.Fields.getShort:(Ljava/lang/Object;I)S
            istore 5 /* aShort */
        start local 5 // short aShort
        32: .line 710
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.data:Lorg/graalvm/compiler/core/common/Fields;
            aload 2 /* b */
            iload 3 /* i */
            invokevirtual org.graalvm.compiler.core.common.Fields.getShort:(Ljava/lang/Object;I)S
            istore 6 /* bShort */
        start local 6 // short bShort
        33: .line 711
            iload 5 /* aShort */
            iload 6 /* bShort */
            if_icmpeq 54
        34: .line 712
            iconst_0
            ireturn
        end local 6 // short bShort
        end local 5 // short aShort
        35: .line 714
      StackMap locals:
      StackMap stack:
            aload 4 /* type */
            getstatic java.lang.Character.TYPE:Ljava/lang/Class;
            if_acmpne 40
        36: .line 715
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.data:Lorg/graalvm/compiler/core/common/Fields;
            aload 1 /* a */
            iload 3 /* i */
            invokevirtual org.graalvm.compiler.core.common.Fields.getChar:(Ljava/lang/Object;I)C
            istore 5 /* aChar */
        start local 5 // char aChar
        37: .line 716
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.data:Lorg/graalvm/compiler/core/common/Fields;
            aload 2 /* b */
            iload 3 /* i */
            invokevirtual org.graalvm.compiler.core.common.Fields.getChar:(Ljava/lang/Object;I)C
            istore 6 /* bChar */
        start local 6 // char bChar
        38: .line 717
            iload 5 /* aChar */
            iload 6 /* bChar */
            if_icmpeq 54
        39: .line 718
            iconst_0
            ireturn
        end local 6 // char bChar
        end local 5 // char aChar
        40: .line 720
      StackMap locals:
      StackMap stack:
            aload 4 /* type */
            getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
            if_acmpne 45
        41: .line 721
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.data:Lorg/graalvm/compiler/core/common/Fields;
            aload 1 /* a */
            iload 3 /* i */
            invokevirtual org.graalvm.compiler.core.common.Fields.getByte:(Ljava/lang/Object;I)B
            istore 5 /* aByte */
        start local 5 // byte aByte
        42: .line 722
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.data:Lorg/graalvm/compiler/core/common/Fields;
            aload 2 /* b */
            iload 3 /* i */
            invokevirtual org.graalvm.compiler.core.common.Fields.getByte:(Ljava/lang/Object;I)B
            istore 6 /* bByte */
        start local 6 // byte bByte
        43: .line 723
            iload 5 /* aByte */
            iload 6 /* bByte */
            if_icmpeq 54
        44: .line 724
            iconst_0
            ireturn
        end local 6 // byte bByte
        end local 5 // byte aByte
        45: .line 727
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.graph.NodeClass.$assertionsDisabled:Z
            ifne 54
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "unhandled type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* type */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        46: .line 730
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.data:Lorg/graalvm/compiler/core/common/Fields;
            aload 1 /* a */
            iload 3 /* i */
            invokevirtual org.graalvm.compiler.core.common.Fields.getObject:(Ljava/lang/Object;I)Ljava/lang/Object;
            astore 5 /* objectA */
        start local 5 // java.lang.Object objectA
        47: .line 731
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.data:Lorg/graalvm/compiler/core/common/Fields;
            aload 2 /* b */
            iload 3 /* i */
            invokevirtual org.graalvm.compiler.core.common.Fields.getObject:(Ljava/lang/Object;I)Ljava/lang/Object;
            astore 6 /* objectB */
        start local 6 // java.lang.Object objectB
        48: .line 732
            getstatic org.graalvm.compiler.graph.NodeClass.$assertionsDisabled:Z
            ifne 49
            aload 5 /* objectA */
            invokestatic org.graalvm.compiler.graph.NodeClass.isLambda:(Ljava/lang/Object;)Z
            ifeq 49
            aload 6 /* objectB */
            invokestatic org.graalvm.compiler.graph.NodeClass.isLambda:(Ljava/lang/Object;)Z
            ifeq 49
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "lambdas are not permitted in fields of "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.graph.NodeClass.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        49: .line 733
      StackMap locals: java.lang.Object java.lang.Object
      StackMap stack:
            aload 5 /* objectA */
            aload 6 /* objectB */
            if_acmpeq 54
        50: .line 734
            aload 5 /* objectA */
            ifnull 53
            aload 6 /* objectB */
            ifnull 53
        51: .line 735
            aload 5 /* objectA */
            aload 6 /* objectB */
            invokestatic org.graalvm.compiler.graph.NodeClass.deepEquals0:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 54
        52: .line 736
            iconst_0
            ireturn
        53: .line 739
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 6 // java.lang.Object objectB
        end local 5 // java.lang.Object objectA
        end local 4 // java.lang.Class type
        54: .line 675
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        55: iload 3 /* i */
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.data:Lorg/graalvm/compiler/core/common/Fields;
            invokevirtual org.graalvm.compiler.core.common.Fields.getCount:()I
            if_icmplt 3
        end local 3 // int i
        56: .line 744
            iconst_1
            ireturn
        end local 2 // org.graalvm.compiler.graph.Node b
        end local 1 // org.graalvm.compiler.graph.Node a
        end local 0 // org.graalvm.compiler.graph.NodeClass this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   57     0      this  Lorg/graalvm/compiler/graph/NodeClass<TT;>;
            0   57     1         a  Lorg/graalvm/compiler/graph/Node;
            0   57     2         b  Lorg/graalvm/compiler/graph/Node;
            2   56     3         i  I
            4   54     4      type  Ljava/lang/Class<*>;
            7   10     5      aInt  I
            8   10     6      bInt  I
           12   15     5  aBoolean  Z
           13   15     6  bBoolean  Z
           17   20     5     aLong  J
           18   20     7     bLong  J
           22   25     5    aFloat  F
           23   25     6    bFloat  F
           27   30     5   aDouble  D
           28   30     7   bDouble  D
           32   35     5    aShort  S
           33   35     6    bShort  S
           37   40     5     aChar  C
           38   40     6     bChar  C
           42   45     5     aByte  B
           43   45     6     bByte  B
           47   54     5   objectA  Ljava/lang/Object;
           48   54     6   objectB  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      a     
      b     

  private static boolean isLambda(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object obj
         0: .line 749
            aload 0 /* obj */
            ifnull 1
            aload 0 /* obj */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            ldc "$$Lambda$"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.lang.Object obj
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   obj  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      obj   

  public boolean isValid(org.graalvm.compiler.graph.Position, org.graalvm.compiler.graph.NodeClass<?>, org.graalvm.compiler.graph.Edges);
    descriptor: (Lorg/graalvm/compiler/graph/Position;Lorg/graalvm/compiler/graph/NodeClass;Lorg/graalvm/compiler/graph/Edges;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // org.graalvm.compiler.graph.NodeClass this
        start local 1 // org.graalvm.compiler.graph.Position pos
        start local 2 // org.graalvm.compiler.graph.NodeClass from
        start local 3 // org.graalvm.compiler.graph.Edges fromEdges
         0: .line 753
            aload 0 /* this */
            aload 2 /* from */
            if_acmpne 2
         1: .line 754
            iconst_1
            ireturn
         2: .line 756
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* fromEdges */
            invokevirtual org.graalvm.compiler.graph.Edges.type:()Lorg/graalvm/compiler/graph/Edges$Type;
            invokevirtual org.graalvm.compiler.graph.NodeClass.getEdges:(Lorg/graalvm/compiler/graph/Edges$Type;)Lorg/graalvm/compiler/graph/Edges;
            astore 4 /* toEdges */
        start local 4 // org.graalvm.compiler.graph.Edges toEdges
         3: .line 757
            aload 1 /* pos */
            invokevirtual org.graalvm.compiler.graph.Position.getIndex:()I
            aload 4 /* toEdges */
            invokevirtual org.graalvm.compiler.graph.Edges.getCount:()I
            if_icmplt 5
         4: .line 758
            iconst_0
            ireturn
         5: .line 760
      StackMap locals: org.graalvm.compiler.graph.Edges
      StackMap stack:
            aload 1 /* pos */
            invokevirtual org.graalvm.compiler.graph.Position.getIndex:()I
            aload 3 /* fromEdges */
            invokevirtual org.graalvm.compiler.graph.Edges.getCount:()I
            if_icmplt 7
         6: .line 761
            iconst_0
            ireturn
         7: .line 763
      StackMap locals:
      StackMap stack:
            aload 4 /* toEdges */
            aload 3 /* fromEdges */
            aload 1 /* pos */
            invokevirtual org.graalvm.compiler.graph.Position.getIndex:()I
            invokevirtual org.graalvm.compiler.graph.Edges.isSame:(Lorg/graalvm/compiler/core/common/Fields;I)Z
            ireturn
        end local 4 // org.graalvm.compiler.graph.Edges toEdges
        end local 3 // org.graalvm.compiler.graph.Edges fromEdges
        end local 2 // org.graalvm.compiler.graph.NodeClass from
        end local 1 // org.graalvm.compiler.graph.Position pos
        end local 0 // org.graalvm.compiler.graph.NodeClass this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lorg/graalvm/compiler/graph/NodeClass<TT;>;
            0    8     1        pos  Lorg/graalvm/compiler/graph/Position;
            0    8     2       from  Lorg/graalvm/compiler/graph/NodeClass<*>;
            0    8     3  fromEdges  Lorg/graalvm/compiler/graph/Edges;
            3    8     4    toEdges  Lorg/graalvm/compiler/graph/Edges;
    Signature: (Lorg/graalvm/compiler/graph/Position;Lorg/graalvm/compiler/graph/NodeClass<*>;Lorg/graalvm/compiler/graph/Edges;)Z
    MethodParameters:
           Name  Flags
      pos        
      from       
      fromEdges  

  static void updateEdgesInPlace(org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.NodeClass$InplaceUpdateClosure, org.graalvm.compiler.graph.Edges);
    descriptor: (Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/NodeClass$InplaceUpdateClosure;Lorg/graalvm/compiler/graph/Edges;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=7, locals=9, args_size=3
        start local 0 // org.graalvm.compiler.graph.Node node
        start local 1 // org.graalvm.compiler.graph.NodeClass$InplaceUpdateClosure duplicationReplacement
        start local 2 // org.graalvm.compiler.graph.Edges edges
         0: .line 767
            iconst_0
            istore 3 /* index */
        start local 3 // int index
         1: .line 768
            aload 2 /* edges */
            invokevirtual org.graalvm.compiler.graph.Edges.type:()Lorg/graalvm/compiler/graph/Edges$Type;
            astore 4 /* curType */
        start local 4 // org.graalvm.compiler.graph.Edges$Type curType
         2: .line 769
            aload 2 /* edges */
            invokevirtual org.graalvm.compiler.graph.Edges.getDirectCount:()I
            istore 5 /* directCount */
        start local 5 // int directCount
         3: .line 770
            aload 2 /* edges */
            invokevirtual org.graalvm.compiler.graph.Edges.getOffsets:()[J
            astore 6 /* curOffsets */
        start local 6 // long[] curOffsets
         4: .line 771
            goto 14
         5: .line 772
      StackMap locals: org.graalvm.compiler.graph.Node org.graalvm.compiler.graph.NodeClass$InplaceUpdateClosure org.graalvm.compiler.graph.Edges int org.graalvm.compiler.graph.Edges$Type int long[]
      StackMap stack:
            aload 0 /* node */
            aload 6 /* curOffsets */
            iload 3 /* index */
            invokestatic org.graalvm.compiler.graph.Edges.getNode:(Lorg/graalvm/compiler/graph/Node;[JI)Lorg/graalvm/compiler/graph/Node;
            astore 7 /* edge */
        start local 7 // org.graalvm.compiler.graph.Node edge
         6: .line 773
            aload 7 /* edge */
            ifnull 13
         7: .line 774
            aload 1 /* duplicationReplacement */
            aload 7 /* edge */
            aload 4 /* curType */
            invokeinterface org.graalvm.compiler.graph.NodeClass$InplaceUpdateClosure.replacement:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Edges$Type;)Lorg/graalvm/compiler/graph/Node;
            astore 8 /* newEdge */
        start local 8 // org.graalvm.compiler.graph.Node newEdge
         8: .line 775
            aload 4 /* curType */
            getstatic org.graalvm.compiler.graph.Edges$Type.Inputs:Lorg/graalvm/compiler/graph/Edges$Type;
            if_acmpne 11
         9: .line 776
            aload 0 /* node */
            aconst_null
            aload 8 /* newEdge */
            invokevirtual org.graalvm.compiler.graph.Node.updateUsages:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
        10: .line 777
            goto 12
        11: .line 778
      StackMap locals: org.graalvm.compiler.graph.Node org.graalvm.compiler.graph.Node
      StackMap stack:
            aload 0 /* node */
            aconst_null
            aload 8 /* newEdge */
            invokevirtual org.graalvm.compiler.graph.Node.updatePredecessor:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
        12: .line 780
      StackMap locals:
      StackMap stack:
            aload 2 /* edges */
            aload 0 /* node */
            iload 3 /* index */
            aload 8 /* newEdge */
            invokevirtual org.graalvm.compiler.graph.Edges.initializeNode:(Lorg/graalvm/compiler/graph/Node;ILorg/graalvm/compiler/graph/Node;)V
        end local 8 // org.graalvm.compiler.graph.Node newEdge
        13: .line 782
      StackMap locals:
      StackMap stack:
            iinc 3 /* index */ 1
        end local 7 // org.graalvm.compiler.graph.Node edge
        14: .line 771
      StackMap locals:
      StackMap stack:
            iload 3 /* index */
            iload 5 /* directCount */
            if_icmplt 5
        15: .line 785
            goto 20
        16: .line 786
      StackMap locals:
      StackMap stack:
            aload 0 /* node */
            aload 6 /* curOffsets */
            iload 3 /* index */
            invokestatic org.graalvm.compiler.graph.Edges.getNodeList:(Lorg/graalvm/compiler/graph/Node;[JI)Lorg/graalvm/compiler/graph/NodeList;
            astore 7 /* list */
        start local 7 // org.graalvm.compiler.graph.NodeList list
        17: .line 787
            aload 7 /* list */
            ifnull 19
        18: .line 788
            aload 2 /* edges */
            aload 0 /* node */
            iload 3 /* index */
            aload 0 /* node */
            aload 7 /* list */
            aload 1 /* duplicationReplacement */
            aload 4 /* curType */
            invokestatic org.graalvm.compiler.graph.NodeClass.updateEdgeListCopy:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/NodeList;Lorg/graalvm/compiler/graph/NodeClass$InplaceUpdateClosure;Lorg/graalvm/compiler/graph/Edges$Type;)Lorg/graalvm/compiler/graph/NodeList;
            invokevirtual org.graalvm.compiler.graph.Edges.initializeList:(Lorg/graalvm/compiler/graph/Node;ILorg/graalvm/compiler/graph/NodeList;)V
        19: .line 790
      StackMap locals: org.graalvm.compiler.graph.NodeList
      StackMap stack:
            iinc 3 /* index */ 1
        end local 7 // org.graalvm.compiler.graph.NodeList list
        20: .line 785
      StackMap locals:
      StackMap stack:
            iload 3 /* index */
            aload 2 /* edges */
            invokevirtual org.graalvm.compiler.graph.Edges.getCount:()I
            if_icmplt 16
        21: .line 792
            return
        end local 6 // long[] curOffsets
        end local 5 // int directCount
        end local 4 // org.graalvm.compiler.graph.Edges$Type curType
        end local 3 // int index
        end local 2 // org.graalvm.compiler.graph.Edges edges
        end local 1 // org.graalvm.compiler.graph.NodeClass$InplaceUpdateClosure duplicationReplacement
        end local 0 // org.graalvm.compiler.graph.Node node
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   22     0                    node  Lorg/graalvm/compiler/graph/Node;
            0   22     1  duplicationReplacement  Lorg/graalvm/compiler/graph/NodeClass$InplaceUpdateClosure;
            0   22     2                   edges  Lorg/graalvm/compiler/graph/Edges;
            1   22     3                   index  I
            2   22     4                 curType  Lorg/graalvm/compiler/graph/Edges$Type;
            3   22     5             directCount  I
            4   22     6              curOffsets  [J
            6   14     7                    edge  Lorg/graalvm/compiler/graph/Node;
            8   13     8                 newEdge  Lorg/graalvm/compiler/graph/Node;
           17   20     7                    list  Lorg/graalvm/compiler/graph/NodeList<Lorg/graalvm/compiler/graph/Node;>;
    MethodParameters:
                        Name  Flags
      node                    
      duplicationReplacement  
      edges                   

  void updateInputSuccInPlace(org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.NodeClass$InplaceUpdateClosure);
    descriptor: (Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/NodeClass$InplaceUpdateClosure;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.graph.NodeClass this
        start local 1 // org.graalvm.compiler.graph.Node node
        start local 2 // org.graalvm.compiler.graph.NodeClass$InplaceUpdateClosure duplicationReplacement
         0: .line 795
            aload 1 /* node */
            aload 2 /* duplicationReplacement */
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.inputs:Lorg/graalvm/compiler/graph/InputEdges;
            invokestatic org.graalvm.compiler.graph.NodeClass.updateEdgesInPlace:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/NodeClass$InplaceUpdateClosure;Lorg/graalvm/compiler/graph/Edges;)V
         1: .line 796
            aload 1 /* node */
            aload 2 /* duplicationReplacement */
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.successors:Lorg/graalvm/compiler/graph/SuccessorEdges;
            invokestatic org.graalvm.compiler.graph.NodeClass.updateEdgesInPlace:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/NodeClass$InplaceUpdateClosure;Lorg/graalvm/compiler/graph/Edges;)V
         2: .line 797
            return
        end local 2 // org.graalvm.compiler.graph.NodeClass$InplaceUpdateClosure duplicationReplacement
        end local 1 // org.graalvm.compiler.graph.Node node
        end local 0 // org.graalvm.compiler.graph.NodeClass this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    3     0                    this  Lorg/graalvm/compiler/graph/NodeClass<TT;>;
            0    3     1                    node  Lorg/graalvm/compiler/graph/Node;
            0    3     2  duplicationReplacement  Lorg/graalvm/compiler/graph/NodeClass$InplaceUpdateClosure;
    MethodParameters:
                        Name  Flags
      node                    
      duplicationReplacement  

  private static org.graalvm.compiler.graph.NodeList<org.graalvm.compiler.graph.Node> updateEdgeListCopy(org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.NodeList<org.graalvm.compiler.graph.Node>, org.graalvm.compiler.graph.NodeClass$InplaceUpdateClosure, org.graalvm.compiler.graph.Edges$Type);
    descriptor: (Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/NodeList;Lorg/graalvm/compiler/graph/NodeClass$InplaceUpdateClosure;Lorg/graalvm/compiler/graph/Edges$Type;)Lorg/graalvm/compiler/graph/NodeList;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=4
        start local 0 // org.graalvm.compiler.graph.Node node
        start local 1 // org.graalvm.compiler.graph.NodeList list
        start local 2 // org.graalvm.compiler.graph.NodeClass$InplaceUpdateClosure duplicationReplacement
        start local 3 // org.graalvm.compiler.graph.Edges$Type type
         0: .line 800
            aload 3 /* type */
            getstatic org.graalvm.compiler.graph.Edges$Type.Inputs:Lorg/graalvm/compiler/graph/Edges$Type;
            if_acmpne 1
            new org.graalvm.compiler.graph.NodeInputList
            dup
            aload 0 /* node */
            aload 1 /* list */
            invokevirtual org.graalvm.compiler.graph.NodeList.size:()I
            invokespecial org.graalvm.compiler.graph.NodeInputList.<init>:(Lorg/graalvm/compiler/graph/Node;I)V
            goto 2
      StackMap locals:
      StackMap stack:
         1: new org.graalvm.compiler.graph.NodeSuccessorList
            dup
            aload 0 /* node */
            aload 1 /* list */
            invokevirtual org.graalvm.compiler.graph.NodeList.size:()I
            invokespecial org.graalvm.compiler.graph.NodeSuccessorList.<init>:(Lorg/graalvm/compiler/graph/Node;I)V
      StackMap locals:
      StackMap stack: org.graalvm.compiler.graph.NodeList
         2: astore 4 /* result */
        start local 4 // org.graalvm.compiler.graph.NodeList result
         3: .line 802
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 10
         5: .line 803
      StackMap locals: org.graalvm.compiler.graph.NodeList int
      StackMap stack:
            aload 1 /* list */
            iload 5 /* i */
            invokevirtual org.graalvm.compiler.graph.NodeList.get:(I)Lorg/graalvm/compiler/graph/Node;
            astore 6 /* oldNode */
        start local 6 // org.graalvm.compiler.graph.Node oldNode
         6: .line 804
            aload 6 /* oldNode */
            ifnull 9
         7: .line 805
            aload 2 /* duplicationReplacement */
            aload 6 /* oldNode */
            aload 3 /* type */
            invokeinterface org.graalvm.compiler.graph.NodeClass$InplaceUpdateClosure.replacement:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Edges$Type;)Lorg/graalvm/compiler/graph/Node;
            astore 7 /* newNode */
        start local 7 // org.graalvm.compiler.graph.Node newNode
         8: .line 806
            aload 4 /* result */
            iload 5 /* i */
            aload 7 /* newNode */
            invokevirtual org.graalvm.compiler.graph.NodeList.set:(ILorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            pop
        end local 7 // org.graalvm.compiler.graph.Node newNode
        end local 6 // org.graalvm.compiler.graph.Node oldNode
         9: .line 802
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 5 /* i */
            aload 1 /* list */
            invokevirtual org.graalvm.compiler.graph.NodeList.count:()I
            if_icmplt 5
        end local 5 // int i
        11: .line 809
            aload 4 /* result */
            areturn
        end local 4 // org.graalvm.compiler.graph.NodeList result
        end local 3 // org.graalvm.compiler.graph.Edges$Type type
        end local 2 // org.graalvm.compiler.graph.NodeClass$InplaceUpdateClosure duplicationReplacement
        end local 1 // org.graalvm.compiler.graph.NodeList list
        end local 0 // org.graalvm.compiler.graph.Node node
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   12     0                    node  Lorg/graalvm/compiler/graph/Node;
            0   12     1                    list  Lorg/graalvm/compiler/graph/NodeList<Lorg/graalvm/compiler/graph/Node;>;
            0   12     2  duplicationReplacement  Lorg/graalvm/compiler/graph/NodeClass$InplaceUpdateClosure;
            0   12     3                    type  Lorg/graalvm/compiler/graph/Edges$Type;
            3   12     4                  result  Lorg/graalvm/compiler/graph/NodeList<Lorg/graalvm/compiler/graph/Node;>;
            4   11     5                       i  I
            6    9     6                 oldNode  Lorg/graalvm/compiler/graph/Node;
            8    9     7                 newNode  Lorg/graalvm/compiler/graph/Node;
    Signature: (Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/NodeList<Lorg/graalvm/compiler/graph/Node;>;Lorg/graalvm/compiler/graph/NodeClass$InplaceUpdateClosure;Lorg/graalvm/compiler/graph/Edges$Type;)Lorg/graalvm/compiler/graph/NodeList<Lorg/graalvm/compiler/graph/Node;>;
    MethodParameters:
                        Name  Flags
      node                    
      list                    
      duplicationReplacement  
      type                    

  public org.graalvm.compiler.graph.Edges getEdges(org.graalvm.compiler.graph.Edges$Type);
    descriptor: (Lorg/graalvm/compiler/graph/Edges$Type;)Lorg/graalvm/compiler/graph/Edges;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.graph.NodeClass this
        start local 1 // org.graalvm.compiler.graph.Edges$Type type
         0: .line 816
            aload 1 /* type */
            getstatic org.graalvm.compiler.graph.Edges$Type.Inputs:Lorg/graalvm/compiler/graph/Edges$Type;
            if_acmpne 1
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.inputs:Lorg/graalvm/compiler/graph/InputEdges;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.successors:Lorg/graalvm/compiler/graph/SuccessorEdges;
      StackMap locals:
      StackMap stack: org.graalvm.compiler.graph.Edges
         2: areturn
        end local 1 // org.graalvm.compiler.graph.Edges$Type type
        end local 0 // org.graalvm.compiler.graph.NodeClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/graph/NodeClass<TT;>;
            0    3     1  type  Lorg/graalvm/compiler/graph/Edges$Type;
    MethodParameters:
      Name  Flags
      type  

  public org.graalvm.compiler.graph.Edges getInputEdges();
    descriptor: ()Lorg/graalvm/compiler/graph/Edges;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.graph.NodeClass this
         0: .line 820
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.inputs:Lorg/graalvm/compiler/graph/InputEdges;
            areturn
        end local 0 // org.graalvm.compiler.graph.NodeClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/graph/NodeClass<TT;>;

  public org.graalvm.compiler.graph.Edges getSuccessorEdges();
    descriptor: ()Lorg/graalvm/compiler/graph/Edges;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.graph.NodeClass this
         0: .line 824
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.successors:Lorg/graalvm/compiler/graph/SuccessorEdges;
            areturn
        end local 0 // org.graalvm.compiler.graph.NodeClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/graph/NodeClass<TT;>;

  public org.graalvm.compiler.graph.Node allocateInstance();
    descriptor: ()Lorg/graalvm/compiler/graph/Node;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.graph.NodeClass this
         0: .line 833
            getstatic org.graalvm.compiler.graph.NodeClass.UNSAFE:Lsun/misc/Unsafe;
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.graph.NodeClass.getJavaClass:()Ljava/lang/Class;
            invokevirtual sun.misc.Unsafe.allocateInstance:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 1 /* node */
        start local 1 // org.graalvm.compiler.graph.Node node
         1: .line 834
            aload 1 /* node */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.graph.Node.init:(Lorg/graalvm/compiler/graph/NodeClass;)V
         2: .line 835
            aload 1 /* node */
         3: areturn
        end local 1 // org.graalvm.compiler.graph.Node node
         4: .line 836
      StackMap locals:
      StackMap stack: java.lang.InstantiationException
            astore 1 /* ex */
        start local 1 // java.lang.InstantiationException ex
         5: .line 837
            aload 1 /* ex */
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 1 // java.lang.InstantiationException ex
        end local 0 // org.graalvm.compiler.graph.NodeClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/graalvm/compiler/graph/NodeClass<TT;>;
            1    4     1  node  Lorg/graalvm/compiler/graph/Node;
            5    6     1    ex  Ljava/lang/InstantiationException;
      Exception table:
        from    to  target  type
           0     3       4  Class java.lang.InstantiationException

  public java.lang.Class<T> getJavaClass();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.graph.NodeClass this
         0: .line 842
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.graph.NodeClass.getClazz:()Ljava/lang/Class;
            areturn
        end local 0 // org.graalvm.compiler.graph.NodeClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/graph/NodeClass<TT;>;
    Signature: ()Ljava/lang/Class<TT;>;

  public java.lang.String getNameTemplate();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.graph.NodeClass this
         0: .line 852
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.nameTemplate:Ljava/lang/String;
            areturn
        end local 0 // org.graalvm.compiler.graph.NodeClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/graph/NodeClass<TT;>;

  static org.graalvm.collections.EconomicMap<org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node> addGraphDuplicate(org.graalvm.compiler.graph.Graph, org.graalvm.compiler.graph.Graph, int, java.lang.Iterable<? extends org.graalvm.compiler.graph.Node>, org.graalvm.compiler.graph.Graph$DuplicationReplacement);
    descriptor: (Lorg/graalvm/compiler/graph/Graph;Lorg/graalvm/compiler/graph/Graph;ILjava/lang/Iterable;Lorg/graalvm/compiler/graph/Graph$DuplicationReplacement;)Lorg/graalvm/collections/EconomicMap;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=12, args_size=5
        start local 0 // org.graalvm.compiler.graph.Graph graph
        start local 1 // org.graalvm.compiler.graph.Graph oldGraph
        start local 2 // int estimatedNodeCount
        start local 3 // java.lang.Iterable nodes
        start local 4 // org.graalvm.compiler.graph.Graph$DuplicationReplacement replacements
         0: .line 862
            aload 1 /* oldGraph */
            invokevirtual org.graalvm.compiler.graph.Graph.getNodeCount:()I
            aload 1 /* oldGraph */
            invokevirtual org.graalvm.compiler.graph.Graph.getNodesDeletedSinceLastCompression:()I
            iadd
            iconst_4
            ishr
            istore 6 /* denseThreshold */
        start local 6 // int denseThreshold
         1: .line 863
            iload 2 /* estimatedNodeCount */
            iload 6 /* denseThreshold */
            if_icmple 4
         2: .line 865
            new org.graalvm.compiler.graph.NodeMap
            dup
            aload 1 /* oldGraph */
            invokespecial org.graalvm.compiler.graph.NodeMap.<init>:(Lorg/graalvm/compiler/graph/Graph;)V
            astore 5 /* newNodes */
        start local 5 // org.graalvm.collections.EconomicMap newNodes
         3: .line 866
            goto 5
        end local 5 // org.graalvm.collections.EconomicMap newNodes
         4: .line 868
      StackMap locals: org.graalvm.compiler.graph.Graph org.graalvm.compiler.graph.Graph int java.lang.Iterable org.graalvm.compiler.graph.Graph$DuplicationReplacement top int
      StackMap stack:
            getstatic org.graalvm.collections.Equivalence.IDENTITY:Lorg/graalvm/collections/Equivalence;
            invokestatic org.graalvm.collections.EconomicMap.create:(Lorg/graalvm/collections/Equivalence;)Lorg/graalvm/collections/EconomicMap;
            astore 5 /* newNodes */
        start local 5 // org.graalvm.collections.EconomicMap newNodes
         5: .line 870
      StackMap locals: org.graalvm.compiler.graph.Graph org.graalvm.compiler.graph.Graph int java.lang.Iterable org.graalvm.compiler.graph.Graph$DuplicationReplacement org.graalvm.collections.EconomicMap int
      StackMap stack:
            aload 0 /* graph */
            aload 3 /* nodes */
            aload 4 /* replacements */
            aload 5 /* newNodes */
            invokestatic org.graalvm.compiler.graph.NodeClass.createNodeDuplicates:(Lorg/graalvm/compiler/graph/Graph;Ljava/lang/Iterable;Lorg/graalvm/compiler/graph/Graph$DuplicationReplacement;Lorg/graalvm/collections/EconomicMap;)V
         6: .line 872
            new org.graalvm.compiler.graph.NodeClass$1
            dup
            aload 5 /* newNodes */
            aload 4 /* replacements */
            aload 0 /* graph */
            invokespecial org.graalvm.compiler.graph.NodeClass$1.<init>:(Lorg/graalvm/collections/EconomicMap;Lorg/graalvm/compiler/graph/Graph$DuplicationReplacement;Lorg/graalvm/compiler/graph/Graph;)V
            astore 7 /* replacementClosure */
        start local 7 // org.graalvm.compiler.graph.NodeClass$InplaceUpdateClosure replacementClosure
         7: .line 896
            aload 3 /* nodes */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 9
            goto 15
      StackMap locals: org.graalvm.compiler.graph.Graph org.graalvm.compiler.graph.Graph int java.lang.Iterable org.graalvm.compiler.graph.Graph$DuplicationReplacement org.graalvm.collections.EconomicMap int org.graalvm.compiler.graph.NodeClass$InplaceUpdateClosure top java.util.Iterator
      StackMap stack:
         8: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 8 /* oldNode */
        start local 8 // org.graalvm.compiler.graph.Node oldNode
         9: .line 897
            aload 5 /* newNodes */
            aload 8 /* oldNode */
            invokeinterface org.graalvm.collections.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 10 /* node */
        start local 10 // org.graalvm.compiler.graph.Node node
        10: .line 898
            aload 10 /* node */
            invokevirtual org.graalvm.compiler.graph.Node.getNodeClass:()Lorg/graalvm/compiler/graph/NodeClass;
            astore 11 /* nodeClass */
        start local 11 // org.graalvm.compiler.graph.NodeClass nodeClass
        11: .line 899
            aload 4 /* replacements */
            ifnull 12
            aload 4 /* replacements */
            aload 8 /* oldNode */
            invokeinterface org.graalvm.compiler.graph.Graph$DuplicationReplacement.replacement:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            aload 8 /* oldNode */
            if_acmpne 14
        12: .line 900
      StackMap locals: org.graalvm.compiler.graph.Graph org.graalvm.compiler.graph.Graph int java.lang.Iterable org.graalvm.compiler.graph.Graph$DuplicationReplacement org.graalvm.collections.EconomicMap int org.graalvm.compiler.graph.NodeClass$InplaceUpdateClosure org.graalvm.compiler.graph.Node java.util.Iterator org.graalvm.compiler.graph.Node org.graalvm.compiler.graph.NodeClass
      StackMap stack:
            aload 11 /* nodeClass */
            aload 10 /* node */
            aload 7 /* replacementClosure */
            invokevirtual org.graalvm.compiler.graph.NodeClass.updateInputSuccInPlace:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/NodeClass$InplaceUpdateClosure;)V
        13: .line 901
            goto 15
        14: .line 902
      StackMap locals:
      StackMap stack:
            aload 0 /* graph */
            aload 4 /* replacements */
            aload 5 /* newNodes */
            aload 8 /* oldNode */
            aload 10 /* node */
            invokestatic org.graalvm.compiler.graph.NodeClass.transferEdgesDifferentNodeClass:(Lorg/graalvm/compiler/graph/Graph;Lorg/graalvm/compiler/graph/Graph$DuplicationReplacement;Lorg/graalvm/collections/EconomicMap;Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
        end local 11 // org.graalvm.compiler.graph.NodeClass nodeClass
        end local 10 // org.graalvm.compiler.graph.Node node
        end local 8 // org.graalvm.compiler.graph.Node oldNode
        15: .line 896
      StackMap locals: org.graalvm.compiler.graph.Graph org.graalvm.compiler.graph.Graph int java.lang.Iterable org.graalvm.compiler.graph.Graph$DuplicationReplacement org.graalvm.collections.EconomicMap int org.graalvm.compiler.graph.NodeClass$InplaceUpdateClosure top java.util.Iterator
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        16: .line 906
            aload 5 /* newNodes */
            areturn
        end local 7 // org.graalvm.compiler.graph.NodeClass$InplaceUpdateClosure replacementClosure
        end local 6 // int denseThreshold
        end local 5 // org.graalvm.collections.EconomicMap newNodes
        end local 4 // org.graalvm.compiler.graph.Graph$DuplicationReplacement replacements
        end local 3 // java.lang.Iterable nodes
        end local 2 // int estimatedNodeCount
        end local 1 // org.graalvm.compiler.graph.Graph oldGraph
        end local 0 // org.graalvm.compiler.graph.Graph graph
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   17     0               graph  Lorg/graalvm/compiler/graph/Graph;
            0   17     1            oldGraph  Lorg/graalvm/compiler/graph/Graph;
            0   17     2  estimatedNodeCount  I
            0   17     3               nodes  Ljava/lang/Iterable<+Lorg/graalvm/compiler/graph/Node;>;
            0   17     4        replacements  Lorg/graalvm/compiler/graph/Graph$DuplicationReplacement;
            3    4     5            newNodes  Lorg/graalvm/collections/EconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
            5   17     5            newNodes  Lorg/graalvm/collections/EconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
            1   17     6      denseThreshold  I
            7   17     7  replacementClosure  Lorg/graalvm/compiler/graph/NodeClass$InplaceUpdateClosure;
            9   15     8             oldNode  Lorg/graalvm/compiler/graph/Node;
           10   15    10                node  Lorg/graalvm/compiler/graph/Node;
           11   15    11           nodeClass  Lorg/graalvm/compiler/graph/NodeClass<*>;
    Signature: (Lorg/graalvm/compiler/graph/Graph;Lorg/graalvm/compiler/graph/Graph;ILjava/lang/Iterable<+Lorg/graalvm/compiler/graph/Node;>;Lorg/graalvm/compiler/graph/Graph$DuplicationReplacement;)Lorg/graalvm/collections/EconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
    MethodParameters:
                    Name  Flags
      graph               final
      oldGraph            final
      estimatedNodeCount  
      nodes               
      replacements        final

  private static void createNodeDuplicates(org.graalvm.compiler.graph.Graph, java.lang.Iterable<? extends org.graalvm.compiler.graph.Node>, org.graalvm.compiler.graph.Graph$DuplicationReplacement, org.graalvm.collections.EconomicMap<org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node>);
    descriptor: (Lorg/graalvm/compiler/graph/Graph;Ljava/lang/Iterable;Lorg/graalvm/compiler/graph/Graph$DuplicationReplacement;Lorg/graalvm/collections/EconomicMap;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=4
        start local 0 // org.graalvm.compiler.graph.Graph graph
        start local 1 // java.lang.Iterable nodes
        start local 2 // org.graalvm.compiler.graph.Graph$DuplicationReplacement replacements
        start local 3 // org.graalvm.collections.EconomicMap newNodes
         0: .line 910
            aload 1 /* nodes */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 5
            goto 15
      StackMap locals: org.graalvm.compiler.graph.Graph java.lang.Iterable org.graalvm.compiler.graph.Graph$DuplicationReplacement org.graalvm.collections.EconomicMap top java.util.Iterator
      StackMap stack:
         1: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 4 /* node */
        start local 4 // org.graalvm.compiler.graph.Node node
         2: .line 911
            aload 4 /* node */
            ifnull 15
         3: .line 912
            getstatic org.graalvm.compiler.graph.NodeClass.$assertionsDisabled:Z
            ifne 4
            aload 4 /* node */
            invokevirtual org.graalvm.compiler.graph.Node.isDeleted:()Z
            ifeq 4
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "trying to duplicate deleted node: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* node */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 913
      StackMap locals: org.graalvm.compiler.graph.Graph java.lang.Iterable org.graalvm.compiler.graph.Graph$DuplicationReplacement org.graalvm.collections.EconomicMap org.graalvm.compiler.graph.Node java.util.Iterator
      StackMap stack:
            aload 4 /* node */
            astore 6 /* replacement */
        start local 6 // org.graalvm.compiler.graph.Node replacement
         5: .line 914
            aload 2 /* replacements */
            ifnull 7
         6: .line 915
            aload 2 /* replacements */
            aload 4 /* node */
            invokeinterface org.graalvm.compiler.graph.Graph$DuplicationReplacement.replacement:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            astore 6 /* replacement */
         7: .line 917
      StackMap locals: org.graalvm.compiler.graph.Node
      StackMap stack:
            aload 6 /* replacement */
            aload 4 /* node */
            if_acmpeq 11
         8: .line 918
            getstatic org.graalvm.compiler.graph.NodeClass.$assertionsDisabled:Z
            ifne 9
            aload 6 /* replacement */
            ifnonnull 9
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         9: .line 919
      StackMap locals:
      StackMap stack:
            aload 3 /* newNodes */
            aload 4 /* node */
            aload 6 /* replacement */
            invokeinterface org.graalvm.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 920
            goto 15
        11: .line 921
      StackMap locals:
      StackMap stack:
            aload 4 /* node */
            aload 0 /* graph */
            getstatic org.graalvm.compiler.graph.Node.WithAllEdges:Ljava/util/EnumSet;
            invokevirtual org.graalvm.compiler.graph.Node.clone:(Lorg/graalvm/compiler/graph/Graph;Ljava/util/EnumSet;)Lorg/graalvm/compiler/graph/Node;
            astore 7 /* newNode */
        start local 7 // org.graalvm.compiler.graph.Node newNode
        12: .line 922
            getstatic org.graalvm.compiler.graph.NodeClass.$assertionsDisabled:Z
            ifne 13
            aload 7 /* newNode */
            invokevirtual org.graalvm.compiler.graph.Node.getNodeClass:()Lorg/graalvm/compiler/graph/NodeClass;
            invokevirtual org.graalvm.compiler.graph.NodeClass.isLeafNode:()Z
            ifne 13
            aload 7 /* newNode */
            invokevirtual org.graalvm.compiler.graph.Node.hasNoUsages:()Z
            ifne 13
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        13: .line 923
      StackMap locals: org.graalvm.compiler.graph.Node
      StackMap stack:
            getstatic org.graalvm.compiler.graph.NodeClass.$assertionsDisabled:Z
            ifne 14
            aload 7 /* newNode */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 4 /* node */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            if_acmpeq 14
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        14: .line 924
      StackMap locals:
      StackMap stack:
            aload 3 /* newNodes */
            aload 4 /* node */
            aload 7 /* newNode */
            invokeinterface org.graalvm.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 7 // org.graalvm.compiler.graph.Node newNode
        end local 6 // org.graalvm.compiler.graph.Node replacement
        end local 4 // org.graalvm.compiler.graph.Node node
        15: .line 910
      StackMap locals: org.graalvm.compiler.graph.Graph java.lang.Iterable org.graalvm.compiler.graph.Graph$DuplicationReplacement org.graalvm.collections.EconomicMap top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        16: .line 928
            return
        end local 3 // org.graalvm.collections.EconomicMap newNodes
        end local 2 // org.graalvm.compiler.graph.Graph$DuplicationReplacement replacements
        end local 1 // java.lang.Iterable nodes
        end local 0 // org.graalvm.compiler.graph.Graph graph
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   17     0         graph  Lorg/graalvm/compiler/graph/Graph;
            0   17     1         nodes  Ljava/lang/Iterable<+Lorg/graalvm/compiler/graph/Node;>;
            0   17     2  replacements  Lorg/graalvm/compiler/graph/Graph$DuplicationReplacement;
            0   17     3      newNodes  Lorg/graalvm/collections/EconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
            2   15     4          node  Lorg/graalvm/compiler/graph/Node;
            5   15     6   replacement  Lorg/graalvm/compiler/graph/Node;
           12   15     7       newNode  Lorg/graalvm/compiler/graph/Node;
    Signature: (Lorg/graalvm/compiler/graph/Graph;Ljava/lang/Iterable<+Lorg/graalvm/compiler/graph/Node;>;Lorg/graalvm/compiler/graph/Graph$DuplicationReplacement;Lorg/graalvm/collections/EconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;)V
    MethodParameters:
              Name  Flags
      graph         final
      nodes         
      replacements  final
      newNodes      final

  private static void transferEdgesDifferentNodeClass(org.graalvm.compiler.graph.Graph, org.graalvm.compiler.graph.Graph$DuplicationReplacement, org.graalvm.collections.EconomicMap<org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node>, org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node);
    descriptor: (Lorg/graalvm/compiler/graph/Graph;Lorg/graalvm/compiler/graph/Graph$DuplicationReplacement;Lorg/graalvm/collections/EconomicMap;Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.graph.Graph graph
        start local 1 // org.graalvm.compiler.graph.Graph$DuplicationReplacement replacements
        start local 2 // org.graalvm.collections.EconomicMap newNodes
        start local 3 // org.graalvm.compiler.graph.Node oldNode
        start local 4 // org.graalvm.compiler.graph.Node node
         0: .line 931
            aload 0 /* graph */
            aload 1 /* replacements */
            aload 2 /* newNodes */
            aload 3 /* oldNode */
            aload 4 /* node */
            getstatic org.graalvm.compiler.graph.Edges$Type.Inputs:Lorg/graalvm/compiler/graph/Edges$Type;
            invokestatic org.graalvm.compiler.graph.NodeClass.transferEdges:(Lorg/graalvm/compiler/graph/Graph;Lorg/graalvm/compiler/graph/Graph$DuplicationReplacement;Lorg/graalvm/collections/EconomicMap;Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Edges$Type;)V
         1: .line 932
            aload 0 /* graph */
            aload 1 /* replacements */
            aload 2 /* newNodes */
            aload 3 /* oldNode */
            aload 4 /* node */
            getstatic org.graalvm.compiler.graph.Edges$Type.Successors:Lorg/graalvm/compiler/graph/Edges$Type;
            invokestatic org.graalvm.compiler.graph.NodeClass.transferEdges:(Lorg/graalvm/compiler/graph/Graph;Lorg/graalvm/compiler/graph/Graph$DuplicationReplacement;Lorg/graalvm/collections/EconomicMap;Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Edges$Type;)V
         2: .line 933
            return
        end local 4 // org.graalvm.compiler.graph.Node node
        end local 3 // org.graalvm.compiler.graph.Node oldNode
        end local 2 // org.graalvm.collections.EconomicMap newNodes
        end local 1 // org.graalvm.compiler.graph.Graph$DuplicationReplacement replacements
        end local 0 // org.graalvm.compiler.graph.Graph graph
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0         graph  Lorg/graalvm/compiler/graph/Graph;
            0    3     1  replacements  Lorg/graalvm/compiler/graph/Graph$DuplicationReplacement;
            0    3     2      newNodes  Lorg/graalvm/collections/EconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
            0    3     3       oldNode  Lorg/graalvm/compiler/graph/Node;
            0    3     4          node  Lorg/graalvm/compiler/graph/Node;
    Signature: (Lorg/graalvm/compiler/graph/Graph;Lorg/graalvm/compiler/graph/Graph$DuplicationReplacement;Lorg/graalvm/collections/EconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
    MethodParameters:
              Name  Flags
      graph         final
      replacements  final
      newNodes      final
      oldNode       
      node          

  private static void transferEdges(org.graalvm.compiler.graph.Graph, org.graalvm.compiler.graph.Graph$DuplicationReplacement, org.graalvm.collections.EconomicMap<org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node>, org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Edges$Type);
    descriptor: (Lorg/graalvm/compiler/graph/Graph;Lorg/graalvm/compiler/graph/Graph$DuplicationReplacement;Lorg/graalvm/collections/EconomicMap;Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Edges$Type;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=14, args_size=6
        start local 0 // org.graalvm.compiler.graph.Graph graph
        start local 1 // org.graalvm.compiler.graph.Graph$DuplicationReplacement replacements
        start local 2 // org.graalvm.collections.EconomicMap newNodes
        start local 3 // org.graalvm.compiler.graph.Node oldNode
        start local 4 // org.graalvm.compiler.graph.Node node
        start local 5 // org.graalvm.compiler.graph.Edges$Type type
         0: .line 936
            aload 4 /* node */
            invokevirtual org.graalvm.compiler.graph.Node.getNodeClass:()Lorg/graalvm/compiler/graph/NodeClass;
            astore 6 /* nodeClass */
        start local 6 // org.graalvm.compiler.graph.NodeClass nodeClass
         1: .line 937
            aload 3 /* oldNode */
            invokevirtual org.graalvm.compiler.graph.Node.getNodeClass:()Lorg/graalvm/compiler/graph/NodeClass;
            astore 7 /* oldNodeClass */
        start local 7 // org.graalvm.compiler.graph.NodeClass oldNodeClass
         2: .line 938
            aload 7 /* oldNodeClass */
            aload 5 /* type */
            invokevirtual org.graalvm.compiler.graph.NodeClass.getEdges:(Lorg/graalvm/compiler/graph/Edges$Type;)Lorg/graalvm/compiler/graph/Edges;
            astore 8 /* oldEdges */
        start local 8 // org.graalvm.compiler.graph.Edges oldEdges
         3: .line 939
            aload 8 /* oldEdges */
            aload 3 /* oldNode */
            invokevirtual org.graalvm.compiler.graph.Edges.getPositionsIterable:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 10
            goto 20
      StackMap locals: org.graalvm.compiler.graph.Graph org.graalvm.compiler.graph.Graph$DuplicationReplacement org.graalvm.collections.EconomicMap org.graalvm.compiler.graph.Node org.graalvm.compiler.graph.Node org.graalvm.compiler.graph.Edges$Type org.graalvm.compiler.graph.NodeClass org.graalvm.compiler.graph.NodeClass org.graalvm.compiler.graph.Edges top java.util.Iterator
      StackMap stack:
         4: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Position
            astore 9 /* pos */
        start local 9 // org.graalvm.compiler.graph.Position pos
         5: .line 940
            aload 6 /* nodeClass */
            aload 9 /* pos */
            aload 7 /* oldNodeClass */
            aload 8 /* oldEdges */
            invokevirtual org.graalvm.compiler.graph.NodeClass.isValid:(Lorg/graalvm/compiler/graph/Position;Lorg/graalvm/compiler/graph/NodeClass;Lorg/graalvm/compiler/graph/Edges;)Z
            ifne 7
         6: .line 941
            goto 20
         7: .line 943
      StackMap locals: org.graalvm.compiler.graph.Graph org.graalvm.compiler.graph.Graph$DuplicationReplacement org.graalvm.collections.EconomicMap org.graalvm.compiler.graph.Node org.graalvm.compiler.graph.Node org.graalvm.compiler.graph.Edges$Type org.graalvm.compiler.graph.NodeClass org.graalvm.compiler.graph.NodeClass org.graalvm.compiler.graph.Edges org.graalvm.compiler.graph.Position java.util.Iterator
      StackMap stack:
            aload 9 /* pos */
            aload 3 /* oldNode */
            invokevirtual org.graalvm.compiler.graph.Position.get:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            astore 11 /* oldEdge */
        start local 11 // org.graalvm.compiler.graph.Node oldEdge
         8: .line 944
            aload 11 /* oldEdge */
            ifnull 20
         9: .line 945
            aload 2 /* newNodes */
            aload 11 /* oldEdge */
            invokeinterface org.graalvm.collections.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 12 /* target */
        start local 12 // org.graalvm.compiler.graph.Node target
        10: .line 946
            aload 12 /* target */
            ifnonnull 19
        11: .line 947
            aload 11 /* oldEdge */
            astore 13 /* replacement */
        start local 13 // org.graalvm.compiler.graph.Node replacement
        12: .line 948
            aload 1 /* replacements */
            ifnull 14
        13: .line 949
            aload 1 /* replacements */
            aload 11 /* oldEdge */
            invokeinterface org.graalvm.compiler.graph.Graph$DuplicationReplacement.replacement:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            astore 13 /* replacement */
        14: .line 951
      StackMap locals: org.graalvm.compiler.graph.Node org.graalvm.compiler.graph.Node org.graalvm.compiler.graph.Node
      StackMap stack:
            aload 13 /* replacement */
            aload 11 /* oldEdge */
            if_acmpeq 17
        15: .line 952
            aload 13 /* replacement */
            astore 12 /* target */
        16: .line 953
            goto 19
      StackMap locals:
      StackMap stack:
        17: aload 5 /* type */
            getstatic org.graalvm.compiler.graph.Edges$Type.Inputs:Lorg/graalvm/compiler/graph/Edges$Type;
            if_acmpne 19
            aload 11 /* oldEdge */
            invokevirtual org.graalvm.compiler.graph.Node.graph:()Lorg/graalvm/compiler/graph/Graph;
            aload 0 /* graph */
            if_acmpne 19
        18: .line 955
            aload 11 /* oldEdge */
            astore 12 /* target */
        end local 13 // org.graalvm.compiler.graph.Node replacement
        19: .line 958
      StackMap locals:
      StackMap stack:
            aload 9 /* pos */
            aload 4 /* node */
            aload 12 /* target */
            invokevirtual org.graalvm.compiler.graph.Position.set:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
        end local 12 // org.graalvm.compiler.graph.Node target
        end local 11 // org.graalvm.compiler.graph.Node oldEdge
        end local 9 // org.graalvm.compiler.graph.Position pos
        20: .line 939
      StackMap locals: org.graalvm.compiler.graph.Graph org.graalvm.compiler.graph.Graph$DuplicationReplacement org.graalvm.collections.EconomicMap org.graalvm.compiler.graph.Node org.graalvm.compiler.graph.Node org.graalvm.compiler.graph.Edges$Type org.graalvm.compiler.graph.NodeClass org.graalvm.compiler.graph.NodeClass org.graalvm.compiler.graph.Edges top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        21: .line 961
            return
        end local 8 // org.graalvm.compiler.graph.Edges oldEdges
        end local 7 // org.graalvm.compiler.graph.NodeClass oldNodeClass
        end local 6 // org.graalvm.compiler.graph.NodeClass nodeClass
        end local 5 // org.graalvm.compiler.graph.Edges$Type type
        end local 4 // org.graalvm.compiler.graph.Node node
        end local 3 // org.graalvm.compiler.graph.Node oldNode
        end local 2 // org.graalvm.collections.EconomicMap newNodes
        end local 1 // org.graalvm.compiler.graph.Graph$DuplicationReplacement replacements
        end local 0 // org.graalvm.compiler.graph.Graph graph
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   22     0         graph  Lorg/graalvm/compiler/graph/Graph;
            0   22     1  replacements  Lorg/graalvm/compiler/graph/Graph$DuplicationReplacement;
            0   22     2      newNodes  Lorg/graalvm/collections/EconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
            0   22     3       oldNode  Lorg/graalvm/compiler/graph/Node;
            0   22     4          node  Lorg/graalvm/compiler/graph/Node;
            0   22     5          type  Lorg/graalvm/compiler/graph/Edges$Type;
            1   22     6     nodeClass  Lorg/graalvm/compiler/graph/NodeClass<*>;
            2   22     7  oldNodeClass  Lorg/graalvm/compiler/graph/NodeClass<*>;
            3   22     8      oldEdges  Lorg/graalvm/compiler/graph/Edges;
            5   20     9           pos  Lorg/graalvm/compiler/graph/Position;
            8   20    11       oldEdge  Lorg/graalvm/compiler/graph/Node;
           10   20    12        target  Lorg/graalvm/compiler/graph/Node;
           12   19    13   replacement  Lorg/graalvm/compiler/graph/Node;
    Signature: (Lorg/graalvm/compiler/graph/Graph;Lorg/graalvm/compiler/graph/Graph$DuplicationReplacement;Lorg/graalvm/collections/EconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Edges$Type;)V
    MethodParameters:
              Name  Flags
      graph         final
      replacements  final
      newNodes      final
      oldNode       
      node          
      type          

  public boolean isLeafNode();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.graph.NodeClass this
         0: .line 967
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.isLeafNode:Z
            ireturn
        end local 0 // org.graalvm.compiler.graph.NodeClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/graph/NodeClass<TT;>;

  public int getLeafId();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.graph.NodeClass this
         0: .line 971
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.leafId:I
            ireturn
        end local 0 // org.graalvm.compiler.graph.NodeClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/graph/NodeClass<TT;>;

  public org.graalvm.compiler.graph.NodeClass<? super T> getSuperNodeClass();
    descriptor: ()Lorg/graalvm/compiler/graph/NodeClass;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.graph.NodeClass this
         0: .line 975
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.superNodeClass:Lorg/graalvm/compiler/graph/NodeClass;
            areturn
        end local 0 // org.graalvm.compiler.graph.NodeClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/graph/NodeClass<TT;>;
    Signature: ()Lorg/graalvm/compiler/graph/NodeClass<-TT;>;

  public long inputsIteration();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.graph.NodeClass this
         0: .line 979
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.inputsIteration:J
            lreturn
        end local 0 // org.graalvm.compiler.graph.NodeClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/graph/NodeClass<TT;>;

  public org.graalvm.compiler.graph.iterators.NodeIterable<org.graalvm.compiler.graph.Node> getSuccessorIterable(org.graalvm.compiler.graph.Node);
    descriptor: (Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.graph.NodeClass this
        start local 1 // org.graalvm.compiler.graph.Node node
         0: .line 1127
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.successorIteration:J
            lstore 2 /* mask */
        start local 2 // long mask
         1: .line 1128
            new org.graalvm.compiler.graph.NodeClass$2
            dup
            aload 0 /* this */
            aload 1 /* node */
            lload 2 /* mask */
            invokespecial org.graalvm.compiler.graph.NodeClass$2.<init>:(Lorg/graalvm/compiler/graph/NodeClass;Lorg/graalvm/compiler/graph/Node;J)V
            areturn
        end local 2 // long mask
        end local 1 // org.graalvm.compiler.graph.Node node
        end local 0 // org.graalvm.compiler.graph.NodeClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/graph/NodeClass<TT;>;
            0    2     1  node  Lorg/graalvm/compiler/graph/Node;
            1    2     2  mask  J
    Signature: (Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/iterators/NodeIterable<Lorg/graalvm/compiler/graph/Node;>;
    MethodParameters:
      Name  Flags
      node  final

  public org.graalvm.compiler.graph.iterators.NodeIterable<org.graalvm.compiler.graph.Node> getInputIterable(org.graalvm.compiler.graph.Node);
    descriptor: (Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.graph.NodeClass this
        start local 1 // org.graalvm.compiler.graph.Node node
         0: .line 1161
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.inputsIteration:J
            lstore 2 /* mask */
        start local 2 // long mask
         1: .line 1162
            new org.graalvm.compiler.graph.NodeClass$3
            dup
            aload 0 /* this */
            aload 1 /* node */
            lload 2 /* mask */
            invokespecial org.graalvm.compiler.graph.NodeClass$3.<init>:(Lorg/graalvm/compiler/graph/NodeClass;Lorg/graalvm/compiler/graph/Node;J)V
            areturn
        end local 2 // long mask
        end local 1 // org.graalvm.compiler.graph.Node node
        end local 0 // org.graalvm.compiler.graph.NodeClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/graph/NodeClass<TT;>;
            0    2     1  node  Lorg/graalvm/compiler/graph/Node;
            1    2     2  mask  J
    Signature: (Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/iterators/NodeIterable<Lorg/graalvm/compiler/graph/Node;>;
    MethodParameters:
      Name  Flags
      node  final

  public boolean equalSuccessors(org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node);
    descriptor: (Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.graph.NodeClass this
        start local 1 // org.graalvm.compiler.graph.Node node
        start local 2 // org.graalvm.compiler.graph.Node other
         0: .line 1195
            aload 0 /* this */
            aload 1 /* node */
            aload 2 /* other */
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.successorIteration:J
            invokevirtual org.graalvm.compiler.graph.NodeClass.equalEdges:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;J)Z
            ireturn
        end local 2 // org.graalvm.compiler.graph.Node other
        end local 1 // org.graalvm.compiler.graph.Node node
        end local 0 // org.graalvm.compiler.graph.NodeClass this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/graalvm/compiler/graph/NodeClass<TT;>;
            0    1     1   node  Lorg/graalvm/compiler/graph/Node;
            0    1     2  other  Lorg/graalvm/compiler/graph/Node;
    MethodParameters:
       Name  Flags
      node   
      other  

  public boolean equalInputs(org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node);
    descriptor: (Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.graph.NodeClass this
        start local 1 // org.graalvm.compiler.graph.Node node
        start local 2 // org.graalvm.compiler.graph.Node other
         0: .line 1199
            aload 0 /* this */
            aload 1 /* node */
            aload 2 /* other */
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.inputsIteration:J
            invokevirtual org.graalvm.compiler.graph.NodeClass.equalEdges:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;J)Z
            ireturn
        end local 2 // org.graalvm.compiler.graph.Node other
        end local 1 // org.graalvm.compiler.graph.Node node
        end local 0 // org.graalvm.compiler.graph.NodeClass this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/graalvm/compiler/graph/NodeClass<TT;>;
            0    1     1   node  Lorg/graalvm/compiler/graph/Node;
            0    1     2  other  Lorg/graalvm/compiler/graph/Node;
    MethodParameters:
       Name  Flags
      node   
      other  

  private boolean equalEdges(org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node, long);
    descriptor: (Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;J)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=11, args_size=4
        start local 0 // org.graalvm.compiler.graph.NodeClass this
        start local 1 // org.graalvm.compiler.graph.Node node
        start local 2 // org.graalvm.compiler.graph.Node other
        start local 3 // long mask
         0: .line 1203
            lload 3 /* mask */
            lstore 5 /* myMask */
        start local 5 // long myMask
         1: .line 1204
            getstatic org.graalvm.compiler.graph.NodeClass.$assertionsDisabled:Z
            ifne 13
            aload 2 /* other */
            invokevirtual org.graalvm.compiler.graph.Node.getNodeClass:()Lorg/graalvm/compiler/graph/NodeClass;
            aload 0 /* this */
            if_acmpeq 13
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 1206
      StackMap locals: long
      StackMap stack:
            lload 5 /* myMask */
            ldc 252
            land
            lstore 7 /* offset */
        start local 7 // long offset
         3: .line 1207
            lload 5 /* myMask */
            lconst_1
            land
            lconst_0
            lcmp
            ifne 8
         4: .line 1208
            aload 1 /* node */
            lload 7 /* offset */
            invokestatic org.graalvm.compiler.graph.Edges.getNodeUnsafe:(Lorg/graalvm/compiler/graph/Node;J)Lorg/graalvm/compiler/graph/Node;
            astore 9 /* v1 */
        start local 9 // java.lang.Object v1
         5: .line 1209
            aload 2 /* other */
            lload 7 /* offset */
            invokestatic org.graalvm.compiler.graph.Edges.getNodeUnsafe:(Lorg/graalvm/compiler/graph/Node;J)Lorg/graalvm/compiler/graph/Node;
            astore 10 /* v2 */
        start local 10 // java.lang.Object v2
         6: .line 1210
            aload 9 /* v1 */
            aload 10 /* v2 */
            if_acmpeq 12
         7: .line 1211
            iconst_0
            ireturn
        end local 10 // java.lang.Object v2
        end local 9 // java.lang.Object v1
         8: .line 1214
      StackMap locals: long
      StackMap stack:
            aload 1 /* node */
            lload 7 /* offset */
            invokestatic org.graalvm.compiler.graph.Edges.getNodeListUnsafe:(Lorg/graalvm/compiler/graph/Node;J)Lorg/graalvm/compiler/graph/NodeList;
            astore 9 /* v1 */
        start local 9 // org.graalvm.compiler.graph.NodeList v1
         9: .line 1215
            aload 2 /* other */
            lload 7 /* offset */
            invokestatic org.graalvm.compiler.graph.Edges.getNodeListUnsafe:(Lorg/graalvm/compiler/graph/Node;J)Lorg/graalvm/compiler/graph/NodeList;
            astore 10 /* v2 */
        start local 10 // org.graalvm.compiler.graph.NodeList v2
        10: .line 1216
            aload 9 /* v1 */
            aload 10 /* v2 */
            invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 12
        11: .line 1217
            iconst_0
            ireturn
        end local 10 // org.graalvm.compiler.graph.NodeList v2
        end local 9 // org.graalvm.compiler.graph.NodeList v1
        12: .line 1220
      StackMap locals:
      StackMap stack:
            lload 5 /* myMask */
            bipush 8
            lushr
            lstore 5 /* myMask */
        end local 7 // long offset
        13: .line 1205
      StackMap locals:
      StackMap stack:
            lload 5 /* myMask */
            lconst_0
            lcmp
            ifne 2
        14: .line 1222
            iconst_1
            ireturn
        end local 5 // long myMask
        end local 3 // long mask
        end local 2 // org.graalvm.compiler.graph.Node other
        end local 1 // org.graalvm.compiler.graph.Node node
        end local 0 // org.graalvm.compiler.graph.NodeClass this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   15     0    this  Lorg/graalvm/compiler/graph/NodeClass<TT;>;
            0   15     1    node  Lorg/graalvm/compiler/graph/Node;
            0   15     2   other  Lorg/graalvm/compiler/graph/Node;
            0   15     3    mask  J
            1   15     5  myMask  J
            3   13     7  offset  J
            5    8     9      v1  Ljava/lang/Object;
            6    8    10      v2  Ljava/lang/Object;
            9   12     9      v1  Lorg/graalvm/compiler/graph/NodeList<Lorg/graalvm/compiler/graph/Node;>;
           10   12    10      v2  Lorg/graalvm/compiler/graph/NodeList<Lorg/graalvm/compiler/graph/Node;>;
    MethodParameters:
       Name  Flags
      node   
      other  
      mask   

  public void pushInputs(org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.NodeStack);
    descriptor: (Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/NodeStack;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // org.graalvm.compiler.graph.NodeClass this
        start local 1 // org.graalvm.compiler.graph.Node node
        start local 2 // org.graalvm.compiler.graph.NodeStack stack
         0: .line 1226
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.inputsIteration:J
            lstore 3 /* myMask */
        start local 3 // long myMask
         1: .line 1227
            goto 10
         2: .line 1228
      StackMap locals: long
      StackMap stack:
            lload 3 /* myMask */
            ldc 252
            land
            lstore 5 /* offset */
        start local 5 // long offset
         3: .line 1229
            lload 3 /* myMask */
            lconst_1
            land
            lconst_0
            lcmp
            ifne 8
         4: .line 1230
            aload 1 /* node */
            lload 5 /* offset */
            invokestatic org.graalvm.compiler.graph.Edges.getNodeUnsafe:(Lorg/graalvm/compiler/graph/Node;J)Lorg/graalvm/compiler/graph/Node;
            astore 7 /* curNode */
        start local 7 // org.graalvm.compiler.graph.Node curNode
         5: .line 1231
            aload 7 /* curNode */
            ifnull 9
         6: .line 1232
            aload 2 /* stack */
            aload 7 /* curNode */
            invokevirtual org.graalvm.compiler.graph.NodeStack.push:(Lorg/graalvm/compiler/graph/Node;)V
        end local 7 // org.graalvm.compiler.graph.Node curNode
         7: .line 1234
            goto 9
         8: .line 1235
      StackMap locals: long
      StackMap stack:
            aload 2 /* stack */
            aload 1 /* node */
            lload 5 /* offset */
            invokestatic org.graalvm.compiler.graph.NodeClass.pushAllHelper:(Lorg/graalvm/compiler/graph/NodeStack;Lorg/graalvm/compiler/graph/Node;J)V
         9: .line 1237
      StackMap locals:
      StackMap stack:
            lload 3 /* myMask */
            bipush 8
            lushr
            lstore 3 /* myMask */
        end local 5 // long offset
        10: .line 1227
      StackMap locals:
      StackMap stack:
            lload 3 /* myMask */
            lconst_0
            lcmp
            ifne 2
        11: .line 1239
            return
        end local 3 // long myMask
        end local 2 // org.graalvm.compiler.graph.NodeStack stack
        end local 1 // org.graalvm.compiler.graph.Node node
        end local 0 // org.graalvm.compiler.graph.NodeClass this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Lorg/graalvm/compiler/graph/NodeClass<TT;>;
            0   12     1     node  Lorg/graalvm/compiler/graph/Node;
            0   12     2    stack  Lorg/graalvm/compiler/graph/NodeStack;
            1   12     3   myMask  J
            3   10     5   offset  J
            5    7     7  curNode  Lorg/graalvm/compiler/graph/Node;
    MethodParameters:
       Name  Flags
      node   
      stack  

  private static void pushAllHelper(org.graalvm.compiler.graph.NodeStack, org.graalvm.compiler.graph.Node, long);
    descriptor: (Lorg/graalvm/compiler/graph/NodeStack;Lorg/graalvm/compiler/graph/Node;J)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // org.graalvm.compiler.graph.NodeStack stack
        start local 1 // org.graalvm.compiler.graph.Node node
        start local 2 // long offset
         0: .line 1242
            aload 1 /* node */
            lload 2 /* offset */
            invokestatic org.graalvm.compiler.graph.Edges.getNodeListUnsafe:(Lorg/graalvm/compiler/graph/Node;J)Lorg/graalvm/compiler/graph/NodeList;
            astore 4 /* list */
        start local 4 // org.graalvm.compiler.graph.NodeList list
         1: .line 1243
            aload 4 /* list */
            ifnull 9
         2: .line 1244
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         3: goto 8
         4: .line 1245
      StackMap locals: org.graalvm.compiler.graph.NodeList int
      StackMap stack:
            aload 4 /* list */
            iload 5 /* i */
            invokevirtual org.graalvm.compiler.graph.NodeList.get:(I)Lorg/graalvm/compiler/graph/Node;
            astore 6 /* curNode */
        start local 6 // org.graalvm.compiler.graph.Node curNode
         5: .line 1246
            aload 6 /* curNode */
            ifnull 7
         6: .line 1247
            aload 0 /* stack */
            aload 6 /* curNode */
            invokevirtual org.graalvm.compiler.graph.NodeStack.push:(Lorg/graalvm/compiler/graph/Node;)V
        end local 6 // org.graalvm.compiler.graph.Node curNode
         7: .line 1244
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 5 /* i */
            aload 4 /* list */
            invokevirtual org.graalvm.compiler.graph.NodeList.size:()I
            if_icmplt 4
        end local 5 // int i
         9: .line 1251
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.graalvm.compiler.graph.NodeList list
        end local 2 // long offset
        end local 1 // org.graalvm.compiler.graph.Node node
        end local 0 // org.graalvm.compiler.graph.NodeStack stack
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0    stack  Lorg/graalvm/compiler/graph/NodeStack;
            0   10     1     node  Lorg/graalvm/compiler/graph/Node;
            0   10     2   offset  J
            1   10     4     list  Lorg/graalvm/compiler/graph/NodeList<Lorg/graalvm/compiler/graph/Node;>;
            3    9     5        i  I
            5    7     6  curNode  Lorg/graalvm/compiler/graph/Node;
    MethodParameters:
        Name  Flags
      stack   
      node    
      offset  

  public void applySuccessors(org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node$EdgeVisitor);
    descriptor: (Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node$EdgeVisitor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.graph.NodeClass this
        start local 1 // org.graalvm.compiler.graph.Node node
        start local 2 // org.graalvm.compiler.graph.Node$EdgeVisitor consumer
         0: .line 1254
            aload 1 /* node */
            aload 2 /* consumer */
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.successorIteration:J
            invokestatic org.graalvm.compiler.graph.NodeClass.applyEdges:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node$EdgeVisitor;J)V
         1: .line 1255
            return
        end local 2 // org.graalvm.compiler.graph.Node$EdgeVisitor consumer
        end local 1 // org.graalvm.compiler.graph.Node node
        end local 0 // org.graalvm.compiler.graph.NodeClass this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/graalvm/compiler/graph/NodeClass<TT;>;
            0    2     1      node  Lorg/graalvm/compiler/graph/Node;
            0    2     2  consumer  Lorg/graalvm/compiler/graph/Node$EdgeVisitor;
    MethodParameters:
          Name  Flags
      node      
      consumer  

  public void applyInputs(org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node$EdgeVisitor);
    descriptor: (Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node$EdgeVisitor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.graph.NodeClass this
        start local 1 // org.graalvm.compiler.graph.Node node
        start local 2 // org.graalvm.compiler.graph.Node$EdgeVisitor consumer
         0: .line 1258
            aload 1 /* node */
            aload 2 /* consumer */
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.inputsIteration:J
            invokestatic org.graalvm.compiler.graph.NodeClass.applyEdges:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node$EdgeVisitor;J)V
         1: .line 1259
            return
        end local 2 // org.graalvm.compiler.graph.Node$EdgeVisitor consumer
        end local 1 // org.graalvm.compiler.graph.Node node
        end local 0 // org.graalvm.compiler.graph.NodeClass this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/graalvm/compiler/graph/NodeClass<TT;>;
            0    2     1      node  Lorg/graalvm/compiler/graph/Node;
            0    2     2  consumer  Lorg/graalvm/compiler/graph/Node$EdgeVisitor;
    MethodParameters:
          Name  Flags
      node      
      consumer  

  private static void applyEdges(org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node$EdgeVisitor, long);
    descriptor: (Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node$EdgeVisitor;J)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=10, args_size=3
        start local 0 // org.graalvm.compiler.graph.Node node
        start local 1 // org.graalvm.compiler.graph.Node$EdgeVisitor consumer
        start local 2 // long mask
         0: .line 1262
            lload 2 /* mask */
            lstore 4 /* myMask */
        start local 4 // long myMask
         1: .line 1263
            goto 12
         2: .line 1264
      StackMap locals: long
      StackMap stack:
            lload 4 /* myMask */
            ldc 252
            land
            lstore 6 /* offset */
        start local 6 // long offset
         3: .line 1265
            lload 4 /* myMask */
            lconst_1
            land
            lconst_0
            lcmp
            ifne 10
         4: .line 1266
            aload 0 /* node */
            lload 6 /* offset */
            invokestatic org.graalvm.compiler.graph.Edges.getNodeUnsafe:(Lorg/graalvm/compiler/graph/Node;J)Lorg/graalvm/compiler/graph/Node;
            astore 8 /* curNode */
        start local 8 // org.graalvm.compiler.graph.Node curNode
         5: .line 1267
            aload 8 /* curNode */
            ifnull 11
         6: .line 1268
            aload 1 /* consumer */
            aload 0 /* node */
            aload 8 /* curNode */
            invokevirtual org.graalvm.compiler.graph.Node$EdgeVisitor.apply:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            astore 9 /* newNode */
        start local 9 // org.graalvm.compiler.graph.Node newNode
         7: .line 1269
            aload 9 /* newNode */
            aload 8 /* curNode */
            if_acmpeq 11
         8: .line 1270
            aload 0 /* node */
            lload 6 /* offset */
            aload 9 /* newNode */
            invokestatic org.graalvm.compiler.graph.Edges.putNodeUnsafe:(Lorg/graalvm/compiler/graph/Node;JLorg/graalvm/compiler/graph/Node;)V
        end local 9 // org.graalvm.compiler.graph.Node newNode
        end local 8 // org.graalvm.compiler.graph.Node curNode
         9: .line 1273
            goto 11
        10: .line 1274
      StackMap locals: long
      StackMap stack:
            aload 0 /* node */
            aload 1 /* consumer */
            lload 6 /* offset */
            invokestatic org.graalvm.compiler.graph.NodeClass.applyHelper:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node$EdgeVisitor;J)V
        11: .line 1276
      StackMap locals:
      StackMap stack:
            lload 4 /* myMask */
            bipush 8
            lushr
            lstore 4 /* myMask */
        end local 6 // long offset
        12: .line 1263
      StackMap locals:
      StackMap stack:
            lload 4 /* myMask */
            lconst_0
            lcmp
            ifne 2
        13: .line 1278
            return
        end local 4 // long myMask
        end local 2 // long mask
        end local 1 // org.graalvm.compiler.graph.Node$EdgeVisitor consumer
        end local 0 // org.graalvm.compiler.graph.Node node
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0      node  Lorg/graalvm/compiler/graph/Node;
            0   14     1  consumer  Lorg/graalvm/compiler/graph/Node$EdgeVisitor;
            0   14     2      mask  J
            1   14     4    myMask  J
            3   12     6    offset  J
            5    9     8   curNode  Lorg/graalvm/compiler/graph/Node;
            7    9     9   newNode  Lorg/graalvm/compiler/graph/Node;
    MethodParameters:
          Name  Flags
      node      
      consumer  
      mask      

  private static void applyHelper(org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node$EdgeVisitor, long);
    descriptor: (Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node$EdgeVisitor;J)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // org.graalvm.compiler.graph.Node node
        start local 1 // org.graalvm.compiler.graph.Node$EdgeVisitor consumer
        start local 2 // long offset
         0: .line 1281
            aload 0 /* node */
            lload 2 /* offset */
            invokestatic org.graalvm.compiler.graph.Edges.getNodeListUnsafe:(Lorg/graalvm/compiler/graph/Node;J)Lorg/graalvm/compiler/graph/NodeList;
            astore 4 /* list */
        start local 4 // org.graalvm.compiler.graph.NodeList list
         1: .line 1282
            aload 4 /* list */
            ifnull 11
         2: .line 1283
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         3: goto 10
         4: .line 1284
      StackMap locals: org.graalvm.compiler.graph.NodeList int
      StackMap stack:
            aload 4 /* list */
            iload 5 /* i */
            invokevirtual org.graalvm.compiler.graph.NodeList.get:(I)Lorg/graalvm/compiler/graph/Node;
            astore 6 /* curNode */
        start local 6 // org.graalvm.compiler.graph.Node curNode
         5: .line 1285
            aload 6 /* curNode */
            ifnull 9
         6: .line 1286
            aload 1 /* consumer */
            aload 0 /* node */
            aload 6 /* curNode */
            invokevirtual org.graalvm.compiler.graph.Node$EdgeVisitor.apply:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            astore 7 /* newNode */
        start local 7 // org.graalvm.compiler.graph.Node newNode
         7: .line 1287
            aload 7 /* newNode */
            aload 6 /* curNode */
            if_acmpeq 9
         8: .line 1288
            aload 4 /* list */
            iload 5 /* i */
            aload 7 /* newNode */
            invokevirtual org.graalvm.compiler.graph.NodeList.initialize:(ILorg/graalvm/compiler/graph/Node;)V
        end local 7 // org.graalvm.compiler.graph.Node newNode
        end local 6 // org.graalvm.compiler.graph.Node curNode
         9: .line 1283
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 5 /* i */
            aload 4 /* list */
            invokevirtual org.graalvm.compiler.graph.NodeList.size:()I
            if_icmplt 4
        end local 5 // int i
        11: .line 1293
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.graalvm.compiler.graph.NodeList list
        end local 2 // long offset
        end local 1 // org.graalvm.compiler.graph.Node$EdgeVisitor consumer
        end local 0 // org.graalvm.compiler.graph.Node node
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      node  Lorg/graalvm/compiler/graph/Node;
            0   12     1  consumer  Lorg/graalvm/compiler/graph/Node$EdgeVisitor;
            0   12     2    offset  J
            1   12     4      list  Lorg/graalvm/compiler/graph/NodeList<Lorg/graalvm/compiler/graph/Node;>;
            3   11     5         i  I
            5    9     6   curNode  Lorg/graalvm/compiler/graph/Node;
            7    9     7   newNode  Lorg/graalvm/compiler/graph/Node;
    MethodParameters:
          Name  Flags
      node      
      consumer  
      offset    

  public void unregisterAtSuccessorsAsPredecessor(org.graalvm.compiler.graph.Node);
    descriptor: (Lorg/graalvm/compiler/graph/Node;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // org.graalvm.compiler.graph.NodeClass this
        start local 1 // org.graalvm.compiler.graph.Node node
         0: .line 1296
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.successorIteration:J
            lstore 2 /* myMask */
        start local 2 // long myMask
         1: .line 1297
            goto 11
         2: .line 1298
      StackMap locals: long
      StackMap stack:
            lload 2 /* myMask */
            ldc 252
            land
            lstore 4 /* offset */
        start local 4 // long offset
         3: .line 1299
            lload 2 /* myMask */
            lconst_1
            land
            lconst_0
            lcmp
            ifne 9
         4: .line 1300
            aload 1 /* node */
            lload 4 /* offset */
            invokestatic org.graalvm.compiler.graph.Edges.getNodeUnsafe:(Lorg/graalvm/compiler/graph/Node;J)Lorg/graalvm/compiler/graph/Node;
            astore 6 /* curNode */
        start local 6 // org.graalvm.compiler.graph.Node curNode
         5: .line 1301
            aload 6 /* curNode */
            ifnull 10
         6: .line 1302
            aload 1 /* node */
            aload 6 /* curNode */
            aconst_null
            invokevirtual org.graalvm.compiler.graph.Node.updatePredecessor:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
         7: .line 1303
            aload 1 /* node */
            lload 4 /* offset */
            aconst_null
            invokestatic org.graalvm.compiler.graph.Edges.putNodeUnsafe:(Lorg/graalvm/compiler/graph/Node;JLorg/graalvm/compiler/graph/Node;)V
        end local 6 // org.graalvm.compiler.graph.Node curNode
         8: .line 1305
            goto 10
         9: .line 1306
      StackMap locals: long
      StackMap stack:
            aload 1 /* node */
            lload 4 /* offset */
            invokestatic org.graalvm.compiler.graph.NodeClass.unregisterAtSuccessorsAsPredecessorHelper:(Lorg/graalvm/compiler/graph/Node;J)V
        10: .line 1308
      StackMap locals:
      StackMap stack:
            lload 2 /* myMask */
            bipush 8
            lushr
            lstore 2 /* myMask */
        end local 4 // long offset
        11: .line 1297
      StackMap locals:
      StackMap stack:
            lload 2 /* myMask */
            lconst_0
            lcmp
            ifne 2
        12: .line 1310
            return
        end local 2 // long myMask
        end local 1 // org.graalvm.compiler.graph.Node node
        end local 0 // org.graalvm.compiler.graph.NodeClass this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Lorg/graalvm/compiler/graph/NodeClass<TT;>;
            0   13     1     node  Lorg/graalvm/compiler/graph/Node;
            1   13     2   myMask  J
            3   11     4   offset  J
            5    8     6  curNode  Lorg/graalvm/compiler/graph/Node;
    MethodParameters:
      Name  Flags
      node  

  private static void unregisterAtSuccessorsAsPredecessorHelper(org.graalvm.compiler.graph.Node, long);
    descriptor: (Lorg/graalvm/compiler/graph/Node;J)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // org.graalvm.compiler.graph.Node node
        start local 1 // long offset
         0: .line 1313
            aload 0 /* node */
            lload 1 /* offset */
            invokestatic org.graalvm.compiler.graph.Edges.getNodeListUnsafe:(Lorg/graalvm/compiler/graph/Node;J)Lorg/graalvm/compiler/graph/NodeList;
            astore 3 /* list */
        start local 3 // org.graalvm.compiler.graph.NodeList list
         1: .line 1314
            aload 3 /* list */
            ifnull 10
         2: .line 1315
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 8
         4: .line 1316
      StackMap locals: org.graalvm.compiler.graph.NodeList int
      StackMap stack:
            aload 3 /* list */
            iload 4 /* i */
            invokevirtual org.graalvm.compiler.graph.NodeList.get:(I)Lorg/graalvm/compiler/graph/Node;
            astore 5 /* curNode */
        start local 5 // org.graalvm.compiler.graph.Node curNode
         5: .line 1317
            aload 5 /* curNode */
            ifnull 7
         6: .line 1318
            aload 0 /* node */
            aload 5 /* curNode */
            aconst_null
            invokevirtual org.graalvm.compiler.graph.Node.updatePredecessor:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
        end local 5 // org.graalvm.compiler.graph.Node curNode
         7: .line 1315
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 4 /* i */
            aload 3 /* list */
            invokevirtual org.graalvm.compiler.graph.NodeList.size:()I
            if_icmplt 4
        end local 4 // int i
         9: .line 1321
            aload 3 /* list */
            invokevirtual org.graalvm.compiler.graph.NodeList.clearWithoutUpdate:()V
        10: .line 1323
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.graalvm.compiler.graph.NodeList list
        end local 1 // long offset
        end local 0 // org.graalvm.compiler.graph.Node node
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     node  Lorg/graalvm/compiler/graph/Node;
            0   11     1   offset  J
            1   11     3     list  Lorg/graalvm/compiler/graph/NodeList<Lorg/graalvm/compiler/graph/Node;>;
            3    9     4        i  I
            5    7     5  curNode  Lorg/graalvm/compiler/graph/Node;
    MethodParameters:
        Name  Flags
      node    
      offset  

  public void registerAtSuccessorsAsPredecessor(org.graalvm.compiler.graph.Node);
    descriptor: (Lorg/graalvm/compiler/graph/Node;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // org.graalvm.compiler.graph.NodeClass this
        start local 1 // org.graalvm.compiler.graph.Node node
         0: .line 1326
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.successorIteration:J
            lstore 2 /* myMask */
        start local 2 // long myMask
         1: .line 1327
            goto 11
         2: .line 1328
      StackMap locals: long
      StackMap stack:
            lload 2 /* myMask */
            ldc 252
            land
            lstore 4 /* offset */
        start local 4 // long offset
         3: .line 1329
            lload 2 /* myMask */
            lconst_1
            land
            lconst_0
            lcmp
            ifne 9
         4: .line 1330
            aload 1 /* node */
            lload 4 /* offset */
            invokestatic org.graalvm.compiler.graph.Edges.getNodeUnsafe:(Lorg/graalvm/compiler/graph/Node;J)Lorg/graalvm/compiler/graph/Node;
            astore 6 /* curNode */
        start local 6 // org.graalvm.compiler.graph.Node curNode
         5: .line 1331
            aload 6 /* curNode */
            ifnull 10
         6: .line 1332
            getstatic org.graalvm.compiler.graph.NodeClass.$assertionsDisabled:Z
            ifne 7
            aload 6 /* curNode */
            invokevirtual org.graalvm.compiler.graph.Node.isAlive:()Z
            ifne 7
            new java.lang.AssertionError
            dup
            ldc "Successor not alive"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         7: .line 1333
      StackMap locals: long org.graalvm.compiler.graph.Node
      StackMap stack:
            aload 1 /* node */
            aconst_null
            aload 6 /* curNode */
            invokevirtual org.graalvm.compiler.graph.Node.updatePredecessor:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
        end local 6 // org.graalvm.compiler.graph.Node curNode
         8: .line 1335
            goto 10
         9: .line 1336
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            lload 4 /* offset */
            invokestatic org.graalvm.compiler.graph.NodeClass.registerAtSuccessorsAsPredecessorHelper:(Lorg/graalvm/compiler/graph/Node;J)V
        10: .line 1338
      StackMap locals:
      StackMap stack:
            lload 2 /* myMask */
            bipush 8
            lushr
            lstore 2 /* myMask */
        end local 4 // long offset
        11: .line 1327
      StackMap locals:
      StackMap stack:
            lload 2 /* myMask */
            lconst_0
            lcmp
            ifne 2
        12: .line 1340
            return
        end local 2 // long myMask
        end local 1 // org.graalvm.compiler.graph.Node node
        end local 0 // org.graalvm.compiler.graph.NodeClass this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Lorg/graalvm/compiler/graph/NodeClass<TT;>;
            0   13     1     node  Lorg/graalvm/compiler/graph/Node;
            1   13     2   myMask  J
            3   11     4   offset  J
            5    8     6  curNode  Lorg/graalvm/compiler/graph/Node;
    MethodParameters:
      Name  Flags
      node  

  private static void registerAtSuccessorsAsPredecessorHelper(org.graalvm.compiler.graph.Node, long);
    descriptor: (Lorg/graalvm/compiler/graph/Node;J)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // org.graalvm.compiler.graph.Node node
        start local 1 // long offset
         0: .line 1343
            aload 0 /* node */
            lload 1 /* offset */
            invokestatic org.graalvm.compiler.graph.Edges.getNodeListUnsafe:(Lorg/graalvm/compiler/graph/Node;J)Lorg/graalvm/compiler/graph/NodeList;
            astore 3 /* list */
        start local 3 // org.graalvm.compiler.graph.NodeList list
         1: .line 1344
            aload 3 /* list */
            ifnull 10
         2: .line 1345
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 9
         4: .line 1346
      StackMap locals: org.graalvm.compiler.graph.NodeList int
      StackMap stack:
            aload 3 /* list */
            iload 4 /* i */
            invokevirtual org.graalvm.compiler.graph.NodeList.get:(I)Lorg/graalvm/compiler/graph/Node;
            astore 5 /* curNode */
        start local 5 // org.graalvm.compiler.graph.Node curNode
         5: .line 1347
            aload 5 /* curNode */
            ifnull 8
         6: .line 1348
            getstatic org.graalvm.compiler.graph.NodeClass.$assertionsDisabled:Z
            ifne 7
            aload 5 /* curNode */
            invokevirtual org.graalvm.compiler.graph.Node.isAlive:()Z
            ifne 7
            new java.lang.AssertionError
            dup
            ldc "Successor not alive"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         7: .line 1349
      StackMap locals: org.graalvm.compiler.graph.Node
      StackMap stack:
            aload 0 /* node */
            aconst_null
            aload 5 /* curNode */
            invokevirtual org.graalvm.compiler.graph.Node.updatePredecessor:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
        end local 5 // org.graalvm.compiler.graph.Node curNode
         8: .line 1345
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 4 /* i */
            aload 3 /* list */
            invokevirtual org.graalvm.compiler.graph.NodeList.size:()I
            if_icmplt 4
        end local 4 // int i
        10: .line 1353
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.graalvm.compiler.graph.NodeList list
        end local 1 // long offset
        end local 0 // org.graalvm.compiler.graph.Node node
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     node  Lorg/graalvm/compiler/graph/Node;
            0   11     1   offset  J
            1   11     3     list  Lorg/graalvm/compiler/graph/NodeList<Lorg/graalvm/compiler/graph/Node;>;
            3   10     4        i  I
            5    8     5  curNode  Lorg/graalvm/compiler/graph/Node;
    MethodParameters:
        Name  Flags
      node    
      offset  

  public boolean replaceFirstInput(org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node);
    descriptor: (Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.graph.NodeClass this
        start local 1 // org.graalvm.compiler.graph.Node node
        start local 2 // org.graalvm.compiler.graph.Node key
        start local 3 // org.graalvm.compiler.graph.Node replacement
         0: .line 1356
            aload 1 /* node */
            aload 2 /* key */
            aload 3 /* replacement */
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.inputsIteration:J
            invokestatic org.graalvm.compiler.graph.NodeClass.replaceFirstEdge:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;J)Z
            ireturn
        end local 3 // org.graalvm.compiler.graph.Node replacement
        end local 2 // org.graalvm.compiler.graph.Node key
        end local 1 // org.graalvm.compiler.graph.Node node
        end local 0 // org.graalvm.compiler.graph.NodeClass this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/graalvm/compiler/graph/NodeClass<TT;>;
            0    1     1         node  Lorg/graalvm/compiler/graph/Node;
            0    1     2          key  Lorg/graalvm/compiler/graph/Node;
            0    1     3  replacement  Lorg/graalvm/compiler/graph/Node;
    MethodParameters:
             Name  Flags
      node         
      key          
      replacement  

  public boolean replaceFirstSuccessor(org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node);
    descriptor: (Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.graph.NodeClass this
        start local 1 // org.graalvm.compiler.graph.Node node
        start local 2 // org.graalvm.compiler.graph.Node key
        start local 3 // org.graalvm.compiler.graph.Node replacement
         0: .line 1360
            aload 1 /* node */
            aload 2 /* key */
            aload 3 /* replacement */
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.successorIteration:J
            invokestatic org.graalvm.compiler.graph.NodeClass.replaceFirstEdge:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;J)Z
            ireturn
        end local 3 // org.graalvm.compiler.graph.Node replacement
        end local 2 // org.graalvm.compiler.graph.Node key
        end local 1 // org.graalvm.compiler.graph.Node node
        end local 0 // org.graalvm.compiler.graph.NodeClass this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/graalvm/compiler/graph/NodeClass<TT;>;
            0    1     1         node  Lorg/graalvm/compiler/graph/Node;
            0    1     2          key  Lorg/graalvm/compiler/graph/Node;
            0    1     3  replacement  Lorg/graalvm/compiler/graph/Node;
    MethodParameters:
             Name  Flags
      node         
      key          
      replacement  

  public static boolean replaceFirstEdge(org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node, long);
    descriptor: (Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;J)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=10, args_size=4
        start local 0 // org.graalvm.compiler.graph.Node node
        start local 1 // org.graalvm.compiler.graph.Node key
        start local 2 // org.graalvm.compiler.graph.Node replacement
        start local 3 // long mask
         0: .line 1364
            lload 3 /* mask */
            lstore 5 /* myMask */
        start local 5 // long myMask
         1: .line 1365
            goto 12
         2: .line 1366
      StackMap locals: long
      StackMap stack:
            lload 5 /* myMask */
            ldc 252
            land
            lstore 7 /* offset */
        start local 7 // long offset
         3: .line 1367
            lload 5 /* myMask */
            lconst_1
            land
            lconst_0
            lcmp
            ifne 8
         4: .line 1368
            aload 0 /* node */
            lload 7 /* offset */
            invokestatic org.graalvm.compiler.graph.Edges.getNodeUnsafe:(Lorg/graalvm/compiler/graph/Node;J)Lorg/graalvm/compiler/graph/Node;
            astore 9 /* curNode */
        start local 9 // java.lang.Object curNode
         5: .line 1369
            aload 9 /* curNode */
            aload 1 /* key */
            if_acmpne 11
         6: .line 1370
            aload 0 /* node */
            lload 7 /* offset */
            aload 2 /* replacement */
            invokestatic org.graalvm.compiler.graph.Edges.putNodeUnsafe:(Lorg/graalvm/compiler/graph/Node;JLorg/graalvm/compiler/graph/Node;)V
         7: .line 1371
            iconst_1
            ireturn
        end local 9 // java.lang.Object curNode
         8: .line 1374
      StackMap locals: long
      StackMap stack:
            aload 0 /* node */
            lload 7 /* offset */
            invokestatic org.graalvm.compiler.graph.Edges.getNodeListUnsafe:(Lorg/graalvm/compiler/graph/Node;J)Lorg/graalvm/compiler/graph/NodeList;
            astore 9 /* list */
        start local 9 // org.graalvm.compiler.graph.NodeList list
         9: .line 1375
            aload 9 /* list */
            ifnull 11
            aload 9 /* list */
            aload 1 /* key */
            aload 2 /* replacement */
            invokevirtual org.graalvm.compiler.graph.NodeList.replaceFirst:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)Z
            ifeq 11
        10: .line 1376
            iconst_1
            ireturn
        end local 9 // org.graalvm.compiler.graph.NodeList list
        11: .line 1379
      StackMap locals:
      StackMap stack:
            lload 5 /* myMask */
            bipush 8
            lushr
            lstore 5 /* myMask */
        end local 7 // long offset
        12: .line 1365
      StackMap locals:
      StackMap stack:
            lload 5 /* myMask */
            lconst_0
            lcmp
            ifne 2
        13: .line 1381
            iconst_0
            ireturn
        end local 5 // long myMask
        end local 3 // long mask
        end local 2 // org.graalvm.compiler.graph.Node replacement
        end local 1 // org.graalvm.compiler.graph.Node key
        end local 0 // org.graalvm.compiler.graph.Node node
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   14     0         node  Lorg/graalvm/compiler/graph/Node;
            0   14     1          key  Lorg/graalvm/compiler/graph/Node;
            0   14     2  replacement  Lorg/graalvm/compiler/graph/Node;
            0   14     3         mask  J
            1   14     5       myMask  J
            3   12     7       offset  J
            5    8     9      curNode  Ljava/lang/Object;
            9   11     9         list  Lorg/graalvm/compiler/graph/NodeList<Lorg/graalvm/compiler/graph/Node;>;
    MethodParameters:
             Name  Flags
      node         
      key          
      replacement  
      mask         

  public void registerAtInputsAsUsage(org.graalvm.compiler.graph.Node);
    descriptor: (Lorg/graalvm/compiler/graph/Node;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // org.graalvm.compiler.graph.NodeClass this
        start local 1 // org.graalvm.compiler.graph.Node node
         0: .line 1385
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.inputsIteration:J
            lstore 2 /* myMask */
        start local 2 // long myMask
         1: .line 1386
            goto 11
         2: .line 1387
      StackMap locals: long
      StackMap stack:
            lload 2 /* myMask */
            ldc 252
            land
            lstore 4 /* offset */
        start local 4 // long offset
         3: .line 1388
            lload 2 /* myMask */
            lconst_1
            land
            lconst_0
            lcmp
            ifne 9
         4: .line 1389
            aload 1 /* node */
            lload 4 /* offset */
            invokestatic org.graalvm.compiler.graph.Edges.getNodeUnsafe:(Lorg/graalvm/compiler/graph/Node;J)Lorg/graalvm/compiler/graph/Node;
            astore 6 /* curNode */
        start local 6 // org.graalvm.compiler.graph.Node curNode
         5: .line 1390
            aload 6 /* curNode */
            ifnull 10
         6: .line 1391
            getstatic org.graalvm.compiler.graph.NodeClass.$assertionsDisabled:Z
            ifne 7
            aload 6 /* curNode */
            invokevirtual org.graalvm.compiler.graph.Node.isAlive:()Z
            ifne 7
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Input not alive "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* curNode */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         7: .line 1392
      StackMap locals: long org.graalvm.compiler.graph.Node
      StackMap stack:
            aload 6 /* curNode */
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.graph.Node.addUsage:(Lorg/graalvm/compiler/graph/Node;)V
        end local 6 // org.graalvm.compiler.graph.Node curNode
         8: .line 1394
            goto 10
         9: .line 1395
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            lload 4 /* offset */
            invokestatic org.graalvm.compiler.graph.NodeClass.registerAtInputsAsUsageHelper:(Lorg/graalvm/compiler/graph/Node;J)V
        10: .line 1397
      StackMap locals:
      StackMap stack:
            lload 2 /* myMask */
            bipush 8
            lushr
            lstore 2 /* myMask */
        end local 4 // long offset
        11: .line 1386
      StackMap locals:
      StackMap stack:
            lload 2 /* myMask */
            lconst_0
            lcmp
            ifne 2
        12: .line 1399
            return
        end local 2 // long myMask
        end local 1 // org.graalvm.compiler.graph.Node node
        end local 0 // org.graalvm.compiler.graph.NodeClass this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Lorg/graalvm/compiler/graph/NodeClass<TT;>;
            0   13     1     node  Lorg/graalvm/compiler/graph/Node;
            1   13     2   myMask  J
            3   11     4   offset  J
            5    8     6  curNode  Lorg/graalvm/compiler/graph/Node;
    MethodParameters:
      Name  Flags
      node  

  private static void registerAtInputsAsUsageHelper(org.graalvm.compiler.graph.Node, long);
    descriptor: (Lorg/graalvm/compiler/graph/Node;J)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // org.graalvm.compiler.graph.Node node
        start local 1 // long offset
         0: .line 1402
            aload 0 /* node */
            lload 1 /* offset */
            invokestatic org.graalvm.compiler.graph.Edges.getNodeListUnsafe:(Lorg/graalvm/compiler/graph/Node;J)Lorg/graalvm/compiler/graph/NodeList;
            astore 3 /* list */
        start local 3 // org.graalvm.compiler.graph.NodeList list
         1: .line 1403
            aload 3 /* list */
            ifnull 10
         2: .line 1404
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 9
         4: .line 1405
      StackMap locals: org.graalvm.compiler.graph.NodeList int
      StackMap stack:
            aload 3 /* list */
            iload 4 /* i */
            invokevirtual org.graalvm.compiler.graph.NodeList.get:(I)Lorg/graalvm/compiler/graph/Node;
            astore 5 /* curNode */
        start local 5 // org.graalvm.compiler.graph.Node curNode
         5: .line 1406
            aload 5 /* curNode */
            ifnull 8
         6: .line 1407
            getstatic org.graalvm.compiler.graph.NodeClass.$assertionsDisabled:Z
            ifne 7
            aload 5 /* curNode */
            invokevirtual org.graalvm.compiler.graph.Node.isAlive:()Z
            ifne 7
            new java.lang.AssertionError
            dup
            ldc "Input not alive"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         7: .line 1408
      StackMap locals: org.graalvm.compiler.graph.Node
      StackMap stack:
            aload 5 /* curNode */
            aload 0 /* node */
            invokevirtual org.graalvm.compiler.graph.Node.addUsage:(Lorg/graalvm/compiler/graph/Node;)V
        end local 5 // org.graalvm.compiler.graph.Node curNode
         8: .line 1404
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 4 /* i */
            aload 3 /* list */
            invokevirtual org.graalvm.compiler.graph.NodeList.size:()I
            if_icmplt 4
        end local 4 // int i
        10: .line 1412
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.graalvm.compiler.graph.NodeList list
        end local 1 // long offset
        end local 0 // org.graalvm.compiler.graph.Node node
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     node  Lorg/graalvm/compiler/graph/Node;
            0   11     1   offset  J
            1   11     3     list  Lorg/graalvm/compiler/graph/NodeList<Lorg/graalvm/compiler/graph/Node;>;
            3   10     4        i  I
            5    8     5  curNode  Lorg/graalvm/compiler/graph/Node;
    MethodParameters:
        Name  Flags
      node    
      offset  

  public void unregisterAtInputsAsUsage(org.graalvm.compiler.graph.Node);
    descriptor: (Lorg/graalvm/compiler/graph/Node;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // org.graalvm.compiler.graph.NodeClass this
        start local 1 // org.graalvm.compiler.graph.Node node
         0: .line 1415
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeClass.inputsIteration:J
            lstore 2 /* myMask */
        start local 2 // long myMask
         1: .line 1416
            goto 13
         2: .line 1417
      StackMap locals: long
      StackMap stack:
            lload 2 /* myMask */
            ldc 252
            land
            lstore 4 /* offset */
        start local 4 // long offset
         3: .line 1418
            lload 2 /* myMask */
            lconst_1
            land
            lconst_0
            lcmp
            ifne 11
         4: .line 1419
            aload 1 /* node */
            lload 4 /* offset */
            invokestatic org.graalvm.compiler.graph.Edges.getNodeUnsafe:(Lorg/graalvm/compiler/graph/Node;J)Lorg/graalvm/compiler/graph/Node;
            astore 6 /* curNode */
        start local 6 // org.graalvm.compiler.graph.Node curNode
         5: .line 1420
            aload 6 /* curNode */
            ifnull 12
         6: .line 1421
            aload 1 /* node */
            aload 6 /* curNode */
            invokevirtual org.graalvm.compiler.graph.Node.removeThisFromUsages:(Lorg/graalvm/compiler/graph/Node;)Z
            pop
         7: .line 1422
            aload 6 /* curNode */
            invokevirtual org.graalvm.compiler.graph.Node.hasNoUsages:()Z
            ifeq 9
         8: .line 1423
            aload 1 /* node */
            aload 6 /* curNode */
            invokevirtual org.graalvm.compiler.graph.Node.maybeNotifyZeroUsages:(Lorg/graalvm/compiler/graph/Node;)V
         9: .line 1425
      StackMap locals: long org.graalvm.compiler.graph.Node
      StackMap stack:
            aload 1 /* node */
            lload 4 /* offset */
            aconst_null
            invokestatic org.graalvm.compiler.graph.Edges.putNodeUnsafe:(Lorg/graalvm/compiler/graph/Node;JLorg/graalvm/compiler/graph/Node;)V
        end local 6 // org.graalvm.compiler.graph.Node curNode
        10: .line 1427
            goto 12
        11: .line 1428
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            lload 4 /* offset */
            invokestatic org.graalvm.compiler.graph.NodeClass.unregisterAtInputsAsUsageHelper:(Lorg/graalvm/compiler/graph/Node;J)V
        12: .line 1430
      StackMap locals:
      StackMap stack:
            lload 2 /* myMask */
            bipush 8
            lushr
            lstore 2 /* myMask */
        end local 4 // long offset
        13: .line 1416
      StackMap locals:
      StackMap stack:
            lload 2 /* myMask */
            lconst_0
            lcmp
            ifne 2
        14: .line 1432
            return
        end local 2 // long myMask
        end local 1 // org.graalvm.compiler.graph.Node node
        end local 0 // org.graalvm.compiler.graph.NodeClass this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0     this  Lorg/graalvm/compiler/graph/NodeClass<TT;>;
            0   15     1     node  Lorg/graalvm/compiler/graph/Node;
            1   15     2   myMask  J
            3   13     4   offset  J
            5   10     6  curNode  Lorg/graalvm/compiler/graph/Node;
    MethodParameters:
      Name  Flags
      node  

  private static void unregisterAtInputsAsUsageHelper(org.graalvm.compiler.graph.Node, long);
    descriptor: (Lorg/graalvm/compiler/graph/Node;J)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // org.graalvm.compiler.graph.Node node
        start local 1 // long offset
         0: .line 1435
            aload 0 /* node */
            lload 1 /* offset */
            invokestatic org.graalvm.compiler.graph.Edges.getNodeListUnsafe:(Lorg/graalvm/compiler/graph/Node;J)Lorg/graalvm/compiler/graph/NodeList;
            astore 3 /* list */
        start local 3 // org.graalvm.compiler.graph.NodeList list
         1: .line 1436
            aload 3 /* list */
            ifnull 12
         2: .line 1437
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 10
         4: .line 1438
      StackMap locals: org.graalvm.compiler.graph.NodeList int
      StackMap stack:
            aload 3 /* list */
            iload 4 /* i */
            invokevirtual org.graalvm.compiler.graph.NodeList.get:(I)Lorg/graalvm/compiler/graph/Node;
            astore 5 /* curNode */
        start local 5 // org.graalvm.compiler.graph.Node curNode
         5: .line 1439
            aload 5 /* curNode */
            ifnull 9
         6: .line 1440
            aload 0 /* node */
            aload 5 /* curNode */
            invokevirtual org.graalvm.compiler.graph.Node.removeThisFromUsages:(Lorg/graalvm/compiler/graph/Node;)Z
            pop
         7: .line 1441
            aload 5 /* curNode */
            invokevirtual org.graalvm.compiler.graph.Node.hasNoUsages:()Z
            ifeq 9
         8: .line 1442
            aload 0 /* node */
            aload 5 /* curNode */
            invokevirtual org.graalvm.compiler.graph.Node.maybeNotifyZeroUsages:(Lorg/graalvm/compiler/graph/Node;)V
        end local 5 // org.graalvm.compiler.graph.Node curNode
         9: .line 1437
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 4 /* i */
            aload 3 /* list */
            invokevirtual org.graalvm.compiler.graph.NodeList.size:()I
            if_icmplt 4
        end local 4 // int i
        11: .line 1446
            aload 3 /* list */
            invokevirtual org.graalvm.compiler.graph.NodeList.clearWithoutUpdate:()V
        12: .line 1448
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.graalvm.compiler.graph.NodeList list
        end local 1 // long offset
        end local 0 // org.graalvm.compiler.graph.Node node
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     node  Lorg/graalvm/compiler/graph/Node;
            0   13     1   offset  J
            1   13     3     list  Lorg/graalvm/compiler/graph/NodeList<Lorg/graalvm/compiler/graph/Node;>;
            3   11     4        i  I
            5    9     5  curNode  Lorg/graalvm/compiler/graph/Node;
    MethodParameters:
        Name  Flags
      node    
      offset  

  static org.graalvm.compiler.core.common.Fields access$0(org.graalvm.compiler.graph.NodeClass);
    descriptor: (Lorg/graalvm/compiler/graph/NodeClass;)Lorg/graalvm/compiler/core/common/Fields;
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 83
            aload 0
            getfield org.graalvm.compiler.graph.NodeClass.data:Lorg/graalvm/compiler/core/common/Fields;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: <T:Ljava/lang/Object;>Lorg/graalvm/compiler/core/common/FieldIntrospection<TT;>;
SourceFile: "NodeClass.java"
NestMembers:
  org.graalvm.compiler.graph.NodeClass$1  org.graalvm.compiler.graph.NodeClass$2  org.graalvm.compiler.graph.NodeClass$3  org.graalvm.compiler.graph.NodeClass$EdgeInfo  org.graalvm.compiler.graph.NodeClass$InplaceUpdateClosure  org.graalvm.compiler.graph.NodeClass$InputInfo  org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner  org.graalvm.compiler.graph.NodeClass$RawEdgesIterator  org.graalvm.compiler.graph.NodeClass$RawEdgesWithModCountIterator
InnerClasses:
  public abstract CalcOffset = org.graalvm.compiler.core.common.FieldsScanner$CalcOffset of org.graalvm.compiler.core.common.FieldsScanner
  public DefaultCalcOffset = org.graalvm.compiler.core.common.FieldsScanner$DefaultCalcOffset of org.graalvm.compiler.core.common.FieldsScanner
  public FieldInfo = org.graalvm.compiler.core.common.FieldsScanner$FieldInfo of org.graalvm.compiler.core.common.FieldsScanner
  public abstract Scope = org.graalvm.compiler.debug.DebugContext$Scope of org.graalvm.compiler.debug.DebugContext
  public final Type = org.graalvm.compiler.graph.Edges$Type of org.graalvm.compiler.graph.Edges
  public abstract DuplicationReplacement = org.graalvm.compiler.graph.Graph$DuplicationReplacement of org.graalvm.compiler.graph.Graph
  public abstract EdgeVisitor = org.graalvm.compiler.graph.Node$EdgeVisitor of org.graalvm.compiler.graph.Node
  public abstract ValueNumberable = org.graalvm.compiler.graph.Node$ValueNumberable of org.graalvm.compiler.graph.Node
  org.graalvm.compiler.graph.NodeClass$1
  org.graalvm.compiler.graph.NodeClass$2
  org.graalvm.compiler.graph.NodeClass$3
  protected EdgeInfo = org.graalvm.compiler.graph.NodeClass$EdgeInfo of org.graalvm.compiler.graph.NodeClass
  abstract InplaceUpdateClosure = org.graalvm.compiler.graph.NodeClass$InplaceUpdateClosure of org.graalvm.compiler.graph.NodeClass
  protected InputInfo = org.graalvm.compiler.graph.NodeClass$InputInfo of org.graalvm.compiler.graph.NodeClass
  protected NodeFieldsScanner = org.graalvm.compiler.graph.NodeClass$NodeFieldsScanner of org.graalvm.compiler.graph.NodeClass
  private RawEdgesIterator = org.graalvm.compiler.graph.NodeClass$RawEdgesIterator of org.graalvm.compiler.graph.NodeClass
  private final RawEdgesWithModCountIterator = org.graalvm.compiler.graph.NodeClass$RawEdgesWithModCountIterator of org.graalvm.compiler.graph.NodeClass
  public abstract Binary = org.graalvm.compiler.graph.spi.Canonicalizable$Binary of org.graalvm.compiler.graph.spi.Canonicalizable
  public abstract BinaryCommutative = org.graalvm.compiler.graph.spi.Canonicalizable$BinaryCommutative of org.graalvm.compiler.graph.spi.Canonicalizable
  public abstract Unary = org.graalvm.compiler.graph.spi.Canonicalizable$Unary of org.graalvm.compiler.graph.spi.Canonicalizable