public class org.graalvm.compiler.replacements.GraphKit implements org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderTool
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.replacements.GraphKit
  super_class: java.lang.Object
{
  protected final org.graalvm.compiler.phases.util.Providers providers;
    descriptor: Lorg/graalvm/compiler/phases/util/Providers;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final org.graalvm.compiler.nodes.StructuredGraph graph;
    descriptor: Lorg/graalvm/compiler/nodes/StructuredGraph;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final org.graalvm.compiler.word.WordTypes wordTypes;
    descriptor: Lorg/graalvm/compiler/word/WordTypes;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins graphBuilderPlugins;
    descriptor: Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected org.graalvm.compiler.nodes.FixedWithNextNode lastFixedNode;
    descriptor: Lorg/graalvm/compiler/nodes/FixedWithNextNode;
    flags: (0x0004) ACC_PROTECTED

  private final java.util.List<org.graalvm.compiler.replacements.GraphKit$Structure> structures;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lorg/graalvm/compiler/replacements/GraphKit$Structure;>;

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

  private static volatile int[] $SWITCH_TABLE$org$graalvm$compiler$replacements$GraphKit$IfState;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 84
            ldc Lorg/graalvm/compiler/replacements/GraphKit;
            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.replacements.GraphKit.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.phases.util.Providers, org.graalvm.compiler.word.WordTypes, org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/word/WordTypes;Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.replacements.GraphKit this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 2 // org.graalvm.compiler.phases.util.Providers providers
        start local 3 // org.graalvm.compiler.word.WordTypes wordTypes
        start local 4 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins graphBuilderPlugins
         0: .line 97
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 98
            aload 0 /* this */
            aload 2 /* providers */
            putfield org.graalvm.compiler.replacements.GraphKit.providers:Lorg/graalvm/compiler/phases/util/Providers;
         2: .line 99
            aload 0 /* this */
            aload 1 /* graph */
            putfield org.graalvm.compiler.replacements.GraphKit.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
         3: .line 100
            aload 0 /* this */
            aload 3 /* wordTypes */
            putfield org.graalvm.compiler.replacements.GraphKit.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
         4: .line 101
            aload 0 /* this */
            aload 4 /* graphBuilderPlugins */
            putfield org.graalvm.compiler.replacements.GraphKit.graphBuilderPlugins:Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;
         5: .line 102
            aload 0 /* this */
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.start:()Lorg/graalvm/compiler/nodes/StartNode;
            putfield org.graalvm.compiler.replacements.GraphKit.lastFixedNode:Lorg/graalvm/compiler/nodes/FixedWithNextNode;
         6: .line 104
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.graalvm.compiler.replacements.GraphKit.structures:Ljava/util/List;
         7: .line 108
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.GraphKit.structures:Ljava/util/List;
            new org.graalvm.compiler.replacements.GraphKit$1
            dup
            aload 0 /* this */
            invokespecial org.graalvm.compiler.replacements.GraphKit$1.<init>:(Lorg/graalvm/compiler/replacements/GraphKit;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         8: .line 110
            return
        end local 4 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins graphBuilderPlugins
        end local 3 // org.graalvm.compiler.word.WordTypes wordTypes
        end local 2 // org.graalvm.compiler.phases.util.Providers providers
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 0 // org.graalvm.compiler.replacements.GraphKit this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    9     0                 this  Lorg/graalvm/compiler/replacements/GraphKit;
            0    9     1                graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0    9     2            providers  Lorg/graalvm/compiler/phases/util/Providers;
            0    9     3            wordTypes  Lorg/graalvm/compiler/word/WordTypes;
            0    9     4  graphBuilderPlugins  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;
    MethodParameters:
                     Name  Flags
      graph                
      providers            
      wordTypes            
      graphBuilderPlugins  

  public org.graalvm.compiler.nodes.StructuredGraph getGraph();
    descriptor: ()Lorg/graalvm/compiler/nodes/StructuredGraph;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.replacements.GraphKit this
         0: .line 114
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.GraphKit.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
            areturn
        end local 0 // org.graalvm.compiler.replacements.GraphKit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/replacements/GraphKit;

  public jdk.vm.ci.meta.ConstantReflectionProvider getConstantReflection();
    descriptor: ()Ljdk/vm/ci/meta/ConstantReflectionProvider;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.replacements.GraphKit this
         0: .line 119
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.GraphKit.providers:Lorg/graalvm/compiler/phases/util/Providers;
            invokevirtual org.graalvm.compiler.phases.util.Providers.getConstantReflection:()Ljdk/vm/ci/meta/ConstantReflectionProvider;
            areturn
        end local 0 // org.graalvm.compiler.replacements.GraphKit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/replacements/GraphKit;

  public org.graalvm.compiler.core.common.spi.ConstantFieldProvider getConstantFieldProvider();
    descriptor: ()Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.replacements.GraphKit this
         0: .line 124
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.GraphKit.providers:Lorg/graalvm/compiler/phases/util/Providers;
            invokevirtual org.graalvm.compiler.phases.util.Providers.getConstantFieldProvider:()Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;
            areturn
        end local 0 // org.graalvm.compiler.replacements.GraphKit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/replacements/GraphKit;

  public jdk.vm.ci.meta.MetaAccessProvider getMetaAccess();
    descriptor: ()Ljdk/vm/ci/meta/MetaAccessProvider;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.replacements.GraphKit this
         0: .line 129
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.GraphKit.providers:Lorg/graalvm/compiler/phases/util/Providers;
            invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            areturn
        end local 0 // org.graalvm.compiler.replacements.GraphKit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/replacements/GraphKit;

  public org.graalvm.compiler.nodes.spi.StampProvider getStampProvider();
    descriptor: ()Lorg/graalvm/compiler/nodes/spi/StampProvider;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.replacements.GraphKit this
         0: .line 134
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.GraphKit.providers:Lorg/graalvm/compiler/phases/util/Providers;
            invokevirtual org.graalvm.compiler.phases.util.Providers.getStampProvider:()Lorg/graalvm/compiler/nodes/spi/StampProvider;
            areturn
        end local 0 // org.graalvm.compiler.replacements.GraphKit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/replacements/GraphKit;

  public boolean parsingIntrinsic();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.replacements.GraphKit this
         0: .line 139
            iconst_1
            ireturn
        end local 0 // org.graalvm.compiler.replacements.GraphKit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/replacements/GraphKit;

  public <T extends org.graalvm.compiler.nodes.calc.FloatingNode extends org.graalvm.compiler.graph.Node$ValueNumberable> T unique();
    descriptor: (Lorg/graalvm/compiler/nodes/calc/FloatingNode;)Lorg/graalvm/compiler/nodes/calc/FloatingNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.replacements.GraphKit this
        start local 1 // org.graalvm.compiler.nodes.calc.FloatingNode node
         0: .line 148
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.GraphKit.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
            aload 0 /* this */
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.replacements.GraphKit.changeToWord:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            checkcast org.graalvm.compiler.nodes.calc.FloatingNode
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.calc.FloatingNode
            areturn
        end local 1 // org.graalvm.compiler.nodes.calc.FloatingNode node
        end local 0 // org.graalvm.compiler.replacements.GraphKit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/replacements/GraphKit;
            0    1     1  node  TT;
    Signature: <T:Lorg/graalvm/compiler/nodes/calc/FloatingNode;:Lorg/graalvm/compiler/graph/Node$ValueNumberable;>(TT;)TT;
    MethodParameters:
      Name  Flags
      node  

  public <T extends org.graalvm.compiler.nodes.ValueNode> T add();
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.replacements.GraphKit this
        start local 1 // org.graalvm.compiler.nodes.ValueNode node
         0: .line 152
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.GraphKit.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
            aload 0 /* this */
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.replacements.GraphKit.changeToWord:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
            areturn
        end local 1 // org.graalvm.compiler.nodes.ValueNode node
        end local 0 // org.graalvm.compiler.replacements.GraphKit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/replacements/GraphKit;
            0    1     1  node  TT;
    Signature: <T:Lorg/graalvm/compiler/nodes/ValueNode;>(TT;)TT;
    MethodParameters:
      Name  Flags
      node  

  public <T extends org.graalvm.compiler.nodes.ValueNode> T changeToWord();
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.replacements.GraphKit this
        start local 1 // org.graalvm.compiler.nodes.ValueNode node
         0: .line 156
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.GraphKit.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
            ifnull 2
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.GraphKit.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.word.WordTypes.isWord:(Lorg/graalvm/compiler/nodes/ValueNode;)Z
            ifeq 2
         1: .line 157
            aload 1 /* node */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.GraphKit.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
            aload 1 /* node */
            invokestatic org.graalvm.compiler.nodes.type.StampTool.typeOrNull:(Lorg/graalvm/compiler/nodes/ValueNode;)Ljdk/vm/ci/meta/ResolvedJavaType;
            invokevirtual org.graalvm.compiler.word.WordTypes.getWordStamp:(Ljdk/vm/ci/meta/ResolvedJavaType;)Lorg/graalvm/compiler/core/common/type/Stamp;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.setStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;)V
         2: .line 159
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            areturn
        end local 1 // org.graalvm.compiler.nodes.ValueNode node
        end local 0 // org.graalvm.compiler.replacements.GraphKit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/replacements/GraphKit;
            0    3     1  node  TT;
    Signature: <T:Lorg/graalvm/compiler/nodes/ValueNode;>(TT;)TT;
    MethodParameters:
      Name  Flags
      node  

  public <T extends org.graalvm.compiler.nodes.ValueNode> T append();
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.replacements.GraphKit this
        start local 1 // org.graalvm.compiler.nodes.ValueNode node
         0: .line 164
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.GraphKit.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
            aload 0 /* this */
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.replacements.GraphKit.changeToWord:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUnique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
            astore 2 /* result */
        start local 2 // org.graalvm.compiler.nodes.ValueNode result
         1: .line 165
            aload 2 /* result */
            instanceof org.graalvm.compiler.nodes.FixedNode
            ifeq 3
         2: .line 166
            aload 0 /* this */
            aload 2 /* result */
            checkcast org.graalvm.compiler.nodes.FixedNode
            invokevirtual org.graalvm.compiler.replacements.GraphKit.updateLastFixed:(Lorg/graalvm/compiler/nodes/FixedNode;)V
         3: .line 168
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 2 // org.graalvm.compiler.nodes.ValueNode result
        end local 1 // org.graalvm.compiler.nodes.ValueNode node
        end local 0 // org.graalvm.compiler.replacements.GraphKit this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/graalvm/compiler/replacements/GraphKit;
            0    4     1    node  TT;
            1    4     2  result  TT;
    Signature: <T:Lorg/graalvm/compiler/nodes/ValueNode;>(TT;)TT;
    MethodParameters:
      Name  Flags
      node  

  public <T extends org.graalvm.compiler.nodes.ValueNode> T recursiveAppend();
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.replacements.GraphKit this
        start local 1 // org.graalvm.compiler.nodes.ValueNode node
         0: .line 173
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.GraphKit.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUniqueWithInputs:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
            astore 2 /* result */
        start local 2 // org.graalvm.compiler.nodes.ValueNode result
         1: .line 174
            aload 2 /* result */
            instanceof org.graalvm.compiler.nodes.FixedNode
            ifeq 3
         2: .line 175
            aload 0 /* this */
            aload 2 /* result */
            checkcast org.graalvm.compiler.nodes.FixedNode
            invokevirtual org.graalvm.compiler.replacements.GraphKit.updateLastFixed:(Lorg/graalvm/compiler/nodes/FixedNode;)V
         3: .line 177
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 2 // org.graalvm.compiler.nodes.ValueNode result
        end local 1 // org.graalvm.compiler.nodes.ValueNode node
        end local 0 // org.graalvm.compiler.replacements.GraphKit this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/graalvm/compiler/replacements/GraphKit;
            0    4     1    node  TT;
            1    4     2  result  TT;
    Signature: <T:Lorg/graalvm/compiler/nodes/ValueNode;>(TT;)TT;
    MethodParameters:
      Name  Flags
      node  

  private void updateLastFixed(org.graalvm.compiler.nodes.FixedNode);
    descriptor: (Lorg/graalvm/compiler/nodes/FixedNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.replacements.GraphKit this
        start local 1 // org.graalvm.compiler.nodes.FixedNode result
         0: .line 181
            getstatic org.graalvm.compiler.replacements.GraphKit.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.GraphKit.lastFixedNode:Lorg/graalvm/compiler/nodes/FixedWithNextNode;
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 182
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.replacements.GraphKit.$assertionsDisabled:Z
            ifne 2
            aload 1 /* result */
            invokevirtual org.graalvm.compiler.nodes.FixedNode.predecessor:()Lorg/graalvm/compiler/graph/Node;
            ifnull 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 183
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.GraphKit.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.GraphKit.lastFixedNode:Lorg/graalvm/compiler/nodes/FixedWithNextNode;
            aload 1 /* result */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addAfterFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
         3: .line 184
            aload 1 /* result */
            instanceof org.graalvm.compiler.nodes.FixedWithNextNode
            ifeq 6
         4: .line 185
            aload 0 /* this */
            aload 1 /* result */
            checkcast org.graalvm.compiler.nodes.FixedWithNextNode
            putfield org.graalvm.compiler.replacements.GraphKit.lastFixedNode:Lorg/graalvm/compiler/nodes/FixedWithNextNode;
         5: .line 186
            goto 7
         6: .line 187
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.graalvm.compiler.replacements.GraphKit.lastFixedNode:Lorg/graalvm/compiler/nodes/FixedWithNextNode;
         7: .line 189
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.compiler.nodes.FixedNode result
        end local 0 // org.graalvm.compiler.replacements.GraphKit this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lorg/graalvm/compiler/replacements/GraphKit;
            0    8     1  result  Lorg/graalvm/compiler/nodes/FixedNode;
    MethodParameters:
        Name  Flags
      result  

  public org.graalvm.compiler.nodes.InvokeNode createInvoke(java.lang.Class<?>, java.lang.String, org.graalvm.compiler.nodes.ValueNode[]);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;[Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/InvokeNode;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.replacements.GraphKit this
        start local 1 // java.lang.Class declaringClass
        start local 2 // java.lang.String name
        start local 3 // org.graalvm.compiler.nodes.ValueNode[] args
         0: .line 192
            aload 0 /* this */
            aload 1 /* declaringClass */
            aload 2 /* name */
            getstatic org.graalvm.compiler.nodes.CallTargetNode$InvokeKind.Static:Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
            aconst_null
            bipush -5
            aload 3 /* args */
            invokevirtual org.graalvm.compiler.replacements.GraphKit.createInvoke:(Ljava/lang/Class;Ljava/lang/String;Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;Lorg/graalvm/compiler/java/FrameStateBuilder;I[Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/InvokeNode;
            areturn
        end local 3 // org.graalvm.compiler.nodes.ValueNode[] args
        end local 2 // java.lang.String name
        end local 1 // java.lang.Class declaringClass
        end local 0 // org.graalvm.compiler.replacements.GraphKit this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lorg/graalvm/compiler/replacements/GraphKit;
            0    1     1  declaringClass  Ljava/lang/Class<*>;
            0    1     2            name  Ljava/lang/String;
            0    1     3            args  [Lorg/graalvm/compiler/nodes/ValueNode;
    Signature: (Ljava/lang/Class<*>;Ljava/lang/String;[Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/InvokeNode;
    MethodParameters:
                Name  Flags
      declaringClass  
      name            
      args            

  public org.graalvm.compiler.nodes.InvokeNode createInvoke(java.lang.Class<?>, java.lang.String, org.graalvm.compiler.nodes.CallTargetNode$InvokeKind, org.graalvm.compiler.java.FrameStateBuilder, int, org.graalvm.compiler.nodes.ValueNode[]);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;Lorg/graalvm/compiler/java/FrameStateBuilder;I[Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/InvokeNode;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=6, locals=9, args_size=7
        start local 0 // org.graalvm.compiler.replacements.GraphKit this
        start local 1 // java.lang.Class declaringClass
        start local 2 // java.lang.String name
        start local 3 // org.graalvm.compiler.nodes.CallTargetNode$InvokeKind invokeKind
        start local 4 // org.graalvm.compiler.java.FrameStateBuilder frameStateBuilder
        start local 5 // int bci
        start local 6 // org.graalvm.compiler.nodes.ValueNode[] args
         0: .line 204
            aload 3 /* invokeKind */
            getstatic org.graalvm.compiler.nodes.CallTargetNode$InvokeKind.Static:Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
            if_acmpne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 7 /* isStatic */
        start local 7 // boolean isStatic
         3: .line 205
            aload 0 /* this */
            aload 1 /* declaringClass */
            aload 2 /* name */
            iload 7 /* isStatic */
            invokevirtual org.graalvm.compiler.replacements.GraphKit.findMethod:(Ljava/lang/Class;Ljava/lang/String;Z)Ljdk/vm/ci/meta/ResolvedJavaMethod;
            astore 8 /* method */
        start local 8 // jdk.vm.ci.meta.ResolvedJavaMethod method
         4: .line 206
            aload 0 /* this */
            aload 8 /* method */
            aload 3 /* invokeKind */
            aload 4 /* frameStateBuilder */
            iload 5 /* bci */
            aload 6 /* args */
            invokevirtual org.graalvm.compiler.replacements.GraphKit.createInvoke:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;Lorg/graalvm/compiler/java/FrameStateBuilder;I[Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/InvokeNode;
            areturn
        end local 8 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 7 // boolean isStatic
        end local 6 // org.graalvm.compiler.nodes.ValueNode[] args
        end local 5 // int bci
        end local 4 // org.graalvm.compiler.java.FrameStateBuilder frameStateBuilder
        end local 3 // org.graalvm.compiler.nodes.CallTargetNode$InvokeKind invokeKind
        end local 2 // java.lang.String name
        end local 1 // java.lang.Class declaringClass
        end local 0 // org.graalvm.compiler.replacements.GraphKit this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    5     0               this  Lorg/graalvm/compiler/replacements/GraphKit;
            0    5     1     declaringClass  Ljava/lang/Class<*>;
            0    5     2               name  Ljava/lang/String;
            0    5     3         invokeKind  Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
            0    5     4  frameStateBuilder  Lorg/graalvm/compiler/java/FrameStateBuilder;
            0    5     5                bci  I
            0    5     6               args  [Lorg/graalvm/compiler/nodes/ValueNode;
            3    5     7           isStatic  Z
            4    5     8             method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
    Signature: (Ljava/lang/Class<*>;Ljava/lang/String;Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;Lorg/graalvm/compiler/java/FrameStateBuilder;I[Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/InvokeNode;
    MethodParameters:
                   Name  Flags
      declaringClass     
      name               
      invokeKind         
      frameStateBuilder  
      bci                
      args               

  public jdk.vm.ci.meta.ResolvedJavaMethod findMethod(java.lang.Class<?>, java.lang.String, boolean);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;Z)Ljdk/vm/ci/meta/ResolvedJavaMethod;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=4
        start local 0 // org.graalvm.compiler.replacements.GraphKit this
        start local 1 // java.lang.Class declaringClass
        start local 2 // java.lang.String name
        start local 3 // boolean isStatic
         0: .line 210
            aconst_null
            astore 4 /* method */
        start local 4 // jdk.vm.ci.meta.ResolvedJavaMethod method
         1: .line 211
            aload 1 /* declaringClass */
            invokevirtual java.lang.Class.getDeclaredMethods:()[Ljava/lang/reflect/Method;
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 7
      StackMap locals: org.graalvm.compiler.replacements.GraphKit java.lang.Class java.lang.String int jdk.vm.ci.meta.ResolvedJavaMethod top int int java.lang.reflect.Method[]
      StackMap stack:
         2: aload 8
            iload 6
            aaload
            astore 5 /* m */
        start local 5 // java.lang.reflect.Method m
         3: .line 212
            aload 5 /* m */
            invokevirtual java.lang.reflect.Method.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
            iload 3 /* isStatic */
            if_icmpne 6
            aload 5 /* m */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            aload 2 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         4: .line 213
            getstatic org.graalvm.compiler.replacements.GraphKit.$assertionsDisabled:Z
            ifne 5
            aload 4 /* method */
            ifnull 5
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "found more than one method in "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* declaringClass */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " named "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* name */
            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
         5: .line 214
      StackMap locals: org.graalvm.compiler.replacements.GraphKit java.lang.Class java.lang.String int jdk.vm.ci.meta.ResolvedJavaMethod java.lang.reflect.Method int int java.lang.reflect.Method[]
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.GraphKit.providers:Lorg/graalvm/compiler/phases/util/Providers;
            invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            aload 5 /* m */
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaMethod:(Ljava/lang/reflect/Executable;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
            astore 4 /* method */
        end local 5 // java.lang.reflect.Method m
         6: .line 211
      StackMap locals: org.graalvm.compiler.replacements.GraphKit java.lang.Class java.lang.String int jdk.vm.ci.meta.ResolvedJavaMethod top int int java.lang.reflect.Method[]
      StackMap stack:
            iinc 6 1
      StackMap locals:
      StackMap stack:
         7: iload 6
            iload 7
            if_icmplt 2
         8: .line 217
            getstatic org.graalvm.compiler.replacements.GraphKit.$assertionsDisabled:Z
            ifne 9
            aload 4 /* method */
            ifnonnull 9
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "did not find method in "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* declaringClass */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " named "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* name */
            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
         9: .line 218
      StackMap locals: org.graalvm.compiler.replacements.GraphKit java.lang.Class java.lang.String int jdk.vm.ci.meta.ResolvedJavaMethod
      StackMap stack:
            aload 4 /* method */
            areturn
        end local 4 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 3 // boolean isStatic
        end local 2 // java.lang.String name
        end local 1 // java.lang.Class declaringClass
        end local 0 // org.graalvm.compiler.replacements.GraphKit this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   10     0            this  Lorg/graalvm/compiler/replacements/GraphKit;
            0   10     1  declaringClass  Ljava/lang/Class<*>;
            0   10     2            name  Ljava/lang/String;
            0   10     3        isStatic  Z
            1   10     4          method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            3    6     5               m  Ljava/lang/reflect/Method;
    Signature: (Ljava/lang/Class<*>;Ljava/lang/String;Z)Ljdk/vm/ci/meta/ResolvedJavaMethod;
    MethodParameters:
                Name  Flags
      declaringClass  
      name            
      isStatic        

  public jdk.vm.ci.meta.ResolvedJavaMethod findMethod(java.lang.Class<?>, java.lang.String, java.lang.Class<?>[]);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // org.graalvm.compiler.replacements.GraphKit this
        start local 1 // java.lang.Class declaringClass
        start local 2 // java.lang.String name
        start local 3 // java.lang.Class[] parameterTypes
         0: .line 223
            aload 1 /* declaringClass */
            aload 2 /* name */
            aload 3 /* parameterTypes */
            invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 4 /* m */
        start local 4 // java.lang.reflect.Method m
         1: .line 224
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.GraphKit.providers:Lorg/graalvm/compiler/phases/util/Providers;
            invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            aload 4 /* m */
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaMethod:(Ljava/lang/reflect/Executable;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
         2: areturn
        end local 4 // java.lang.reflect.Method m
         3: .line 225
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 4 /* e */
        start local 4 // java.lang.Exception e
         4: .line 226
            new java.lang.AssertionError
            dup
            aload 4 /* e */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 4 // java.lang.Exception e
        end local 3 // java.lang.Class[] parameterTypes
        end local 2 // java.lang.String name
        end local 1 // java.lang.Class declaringClass
        end local 0 // org.graalvm.compiler.replacements.GraphKit this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Lorg/graalvm/compiler/replacements/GraphKit;
            0    5     1  declaringClass  Ljava/lang/Class<*>;
            0    5     2            name  Ljava/lang/String;
            0    5     3  parameterTypes  [Ljava/lang/Class;
            1    3     4               m  Ljava/lang/reflect/Method;
            4    5     4               e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.NoSuchMethodException
           0     2       3  Class java.lang.SecurityException
    Signature: (Ljava/lang/Class<*>;Ljava/lang/String;[Ljava/lang/Class<*>;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
    MethodParameters:
                Name  Flags
      declaringClass  
      name            
      parameterTypes  

  public org.graalvm.compiler.nodes.InvokeNode createInvoke(jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.CallTargetNode$InvokeKind, org.graalvm.compiler.java.FrameStateBuilder, int, org.graalvm.compiler.nodes.ValueNode[]);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;Lorg/graalvm/compiler/java/FrameStateBuilder;I[Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/InvokeNode;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=7, locals=11, args_size=6
        start local 0 // org.graalvm.compiler.replacements.GraphKit this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaMethod method
        start local 2 // org.graalvm.compiler.nodes.CallTargetNode$InvokeKind invokeKind
        start local 3 // org.graalvm.compiler.java.FrameStateBuilder frameStateBuilder
        start local 4 // int bci
        start local 5 // org.graalvm.compiler.nodes.ValueNode[] args
         0: .line 235
            getstatic org.graalvm.compiler.replacements.GraphKit.$assertionsDisabled:Z
            ifne 3
            aload 1 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.isStatic:()Z
            aload 2 /* invokeKind */
            getstatic org.graalvm.compiler.nodes.CallTargetNode$InvokeKind.Static:Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
            if_acmpne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack: int
         1: iconst_0
      StackMap locals: org.graalvm.compiler.replacements.GraphKit jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.CallTargetNode$InvokeKind org.graalvm.compiler.java.FrameStateBuilder int org.graalvm.compiler.nodes.ValueNode[]
      StackMap stack: int int
         2: if_icmpeq 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 236
      StackMap locals:
      StackMap stack:
            aload 1 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
            astore 6 /* signature */
        start local 6 // jdk.vm.ci.meta.Signature signature
         4: .line 237
            aload 6 /* signature */
            aconst_null
            invokeinterface jdk.vm.ci.meta.Signature.getReturnType:(Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/JavaType;
            astore 7 /* returnType */
        start local 7 // jdk.vm.ci.meta.JavaType returnType
         5: .line 238
            getstatic org.graalvm.compiler.replacements.GraphKit.$assertionsDisabled:Z
            ifne 6
            aload 0 /* this */
            aload 1 /* method */
            aload 5 /* args */
            invokevirtual org.graalvm.compiler.replacements.GraphKit.checkArgs:(Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;)Z
            ifne 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 239
      StackMap locals: jdk.vm.ci.meta.Signature jdk.vm.ci.meta.JavaType
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.GraphKit.graphBuilderPlugins:Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;
            aload 0 /* this */
            aload 7 /* returnType */
            iconst_0
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins.getOverridingStamp:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderTool;Ljdk/vm/ci/meta/JavaType;Z)Lorg/graalvm/compiler/core/common/type/StampPair;
            astore 8 /* returnStamp */
        start local 8 // org.graalvm.compiler.core.common.type.StampPair returnStamp
         7: .line 240
            aload 8 /* returnStamp */
            ifnonnull 9
         8: .line 241
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.GraphKit.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getAssumptions:()Ljdk/vm/ci/meta/Assumptions;
            aload 7 /* returnType */
            iconst_0
            invokestatic org.graalvm.compiler.core.common.type.StampFactory.forDeclaredType:(Ljdk/vm/ci/meta/Assumptions;Ljdk/vm/ci/meta/JavaType;Z)Lorg/graalvm/compiler/core/common/type/StampPair;
            astore 8 /* returnStamp */
         9: .line 243
      StackMap locals: org.graalvm.compiler.core.common.type.StampPair
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.GraphKit.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
            aload 0 /* this */
            aload 2 /* invokeKind */
            aload 1 /* method */
            aload 5 /* args */
            aload 8 /* returnStamp */
            iload 4 /* bci */
            invokevirtual org.graalvm.compiler.replacements.GraphKit.createMethodCallTarget:(Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/StampPair;I)Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.java.MethodCallTargetNode
            astore 9 /* callTarget */
        start local 9 // org.graalvm.compiler.nodes.java.MethodCallTargetNode callTarget
        10: .line 244
            aload 0 /* this */
            new org.graalvm.compiler.nodes.InvokeNode
            dup
            aload 9 /* callTarget */
            iload 4 /* bci */
            invokespecial org.graalvm.compiler.nodes.InvokeNode.<init>:(Lorg/graalvm/compiler/nodes/CallTargetNode;I)V
            invokevirtual org.graalvm.compiler.replacements.GraphKit.append:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            checkcast org.graalvm.compiler.nodes.InvokeNode
            astore 10 /* invoke */
        start local 10 // org.graalvm.compiler.nodes.InvokeNode invoke
        11: .line 246
            aload 3 /* frameStateBuilder */
            ifnull 17
        12: .line 247
            aload 10 /* invoke */
            invokevirtual org.graalvm.compiler.nodes.InvokeNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
            if_acmpeq 14
        13: .line 248
            aload 3 /* frameStateBuilder */
            aload 7 /* returnType */
            invokeinterface jdk.vm.ci.meta.JavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            aload 10 /* invoke */
            invokevirtual org.graalvm.compiler.java.FrameStateBuilder.push:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)V
        14: .line 250
      StackMap locals: org.graalvm.compiler.nodes.java.MethodCallTargetNode org.graalvm.compiler.nodes.InvokeNode
      StackMap stack:
            aload 10 /* invoke */
            aload 3 /* frameStateBuilder */
            iload 4 /* bci */
            aload 10 /* invoke */
            invokevirtual org.graalvm.compiler.java.FrameStateBuilder.create:(ILorg/graalvm/compiler/nodes/StateSplit;)Lorg/graalvm/compiler/nodes/FrameState;
            invokevirtual org.graalvm.compiler.nodes.InvokeNode.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
        15: .line 251
            aload 10 /* invoke */
            invokevirtual org.graalvm.compiler.nodes.InvokeNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
            if_acmpeq 17
        16: .line 252
            aload 3 /* frameStateBuilder */
            aload 7 /* returnType */
            invokeinterface jdk.vm.ci.meta.JavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            invokevirtual org.graalvm.compiler.java.FrameStateBuilder.pop:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/ValueNode;
            pop
        17: .line 255
      StackMap locals:
      StackMap stack:
            aload 10 /* invoke */
            areturn
        end local 10 // org.graalvm.compiler.nodes.InvokeNode invoke
        end local 9 // org.graalvm.compiler.nodes.java.MethodCallTargetNode callTarget
        end local 8 // org.graalvm.compiler.core.common.type.StampPair returnStamp
        end local 7 // jdk.vm.ci.meta.JavaType returnType
        end local 6 // jdk.vm.ci.meta.Signature signature
        end local 5 // org.graalvm.compiler.nodes.ValueNode[] args
        end local 4 // int bci
        end local 3 // org.graalvm.compiler.java.FrameStateBuilder frameStateBuilder
        end local 2 // org.graalvm.compiler.nodes.CallTargetNode$InvokeKind invokeKind
        end local 1 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 0 // org.graalvm.compiler.replacements.GraphKit this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   18     0               this  Lorg/graalvm/compiler/replacements/GraphKit;
            0   18     1             method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0   18     2         invokeKind  Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
            0   18     3  frameStateBuilder  Lorg/graalvm/compiler/java/FrameStateBuilder;
            0   18     4                bci  I
            0   18     5               args  [Lorg/graalvm/compiler/nodes/ValueNode;
            4   18     6          signature  Ljdk/vm/ci/meta/Signature;
            5   18     7         returnType  Ljdk/vm/ci/meta/JavaType;
            7   18     8        returnStamp  Lorg/graalvm/compiler/core/common/type/StampPair;
           10   18     9         callTarget  Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;
           11   18    10             invoke  Lorg/graalvm/compiler/nodes/InvokeNode;
    MethodParameters:
                   Name  Flags
      method             
      invokeKind         
      frameStateBuilder  
      bci                
      args               

  protected org.graalvm.compiler.nodes.java.MethodCallTargetNode createMethodCallTarget(org.graalvm.compiler.nodes.CallTargetNode$InvokeKind, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.ValueNode[], org.graalvm.compiler.core.common.type.StampPair, int);
    descriptor: (Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/StampPair;I)Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=6, args_size=6
        start local 0 // org.graalvm.compiler.replacements.GraphKit this
        start local 1 // org.graalvm.compiler.nodes.CallTargetNode$InvokeKind invokeKind
        start local 2 // jdk.vm.ci.meta.ResolvedJavaMethod targetMethod
        start local 3 // org.graalvm.compiler.nodes.ValueNode[] args
        start local 4 // org.graalvm.compiler.core.common.type.StampPair returnStamp
        start local 5 // int bci
         0: .line 259
            new org.graalvm.compiler.nodes.java.MethodCallTargetNode
            dup
            aload 1 /* invokeKind */
            aload 2 /* targetMethod */
            aload 3 /* args */
            aload 4 /* returnStamp */
            aconst_null
            invokespecial org.graalvm.compiler.nodes.java.MethodCallTargetNode.<init>:(Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/StampPair;Ljdk/vm/ci/meta/JavaTypeProfile;)V
            areturn
        end local 5 // int bci
        end local 4 // org.graalvm.compiler.core.common.type.StampPair returnStamp
        end local 3 // org.graalvm.compiler.nodes.ValueNode[] args
        end local 2 // jdk.vm.ci.meta.ResolvedJavaMethod targetMethod
        end local 1 // org.graalvm.compiler.nodes.CallTargetNode$InvokeKind invokeKind
        end local 0 // org.graalvm.compiler.replacements.GraphKit this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/graalvm/compiler/replacements/GraphKit;
            0    1     1    invokeKind  Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
            0    1     2  targetMethod  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0    1     3          args  [Lorg/graalvm/compiler/nodes/ValueNode;
            0    1     4   returnStamp  Lorg/graalvm/compiler/core/common/type/StampPair;
            0    1     5           bci  I
    MethodParameters:
              Name  Flags
      invokeKind    
      targetMethod  
      args          
      returnStamp   
      bci           

  public boolean checkArgs(jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.ValueNode[]);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;)Z
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=4, locals=10, args_size=3
        start local 0 // org.graalvm.compiler.replacements.GraphKit this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaMethod method
        start local 2 // org.graalvm.compiler.nodes.ValueNode[] args
         0: .line 270
            aload 1 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
            astore 3 /* signature */
        start local 3 // jdk.vm.ci.meta.Signature signature
         1: .line 271
            aload 1 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.isStatic:()Z
            istore 4 /* isStatic */
        start local 4 // boolean isStatic
         2: .line 272
            aload 3 /* signature */
            iload 4 /* isStatic */
            ifeq 3
            iconst_0
            goto 4
      StackMap locals: org.graalvm.compiler.replacements.GraphKit jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.ValueNode[] jdk.vm.ci.meta.Signature int
      StackMap stack: jdk.vm.ci.meta.Signature
         3: iconst_1
      StackMap locals: org.graalvm.compiler.replacements.GraphKit jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.ValueNode[] jdk.vm.ci.meta.Signature int
      StackMap stack: jdk.vm.ci.meta.Signature int
         4: invokeinterface jdk.vm.ci.meta.Signature.getParameterCount:(Z)I
            aload 2 /* args */
            arraylength
            if_icmpeq 6
         5: .line 273
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.GraphKit.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ": wrong number of arguments to "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* method */
            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
         6: .line 275
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* argIndex */
        start local 5 // int argIndex
         7: .line 276
            iload 4 /* isStatic */
            ifne 14
         8: .line 277
            aload 1 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
            astore 6 /* expectedType */
        start local 6 // jdk.vm.ci.meta.ResolvedJavaType expectedType
         9: .line 278
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.GraphKit.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
            ifnonnull 10
            aload 6 /* expectedType */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            goto 11
      StackMap locals: int jdk.vm.ci.meta.ResolvedJavaType
      StackMap stack:
        10: aload 0 /* this */
            getfield org.graalvm.compiler.replacements.GraphKit.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
            aload 6 /* expectedType */
            invokevirtual org.graalvm.compiler.word.WordTypes.asKind:(Ljdk/vm/ci/meta/JavaType;)Ljdk/vm/ci/meta/JavaKind;
      StackMap locals:
      StackMap stack: jdk.vm.ci.meta.JavaKind
        11: astore 7 /* expected */
        start local 7 // jdk.vm.ci.meta.JavaKind expected
        12: .line 279
            aload 2 /* args */
            iload 5 /* argIndex */
            iinc 5 /* argIndex */ 1
            aaload
            invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
            invokevirtual org.graalvm.compiler.core.common.type.Stamp.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            astore 8 /* actual */
        start local 8 // jdk.vm.ci.meta.JavaKind actual
        13: .line 280
            getstatic org.graalvm.compiler.replacements.GraphKit.$assertionsDisabled:Z
            ifne 14
            aload 7 /* expected */
            aload 8 /* actual */
            if_acmpeq 14
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.GraphKit.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ": wrong kind of value for receiver argument of call to "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* method */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 8 /* actual */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " != "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* expected */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "]"
            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
        end local 8 // jdk.vm.ci.meta.JavaKind actual
        end local 7 // jdk.vm.ci.meta.JavaKind expected
        end local 6 // jdk.vm.ci.meta.ResolvedJavaType expectedType
        14: .line 282
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        15: goto 24
        16: .line 283
      StackMap locals: int
      StackMap stack:
            aload 3 /* signature */
            iload 6 /* i */
            aload 1 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
            invokeinterface jdk.vm.ci.meta.Signature.getParameterType:(ILjdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/JavaType;
            astore 7 /* expectedType */
        start local 7 // jdk.vm.ci.meta.JavaType expectedType
        17: .line 284
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.GraphKit.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
            ifnonnull 18
            aload 7 /* expectedType */
            invokeinterface jdk.vm.ci.meta.JavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            goto 19
      StackMap locals: jdk.vm.ci.meta.JavaType
      StackMap stack:
        18: aload 0 /* this */
            getfield org.graalvm.compiler.replacements.GraphKit.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
            aload 7 /* expectedType */
            invokevirtual org.graalvm.compiler.word.WordTypes.asKind:(Ljdk/vm/ci/meta/JavaType;)Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
      StackMap locals:
      StackMap stack: jdk.vm.ci.meta.JavaKind
        19: astore 8 /* expected */
        start local 8 // jdk.vm.ci.meta.JavaKind expected
        20: .line 285
            aload 2 /* args */
            iload 5 /* argIndex */
            iinc 5 /* argIndex */ 1
            aaload
            invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
            invokevirtual org.graalvm.compiler.core.common.type.Stamp.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            astore 9 /* actual */
        start local 9 // jdk.vm.ci.meta.JavaKind actual
        21: .line 286
            aload 8 /* expected */
            aload 9 /* actual */
            if_acmpeq 23
        22: .line 287
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.GraphKit.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ": wrong kind of value for argument "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 6 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " of call to "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* method */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 9 /* actual */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " != "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 8 /* expected */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "]"
            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
        end local 9 // jdk.vm.ci.meta.JavaKind actual
        end local 8 // jdk.vm.ci.meta.JavaKind expected
        end local 7 // jdk.vm.ci.meta.JavaType expectedType
        23: .line 282
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        24: iload 6 /* i */
            aload 3 /* signature */
            iconst_0
            invokeinterface jdk.vm.ci.meta.Signature.getParameterCount:(Z)I
            if_icmpne 16
        end local 6 // int i
        25: .line 290
            iconst_1
            ireturn
        end local 5 // int argIndex
        end local 4 // boolean isStatic
        end local 3 // jdk.vm.ci.meta.Signature signature
        end local 2 // org.graalvm.compiler.nodes.ValueNode[] args
        end local 1 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 0 // org.graalvm.compiler.replacements.GraphKit this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   26     0          this  Lorg/graalvm/compiler/replacements/GraphKit;
            0   26     1        method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0   26     2          args  [Lorg/graalvm/compiler/nodes/ValueNode;
            1   26     3     signature  Ljdk/vm/ci/meta/Signature;
            2   26     4      isStatic  Z
            7   26     5      argIndex  I
            9   14     6  expectedType  Ljdk/vm/ci/meta/ResolvedJavaType;
           12   14     7      expected  Ljdk/vm/ci/meta/JavaKind;
           13   14     8        actual  Ljdk/vm/ci/meta/JavaKind;
           15   25     6             i  I
           17   23     7  expectedType  Ljdk/vm/ci/meta/JavaType;
           20   23     8      expected  Ljdk/vm/ci/meta/JavaKind;
           21   23     9        actual  Ljdk/vm/ci/meta/JavaKind;
    MethodParameters:
        Name  Flags
      method  
      args    

  public void inlineInvokes();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.graalvm.compiler.replacements.GraphKit this
         0: .line 297
            goto 5
         1: .line 298
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.GraphKit.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            ldc Lorg/graalvm/compiler/nodes/InvokeNode;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.snapshot:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 2
            goto 4
      StackMap locals: org.graalvm.compiler.replacements.GraphKit top java.util.Iterator
      StackMap stack:
         2: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.InvokeNode
            astore 1 /* invoke */
        start local 1 // org.graalvm.compiler.nodes.InvokeNode invoke
         3: .line 299
            aload 0 /* this */
            aload 1 /* invoke */
            invokevirtual org.graalvm.compiler.replacements.GraphKit.inline:(Lorg/graalvm/compiler/nodes/InvokeNode;)V
        end local 1 // org.graalvm.compiler.nodes.InvokeNode invoke
         4: .line 298
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 297
      StackMap locals: org.graalvm.compiler.replacements.GraphKit
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.GraphKit.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            ldc Lorg/graalvm/compiler/nodes/InvokeNode;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.isEmpty:()Z
            ifeq 1
         6: .line 304
            new org.graalvm.compiler.phases.common.DeadCodeEliminationPhase
            dup
            invokespecial org.graalvm.compiler.phases.common.DeadCodeEliminationPhase.<init>:()V
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.GraphKit.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokevirtual org.graalvm.compiler.phases.common.DeadCodeEliminationPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
         7: .line 305
            return
        end local 0 // org.graalvm.compiler.replacements.GraphKit this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lorg/graalvm/compiler/replacements/GraphKit;
            3    4     1  invoke  Lorg/graalvm/compiler/nodes/InvokeNode;

  public void inline(org.graalvm.compiler.nodes.InvokeNode);
    descriptor: (Lorg/graalvm/compiler/nodes/InvokeNode;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=9, args_size=2
        start local 0 // org.graalvm.compiler.replacements.GraphKit this
        start local 1 // org.graalvm.compiler.nodes.InvokeNode invoke
         0: .line 312
            aload 1 /* invoke */
            invokevirtual org.graalvm.compiler.nodes.InvokeNode.callTarget:()Lorg/graalvm/compiler/nodes/CallTargetNode;
            checkcast org.graalvm.compiler.nodes.java.MethodCallTargetNode
            invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.targetMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            astore 2 /* method */
        start local 2 // jdk.vm.ci.meta.ResolvedJavaMethod method
         1: .line 314
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.GraphKit.providers:Lorg/graalvm/compiler/phases/util/Providers;
            invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            astore 3 /* metaAccess */
        start local 3 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
         2: .line 315
            new org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins
            dup
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.GraphKit.graphBuilderPlugins:Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;
            invokespecial org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins.<init>:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;)V
            astore 4 /* plugins */
        start local 4 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins plugins
         3: .line 316
            aload 4 /* plugins */
            invokestatic org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration.getSnippetDefault:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;)Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;
            astore 5 /* config */
        start local 5 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration config
         4: .line 318
            new org.graalvm.compiler.nodes.StructuredGraph
            dup
            aload 2 /* method */
            getstatic org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions.NO:Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;
            iconst_0
            getstatic org.graalvm.compiler.core.common.CompilationIdentifier.INVALID_COMPILATION_ID:Lorg/graalvm/compiler/core/common/CompilationRequestIdentifier;
            invokespecial org.graalvm.compiler.nodes.StructuredGraph.<init>:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;ZLorg/graalvm/compiler/core/common/CompilationIdentifier;)V
            astore 6 /* calleeGraph */
        start local 6 // org.graalvm.compiler.nodes.StructuredGraph calleeGraph
         5: .line 319
            new org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext
            dup
            aload 2 /* method */
            aload 2 /* method */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.GraphKit.providers:Lorg/graalvm/compiler/phases/util/Providers;
            invokevirtual org.graalvm.compiler.phases.util.Providers.getReplacements:()Lorg/graalvm/compiler/nodes/spi/Replacements;
            invokeinterface org.graalvm.compiler.nodes.spi.Replacements.getReplacementBytecodeProvider:()Lorg/graalvm/compiler/bytecode/BytecodeProvider;
            getstatic org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext$CompilationContext.INLINE_AFTER_PARSING:Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext$CompilationContext;
            invokespecial org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext.<init>:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/bytecode/BytecodeProvider;Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext$CompilationContext;)V
            astore 7 /* initialReplacementContext */
        start local 7 // org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext initialReplacementContext
         6: .line 320
            new org.graalvm.compiler.java.GraphBuilderPhase$Instance
            dup
            aload 3 /* metaAccess */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.GraphKit.providers:Lorg/graalvm/compiler/phases/util/Providers;
            invokevirtual org.graalvm.compiler.phases.util.Providers.getStampProvider:()Lorg/graalvm/compiler/nodes/spi/StampProvider;
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.GraphKit.providers:Lorg/graalvm/compiler/phases/util/Providers;
            invokevirtual org.graalvm.compiler.phases.util.Providers.getConstantReflection:()Ljdk/vm/ci/meta/ConstantReflectionProvider;
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.GraphKit.providers:Lorg/graalvm/compiler/phases/util/Providers;
            invokevirtual org.graalvm.compiler.phases.util.Providers.getConstantFieldProvider:()Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;
            aload 5 /* config */
         7: .line 321
            getstatic org.graalvm.compiler.phases.OptimisticOptimizations.NONE:Lorg/graalvm/compiler/phases/OptimisticOptimizations;
         8: .line 322
            aload 7 /* initialReplacementContext */
         9: .line 320
            invokespecial org.graalvm.compiler.java.GraphBuilderPhase$Instance.<init>:(Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/spi/StampProvider;Ljdk/vm/ci/meta/ConstantReflectionProvider;Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;Lorg/graalvm/compiler/phases/OptimisticOptimizations;Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext;)V
            astore 8 /* instance */
        start local 8 // org.graalvm.compiler.java.GraphBuilderPhase$Instance instance
        10: .line 323
            aload 8 /* instance */
            aload 6 /* calleeGraph */
            invokevirtual org.graalvm.compiler.java.GraphBuilderPhase$Instance.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
        11: .line 326
            aload 6 /* calleeGraph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.clearAllStateAfter:()V
        12: .line 327
            new org.graalvm.compiler.phases.common.DeadCodeEliminationPhase
            dup
            getstatic org.graalvm.compiler.phases.common.DeadCodeEliminationPhase$Optionality.Required:Lorg/graalvm/compiler/phases/common/DeadCodeEliminationPhase$Optionality;
            invokespecial org.graalvm.compiler.phases.common.DeadCodeEliminationPhase.<init>:(Lorg/graalvm/compiler/phases/common/DeadCodeEliminationPhase$Optionality;)V
            aload 6 /* calleeGraph */
            invokevirtual org.graalvm.compiler.phases.common.DeadCodeEliminationPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
        13: .line 329
            aload 1 /* invoke */
            aload 6 /* calleeGraph */
            iconst_0
            aconst_null
            aload 2 /* method */
            invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.inline:(Lorg/graalvm/compiler/nodes/Invoke;Lorg/graalvm/compiler/nodes/StructuredGraph;ZLjava/util/List;Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljava/util/Map;
            pop
        14: .line 330
            return
        end local 8 // org.graalvm.compiler.java.GraphBuilderPhase$Instance instance
        end local 7 // org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext initialReplacementContext
        end local 6 // org.graalvm.compiler.nodes.StructuredGraph calleeGraph
        end local 5 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration config
        end local 4 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins plugins
        end local 3 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        end local 2 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 1 // org.graalvm.compiler.nodes.InvokeNode invoke
        end local 0 // org.graalvm.compiler.replacements.GraphKit this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   15     0                       this  Lorg/graalvm/compiler/replacements/GraphKit;
            0   15     1                     invoke  Lorg/graalvm/compiler/nodes/InvokeNode;
            1   15     2                     method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            2   15     3                 metaAccess  Ljdk/vm/ci/meta/MetaAccessProvider;
            3   15     4                    plugins  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;
            4   15     5                     config  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;
            5   15     6                calleeGraph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            6   15     7  initialReplacementContext  Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext;
           10   15     8                   instance  Lorg/graalvm/compiler/java/GraphBuilderPhase$Instance;
    MethodParameters:
        Name  Flags
      invoke  

  protected void pushStructure(org.graalvm.compiler.replacements.GraphKit$Structure);
    descriptor: (Lorg/graalvm/compiler/replacements/GraphKit$Structure;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.replacements.GraphKit this
        start local 1 // org.graalvm.compiler.replacements.GraphKit$Structure structure
         0: .line 333
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.GraphKit.structures:Ljava/util/List;
            aload 1 /* structure */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 334
            return
        end local 1 // org.graalvm.compiler.replacements.GraphKit$Structure structure
        end local 0 // org.graalvm.compiler.replacements.GraphKit this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/graalvm/compiler/replacements/GraphKit;
            0    2     1  structure  Lorg/graalvm/compiler/replacements/GraphKit$Structure;
    MethodParameters:
           Name  Flags
      structure  

  protected <T extends org.graalvm.compiler.replacements.GraphKit$Structure> T getTopStructure(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Lorg/graalvm/compiler/replacements/GraphKit$Structure;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.replacements.GraphKit this
        start local 1 // java.lang.Class expectedClass
         0: .line 337
            aload 1 /* expectedClass */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.GraphKit.structures:Ljava/util/List;
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.GraphKit.structures:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.replacements.GraphKit$Structure
            areturn
        end local 1 // java.lang.Class expectedClass
        end local 0 // org.graalvm.compiler.replacements.GraphKit this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lorg/graalvm/compiler/replacements/GraphKit;
            0    1     1  expectedClass  Ljava/lang/Class<TT;>;
    Signature: <T:Lorg/graalvm/compiler/replacements/GraphKit$Structure;>(Ljava/lang/Class<TT;>;)TT;
    MethodParameters:
               Name  Flags
      expectedClass  

  protected void popStructure();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.replacements.GraphKit this
         0: .line 341
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.GraphKit.structures:Ljava/util/List;
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.GraphKit.structures:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
            pop
         1: .line 342
            return
        end local 0 // org.graalvm.compiler.replacements.GraphKit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/replacements/GraphKit;

  public void startIf(org.graalvm.compiler.nodes.LogicNode, double);
    descriptor: (Lorg/graalvm/compiler/nodes/LogicNode;D)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=7, args_size=3
        start local 0 // org.graalvm.compiler.replacements.GraphKit this
        start local 1 // org.graalvm.compiler.nodes.LogicNode condition
        start local 2 // double trueProbability
         0: .line 367
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.GraphKit.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
            new org.graalvm.compiler.nodes.BeginNode
            dup
            invokespecial org.graalvm.compiler.nodes.BeginNode.<init>:()V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.AbstractBeginNode
            astore 4 /* thenSuccessor */
        start local 4 // org.graalvm.compiler.nodes.AbstractBeginNode thenSuccessor
         1: .line 368
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.GraphKit.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
            new org.graalvm.compiler.nodes.BeginNode
            dup
            invokespecial org.graalvm.compiler.nodes.BeginNode.<init>:()V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.AbstractBeginNode
            astore 5 /* elseSuccessor */
        start local 5 // org.graalvm.compiler.nodes.AbstractBeginNode elseSuccessor
         2: .line 369
            aload 0 /* this */
            new org.graalvm.compiler.nodes.IfNode
            dup
            aload 1 /* condition */
            aload 4 /* thenSuccessor */
            aload 5 /* elseSuccessor */
            dload 2 /* trueProbability */
            invokespecial org.graalvm.compiler.nodes.IfNode.<init>:(Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/nodes/AbstractBeginNode;Lorg/graalvm/compiler/nodes/AbstractBeginNode;D)V
            invokevirtual org.graalvm.compiler.replacements.GraphKit.append:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            pop
         3: .line 370
            aload 0 /* this */
            aconst_null
            putfield org.graalvm.compiler.replacements.GraphKit.lastFixedNode:Lorg/graalvm/compiler/nodes/FixedWithNextNode;
         4: .line 372
            new org.graalvm.compiler.replacements.GraphKit$IfStructure
            dup
            invokespecial org.graalvm.compiler.replacements.GraphKit$IfStructure.<init>:()V
            astore 6 /* s */
        start local 6 // org.graalvm.compiler.replacements.GraphKit$IfStructure s
         5: .line 373
            aload 6 /* s */
            getstatic org.graalvm.compiler.replacements.GraphKit$IfState.CONDITION:Lorg/graalvm/compiler/replacements/GraphKit$IfState;
            putfield org.graalvm.compiler.replacements.GraphKit$IfStructure.state:Lorg/graalvm/compiler/replacements/GraphKit$IfState;
         6: .line 374
            aload 6 /* s */
            aload 4 /* thenSuccessor */
            putfield org.graalvm.compiler.replacements.GraphKit$IfStructure.thenPart:Lorg/graalvm/compiler/nodes/FixedNode;
         7: .line 375
            aload 6 /* s */
            aload 5 /* elseSuccessor */
            putfield org.graalvm.compiler.replacements.GraphKit$IfStructure.elsePart:Lorg/graalvm/compiler/nodes/FixedNode;
         8: .line 376
            aload 0 /* this */
            aload 6 /* s */
            invokevirtual org.graalvm.compiler.replacements.GraphKit.pushStructure:(Lorg/graalvm/compiler/replacements/GraphKit$Structure;)V
         9: .line 377
            return
        end local 6 // org.graalvm.compiler.replacements.GraphKit$IfStructure s
        end local 5 // org.graalvm.compiler.nodes.AbstractBeginNode elseSuccessor
        end local 4 // org.graalvm.compiler.nodes.AbstractBeginNode thenSuccessor
        end local 2 // double trueProbability
        end local 1 // org.graalvm.compiler.nodes.LogicNode condition
        end local 0 // org.graalvm.compiler.replacements.GraphKit this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   10     0             this  Lorg/graalvm/compiler/replacements/GraphKit;
            0   10     1        condition  Lorg/graalvm/compiler/nodes/LogicNode;
            0   10     2  trueProbability  D
            1   10     4    thenSuccessor  Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            2   10     5    elseSuccessor  Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            5   10     6                s  Lorg/graalvm/compiler/replacements/GraphKit$IfStructure;
    MethodParameters:
                 Name  Flags
      condition        
      trueProbability  

  private org.graalvm.compiler.replacements.GraphKit$IfStructure saveLastNode();
    descriptor: ()Lorg/graalvm/compiler/replacements/GraphKit$IfStructure;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.replacements.GraphKit this
         0: .line 380
            aload 0 /* this */
            ldc Lorg/graalvm/compiler/replacements/GraphKit$IfStructure;
            invokevirtual org.graalvm.compiler.replacements.GraphKit.getTopStructure:(Ljava/lang/Class;)Lorg/graalvm/compiler/replacements/GraphKit$Structure;
            checkcast org.graalvm.compiler.replacements.GraphKit$IfStructure
            astore 1 /* s */
        start local 1 // org.graalvm.compiler.replacements.GraphKit$IfStructure s
         1: .line 381
            invokestatic org.graalvm.compiler.replacements.GraphKit.$SWITCH_TABLE$org$graalvm$compiler$replacements$GraphKit$IfState:()[I
            aload 1 /* s */
            getfield org.graalvm.compiler.replacements.GraphKit$IfStructure.state:Lorg/graalvm/compiler/replacements/GraphKit$IfState;
            invokevirtual org.graalvm.compiler.replacements.GraphKit$IfState.ordinal:()I
            iaload
            tableswitch { // 1 - 4
                    1: 2
                    2: 3
                    3: 5
                    4: 7
              default: 8
          }
         2: .line 383
      StackMap locals: org.graalvm.compiler.replacements.GraphKit$IfStructure
      StackMap stack:
            getstatic org.graalvm.compiler.replacements.GraphKit.$assertionsDisabled:Z
            ifne 8
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.GraphKit.lastFixedNode:Lorg/graalvm/compiler/nodes/FixedWithNextNode;
            ifnull 8
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 386
      StackMap locals:
      StackMap stack:
            aload 1 /* s */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.GraphKit.lastFixedNode:Lorg/graalvm/compiler/nodes/FixedWithNextNode;
            putfield org.graalvm.compiler.replacements.GraphKit$IfStructure.thenPart:Lorg/graalvm/compiler/nodes/FixedNode;
         4: .line 387
            goto 8
         5: .line 389
      StackMap locals:
      StackMap stack:
            aload 1 /* s */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.GraphKit.lastFixedNode:Lorg/graalvm/compiler/nodes/FixedWithNextNode;
            putfield org.graalvm.compiler.replacements.GraphKit$IfStructure.elsePart:Lorg/graalvm/compiler/nodes/FixedNode;
         6: .line 390
            goto 8
         7: .line 392
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.replacements.GraphKit.$assertionsDisabled:Z
            ifne 8
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         8: .line 395
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.graalvm.compiler.replacements.GraphKit.lastFixedNode:Lorg/graalvm/compiler/nodes/FixedWithNextNode;
         9: .line 396
            aload 1 /* s */
            areturn
        end local 1 // org.graalvm.compiler.replacements.GraphKit$IfStructure s
        end local 0 // org.graalvm.compiler.replacements.GraphKit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lorg/graalvm/compiler/replacements/GraphKit;
            1   10     1     s  Lorg/graalvm/compiler/replacements/GraphKit$IfStructure;

  public void thenPart();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.replacements.GraphKit this
         0: .line 400
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.replacements.GraphKit.saveLastNode:()Lorg/graalvm/compiler/replacements/GraphKit$IfStructure;
            astore 1 /* s */
        start local 1 // org.graalvm.compiler.replacements.GraphKit$IfStructure s
         1: .line 401
            aload 0 /* this */
            aload 1 /* s */
            getfield org.graalvm.compiler.replacements.GraphKit$IfStructure.thenPart:Lorg/graalvm/compiler/nodes/FixedNode;
            checkcast org.graalvm.compiler.nodes.FixedWithNextNode
            putfield org.graalvm.compiler.replacements.GraphKit.lastFixedNode:Lorg/graalvm/compiler/nodes/FixedWithNextNode;
         2: .line 402
            aload 1 /* s */
            getstatic org.graalvm.compiler.replacements.GraphKit$IfState.THEN_PART:Lorg/graalvm/compiler/replacements/GraphKit$IfState;
            putfield org.graalvm.compiler.replacements.GraphKit$IfStructure.state:Lorg/graalvm/compiler/replacements/GraphKit$IfState;
         3: .line 403
            return
        end local 1 // org.graalvm.compiler.replacements.GraphKit$IfStructure s
        end local 0 // org.graalvm.compiler.replacements.GraphKit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/graalvm/compiler/replacements/GraphKit;
            1    4     1     s  Lorg/graalvm/compiler/replacements/GraphKit$IfStructure;

  public void elsePart();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.replacements.GraphKit this
         0: .line 406
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.replacements.GraphKit.saveLastNode:()Lorg/graalvm/compiler/replacements/GraphKit$IfStructure;
            astore 1 /* s */
        start local 1 // org.graalvm.compiler.replacements.GraphKit$IfStructure s
         1: .line 407
            aload 0 /* this */
            aload 1 /* s */
            getfield org.graalvm.compiler.replacements.GraphKit$IfStructure.elsePart:Lorg/graalvm/compiler/nodes/FixedNode;
            checkcast org.graalvm.compiler.nodes.FixedWithNextNode
            putfield org.graalvm.compiler.replacements.GraphKit.lastFixedNode:Lorg/graalvm/compiler/nodes/FixedWithNextNode;
         2: .line 408
            aload 1 /* s */
            getstatic org.graalvm.compiler.replacements.GraphKit$IfState.ELSE_PART:Lorg/graalvm/compiler/replacements/GraphKit$IfState;
            putfield org.graalvm.compiler.replacements.GraphKit$IfStructure.state:Lorg/graalvm/compiler/replacements/GraphKit$IfState;
         3: .line 409
            return
        end local 1 // org.graalvm.compiler.replacements.GraphKit$IfStructure s
        end local 0 // org.graalvm.compiler.replacements.GraphKit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/graalvm/compiler/replacements/GraphKit;
            1    4     1     s  Lorg/graalvm/compiler/replacements/GraphKit$IfStructure;

  public void endIf();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=1
        start local 0 // org.graalvm.compiler.replacements.GraphKit this
         0: .line 412
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.replacements.GraphKit.saveLastNode:()Lorg/graalvm/compiler/replacements/GraphKit$IfStructure;
            astore 1 /* s */
        start local 1 // org.graalvm.compiler.replacements.GraphKit$IfStructure s
         1: .line 414
            aload 1 /* s */
            getfield org.graalvm.compiler.replacements.GraphKit$IfStructure.thenPart:Lorg/graalvm/compiler/nodes/FixedNode;
            instanceof org.graalvm.compiler.nodes.FixedWithNextNode
            ifeq 2
            aload 1 /* s */
            getfield org.graalvm.compiler.replacements.GraphKit$IfStructure.thenPart:Lorg/graalvm/compiler/nodes/FixedNode;
            checkcast org.graalvm.compiler.nodes.FixedWithNextNode
            goto 3
      StackMap locals: org.graalvm.compiler.replacements.GraphKit$IfStructure
      StackMap stack:
         2: aconst_null
      StackMap locals:
      StackMap stack: org.graalvm.compiler.nodes.FixedWithNextNode
         3: astore 2 /* thenPart */
        start local 2 // org.graalvm.compiler.nodes.FixedWithNextNode thenPart
         4: .line 415
            aload 1 /* s */
            getfield org.graalvm.compiler.replacements.GraphKit$IfStructure.elsePart:Lorg/graalvm/compiler/nodes/FixedNode;
            instanceof org.graalvm.compiler.nodes.FixedWithNextNode
            ifeq 5
            aload 1 /* s */
            getfield org.graalvm.compiler.replacements.GraphKit$IfStructure.elsePart:Lorg/graalvm/compiler/nodes/FixedNode;
            checkcast org.graalvm.compiler.nodes.FixedWithNextNode
            goto 6
      StackMap locals: org.graalvm.compiler.nodes.FixedWithNextNode
      StackMap stack:
         5: aconst_null
      StackMap locals:
      StackMap stack: org.graalvm.compiler.nodes.FixedWithNextNode
         6: astore 3 /* elsePart */
        start local 3 // org.graalvm.compiler.nodes.FixedWithNextNode elsePart
         7: .line 417
            aload 2 /* thenPart */
            ifnull 17
            aload 3 /* elsePart */
            ifnull 17
         8: .line 419
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.GraphKit.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
            new org.graalvm.compiler.nodes.EndNode
            dup
            invokespecial org.graalvm.compiler.nodes.EndNode.<init>:()V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.EndNode
            astore 4 /* thenEnd */
        start local 4 // org.graalvm.compiler.nodes.EndNode thenEnd
         9: .line 420
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.GraphKit.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
            aload 2 /* thenPart */
            aload 4 /* thenEnd */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addAfterFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
        10: .line 421
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.GraphKit.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
            new org.graalvm.compiler.nodes.EndNode
            dup
            invokespecial org.graalvm.compiler.nodes.EndNode.<init>:()V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.EndNode
            astore 5 /* elseEnd */
        start local 5 // org.graalvm.compiler.nodes.EndNode elseEnd
        11: .line 422
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.GraphKit.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
            aload 3 /* elsePart */
            aload 5 /* elseEnd */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addAfterFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
        12: .line 424
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.GraphKit.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
            new org.graalvm.compiler.nodes.MergeNode
            dup
            invokespecial org.graalvm.compiler.nodes.MergeNode.<init>:()V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.AbstractMergeNode
            astore 6 /* merge */
        start local 6 // org.graalvm.compiler.nodes.AbstractMergeNode merge
        13: .line 425
            aload 6 /* merge */
            aload 4 /* thenEnd */
            invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.addForwardEnd:(Lorg/graalvm/compiler/nodes/EndNode;)V
        14: .line 426
            aload 6 /* merge */
            aload 5 /* elseEnd */
            invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.addForwardEnd:(Lorg/graalvm/compiler/nodes/EndNode;)V
        15: .line 428
            aload 0 /* this */
            aload 6 /* merge */
            putfield org.graalvm.compiler.replacements.GraphKit.lastFixedNode:Lorg/graalvm/compiler/nodes/FixedWithNextNode;
        end local 6 // org.graalvm.compiler.nodes.AbstractMergeNode merge
        end local 5 // org.graalvm.compiler.nodes.EndNode elseEnd
        end local 4 // org.graalvm.compiler.nodes.EndNode thenEnd
        16: .line 430
            goto 24
      StackMap locals: org.graalvm.compiler.nodes.FixedWithNextNode
      StackMap stack:
        17: aload 2 /* thenPart */
            ifnull 20
        18: .line 432
            aload 0 /* this */
            aload 2 /* thenPart */
            putfield org.graalvm.compiler.replacements.GraphKit.lastFixedNode:Lorg/graalvm/compiler/nodes/FixedWithNextNode;
        19: .line 434
            goto 24
      StackMap locals:
      StackMap stack:
        20: aload 3 /* elsePart */
            ifnull 23
        21: .line 436
            aload 0 /* this */
            aload 3 /* elsePart */
            putfield org.graalvm.compiler.replacements.GraphKit.lastFixedNode:Lorg/graalvm/compiler/nodes/FixedWithNextNode;
        22: .line 438
            goto 24
        23: .line 440
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.replacements.GraphKit.$assertionsDisabled:Z
            ifne 24
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.GraphKit.lastFixedNode:Lorg/graalvm/compiler/nodes/FixedWithNextNode;
            ifnull 24
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        24: .line 442
      StackMap locals:
      StackMap stack:
            aload 1 /* s */
            getstatic org.graalvm.compiler.replacements.GraphKit$IfState.FINISHED:Lorg/graalvm/compiler/replacements/GraphKit$IfState;
            putfield org.graalvm.compiler.replacements.GraphKit$IfStructure.state:Lorg/graalvm/compiler/replacements/GraphKit$IfState;
        25: .line 443
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.replacements.GraphKit.popStructure:()V
        26: .line 444
            return
        end local 3 // org.graalvm.compiler.nodes.FixedWithNextNode elsePart
        end local 2 // org.graalvm.compiler.nodes.FixedWithNextNode thenPart
        end local 1 // org.graalvm.compiler.replacements.GraphKit$IfStructure s
        end local 0 // org.graalvm.compiler.replacements.GraphKit this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   27     0      this  Lorg/graalvm/compiler/replacements/GraphKit;
            1   27     1         s  Lorg/graalvm/compiler/replacements/GraphKit$IfStructure;
            4   27     2  thenPart  Lorg/graalvm/compiler/nodes/FixedWithNextNode;
            7   27     3  elsePart  Lorg/graalvm/compiler/nodes/FixedWithNextNode;
            9   16     4   thenEnd  Lorg/graalvm/compiler/nodes/EndNode;
           11   16     5   elseEnd  Lorg/graalvm/compiler/nodes/EndNode;
           13   16     6     merge  Lorg/graalvm/compiler/nodes/AbstractMergeNode;

  static int[] $SWITCH_TABLE$org$graalvm$compiler$replacements$GraphKit$IfState();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 84
            getstatic org.graalvm.compiler.replacements.GraphKit.$SWITCH_TABLE$org$graalvm$compiler$replacements$GraphKit$IfState:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.graalvm.compiler.replacements.GraphKit$IfState.values:()[Lorg/graalvm/compiler/replacements/GraphKit$IfState;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.graalvm.compiler.replacements.GraphKit$IfState.CONDITION:Lorg/graalvm/compiler/replacements/GraphKit$IfState;
            invokevirtual org.graalvm.compiler.replacements.GraphKit$IfState.ordinal:()I
            iconst_1
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic org.graalvm.compiler.replacements.GraphKit$IfState.ELSE_PART:Lorg/graalvm/compiler/replacements/GraphKit$IfState;
            invokevirtual org.graalvm.compiler.replacements.GraphKit$IfState.ordinal:()I
            iconst_3
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.graalvm.compiler.replacements.GraphKit$IfState.FINISHED:Lorg/graalvm/compiler/replacements/GraphKit$IfState;
            invokevirtual org.graalvm.compiler.replacements.GraphKit$IfState.ordinal:()I
            iconst_4
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic org.graalvm.compiler.replacements.GraphKit$IfState.THEN_PART:Lorg/graalvm/compiler/replacements/GraphKit$IfState;
            invokevirtual org.graalvm.compiler.replacements.GraphKit$IfState.ordinal:()I
            iconst_2
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            dup
            putstatic org.graalvm.compiler.replacements.GraphKit.$SWITCH_TABLE$org$graalvm$compiler$replacements$GraphKit$IfState:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
}
SourceFile: "GraphKit.java"
NestMembers:
  org.graalvm.compiler.replacements.GraphKit$1  org.graalvm.compiler.replacements.GraphKit$IfState  org.graalvm.compiler.replacements.GraphKit$IfStructure  org.graalvm.compiler.replacements.GraphKit$Structure
InnerClasses:
  public abstract ValueNumberable = org.graalvm.compiler.graph.Node$ValueNumberable of org.graalvm.compiler.graph.Node
  public Instance = org.graalvm.compiler.java.GraphBuilderPhase$Instance of org.graalvm.compiler.java.GraphBuilderPhase
  public final InvokeKind = org.graalvm.compiler.nodes.CallTargetNode$InvokeKind of org.graalvm.compiler.nodes.CallTargetNode
  public final AllowAssumptions = org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions of org.graalvm.compiler.nodes.StructuredGraph
  public Plugins = org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins of org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration
  public final CompilationContext = org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext$CompilationContext of org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext
  public final Optionality = org.graalvm.compiler.phases.common.DeadCodeEliminationPhase$Optionality of org.graalvm.compiler.phases.common.DeadCodeEliminationPhase
  org.graalvm.compiler.replacements.GraphKit$1
  protected final IfState = org.graalvm.compiler.replacements.GraphKit$IfState of org.graalvm.compiler.replacements.GraphKit
  IfStructure = org.graalvm.compiler.replacements.GraphKit$IfStructure of org.graalvm.compiler.replacements.GraphKit
  abstract Structure = org.graalvm.compiler.replacements.GraphKit$Structure of org.graalvm.compiler.replacements.GraphKit