public interface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext extends org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderTool
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext
  super_class: java.lang.Object
{
  public static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

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

  public abstract void push(jdk.vm.ci.meta.JavaKind, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
       Name  Flags
      kind   
      value  

  public org.graalvm.compiler.nodes.ValueNode pop(jdk.vm.ci.meta.JavaKind);
    descriptor: (Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext this
        start local 1 // jdk.vm.ci.meta.JavaKind slotKind
         0: .line 99
            invokestatic org.graalvm.compiler.debug.GraalError.unimplemented:()Ljava/lang/RuntimeException;
            athrow
        end local 1 // jdk.vm.ci.meta.JavaKind slotKind
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            0    1     1  slotKind  Ljdk/vm/ci/meta/JavaKind;
    MethodParameters:
          Name  Flags
      slotKind  

  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.nodes.graphbuilderconf.GraphBuilderContext this
        start local 1 // org.graalvm.compiler.nodes.ValueNode value
         0: .line 112
            aload 1 /* value */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            ifnull 3
         1: .line 113
            getstatic org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.$assertionsDisabled:Z
            ifne 2
            aload 1 /* value */
            instanceof org.graalvm.compiler.nodes.StateSplit
            ifeq 2
            aload 1 /* value */
            checkcast org.graalvm.compiler.nodes.StateSplit
            invokeinterface org.graalvm.compiler.nodes.StateSplit.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
            ifnonnull 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 114
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            areturn
         3: .line 116
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* value */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.append:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            invokestatic org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContextUtil.setStateAfterIfNecessary:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            areturn
        end local 1 // org.graalvm.compiler.nodes.ValueNode value
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            0    4     1  value  TT;
    Signature: <T:Lorg/graalvm/compiler/nodes/ValueNode;>(TT;)TT;
    MethodParameters:
       Name  Flags
      value  

  public org.graalvm.compiler.nodes.ValueNode addNonNullCast(org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=2
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext this
        start local 1 // org.graalvm.compiler.nodes.ValueNode value
         0: .line 120
            aload 1 /* value */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            checkcast org.graalvm.compiler.core.common.type.AbstractPointerStamp
            astore 2 /* valueStamp */
        start local 2 // org.graalvm.compiler.core.common.type.AbstractPointerStamp valueStamp
         1: .line 121
            aload 2 /* valueStamp */
            invokevirtual org.graalvm.compiler.core.common.type.AbstractPointerStamp.nonNull:()Z
            ifeq 3
         2: .line 122
            aload 1 /* value */
            areturn
         3: .line 124
      StackMap locals: org.graalvm.compiler.core.common.type.AbstractPointerStamp
      StackMap stack:
            aload 0 /* this */
            aload 1 /* value */
            invokestatic org.graalvm.compiler.nodes.calc.IsNullNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/LogicNode;
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            checkcast org.graalvm.compiler.nodes.LogicNode
            astore 3 /* isNull */
        start local 3 // org.graalvm.compiler.nodes.LogicNode isNull
         4: .line 125
            aload 0 /* this */
            new org.graalvm.compiler.nodes.FixedGuardNode
            dup
            aload 3 /* isNull */
            getstatic jdk.vm.ci.meta.DeoptimizationReason.NullCheckException:Ljdk/vm/ci/meta/DeoptimizationReason;
            getstatic jdk.vm.ci.meta.DeoptimizationAction.None:Ljdk/vm/ci/meta/DeoptimizationAction;
            iconst_1
            invokespecial org.graalvm.compiler.nodes.FixedGuardNode.<init>:(Lorg/graalvm/compiler/nodes/LogicNode;Ljdk/vm/ci/meta/DeoptimizationReason;Ljdk/vm/ci/meta/DeoptimizationAction;Z)V
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            checkcast org.graalvm.compiler.nodes.FixedGuardNode
            astore 4 /* fixedGuard */
        start local 4 // org.graalvm.compiler.nodes.FixedGuardNode fixedGuard
         5: .line 126
            aload 2 /* valueStamp */
            invokestatic org.graalvm.compiler.core.common.type.StampFactory.objectNonNull:()Lorg/graalvm/compiler/core/common/type/Stamp;
            invokevirtual org.graalvm.compiler.core.common.type.AbstractPointerStamp.improveWith:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
            astore 5 /* newStamp */
        start local 5 // org.graalvm.compiler.core.common.type.Stamp newStamp
         6: .line 127
            aload 0 /* this */
            aload 1 /* value */
            aload 5 /* newStamp */
            aload 4 /* fixedGuard */
            invokestatic org.graalvm.compiler.nodes.PiNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            areturn
        end local 5 // org.graalvm.compiler.core.common.type.Stamp newStamp
        end local 4 // org.graalvm.compiler.nodes.FixedGuardNode fixedGuard
        end local 3 // org.graalvm.compiler.nodes.LogicNode isNull
        end local 2 // org.graalvm.compiler.core.common.type.AbstractPointerStamp valueStamp
        end local 1 // org.graalvm.compiler.nodes.ValueNode value
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            0    7     1       value  Lorg/graalvm/compiler/nodes/ValueNode;
            1    7     2  valueStamp  Lorg/graalvm/compiler/core/common/type/AbstractPointerStamp;
            4    7     3      isNull  Lorg/graalvm/compiler/nodes/LogicNode;
            5    7     4  fixedGuard  Lorg/graalvm/compiler/nodes/FixedGuardNode;
            6    7     5    newStamp  Lorg/graalvm/compiler/core/common/type/Stamp;
    MethodParameters:
       Name  Flags
      value  

  public <T extends org.graalvm.compiler.nodes.ValueNode> T addPush(jdk.vm.ci.meta.JavaKind, );
    descriptor: (Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext this
        start local 1 // jdk.vm.ci.meta.JavaKind kind
        start local 2 // org.graalvm.compiler.nodes.ValueNode value
         0: .line 141
            aload 2 /* value */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            ifnull 1
            aload 2 /* value */
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            aload 2 /* value */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.append:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
      StackMap locals:
      StackMap stack: org.graalvm.compiler.nodes.ValueNode
         2: astore 3 /* equivalentValue */
        start local 3 // org.graalvm.compiler.nodes.ValueNode equivalentValue
         3: .line 142
            aload 0 /* this */
            aload 1 /* kind */
            aload 3 /* equivalentValue */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.push:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)V
         4: .line 143
            aload 0 /* this */
            aload 3 /* equivalentValue */
            invokestatic org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContextUtil.setStateAfterIfNecessary:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            areturn
        end local 3 // org.graalvm.compiler.nodes.ValueNode equivalentValue
        end local 2 // org.graalvm.compiler.nodes.ValueNode value
        end local 1 // jdk.vm.ci.meta.JavaKind kind
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     0             this  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            0    5     1             kind  Ljdk/vm/ci/meta/JavaKind;
            0    5     2            value  TT;
            3    5     3  equivalentValue  TT;
    Signature: <T:Lorg/graalvm/compiler/nodes/ValueNode;>(Ljdk/vm/ci/meta/JavaKind;TT;)TT;
    MethodParameters:
       Name  Flags
      kind   
      value  

  public abstract org.graalvm.compiler.nodes.Invoke handleReplacedInvoke(org.graalvm.compiler.nodes.CallTargetNode$InvokeKind, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.ValueNode[], boolean);
    descriptor: (Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;Z)Lorg/graalvm/compiler/nodes/Invoke;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                       Name  Flags
      invokeKind             
      targetMethod           
      args                   
      forceInlineEverything  

  public abstract void handleReplacedInvoke(org.graalvm.compiler.nodes.CallTargetNode, jdk.vm.ci.meta.JavaKind);
    descriptor: (Lorg/graalvm/compiler/nodes/CallTargetNode;Ljdk/vm/ci/meta/JavaKind;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      callTarget  
      resultType  

  public abstract boolean intrinsify(org.graalvm.compiler.bytecode.BytecodeProvider, jdk.vm.ci.meta.ResolvedJavaMethod, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin$Receiver, org.graalvm.compiler.nodes.ValueNode[]);
    descriptor: (Lorg/graalvm/compiler/bytecode/BytecodeProvider;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;[Lorg/graalvm/compiler/nodes/ValueNode;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                       Name  Flags
      bytecodeProvider       
      targetMethod           
      substitute             
      receiver               
      argsIncludingReceiver  

  public abstract boolean intrinsify(jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin$Receiver, org.graalvm.compiler.nodes.ValueNode[]);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;[Lorg/graalvm/compiler/nodes/ValueNode;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                       Name  Flags
      targetMethod           
      substituteGraph        
      receiver               
      argsIncludingReceiver  

  public abstract void setStateAfter(org.graalvm.compiler.nodes.StateSplit);
    descriptor: (Lorg/graalvm/compiler/nodes/StateSplit;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      sideEffect  

  public abstract org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext getParent();
    descriptor: ()Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext getNonIntrinsicAncestor();
    descriptor: ()Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext this
         0: .line 207
            aload 0 /* this */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getParent:()Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            astore 1 /* ancestor */
        start local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext ancestor
         1: .line 208
            goto 3
         2: .line 209
      StackMap locals: org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext
      StackMap stack:
            aload 1 /* ancestor */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getParent:()Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            astore 1 /* ancestor */
         3: .line 208
      StackMap locals:
      StackMap stack:
            aload 1 /* ancestor */
            ifnull 4
            aload 1 /* ancestor */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.parsingIntrinsic:()Z
            ifne 2
         4: .line 211
      StackMap locals:
      StackMap stack:
            aload 1 /* ancestor */
            areturn
        end local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext ancestor
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            1    5     1  ancestor  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;

  public abstract org.graalvm.compiler.bytecode.Bytecode getCode();
    descriptor: ()Lorg/graalvm/compiler/bytecode/Bytecode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract jdk.vm.ci.meta.ResolvedJavaMethod getMethod();
    descriptor: ()Ljdk/vm/ci/meta/ResolvedJavaMethod;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract int bci();
    descriptor: ()I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public boolean bciCanBeDuplicated();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext this
         0: .line 230
            iconst_0
            ireturn
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;

  public abstract org.graalvm.compiler.nodes.CallTargetNode$InvokeKind getInvokeKind();
    descriptor: ()Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract jdk.vm.ci.meta.JavaType getInvokeReturnType();
    descriptor: ()Ljdk/vm/ci/meta/JavaType;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public org.graalvm.compiler.core.common.type.StampPair getInvokeReturnStamp(jdk.vm.ci.meta.Assumptions);
    descriptor: (Ljdk/vm/ci/meta/Assumptions;)Lorg/graalvm/compiler/core/common/type/StampPair;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext this
        start local 1 // jdk.vm.ci.meta.Assumptions assumptions
         0: .line 244
            aload 0 /* this */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getInvokeReturnType:()Ljdk/vm/ci/meta/JavaType;
            astore 2 /* returnType */
        start local 2 // jdk.vm.ci.meta.JavaType returnType
         1: .line 245
            aload 1 /* assumptions */
            aload 2 /* 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;
            areturn
        end local 2 // jdk.vm.ci.meta.JavaType returnType
        end local 1 // jdk.vm.ci.meta.Assumptions assumptions
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            0    2     1  assumptions  Ljdk/vm/ci/meta/Assumptions;
            1    2     2   returnType  Ljdk/vm/ci/meta/JavaType;
    MethodParameters:
             Name  Flags
      assumptions  

  public int getDepth();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=1
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext this
         0: .line 253
            aload 0 /* this */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getParent:()Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            astore 1 /* parent */
        start local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext parent
         1: .line 254
            iconst_0
            istore 2 /* result */
        start local 2 // int result
         2: .line 255
            goto 5
         3: .line 256
      StackMap locals: org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext int
      StackMap stack:
            iinc 2 /* result */ 1
         4: .line 257
            aload 1 /* parent */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getParent:()Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            astore 1 /* parent */
         5: .line 255
      StackMap locals:
      StackMap stack:
            aload 1 /* parent */
            ifnonnull 3
         6: .line 259
            iload 2 /* result */
            ireturn
        end local 2 // int result
        end local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext parent
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            1    7     1  parent  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            2    7     2  result  I

  public java.util.List<org.graalvm.collections.Pair<jdk.vm.ci.meta.ResolvedJavaMethod, java.lang.Integer>> getCallingContext();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext this
         0: .line 263
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* callingContext */
        start local 1 // java.util.List callingContext
         1: .line 267
            aload 0 /* this */
            astore 2 /* cur */
        start local 2 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext cur
         2: .line 268
            goto 5
         3: .line 269
      StackMap locals: java.util.List org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext
      StackMap stack:
            aload 1 /* callingContext */
            aload 2 /* cur */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            aload 2 /* cur */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.bci:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokestatic org.graalvm.collections.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/collections/Pair;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         4: .line 270
            aload 2 /* cur */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getParent:()Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            astore 2 /* cur */
         5: .line 268
      StackMap locals:
      StackMap stack:
            aload 2 /* cur */
            ifnonnull 3
         6: .line 272
            aload 1 /* callingContext */
            areturn
        end local 2 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext cur
        end local 1 // java.util.List callingContext
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0            this  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            1    7     1  callingContext  Ljava/util/List<Lorg/graalvm/collections/Pair<Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Integer;>;>;
            2    7     2             cur  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
    Signature: ()Ljava/util/List<Lorg/graalvm/collections/Pair<Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Integer;>;>;

  public boolean parsingIntrinsic();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext this
         0: .line 281
            aload 0 /* this */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getIntrinsic:()Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;

  public boolean isPluginEnabled(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderPlugin);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderPlugin;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext this
        start local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderPlugin plugin
         0: .line 288
            aload 0 /* this */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.parsingIntrinsic:()Z
            ifne 1
            aload 1 /* plugin */
            instanceof org.graalvm.compiler.nodes.graphbuilderconf.GeneratedInvocationPlugin
            ifeq 1
            aload 1 /* plugin */
            checkcast org.graalvm.compiler.nodes.graphbuilderconf.GeneratedInvocationPlugin
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GeneratedInvocationPlugin.isGeneratedFromFoldOrNodeIntrinsic:()Z
            ifeq 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderPlugin plugin
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            0    2     1  plugin  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderPlugin;
    MethodParameters:
        Name  Flags
      plugin  

  public abstract org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext getIntrinsic();
    descriptor: ()Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract jdk.vm.ci.code.BailoutException bailout(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/vm/ci/code/BailoutException;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      string  

  public org.graalvm.compiler.nodes.ValueNode nullCheckedValue(org.graalvm.compiler.nodes.ValueNode);
    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.nodes.graphbuilderconf.GraphBuilderContext this
        start local 1 // org.graalvm.compiler.nodes.ValueNode value
         0: .line 300
            aload 0 /* this */
            aload 1 /* value */
            getstatic jdk.vm.ci.meta.DeoptimizationAction.InvalidateReprofile:Ljdk/vm/ci/meta/DeoptimizationAction;
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.nullCheckedValue:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/DeoptimizationAction;)Lorg/graalvm/compiler/nodes/ValueNode;
            areturn
        end local 1 // org.graalvm.compiler.nodes.ValueNode value
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            0    1     1  value  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
       Name  Flags
      value  

  public org.graalvm.compiler.nodes.ValueNode nullCheckedValue(org.graalvm.compiler.nodes.ValueNode, jdk.vm.ci.meta.DeoptimizationAction);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/DeoptimizationAction;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=3
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext this
        start local 1 // org.graalvm.compiler.nodes.ValueNode value
        start local 2 // jdk.vm.ci.meta.DeoptimizationAction action
         0: .line 308
            aload 1 /* value */
            invokestatic org.graalvm.compiler.nodes.type.StampTool.isPointerNonNull:(Lorg/graalvm/compiler/nodes/ValueNode;)Z
            ifne 7
         1: .line 309
            aload 0 /* this */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getGraph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            aload 1 /* value */
            invokestatic org.graalvm.compiler.nodes.calc.IsNullNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/LogicNode;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.LogicNode
            astore 3 /* condition */
        start local 3 // org.graalvm.compiler.nodes.LogicNode condition
         2: .line 311
            aload 0 /* this */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.needsExplicitException:()Z
            ifeq 5
         3: .line 312
            aload 0 /* this */
            aload 3 /* condition */
            iconst_0
            getstatic org.graalvm.compiler.nodes.extended.BytecodeExceptionNode$BytecodeExceptionKind.NULL_POINTER:Lorg/graalvm/compiler/nodes/extended/BytecodeExceptionNode$BytecodeExceptionKind;
            iconst_0
            anewarray org.graalvm.compiler.nodes.ValueNode
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.emitBytecodeExceptionCheck:(Lorg/graalvm/compiler/nodes/LogicNode;ZLorg/graalvm/compiler/nodes/extended/BytecodeExceptionNode$BytecodeExceptionKind;[Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            astore 4 /* guardingNode */
        start local 4 // org.graalvm.compiler.nodes.extended.GuardingNode guardingNode
         4: .line 313
            goto 6
        end local 4 // org.graalvm.compiler.nodes.extended.GuardingNode guardingNode
         5: .line 314
      StackMap locals: org.graalvm.compiler.nodes.LogicNode
      StackMap stack:
            aload 0 /* this */
            new org.graalvm.compiler.nodes.FixedGuardNode
            dup
            aload 3 /* condition */
            getstatic jdk.vm.ci.meta.DeoptimizationReason.NullCheckException:Ljdk/vm/ci/meta/DeoptimizationReason;
            aload 2 /* action */
            iconst_1
            invokespecial org.graalvm.compiler.nodes.FixedGuardNode.<init>:(Lorg/graalvm/compiler/nodes/LogicNode;Ljdk/vm/ci/meta/DeoptimizationReason;Ljdk/vm/ci/meta/DeoptimizationAction;Z)V
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.append:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            checkcast org.graalvm.compiler.nodes.extended.GuardingNode
            astore 4 /* guardingNode */
        start local 4 // org.graalvm.compiler.nodes.extended.GuardingNode guardingNode
         6: .line 316
      StackMap locals: org.graalvm.compiler.nodes.extended.GuardingNode
      StackMap stack:
            aload 0 /* this */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getGraph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            aload 1 /* value */
            invokestatic org.graalvm.compiler.core.common.type.StampFactory.objectNonNull:()Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 4 /* guardingNode */
            invokeinterface org.graalvm.compiler.nodes.extended.GuardingNode.asNode:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokestatic org.graalvm.compiler.nodes.PiNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUniqueWithInputs:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
            areturn
        end local 4 // org.graalvm.compiler.nodes.extended.GuardingNode guardingNode
        end local 3 // org.graalvm.compiler.nodes.LogicNode condition
         7: .line 318
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            areturn
        end local 2 // jdk.vm.ci.meta.DeoptimizationAction action
        end local 1 // org.graalvm.compiler.nodes.ValueNode value
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0          this  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            0    8     1         value  Lorg/graalvm/compiler/nodes/ValueNode;
            0    8     2        action  Ljdk/vm/ci/meta/DeoptimizationAction;
            2    7     3     condition  Lorg/graalvm/compiler/nodes/LogicNode;
            4    5     4  guardingNode  Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            6    7     4  guardingNode  Lorg/graalvm/compiler/nodes/extended/GuardingNode;
    MethodParameters:
        Name  Flags
      value   
      action  

  public org.graalvm.compiler.nodes.AbstractBeginNode emitBytecodeExceptionCheck(org.graalvm.compiler.nodes.LogicNode, boolean, org.graalvm.compiler.nodes.extended.BytecodeExceptionNode$BytecodeExceptionKind, org.graalvm.compiler.nodes.ValueNode[]);
    descriptor: (Lorg/graalvm/compiler/nodes/LogicNode;ZLorg/graalvm/compiler/nodes/extended/BytecodeExceptionNode$BytecodeExceptionKind;[Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/AbstractBeginNode;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=8, locals=12, args_size=5
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext this
        start local 1 // org.graalvm.compiler.nodes.LogicNode condition
        start local 2 // boolean passingOnTrue
        start local 3 // org.graalvm.compiler.nodes.extended.BytecodeExceptionNode$BytecodeExceptionKind exceptionKind
        start local 4 // org.graalvm.compiler.nodes.ValueNode[] arguments
         0: .line 322
            iload 2 /* passingOnTrue */
            ifeq 1
            aload 1 /* condition */
            invokevirtual org.graalvm.compiler.nodes.LogicNode.isTautology:()Z
            ifeq 3
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* condition */
            invokevirtual org.graalvm.compiler.nodes.LogicNode.isContradiction:()Z
            ifeq 3
         2: .line 323
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         3: .line 326
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* exceptionKind */
            aload 4 /* arguments */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.genExplicitExceptionEdge:(Lorg/graalvm/compiler/nodes/extended/BytecodeExceptionNode$BytecodeExceptionKind;[Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            astore 5 /* exceptionPath */
        start local 5 // org.graalvm.compiler.nodes.AbstractBeginNode exceptionPath
         4: .line 328
            iload 2 /* passingOnTrue */
            ifeq 5
            aconst_null
            goto 6
      StackMap locals: org.graalvm.compiler.nodes.AbstractBeginNode
      StackMap stack:
         5: aload 5 /* exceptionPath */
      StackMap locals:
      StackMap stack: org.graalvm.compiler.nodes.AbstractBeginNode
         6: astore 6 /* trueSuccessor */
        start local 6 // org.graalvm.compiler.nodes.AbstractBeginNode trueSuccessor
         7: .line 329
            iload 2 /* passingOnTrue */
            ifeq 8
            aload 5 /* exceptionPath */
            goto 9
      StackMap locals: org.graalvm.compiler.nodes.AbstractBeginNode
      StackMap stack:
         8: aconst_null
      StackMap locals:
      StackMap stack: org.graalvm.compiler.nodes.AbstractBeginNode
         9: astore 7 /* falseSuccessor */
        start local 7 // org.graalvm.compiler.nodes.AbstractBeginNode falseSuccessor
        10: .line 330
            iload 2 /* passingOnTrue */
            ifeq 11
            ldc 0.999999
            goto 12
      StackMap locals: org.graalvm.compiler.nodes.AbstractBeginNode
      StackMap stack:
        11: ldc 1.0000000000287557E-6
      StackMap locals:
      StackMap stack: double
        12: dstore 8 /* probability */
        start local 8 // double probability
        13: .line 331
            aload 0 /* this */
            new org.graalvm.compiler.nodes.IfNode
            dup
            aload 1 /* condition */
            aload 6 /* trueSuccessor */
            aload 7 /* falseSuccessor */
            dload 8 /* probability */
            invokespecial org.graalvm.compiler.nodes.IfNode.<init>:(Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/nodes/AbstractBeginNode;Lorg/graalvm/compiler/nodes/AbstractBeginNode;D)V
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.append:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            checkcast org.graalvm.compiler.nodes.IfNode
            astore 10 /* ifNode */
        start local 10 // org.graalvm.compiler.nodes.IfNode ifNode
        14: .line 333
            aload 0 /* this */
            new org.graalvm.compiler.nodes.BeginNode
            dup
            invokespecial org.graalvm.compiler.nodes.BeginNode.<init>:()V
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.append:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            checkcast org.graalvm.compiler.nodes.BeginNode
            astore 11 /* passingSuccessor */
        start local 11 // org.graalvm.compiler.nodes.BeginNode passingSuccessor
        15: .line 334
            iload 2 /* passingOnTrue */
            ifeq 18
        16: .line 335
            aload 10 /* ifNode */
            aload 11 /* passingSuccessor */
            invokevirtual org.graalvm.compiler.nodes.IfNode.setTrueSuccessor:(Lorg/graalvm/compiler/nodes/AbstractBeginNode;)V
        17: .line 336
            goto 19
        18: .line 337
      StackMap locals: double org.graalvm.compiler.nodes.IfNode org.graalvm.compiler.nodes.BeginNode
      StackMap stack:
            aload 10 /* ifNode */
            aload 11 /* passingSuccessor */
            invokevirtual org.graalvm.compiler.nodes.IfNode.setFalseSuccessor:(Lorg/graalvm/compiler/nodes/AbstractBeginNode;)V
        19: .line 339
      StackMap locals:
      StackMap stack:
            aload 11 /* passingSuccessor */
            areturn
        end local 11 // org.graalvm.compiler.nodes.BeginNode passingSuccessor
        end local 10 // org.graalvm.compiler.nodes.IfNode ifNode
        end local 8 // double probability
        end local 7 // org.graalvm.compiler.nodes.AbstractBeginNode falseSuccessor
        end local 6 // org.graalvm.compiler.nodes.AbstractBeginNode trueSuccessor
        end local 5 // org.graalvm.compiler.nodes.AbstractBeginNode exceptionPath
        end local 4 // org.graalvm.compiler.nodes.ValueNode[] arguments
        end local 3 // org.graalvm.compiler.nodes.extended.BytecodeExceptionNode$BytecodeExceptionKind exceptionKind
        end local 2 // boolean passingOnTrue
        end local 1 // org.graalvm.compiler.nodes.LogicNode condition
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   20     0              this  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            0   20     1         condition  Lorg/graalvm/compiler/nodes/LogicNode;
            0   20     2     passingOnTrue  Z
            0   20     3     exceptionKind  Lorg/graalvm/compiler/nodes/extended/BytecodeExceptionNode$BytecodeExceptionKind;
            0   20     4         arguments  [Lorg/graalvm/compiler/nodes/ValueNode;
            4   20     5     exceptionPath  Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            7   20     6     trueSuccessor  Lorg/graalvm/compiler/nodes/AbstractBeginNode;
           10   20     7    falseSuccessor  Lorg/graalvm/compiler/nodes/AbstractBeginNode;
           13   20     8       probability  D
           14   20    10            ifNode  Lorg/graalvm/compiler/nodes/IfNode;
           15   20    11  passingSuccessor  Lorg/graalvm/compiler/nodes/BeginNode;
    MethodParameters:
               Name  Flags
      condition      
      passingOnTrue  
      exceptionKind  
      arguments      

  public void genCheckcastDynamic(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=5, args_size=3
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext this
        start local 1 // org.graalvm.compiler.nodes.ValueNode object
        start local 2 // org.graalvm.compiler.nodes.ValueNode javaClass
         0: .line 343
            aload 0 /* this */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getAssumptions:()Ljdk/vm/ci/meta/Assumptions;
            aload 0 /* this */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getConstantReflection:()Ljdk/vm/ci/meta/ConstantReflectionProvider;
            aload 2 /* javaClass */
            aload 1 /* object */
            iconst_1
            invokestatic org.graalvm.compiler.nodes.java.InstanceOfDynamicNode.create:(Ljdk/vm/ci/meta/Assumptions;Ljdk/vm/ci/meta/ConstantReflectionProvider;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Z)Lorg/graalvm/compiler/nodes/LogicNode;
            astore 3 /* condition */
        start local 3 // org.graalvm.compiler.nodes.LogicNode condition
         1: .line 344
            aload 3 /* condition */
            invokevirtual org.graalvm.compiler.nodes.LogicNode.isTautology:()Z
            ifeq 4
         2: .line 345
            aload 0 /* this */
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            aload 1 /* object */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.addPush:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            pop
         3: .line 346
            goto 10
         4: .line 347
      StackMap locals: org.graalvm.compiler.nodes.LogicNode
      StackMap stack:
            aload 0 /* this */
            aload 3 /* condition */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.append:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            pop
         5: .line 349
            aload 0 /* this */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.needsExplicitException:()Z
            ifeq 8
         6: .line 350
            aload 0 /* this */
            aload 3 /* condition */
            iconst_1
            getstatic org.graalvm.compiler.nodes.extended.BytecodeExceptionNode$BytecodeExceptionKind.CLASS_CAST:Lorg/graalvm/compiler/nodes/extended/BytecodeExceptionNode$BytecodeExceptionKind;
            iconst_2
            anewarray org.graalvm.compiler.nodes.ValueNode
            dup
            iconst_0
            aload 1 /* object */
            aastore
            dup
            iconst_1
            aload 2 /* javaClass */
            aastore
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.emitBytecodeExceptionCheck:(Lorg/graalvm/compiler/nodes/LogicNode;ZLorg/graalvm/compiler/nodes/extended/BytecodeExceptionNode$BytecodeExceptionKind;[Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            astore 4 /* guardingNode */
        start local 4 // org.graalvm.compiler.nodes.extended.GuardingNode guardingNode
         7: .line 351
            goto 9
        end local 4 // org.graalvm.compiler.nodes.extended.GuardingNode guardingNode
         8: .line 352
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.graalvm.compiler.nodes.FixedGuardNode
            dup
            aload 3 /* condition */
            getstatic jdk.vm.ci.meta.DeoptimizationReason.ClassCastException:Ljdk/vm/ci/meta/DeoptimizationReason;
            getstatic jdk.vm.ci.meta.DeoptimizationAction.InvalidateReprofile:Ljdk/vm/ci/meta/DeoptimizationAction;
            iconst_0
            invokespecial org.graalvm.compiler.nodes.FixedGuardNode.<init>:(Lorg/graalvm/compiler/nodes/LogicNode;Ljdk/vm/ci/meta/DeoptimizationReason;Ljdk/vm/ci/meta/DeoptimizationAction;Z)V
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            checkcast org.graalvm.compiler.nodes.extended.GuardingNode
            astore 4 /* guardingNode */
        start local 4 // org.graalvm.compiler.nodes.extended.GuardingNode guardingNode
         9: .line 354
      StackMap locals: org.graalvm.compiler.nodes.extended.GuardingNode
      StackMap stack:
            aload 0 /* this */
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            aload 0 /* this */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getAssumptions:()Ljdk/vm/ci/meta/Assumptions;
            aload 0 /* this */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getConstantReflection:()Ljdk/vm/ci/meta/ConstantReflectionProvider;
            aload 1 /* object */
            aload 4 /* guardingNode */
            aload 2 /* javaClass */
            invokestatic org.graalvm.compiler.nodes.DynamicPiNode.create:(Ljdk/vm/ci/meta/Assumptions;Ljdk/vm/ci/meta/ConstantReflectionProvider;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/extended/GuardingNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.addPush:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            pop
        end local 4 // org.graalvm.compiler.nodes.extended.GuardingNode guardingNode
        10: .line 356
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.graalvm.compiler.nodes.LogicNode condition
        end local 2 // org.graalvm.compiler.nodes.ValueNode javaClass
        end local 1 // org.graalvm.compiler.nodes.ValueNode object
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0          this  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            0   11     1        object  Lorg/graalvm/compiler/nodes/ValueNode;
            0   11     2     javaClass  Lorg/graalvm/compiler/nodes/ValueNode;
            1   11     3     condition  Lorg/graalvm/compiler/nodes/LogicNode;
            7    8     4  guardingNode  Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            9   10     4  guardingNode  Lorg/graalvm/compiler/nodes/extended/GuardingNode;
    MethodParameters:
           Name  Flags
      object     
      javaClass  

  public org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext$ExternalInliningContext getExternalInliningContext();
    descriptor: ()Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext$ExternalInliningContext;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext this
         0: .line 370
            aconst_null
            areturn
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;

  public org.graalvm.compiler.nodes.ValueNode maskSubWordValue(org.graalvm.compiler.nodes.ValueNode, jdk.vm.ci.meta.JavaKind);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext this
        start local 1 // org.graalvm.compiler.nodes.ValueNode value
        start local 2 // jdk.vm.ci.meta.JavaKind kind
         0: .line 383
            aload 2 /* kind */
            aload 2 /* kind */
            invokevirtual jdk.vm.ci.meta.JavaKind.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 2
         1: .line 384
            aload 1 /* value */
            areturn
         2: .line 387
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* value */
            aload 2 /* kind */
            invokevirtual jdk.vm.ci.meta.JavaKind.getBitCount:()I
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokestatic org.graalvm.compiler.nodes.calc.NarrowNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;ILorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.append:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 3 /* narrow */
        start local 3 // org.graalvm.compiler.nodes.ValueNode narrow
         3: .line 388
            aload 2 /* kind */
            invokevirtual jdk.vm.ci.meta.JavaKind.isUnsigned:()Z
            ifeq 5
         4: .line 389
            aload 0 /* this */
            aload 3 /* narrow */
            bipush 32
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokestatic org.graalvm.compiler.nodes.calc.ZeroExtendNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;ILorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.append:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            areturn
         5: .line 391
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 0 /* this */
            aload 3 /* narrow */
            bipush 32
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokestatic org.graalvm.compiler.nodes.calc.SignExtendNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;ILorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.append:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            areturn
        end local 3 // org.graalvm.compiler.nodes.ValueNode narrow
        end local 2 // jdk.vm.ci.meta.JavaKind kind
        end local 1 // org.graalvm.compiler.nodes.ValueNode value
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            0    6     1   value  Lorg/graalvm/compiler/nodes/ValueNode;
            0    6     2    kind  Ljdk/vm/ci/meta/JavaKind;
            3    6     3  narrow  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
       Name  Flags
      value  
      kind   

  public boolean needsExplicitException();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext this
         0: .line 399
            iconst_0
            ireturn
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;

  public org.graalvm.compiler.nodes.AbstractBeginNode genExplicitExceptionEdge(org.graalvm.compiler.nodes.extended.BytecodeExceptionNode$BytecodeExceptionKind, org.graalvm.compiler.nodes.ValueNode[]);
    descriptor: (Lorg/graalvm/compiler/nodes/extended/BytecodeExceptionNode$BytecodeExceptionKind;[Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/AbstractBeginNode;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext this
        start local 1 // org.graalvm.compiler.nodes.extended.BytecodeExceptionNode$BytecodeExceptionKind exceptionKind
        start local 2 // org.graalvm.compiler.nodes.ValueNode[] exceptionArguments
         0: .line 411
            invokestatic org.graalvm.compiler.debug.GraalError.unimplemented:()Ljava/lang/RuntimeException;
            athrow
        end local 2 // org.graalvm.compiler.nodes.ValueNode[] exceptionArguments
        end local 1 // org.graalvm.compiler.nodes.extended.BytecodeExceptionNode$BytecodeExceptionKind exceptionKind
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    1     0                this  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            0    1     1       exceptionKind  Lorg/graalvm/compiler/nodes/extended/BytecodeExceptionNode$BytecodeExceptionKind;
            0    1     2  exceptionArguments  [Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
                    Name  Flags
      exceptionKind       
      exceptionArguments  

  public void replacePlugin(org.graalvm.compiler.nodes.graphbuilderconf.GeneratedInvocationPlugin, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.ValueNode[], org.graalvm.compiler.nodes.PluginReplacementNode$ReplacementFunction);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GeneratedInvocationPlugin;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/PluginReplacementNode$ReplacementFunction;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext this
        start local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GeneratedInvocationPlugin plugin
        start local 2 // jdk.vm.ci.meta.ResolvedJavaMethod targetMethod
        start local 3 // org.graalvm.compiler.nodes.ValueNode[] args
        start local 4 // org.graalvm.compiler.nodes.PluginReplacementNode$ReplacementFunction replacementFunction
         0: .line 422
            invokestatic org.graalvm.compiler.debug.GraalError.unimplemented:()Ljava/lang/RuntimeException;
            athrow
        end local 4 // org.graalvm.compiler.nodes.PluginReplacementNode$ReplacementFunction replacementFunction
        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.graphbuilderconf.GeneratedInvocationPlugin plugin
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    1     0                 this  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            0    1     1               plugin  Lorg/graalvm/compiler/nodes/graphbuilderconf/GeneratedInvocationPlugin;
            0    1     2         targetMethod  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0    1     3                 args  [Lorg/graalvm/compiler/nodes/ValueNode;
            0    1     4  replacementFunction  Lorg/graalvm/compiler/nodes/PluginReplacementNode$ReplacementFunction;
    MethodParameters:
                     Name  Flags
      plugin               
      targetMethod         
      args                 
      replacementFunction  
}
SourceFile: "GraphBuilderContext.java"
NestMembers:
  org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext$ExternalInliningContext
InnerClasses:
  public abstract ValueNumberable = org.graalvm.compiler.graph.Node$ValueNumberable of org.graalvm.compiler.graph.Node
  public final InvokeKind = org.graalvm.compiler.nodes.CallTargetNode$InvokeKind of org.graalvm.compiler.nodes.CallTargetNode
  public abstract ReplacementFunction = org.graalvm.compiler.nodes.PluginReplacementNode$ReplacementFunction of org.graalvm.compiler.nodes.PluginReplacementNode
  public final BytecodeExceptionKind = org.graalvm.compiler.nodes.extended.BytecodeExceptionNode$BytecodeExceptionKind of org.graalvm.compiler.nodes.extended.BytecodeExceptionNode
  public abstract ExternalInliningContext = org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext$ExternalInliningContext of org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext
  public abstract Receiver = org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin$Receiver of org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin