class com.oracle.svm.hosted.phases.HostedBytecodeParser extends com.oracle.svm.hosted.phases.SubstrateGraphBuilderPhase$SubstrateBytecodeParser
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.oracle.svm.hosted.phases.HostedBytecodeParser
  super_class: com.oracle.svm.hosted.phases.SubstrateGraphBuilderPhase$SubstrateBytecodeParser
{
  private static final com.oracle.svm.core.graal.nodes.DeoptEntryNode STICKY_DEOPT_ENTRY;
    descriptor: Lcom/oracle/svm/core/graal/nodes/DeoptEntryNode;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private int currentDeoptIndex;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private java.util.Map<java.lang.Long, com.oracle.svm.core.graal.nodes.DeoptProxyAnchorNode> deoptEntries;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/Long;Lcom/oracle/svm/core/graal/nodes/DeoptProxyAnchorNode;>;

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 81
            ldc Lcom/oracle/svm/hosted/phases/HostedBytecodeParser;
            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 com.oracle.svm.hosted.phases.HostedBytecodeParser.$assertionsDisabled:Z
         3: .line 83
            new com.oracle.svm.core.graal.nodes.DeoptEntryNode
            dup
            invokespecial com.oracle.svm.core.graal.nodes.DeoptEntryNode.<init>:()V
            putstatic com.oracle.svm.hosted.phases.HostedBytecodeParser.STICKY_DEOPT_ENTRY:Lcom/oracle/svm/core/graal/nodes/DeoptEntryNode;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(org.graalvm.compiler.java.GraphBuilderPhase$Instance, org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.java.BytecodeParser, jdk.vm.ci.meta.ResolvedJavaMethod, int, org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext);
    descriptor: (Lorg/graalvm/compiler/java/GraphBuilderPhase$Instance;Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/java/BytecodeParser;Ljdk/vm/ci/meta/ResolvedJavaMethod;ILorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext;)V
    flags: (0x0000) 
    Code:
      stack=8, locals=7, args_size=7
        start local 0 // com.oracle.svm.hosted.phases.HostedBytecodeParser this
        start local 1 // org.graalvm.compiler.java.GraphBuilderPhase$Instance graphBuilderInstance
        start local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 3 // org.graalvm.compiler.java.BytecodeParser parent
        start local 4 // jdk.vm.ci.meta.ResolvedJavaMethod method
        start local 5 // int entryBCI
        start local 6 // org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext intrinsicContext
         0: .line 89
            aload 0 /* this */
            aload 1 /* graphBuilderInstance */
            aload 2 /* graph */
            aload 3 /* parent */
            aload 4 /* method */
            iload 5 /* entryBCI */
            aload 6 /* intrinsicContext */
            iconst_1
            invokespecial com.oracle.svm.hosted.phases.SubstrateGraphBuilderPhase$SubstrateBytecodeParser.<init>:(Lorg/graalvm/compiler/java/GraphBuilderPhase$Instance;Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/java/BytecodeParser;Ljdk/vm/ci/meta/ResolvedJavaMethod;ILorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext;Z)V
         1: .line 86
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield com.oracle.svm.hosted.phases.HostedBytecodeParser.deoptEntries:Ljava/util/Map;
         2: .line 90
            return
        end local 6 // org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext intrinsicContext
        end local 5 // int entryBCI
        end local 4 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 3 // org.graalvm.compiler.java.BytecodeParser parent
        end local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 1 // org.graalvm.compiler.java.GraphBuilderPhase$Instance graphBuilderInstance
        end local 0 // com.oracle.svm.hosted.phases.HostedBytecodeParser this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    3     0                  this  Lcom/oracle/svm/hosted/phases/HostedBytecodeParser;
            0    3     1  graphBuilderInstance  Lorg/graalvm/compiler/java/GraphBuilderPhase$Instance;
            0    3     2                 graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0    3     3                parent  Lorg/graalvm/compiler/java/BytecodeParser;
            0    3     4                method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0    3     5              entryBCI  I
            0    3     6      intrinsicContext  Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext;
    MethodParameters:
                      Name  Flags
      graphBuilderInstance  
      graph                 
      parent                
      method                
      entryBCI              
      intrinsicContext      

  public com.oracle.svm.hosted.meta.HostedMethod getMethod();
    descriptor: ()Lcom/oracle/svm/hosted/meta/HostedMethod;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.hosted.phases.HostedBytecodeParser this
         0: .line 94
            aload 0 /* this */
            invokespecial com.oracle.svm.hosted.phases.SubstrateGraphBuilderPhase$SubstrateBytecodeParser.getMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            checkcast com.oracle.svm.hosted.meta.HostedMethod
            areturn
        end local 0 // com.oracle.svm.hosted.phases.HostedBytecodeParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/hosted/phases/HostedBytecodeParser;

  protected boolean forceLoopPhis();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.hosted.phases.HostedBytecodeParser this
         0: .line 99
            aload 0 /* this */
            invokevirtual com.oracle.svm.hosted.phases.HostedBytecodeParser.getMethod:()Lcom/oracle/svm/hosted/meta/HostedMethod;
            getfield com.oracle.svm.hosted.meta.HostedMethod.compilationInfo:Lcom/oracle/svm/hosted/code/CompilationInfo;
            invokevirtual com.oracle.svm.hosted.code.CompilationInfo.isDeoptTarget:()Z
            ifne 1
            aload 0 /* this */
            invokespecial com.oracle.svm.hosted.phases.SubstrateGraphBuilderPhase$SubstrateBytecodeParser.forceLoopPhis:()Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // com.oracle.svm.hosted.phases.HostedBytecodeParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/svm/hosted/phases/HostedBytecodeParser;

  protected boolean stampFromValueForForcedPhis();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.hosted.phases.HostedBytecodeParser this
         0: .line 104
            iconst_1
            ireturn
        end local 0 // com.oracle.svm.hosted.phases.HostedBytecodeParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/hosted/phases/HostedBytecodeParser;

  protected void build(org.graalvm.compiler.nodes.FixedWithNextNode, org.graalvm.compiler.java.FrameStateBuilder);
    descriptor: (Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/java/FrameStateBuilder;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // com.oracle.svm.hosted.phases.HostedBytecodeParser this
        start local 1 // org.graalvm.compiler.nodes.FixedWithNextNode startInstruction
        start local 2 // org.graalvm.compiler.java.FrameStateBuilder startFrameState
         0: .line 109
            aload 0 /* this */
            aload 1 /* startInstruction */
            aload 2 /* startFrameState */
            invokespecial com.oracle.svm.hosted.phases.SubstrateGraphBuilderPhase$SubstrateBytecodeParser.build:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/java/FrameStateBuilder;)V
         1: .line 112
            aload 0 /* this */
            invokevirtual com.oracle.svm.hosted.phases.HostedBytecodeParser.getGraph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            getstatic org.graalvm.compiler.nodes.StructuredGraph$GuardsStage.FIXED_DEOPTS:Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.setGuardsStage:(Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;)V
         2: .line 114
            getstatic com.oracle.svm.hosted.phases.HostedBytecodeParser.$assertionsDisabled:Z
            ifne 3
            aload 0 /* this */
            invokevirtual com.oracle.svm.hosted.phases.HostedBytecodeParser.getMethod:()Lcom/oracle/svm/hosted/meta/HostedMethod;
            invokevirtual com.oracle.svm.hosted.meta.HostedMethod.isEntryPoint:()Z
            ifeq 3
            new java.lang.AssertionError
            dup
            ldc "Cannot directly use as entry point, create a call stub"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 116
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.svm.hosted.phases.HostedBytecodeParser.getMethod:()Lcom/oracle/svm/hosted/meta/HostedMethod;
            getfield com.oracle.svm.hosted.meta.HostedMethod.compilationInfo:Lcom/oracle/svm/hosted/code/CompilationInfo;
            invokevirtual com.oracle.svm.hosted.code.CompilationInfo.isDeoptTarget:()Z
            ifeq 10
         4: .line 121
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.HostedBytecodeParser.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
            getstatic com.oracle.svm.hosted.nodes.DeoptProxyNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:(Lorg/graalvm/compiler/graph/NodeClass;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 4
            goto 9
      StackMap locals: com.oracle.svm.hosted.phases.HostedBytecodeParser org.graalvm.compiler.nodes.FixedWithNextNode org.graalvm.compiler.java.FrameStateBuilder top java.util.Iterator
      StackMap stack:
         5: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.svm.hosted.nodes.DeoptProxyNode
            astore 3 /* deoptProxy */
        start local 3 // com.oracle.svm.hosted.nodes.DeoptProxyNode deoptProxy
         6: .line 122
            aload 3 /* deoptProxy */
            invokevirtual com.oracle.svm.hosted.nodes.DeoptProxyNode.hasProxyPoint:()Z
            ifne 9
         7: .line 123
            aload 3 /* deoptProxy */
            invokevirtual com.oracle.svm.hosted.nodes.DeoptProxyNode.getOriginalNode:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 5 /* originalValue */
        start local 5 // org.graalvm.compiler.nodes.ValueNode originalValue
         8: .line 124
            aload 3 /* deoptProxy */
            aload 5 /* originalValue */
            invokevirtual com.oracle.svm.hosted.nodes.DeoptProxyNode.replaceAtUsagesAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
        end local 5 // org.graalvm.compiler.nodes.ValueNode originalValue
        end local 3 // com.oracle.svm.hosted.nodes.DeoptProxyNode deoptProxy
         9: .line 121
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        10: .line 128
      StackMap locals: com.oracle.svm.hosted.phases.HostedBytecodeParser org.graalvm.compiler.nodes.FixedWithNextNode org.graalvm.compiler.java.FrameStateBuilder
      StackMap stack:
            return
        end local 2 // org.graalvm.compiler.java.FrameStateBuilder startFrameState
        end local 1 // org.graalvm.compiler.nodes.FixedWithNextNode startInstruction
        end local 0 // com.oracle.svm.hosted.phases.HostedBytecodeParser this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   11     0              this  Lcom/oracle/svm/hosted/phases/HostedBytecodeParser;
            0   11     1  startInstruction  Lorg/graalvm/compiler/nodes/FixedWithNextNode;
            0   11     2   startFrameState  Lorg/graalvm/compiler/java/FrameStateBuilder;
            6    9     3        deoptProxy  Lcom/oracle/svm/hosted/nodes/DeoptProxyNode;
            8    9     5     originalValue  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
                  Name  Flags
      startInstruction  
      startFrameState   

  public 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, jdk.vm.ci.meta.JavaTypeProfile);
    descriptor: (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;)Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=6, args_size=6
        start local 0 // com.oracle.svm.hosted.phases.HostedBytecodeParser 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 // jdk.vm.ci.meta.JavaTypeProfile profile
         0: .line 132
            new com.oracle.svm.hosted.nodes.SubstrateMethodCallTargetNode
            dup
            aload 1 /* invokeKind */
            aload 2 /* targetMethod */
            aload 3 /* args */
            aload 4 /* returnStamp */
            aload 0 /* this */
            invokevirtual com.oracle.svm.hosted.phases.HostedBytecodeParser.getMethod:()Lcom/oracle/svm/hosted/meta/HostedMethod;
            invokevirtual com.oracle.svm.hosted.meta.HostedMethod.getProfilingInfo:()Lcom/oracle/graal/pointsto/results/StaticAnalysisResults;
            aload 0 /* this */
            invokevirtual com.oracle.svm.hosted.phases.HostedBytecodeParser.bci:()I
            invokespecial com.oracle.svm.hosted.nodes.SubstrateMethodCallTargetNode.<init>:(Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/StampPair;Lcom/oracle/graal/pointsto/results/StaticAnalysisResults;I)V
            areturn
        end local 5 // jdk.vm.ci.meta.JavaTypeProfile profile
        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 // com.oracle.svm.hosted.phases.HostedBytecodeParser this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lcom/oracle/svm/hosted/phases/HostedBytecodeParser;
            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       profile  Ljdk/vm/ci/meta/JavaTypeProfile;
    MethodParameters:
              Name  Flags
      invokeKind    
      targetMethod  
      args          
      returnStamp   
      profile       

  private void insertProxies(org.graalvm.compiler.nodes.FixedNode, org.graalvm.compiler.java.FrameStateBuilder);
    descriptor: (Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/java/FrameStateBuilder;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.svm.hosted.phases.HostedBytecodeParser this
        start local 1 // org.graalvm.compiler.nodes.FixedNode deoptTarget
        start local 2 // org.graalvm.compiler.java.FrameStateBuilder state
         0: .line 144
            aload 2 /* state */
            aload 0 /* this */
            aload 1 /* deoptTarget */
            invokedynamic apply(Lcom/oracle/svm/hosted/phases/HostedBytecodeParser;Lorg/graalvm/compiler/nodes/FixedNode;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/svm/hosted/phases/HostedBytecodeParser.lambda$0(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode; (7)
                  (Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.java.FrameStateBuilder.insertProxies:(Ljava/util/function/Function;)V
         1: .line 145
            aload 0 /* this */
            dup
            getfield com.oracle.svm.hosted.phases.HostedBytecodeParser.currentDeoptIndex:I
            iconst_1
            iadd
            putfield com.oracle.svm.hosted.phases.HostedBytecodeParser.currentDeoptIndex:I
         2: .line 146
            return
        end local 2 // org.graalvm.compiler.java.FrameStateBuilder state
        end local 1 // org.graalvm.compiler.nodes.FixedNode deoptTarget
        end local 0 // com.oracle.svm.hosted.phases.HostedBytecodeParser this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lcom/oracle/svm/hosted/phases/HostedBytecodeParser;
            0    3     1  deoptTarget  Lorg/graalvm/compiler/nodes/FixedNode;
            0    3     2        state  Lorg/graalvm/compiler/java/FrameStateBuilder;
    MethodParameters:
             Name  Flags
      deoptTarget  
      state        

  private org.graalvm.compiler.nodes.ValueNode createProxyNode(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.FixedNode);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.oracle.svm.hosted.phases.HostedBytecodeParser this
        start local 1 // org.graalvm.compiler.nodes.ValueNode value
        start local 2 // org.graalvm.compiler.nodes.FixedNode deoptTarget
         0: .line 149
            aload 1 /* value */
            aload 2 /* deoptTarget */
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.HostedBytecodeParser.currentDeoptIndex:I
            invokestatic com.oracle.svm.hosted.nodes.DeoptProxyNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;I)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 3 /* v */
        start local 3 // org.graalvm.compiler.nodes.ValueNode v
         1: .line 150
            aload 3 /* v */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            ifnull 3
         2: .line 151
            aload 3 /* v */
            areturn
         3: .line 153
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.HostedBytecodeParser.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
            aload 3 /* v */
            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 3 // org.graalvm.compiler.nodes.ValueNode v
        end local 2 // org.graalvm.compiler.nodes.FixedNode deoptTarget
        end local 1 // org.graalvm.compiler.nodes.ValueNode value
        end local 0 // com.oracle.svm.hosted.phases.HostedBytecodeParser this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lcom/oracle/svm/hosted/phases/HostedBytecodeParser;
            0    4     1        value  Lorg/graalvm/compiler/nodes/ValueNode;
            0    4     2  deoptTarget  Lorg/graalvm/compiler/nodes/FixedNode;
            1    4     3            v  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
             Name  Flags
      value        
      deoptTarget  

  protected void finishPrepare(org.graalvm.compiler.nodes.FixedWithNextNode, int, org.graalvm.compiler.java.FrameStateBuilder);
    descriptor: (Lorg/graalvm/compiler/nodes/FixedWithNextNode;ILorg/graalvm/compiler/java/FrameStateBuilder;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // com.oracle.svm.hosted.phases.HostedBytecodeParser this
        start local 1 // org.graalvm.compiler.nodes.FixedWithNextNode startInstr
        start local 2 // int bci
        start local 3 // org.graalvm.compiler.java.FrameStateBuilder state
         0: .line 161
            aload 0 /* this */
            aload 1 /* startInstr */
            iload 2 /* bci */
            aload 3 /* state */
            invokespecial com.oracle.svm.hosted.phases.SubstrateGraphBuilderPhase$SubstrateBytecodeParser.finishPrepare:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;ILorg/graalvm/compiler/java/FrameStateBuilder;)V
         1: .line 163
            aload 0 /* this */
            invokevirtual com.oracle.svm.hosted.phases.HostedBytecodeParser.getMethod:()Lcom/oracle/svm/hosted/meta/HostedMethod;
            getfield com.oracle.svm.hosted.meta.HostedMethod.compilationInfo:Lcom/oracle/svm/hosted/code/CompilationInfo;
            iload 2 /* bci */
            iconst_0
            iconst_0
            invokevirtual com.oracle.svm.hosted.code.CompilationInfo.isDeoptEntry:(IZZ)Z
            ifeq 6
         2: .line 164
            aload 0 /* this */
            new com.oracle.svm.core.graal.nodes.DeoptEntryNode
            dup
            invokespecial com.oracle.svm.core.graal.nodes.DeoptEntryNode.<init>:()V
            invokevirtual com.oracle.svm.hosted.phases.HostedBytecodeParser.append:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            checkcast com.oracle.svm.core.graal.nodes.DeoptEntryNode
            astore 4 /* deoptEntry */
        start local 4 // com.oracle.svm.core.graal.nodes.DeoptEntryNode deoptEntry
         3: .line 165
            aload 4 /* deoptEntry */
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.HostedBytecodeParser.frameState:Lorg/graalvm/compiler/java/FrameStateBuilder;
            iload 2 /* bci */
            aload 4 /* deoptEntry */
            invokevirtual org.graalvm.compiler.java.FrameStateBuilder.create:(ILorg/graalvm/compiler/nodes/StateSplit;)Lorg/graalvm/compiler/nodes/FrameState;
            invokevirtual com.oracle.svm.core.graal.nodes.DeoptEntryNode.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
         4: .line 166
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.HostedBytecodeParser.deoptEntries:Ljava/util/Map;
            iload 2 /* bci */
            i2l
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aload 4 /* deoptEntry */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 167
            aload 0 /* this */
            aload 4 /* deoptEntry */
            aload 3 /* state */
            invokevirtual com.oracle.svm.hosted.phases.HostedBytecodeParser.insertProxies:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/java/FrameStateBuilder;)V
        end local 4 // com.oracle.svm.core.graal.nodes.DeoptEntryNode deoptEntry
         6: .line 169
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.graalvm.compiler.java.FrameStateBuilder state
        end local 2 // int bci
        end local 1 // org.graalvm.compiler.nodes.FixedWithNextNode startInstr
        end local 0 // com.oracle.svm.hosted.phases.HostedBytecodeParser this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lcom/oracle/svm/hosted/phases/HostedBytecodeParser;
            0    7     1  startInstr  Lorg/graalvm/compiler/nodes/FixedWithNextNode;
            0    7     2         bci  I
            0    7     3       state  Lorg/graalvm/compiler/java/FrameStateBuilder;
            3    6     4  deoptEntry  Lcom/oracle/svm/core/graal/nodes/DeoptEntryNode;
    MethodParameters:
            Name  Flags
      startInstr  
      bci         
      state       

  protected void parseAndInlineCallee(jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.ValueNode[], org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=9, args_size=4
        start local 0 // com.oracle.svm.hosted.phases.HostedBytecodeParser this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaMethod targetMethod
        start local 2 // org.graalvm.compiler.nodes.ValueNode[] args
        start local 3 // org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext calleeIntrinsicContext
         0: .line 173
            aload 0 /* this */
            invokevirtual com.oracle.svm.hosted.phases.HostedBytecodeParser.getMethod:()Lcom/oracle/svm/hosted/meta/HostedMethod;
            getfield com.oracle.svm.hosted.meta.HostedMethod.compilationInfo:Lcom/oracle/svm/hosted/code/CompilationInfo;
            aload 0 /* this */
            invokevirtual com.oracle.svm.hosted.phases.HostedBytecodeParser.bci:()I
            iconst_0
            iconst_0
            invokevirtual com.oracle.svm.hosted.code.CompilationInfo.isDeoptEntry:(IZZ)Z
            ifeq 18
         1: .line 174
            getstatic com.oracle.svm.hosted.phases.HostedBytecodeParser.$assertionsDisabled:Z
            ifne 2
            invokestatic com.oracle.svm.hosted.NativeImageGenerator.nativeImageInlineDuringParsingEnabled:()Z
            ifne 2
            aload 3 /* calleeIntrinsicContext */
            ifnonnull 2
            new java.lang.AssertionError
            dup
            ldc "only inlining replacements when inline during parsing disabled"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 182
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.HostedBytecodeParser.frameState:Lorg/graalvm/compiler/java/FrameStateBuilder;
            aload 0 /* this */
            invokevirtual com.oracle.svm.hosted.phases.HostedBytecodeParser.bci:()I
            aload 0 /* this */
            invokevirtual com.oracle.svm.hosted.phases.HostedBytecodeParser.getNonIntrinsicAncestor:()Lorg/graalvm/compiler/java/BytecodeParser;
            iconst_0
            aload 1 /* targetMethod */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
            aload 1 /* targetMethod */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.isStatic:()Z
            ifeq 3
            iconst_0
            goto 4
      StackMap locals: com.oracle.svm.hosted.phases.HostedBytecodeParser jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.ValueNode[] org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext
      StackMap stack: org.graalvm.compiler.java.FrameStateBuilder int org.graalvm.compiler.java.BytecodeParser int jdk.vm.ci.meta.Signature
         3: iconst_1
      StackMap locals: com.oracle.svm.hosted.phases.HostedBytecodeParser jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.ValueNode[] org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext
      StackMap stack: org.graalvm.compiler.java.FrameStateBuilder int org.graalvm.compiler.java.BytecodeParser int jdk.vm.ci.meta.Signature int
         4: invokeinterface jdk.vm.ci.meta.Signature.toParameterKinds:(Z)[Ljdk/vm/ci/meta/JavaKind;
            aload 2 /* args */
            invokevirtual org.graalvm.compiler.java.FrameStateBuilder.create:(ILorg/graalvm/compiler/java/BytecodeParser;Z[Ljdk/vm/ci/meta/JavaKind;[Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/FrameState;
            astore 4 /* stateAfter */
        start local 4 // org.graalvm.compiler.nodes.FrameState stateAfter
         5: .line 183
            aload 4 /* stateAfter */
            getfield org.graalvm.compiler.nodes.FrameState.bci:I
            aload 4 /* stateAfter */
            invokevirtual org.graalvm.compiler.nodes.FrameState.duringCall:()Z
            aload 4 /* stateAfter */
            invokevirtual org.graalvm.compiler.nodes.FrameState.rethrowException:()Z
            invokestatic com.oracle.svm.core.code.FrameInfoEncoder.encodeBci:(IZZ)J
            lstore 5 /* encodedBci */
        start local 5 // long encodedBci
         6: .line 184
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.HostedBytecodeParser.deoptEntries:Ljava/util/Map;
            lload 5 /* encodedBci */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 17
         7: .line 185
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.HostedBytecodeParser.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
            new com.oracle.svm.core.graal.nodes.DeoptEntryNode
            dup
            invokespecial com.oracle.svm.core.graal.nodes.DeoptEntryNode.<init>:()V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast com.oracle.svm.core.graal.nodes.DeoptEntryNode
            astore 7 /* deoptEntry */
        start local 7 // com.oracle.svm.core.graal.nodes.DeoptEntryNode deoptEntry
         8: .line 186
            aload 7 /* deoptEntry */
            aload 4 /* stateAfter */
            invokevirtual com.oracle.svm.core.graal.nodes.DeoptEntryNode.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
         9: .line 187
            aload 0 /* this */
            aload 7 /* deoptEntry */
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.HostedBytecodeParser.frameState:Lorg/graalvm/compiler/java/FrameStateBuilder;
            invokevirtual com.oracle.svm.hosted.phases.HostedBytecodeParser.insertProxies:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/java/FrameStateBuilder;)V
        10: .line 189
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.HostedBytecodeParser.lastInstr:Lorg/graalvm/compiler/nodes/FixedWithNextNode;
            aload 7 /* deoptEntry */
            invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
        11: .line 190
            aload 0 /* this */
            aload 7 /* deoptEntry */
            putfield com.oracle.svm.hosted.phases.HostedBytecodeParser.lastInstr:Lorg/graalvm/compiler/nodes/FixedWithNextNode;
        12: .line 192
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        13: goto 16
        14: .line 193
      StackMap locals: com.oracle.svm.hosted.phases.HostedBytecodeParser jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.ValueNode[] org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext org.graalvm.compiler.nodes.FrameState long com.oracle.svm.core.graal.nodes.DeoptEntryNode int
      StackMap stack:
            aload 2 /* args */
            iload 8 /* i */
            aload 0 /* this */
            aload 2 /* args */
            iload 8 /* i */
            aaload
            aload 7 /* deoptEntry */
            invokevirtual com.oracle.svm.hosted.phases.HostedBytecodeParser.createProxyNode:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            aastore
        15: .line 192
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 8 /* i */
            aload 2 /* args */
            arraylength
            if_icmplt 14
        end local 8 // int i
        end local 7 // com.oracle.svm.core.graal.nodes.DeoptEntryNode deoptEntry
        17: .line 200
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.HostedBytecodeParser.deoptEntries:Ljava/util/Map;
            lload 5 /* encodedBci */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            getstatic com.oracle.svm.hosted.phases.HostedBytecodeParser.STICKY_DEOPT_ENTRY:Lcom/oracle/svm/core/graal/nodes/DeoptEntryNode;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 5 // long encodedBci
        end local 4 // org.graalvm.compiler.nodes.FrameState stateAfter
        18: .line 203
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* targetMethod */
            aload 2 /* args */
            aload 3 /* calleeIntrinsicContext */
            invokespecial com.oracle.svm.hosted.phases.SubstrateGraphBuilderPhase$SubstrateBytecodeParser.parseAndInlineCallee:(Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext;)V
        19: .line 204
            return
        end local 3 // org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext calleeIntrinsicContext
        end local 2 // org.graalvm.compiler.nodes.ValueNode[] args
        end local 1 // jdk.vm.ci.meta.ResolvedJavaMethod targetMethod
        end local 0 // com.oracle.svm.hosted.phases.HostedBytecodeParser this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   20     0                    this  Lcom/oracle/svm/hosted/phases/HostedBytecodeParser;
            0   20     1            targetMethod  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0   20     2                    args  [Lorg/graalvm/compiler/nodes/ValueNode;
            0   20     3  calleeIntrinsicContext  Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext;
            5   18     4              stateAfter  Lorg/graalvm/compiler/nodes/FrameState;
            6   18     5              encodedBci  J
            8   17     7              deoptEntry  Lcom/oracle/svm/core/graal/nodes/DeoptEntryNode;
           13   17     8                       i  I
    MethodParameters:
                        Name  Flags
      targetMethod            
      args                    
      calleeIntrinsicContext  

  protected org.graalvm.compiler.nodes.FixedWithNextNode finishInstruction(org.graalvm.compiler.nodes.FixedWithNextNode, org.graalvm.compiler.java.FrameStateBuilder);
    descriptor: (Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/java/FrameStateBuilder;)Lorg/graalvm/compiler/nodes/FixedWithNextNode;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=10, args_size=3
        start local 0 // com.oracle.svm.hosted.phases.HostedBytecodeParser this
        start local 1 // org.graalvm.compiler.nodes.FixedWithNextNode instr
        start local 2 // org.graalvm.compiler.java.FrameStateBuilder stateBuilder
         0: .line 211
            aload 0 /* this */
            invokevirtual com.oracle.svm.hosted.phases.HostedBytecodeParser.getMethod:()Lcom/oracle/svm/hosted/meta/HostedMethod;
            getfield com.oracle.svm.hosted.meta.HostedMethod.compilationInfo:Lcom/oracle/svm/hosted/code/CompilationInfo;
            invokevirtual com.oracle.svm.hosted.code.CompilationInfo.isDeoptTarget:()Z
            ifeq 45
            aload 0 /* this */
            invokevirtual com.oracle.svm.hosted.phases.HostedBytecodeParser.parsingIntrinsic:()Z
            ifne 45
         1: .line 212
            aconst_null
            astore 3 /* stateAfter */
        start local 3 // org.graalvm.compiler.nodes.FrameState stateAfter
         2: .line 213
            aload 1 /* instr */
            instanceof org.graalvm.compiler.nodes.StateSplit
            ifeq 6
            aload 1 /* instr */
            instanceof com.oracle.svm.core.graal.nodes.DeoptEntryNode
            ifne 6
         3: .line 218
            aload 1 /* instr */
            checkcast org.graalvm.compiler.nodes.StateSplit
            astore 4 /* stateSplit */
        start local 4 // org.graalvm.compiler.nodes.StateSplit stateSplit
         4: .line 219
            aload 4 /* stateSplit */
            invokeinterface org.graalvm.compiler.nodes.StateSplit.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
            astore 3 /* stateAfter */
        end local 4 // org.graalvm.compiler.nodes.StateSplit stateSplit
         5: .line 220
            goto 12
      StackMap locals: org.graalvm.compiler.nodes.FrameState
      StackMap stack:
         6: aload 1 /* instr */
            instanceof org.graalvm.compiler.nodes.AbstractBeginNode
            ifeq 12
         7: .line 230
            aload 1 /* instr */
            invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.predecessor:()Lorg/graalvm/compiler/graph/Node;
            astore 4 /* predecessor */
        start local 4 // org.graalvm.compiler.graph.Node predecessor
         8: .line 231
            aload 4 /* predecessor */
            instanceof org.graalvm.compiler.nodes.KillingBeginNode
            ifeq 10
         9: .line 235
            aload 4 /* predecessor */
            invokevirtual org.graalvm.compiler.graph.Node.predecessor:()Lorg/graalvm/compiler/graph/Node;
            astore 4 /* predecessor */
        10: .line 237
      StackMap locals: org.graalvm.compiler.graph.Node
      StackMap stack:
            aload 4 /* predecessor */
            instanceof org.graalvm.compiler.nodes.StateSplit
            ifeq 12
            aload 4 /* predecessor */
            instanceof com.oracle.svm.core.graal.nodes.DeoptEntryNode
            ifne 12
        11: .line 238
            aload 4 /* predecessor */
            checkcast org.graalvm.compiler.nodes.StateSplit
            invokeinterface org.graalvm.compiler.nodes.StateSplit.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
            astore 3 /* stateAfter */
        end local 4 // org.graalvm.compiler.graph.Node predecessor
        12: .line 242
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* needsDeoptEntry */
        start local 4 // boolean needsDeoptEntry
        13: .line 243
            iconst_0
            istore 5 /* needsProxies */
        start local 5 // boolean needsProxies
        14: .line 244
            aload 3 /* stateAfter */
            ifnull 24
        15: .line 245
            aload 0 /* this */
            invokevirtual com.oracle.svm.hosted.phases.HostedBytecodeParser.getMethod:()Lcom/oracle/svm/hosted/meta/HostedMethod;
            getfield com.oracle.svm.hosted.meta.HostedMethod.compilationInfo:Lcom/oracle/svm/hosted/code/CompilationInfo;
            aload 3 /* stateAfter */
            getfield org.graalvm.compiler.nodes.FrameState.bci:I
            aload 3 /* stateAfter */
            invokevirtual org.graalvm.compiler.nodes.FrameState.duringCall:()Z
            aload 3 /* stateAfter */
            invokevirtual org.graalvm.compiler.nodes.FrameState.rethrowException:()Z
            invokevirtual com.oracle.svm.hosted.code.CompilationInfo.isDeoptEntry:(IZZ)Z
            ifeq 19
        16: .line 246
            iconst_1
            istore 4 /* needsDeoptEntry */
        17: .line 247
            iconst_1
            istore 5 /* needsProxies */
        18: .line 248
            goto 24
      StackMap locals: int int
      StackMap stack:
        19: aload 1 /* instr */
            invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.predecessor:()Lorg/graalvm/compiler/graph/Node;
            instanceof org.graalvm.compiler.nodes.Invoke
            ifeq 22
            aload 0 /* this */
            invokevirtual com.oracle.svm.hosted.phases.HostedBytecodeParser.getMethod:()Lcom/oracle/svm/hosted/meta/HostedMethod;
            getfield com.oracle.svm.hosted.meta.HostedMethod.compilationInfo:Lcom/oracle/svm/hosted/code/CompilationInfo;
            aload 1 /* instr */
            invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.predecessor:()Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.Invoke
            invokeinterface org.graalvm.compiler.nodes.Invoke.bci:()I
            iconst_1
            iconst_0
            invokevirtual com.oracle.svm.hosted.code.CompilationInfo.isDeoptEntry:(IZZ)Z
            ifeq 22
        20: .line 254
            iconst_1
            istore 5 /* needsProxies */
        21: .line 255
            goto 24
      StackMap locals:
      StackMap stack:
        22: aload 1 /* instr */
            instanceof org.graalvm.compiler.nodes.java.ExceptionObjectNode
            ifeq 24
            aload 0 /* this */
            invokevirtual com.oracle.svm.hosted.phases.HostedBytecodeParser.getMethod:()Lcom/oracle/svm/hosted/meta/HostedMethod;
            getfield com.oracle.svm.hosted.meta.HostedMethod.compilationInfo:Lcom/oracle/svm/hosted/code/CompilationInfo;
            aload 1 /* instr */
            checkcast org.graalvm.compiler.nodes.java.ExceptionObjectNode
            invokevirtual org.graalvm.compiler.nodes.java.ExceptionObjectNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
            getfield org.graalvm.compiler.nodes.FrameState.bci:I
            iconst_1
            iconst_0
            invokevirtual com.oracle.svm.hosted.code.CompilationInfo.isDeoptEntry:(IZZ)Z
            ifeq 24
        23: .line 261
            iconst_1
            istore 5 /* needsProxies */
        24: .line 265
      StackMap locals:
      StackMap stack:
            iload 5 /* needsProxies */
            ifeq 45
        25: .line 266
            aload 3 /* stateAfter */
            getfield org.graalvm.compiler.nodes.FrameState.bci:I
            aload 3 /* stateAfter */
            invokevirtual org.graalvm.compiler.nodes.FrameState.duringCall:()Z
            aload 3 /* stateAfter */
            invokevirtual org.graalvm.compiler.nodes.FrameState.rethrowException:()Z
            invokestatic com.oracle.svm.core.code.FrameInfoEncoder.encodeBci:(IZZ)J
            lstore 6 /* encodedBci */
        start local 6 // long encodedBci
        26: .line 267
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.HostedBytecodeParser.deoptEntries:Ljava/util/Map;
            lload 6 /* encodedBci */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.oracle.svm.core.graal.nodes.DeoptProxyAnchorNode
            astore 8 /* existingDeoptEntry */
        start local 8 // com.oracle.svm.core.graal.nodes.DeoptProxyAnchorNode existingDeoptEntry
        27: .line 268
            aload 8 /* existingDeoptEntry */
            ifnull 28
            aload 8 /* existingDeoptEntry */
            getstatic com.oracle.svm.hosted.phases.HostedBytecodeParser.STICKY_DEOPT_ENTRY:Lcom/oracle/svm/core/graal/nodes/DeoptEntryNode;
            if_acmpeq 45
            aload 1 /* instr */
            instanceof org.graalvm.compiler.nodes.AbstractMergeNode
            ifeq 45
        28: .line 269
      StackMap locals: long com.oracle.svm.core.graal.nodes.DeoptProxyAnchorNode
      StackMap stack:
            aload 8 /* existingDeoptEntry */
            ifnull 34
        29: .line 276
            aload 8 /* existingDeoptEntry */
            aconst_null
            invokevirtual com.oracle.svm.core.graal.nodes.DeoptProxyAnchorNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
        30: .line 277
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.HostedBytecodeParser.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
            aload 8 /* existingDeoptEntry */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.removeFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
        31: .line 278
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.HostedBytecodeParser.deoptEntries:Ljava/util/Map;
            lload 6 /* encodedBci */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        32: .line 280
            aload 8 /* existingDeoptEntry */
            instanceof com.oracle.svm.core.graal.nodes.DeoptEntryNode
            ifeq 34
        33: .line 286
            iconst_1
            istore 4 /* needsDeoptEntry */
        34: .line 289
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.svm.hosted.phases.HostedBytecodeParser.$assertionsDisabled:Z
            ifne 35
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.HostedBytecodeParser.deoptEntries:Ljava/util/Map;
            lload 6 /* encodedBci */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 35
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "duplicate deopt entry for encoded BCI "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 6 /* encodedBci */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        35: .line 290
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* stateBuilder */
            aload 3 /* stateAfter */
            iload 4 /* needsDeoptEntry */
            ifeq 36
            iconst_0
            goto 37
      StackMap locals: com.oracle.svm.hosted.phases.HostedBytecodeParser org.graalvm.compiler.nodes.FixedWithNextNode org.graalvm.compiler.java.FrameStateBuilder org.graalvm.compiler.nodes.FrameState int int long com.oracle.svm.core.graal.nodes.DeoptProxyAnchorNode
      StackMap stack: com.oracle.svm.hosted.phases.HostedBytecodeParser org.graalvm.compiler.java.FrameStateBuilder org.graalvm.compiler.nodes.FrameState
        36: iconst_1
      StackMap locals: com.oracle.svm.hosted.phases.HostedBytecodeParser org.graalvm.compiler.nodes.FixedWithNextNode org.graalvm.compiler.java.FrameStateBuilder org.graalvm.compiler.nodes.FrameState int int long com.oracle.svm.core.graal.nodes.DeoptProxyAnchorNode
      StackMap stack: com.oracle.svm.hosted.phases.HostedBytecodeParser org.graalvm.compiler.java.FrameStateBuilder org.graalvm.compiler.nodes.FrameState int
        37: invokevirtual com.oracle.svm.hosted.phases.HostedBytecodeParser.createDeoptEntry:(Lorg/graalvm/compiler/java/FrameStateBuilder;Lorg/graalvm/compiler/nodes/FrameState;Z)Lcom/oracle/svm/core/graal/nodes/DeoptProxyAnchorNode;
            astore 9 /* deoptEntry */
        start local 9 // com.oracle.svm.core.graal.nodes.DeoptProxyAnchorNode deoptEntry
        38: .line 292
            aload 1 /* instr */
            instanceof org.graalvm.compiler.nodes.LoopBeginNode
            ifeq 41
        39: .line 298
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.HostedBytecodeParser.deoptEntries:Ljava/util/Map;
            lload 6 /* encodedBci */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            getstatic com.oracle.svm.hosted.phases.HostedBytecodeParser.STICKY_DEOPT_ENTRY:Lcom/oracle/svm/core/graal/nodes/DeoptEntryNode;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        40: .line 299
            goto 42
        41: .line 300
      StackMap locals: com.oracle.svm.core.graal.nodes.DeoptProxyAnchorNode
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.HostedBytecodeParser.deoptEntries:Ljava/util/Map;
            lload 6 /* encodedBci */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aload 9 /* deoptEntry */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        42: .line 303
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.svm.hosted.phases.HostedBytecodeParser.$assertionsDisabled:Z
            ifne 43
            aload 1 /* instr */
            invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
            ifnull 43
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "cannot append instruction to instruction which isn't end ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* instr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "->"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* instr */
            invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
            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
        43: .line 304
      StackMap locals:
      StackMap stack:
            aload 1 /* instr */
            aload 9 /* deoptEntry */
            invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
        44: .line 305
            aload 9 /* deoptEntry */
            areturn
        end local 9 // com.oracle.svm.core.graal.nodes.DeoptProxyAnchorNode deoptEntry
        end local 8 // com.oracle.svm.core.graal.nodes.DeoptProxyAnchorNode existingDeoptEntry
        end local 6 // long encodedBci
        end local 5 // boolean needsProxies
        end local 4 // boolean needsDeoptEntry
        end local 3 // org.graalvm.compiler.nodes.FrameState stateAfter
        45: .line 309
      StackMap locals: com.oracle.svm.hosted.phases.HostedBytecodeParser org.graalvm.compiler.nodes.FixedWithNextNode org.graalvm.compiler.java.FrameStateBuilder
      StackMap stack:
            aload 0 /* this */
            aload 1 /* instr */
            aload 2 /* stateBuilder */
            invokespecial com.oracle.svm.hosted.phases.SubstrateGraphBuilderPhase$SubstrateBytecodeParser.finishInstruction:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/java/FrameStateBuilder;)Lorg/graalvm/compiler/nodes/FixedWithNextNode;
            areturn
        end local 2 // org.graalvm.compiler.java.FrameStateBuilder stateBuilder
        end local 1 // org.graalvm.compiler.nodes.FixedWithNextNode instr
        end local 0 // com.oracle.svm.hosted.phases.HostedBytecodeParser this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   46     0                this  Lcom/oracle/svm/hosted/phases/HostedBytecodeParser;
            0   46     1               instr  Lorg/graalvm/compiler/nodes/FixedWithNextNode;
            0   46     2        stateBuilder  Lorg/graalvm/compiler/java/FrameStateBuilder;
            2   45     3          stateAfter  Lorg/graalvm/compiler/nodes/FrameState;
            4    5     4          stateSplit  Lorg/graalvm/compiler/nodes/StateSplit;
            8   12     4         predecessor  Lorg/graalvm/compiler/graph/Node;
           13   45     4     needsDeoptEntry  Z
           14   45     5        needsProxies  Z
           26   45     6          encodedBci  J
           27   45     8  existingDeoptEntry  Lcom/oracle/svm/core/graal/nodes/DeoptProxyAnchorNode;
           38   45     9          deoptEntry  Lcom/oracle/svm/core/graal/nodes/DeoptProxyAnchorNode;
    MethodParameters:
              Name  Flags
      instr         
      stateBuilder  

  private com.oracle.svm.core.graal.nodes.DeoptProxyAnchorNode createDeoptEntry(org.graalvm.compiler.java.FrameStateBuilder, org.graalvm.compiler.nodes.FrameState, boolean);
    descriptor: (Lorg/graalvm/compiler/java/FrameStateBuilder;Lorg/graalvm/compiler/nodes/FrameState;Z)Lcom/oracle/svm/core/graal/nodes/DeoptProxyAnchorNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // com.oracle.svm.hosted.phases.HostedBytecodeParser this
        start local 1 // org.graalvm.compiler.java.FrameStateBuilder stateBuilder
        start local 2 // org.graalvm.compiler.nodes.FrameState stateAfter
        start local 3 // boolean anchorOnly
         0: .line 313
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.HostedBytecodeParser.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
            iload 3 /* anchorOnly */
            ifeq 1
            new com.oracle.svm.core.graal.nodes.DeoptProxyAnchorNode
            dup
            invokespecial com.oracle.svm.core.graal.nodes.DeoptProxyAnchorNode.<init>:()V
            goto 2
      StackMap locals:
      StackMap stack: org.graalvm.compiler.nodes.StructuredGraph
         1: new com.oracle.svm.core.graal.nodes.DeoptEntryNode
            dup
            invokespecial com.oracle.svm.core.graal.nodes.DeoptEntryNode.<init>:()V
      StackMap locals: com.oracle.svm.hosted.phases.HostedBytecodeParser org.graalvm.compiler.java.FrameStateBuilder org.graalvm.compiler.nodes.FrameState int
      StackMap stack: org.graalvm.compiler.nodes.StructuredGraph com.oracle.svm.core.graal.nodes.DeoptProxyAnchorNode
         2: invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast com.oracle.svm.core.graal.nodes.DeoptProxyAnchorNode
            astore 4 /* deoptEntry */
        start local 4 // com.oracle.svm.core.graal.nodes.DeoptProxyAnchorNode deoptEntry
         3: .line 314
            aload 4 /* deoptEntry */
            aload 2 /* stateAfter */
            invokevirtual com.oracle.svm.core.graal.nodes.DeoptProxyAnchorNode.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
         4: .line 316
            aload 0 /* this */
            aload 4 /* deoptEntry */
            aload 1 /* stateBuilder */
            invokevirtual com.oracle.svm.hosted.phases.HostedBytecodeParser.insertProxies:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/java/FrameStateBuilder;)V
         5: .line 317
            aload 4 /* deoptEntry */
            areturn
        end local 4 // com.oracle.svm.core.graal.nodes.DeoptProxyAnchorNode deoptEntry
        end local 3 // boolean anchorOnly
        end local 2 // org.graalvm.compiler.nodes.FrameState stateAfter
        end local 1 // org.graalvm.compiler.java.FrameStateBuilder stateBuilder
        end local 0 // com.oracle.svm.hosted.phases.HostedBytecodeParser this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lcom/oracle/svm/hosted/phases/HostedBytecodeParser;
            0    6     1  stateBuilder  Lorg/graalvm/compiler/java/FrameStateBuilder;
            0    6     2    stateAfter  Lorg/graalvm/compiler/nodes/FrameState;
            0    6     3    anchorOnly  Z
            3    6     4    deoptEntry  Lcom/oracle/svm/core/graal/nodes/DeoptProxyAnchorNode;
    MethodParameters:
              Name  Flags
      stateBuilder  
      stateAfter    
      anchorOnly    

  public jdk.vm.ci.meta.ResolvedJavaMethod getMethod();
    descriptor: ()Ljdk/vm/ci/meta/ResolvedJavaMethod;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual com.oracle.svm.hosted.phases.HostedBytecodeParser.getMethod:()Lcom/oracle/svm/hosted/meta/HostedMethod;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private org.graalvm.compiler.nodes.ValueNode lambda$0(org.graalvm.compiler.nodes.FixedNode, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.svm.hosted.phases.HostedBytecodeParser this
        start local 2 // org.graalvm.compiler.nodes.ValueNode value
         0: .line 144
            aload 0 /* this */
            aload 2 /* value */
            aload 1
            invokevirtual com.oracle.svm.hosted.phases.HostedBytecodeParser.createProxyNode:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            areturn
        end local 2 // org.graalvm.compiler.nodes.ValueNode value
        end local 0 // com.oracle.svm.hosted.phases.HostedBytecodeParser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/oracle/svm/hosted/phases/HostedBytecodeParser;
            0    1     2  value  Lorg/graalvm/compiler/nodes/ValueNode;
}
SourceFile: "HostedGraphBuilderPhase.java"
InnerClasses:
  public SubstrateBytecodeParser = com.oracle.svm.hosted.phases.SubstrateGraphBuilderPhase$SubstrateBytecodeParser of com.oracle.svm.hosted.phases.SubstrateGraphBuilderPhase
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  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 GuardsStage = org.graalvm.compiler.nodes.StructuredGraph$GuardsStage of org.graalvm.compiler.nodes.StructuredGraph