public abstract class org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure<BlockT extends org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState<BlockT>> extends org.graalvm.compiler.virtual.phases.ea.EffectsClosure<BlockT>
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure
  super_class: org.graalvm.compiler.virtual.phases.ea.EffectsClosure
{
  public static final org.graalvm.compiler.debug.DebugCounter COUNTER_MATERIALIZATIONS;
    descriptor: Lorg/graalvm/compiler/debug/DebugCounter;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.graalvm.compiler.debug.DebugCounter COUNTER_MATERIALIZATIONS_PHI;
    descriptor: Lorg/graalvm/compiler/debug/DebugCounter;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.graalvm.compiler.debug.DebugCounter COUNTER_MATERIALIZATIONS_MERGE;
    descriptor: Lorg/graalvm/compiler/debug/DebugCounter;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.graalvm.compiler.debug.DebugCounter COUNTER_MATERIALIZATIONS_UNHANDLED;
    descriptor: Lorg/graalvm/compiler/debug/DebugCounter;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.graalvm.compiler.debug.DebugCounter COUNTER_MATERIALIZATIONS_LOOP_REITERATION;
    descriptor: Lorg/graalvm/compiler/debug/DebugCounter;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.graalvm.compiler.debug.DebugCounter COUNTER_MATERIALIZATIONS_LOOP_END;
    descriptor: Lorg/graalvm/compiler/debug/DebugCounter;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.graalvm.compiler.debug.DebugCounter COUNTER_ALLOCATION_REMOVED;
    descriptor: Lorg/graalvm/compiler/debug/DebugCounter;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.graalvm.compiler.debug.DebugCounter COUNTER_MEMORYCHECKPOINT;
    descriptor: Lorg/graalvm/compiler/debug/DebugCounter;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

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

  private final org.graalvm.compiler.virtual.phases.ea.VirtualizerToolImpl tool;
    descriptor: Lorg/graalvm/compiler/virtual/phases/ea/VirtualizerToolImpl;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public final java.util.ArrayList<org.graalvm.compiler.nodes.virtual.VirtualObjectNode> virtualObjects;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Signature: Ljava/util/ArrayList<Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;>;

  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=1, locals=0, args_size=0
         0: .line 80
            ldc Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure;
            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.virtual.phases.ea.PartialEscapeClosure.$assertionsDisabled:Z
         3: .line 82
            ldc "Materializations"
            invokestatic org.graalvm.compiler.debug.Debug.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/DebugCounter;
            putstatic org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.COUNTER_MATERIALIZATIONS:Lorg/graalvm/compiler/debug/DebugCounter;
         4: .line 83
            ldc "MaterializationsPhi"
            invokestatic org.graalvm.compiler.debug.Debug.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/DebugCounter;
            putstatic org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.COUNTER_MATERIALIZATIONS_PHI:Lorg/graalvm/compiler/debug/DebugCounter;
         5: .line 84
            ldc "MaterializationsMerge"
            invokestatic org.graalvm.compiler.debug.Debug.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/DebugCounter;
            putstatic org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.COUNTER_MATERIALIZATIONS_MERGE:Lorg/graalvm/compiler/debug/DebugCounter;
         6: .line 85
            ldc "MaterializationsUnhandled"
            invokestatic org.graalvm.compiler.debug.Debug.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/DebugCounter;
            putstatic org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.COUNTER_MATERIALIZATIONS_UNHANDLED:Lorg/graalvm/compiler/debug/DebugCounter;
         7: .line 86
            ldc "MaterializationsLoopReiteration"
            invokestatic org.graalvm.compiler.debug.Debug.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/DebugCounter;
            putstatic org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.COUNTER_MATERIALIZATIONS_LOOP_REITERATION:Lorg/graalvm/compiler/debug/DebugCounter;
         8: .line 87
            ldc "MaterializationsLoopEnd"
            invokestatic org.graalvm.compiler.debug.Debug.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/DebugCounter;
            putstatic org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.COUNTER_MATERIALIZATIONS_LOOP_END:Lorg/graalvm/compiler/debug/DebugCounter;
         9: .line 88
            ldc "AllocationsRemoved"
            invokestatic org.graalvm.compiler.debug.Debug.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/DebugCounter;
            putstatic org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.COUNTER_ALLOCATION_REMOVED:Lorg/graalvm/compiler/debug/DebugCounter;
        10: .line 89
            ldc "MemoryCheckpoint"
            invokestatic org.graalvm.compiler.debug.Debug.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/DebugCounter;
            putstatic org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.COUNTER_MEMORYCHECKPOINT:Lorg/graalvm/compiler/debug/DebugCounter;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult, jdk.vm.ci.meta.MetaAccessProvider, jdk.vm.ci.meta.ConstantReflectionProvider, org.graalvm.compiler.core.common.spi.ConstantFieldProvider);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/meta/ConstantReflectionProvider;Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult schedule
        start local 2 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        start local 3 // jdk.vm.ci.meta.ConstantReflectionProvider constantReflection
        start local 4 // org.graalvm.compiler.core.common.spi.ConstantFieldProvider constantFieldProvider
         0: .line 148
            aload 0 /* this */
            aload 1 /* schedule */
            aload 2 /* metaAccess */
            aload 3 /* constantReflection */
            aload 4 /* constantFieldProvider */
            aconst_null
            invokespecial org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.<init>:(Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/meta/ConstantReflectionProvider;Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;Lorg/graalvm/compiler/nodes/spi/LoweringProvider;)V
         1: .line 149
            return
        end local 4 // org.graalvm.compiler.core.common.spi.ConstantFieldProvider constantFieldProvider
        end local 3 // jdk.vm.ci.meta.ConstantReflectionProvider constantReflection
        end local 2 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult schedule
        end local 0 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    2     0                   this  Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure<TBlockT;>;
            0    2     1               schedule  Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;
            0    2     2             metaAccess  Ljdk/vm/ci/meta/MetaAccessProvider;
            0    2     3     constantReflection  Ljdk/vm/ci/meta/ConstantReflectionProvider;
            0    2     4  constantFieldProvider  Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;
    MethodParameters:
                       Name  Flags
      schedule               
      metaAccess             
      constantReflection     
      constantFieldProvider  

  public void <init>(org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult, jdk.vm.ci.meta.MetaAccessProvider, jdk.vm.ci.meta.ConstantReflectionProvider, org.graalvm.compiler.core.common.spi.ConstantFieldProvider, org.graalvm.compiler.nodes.spi.LoweringProvider);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/meta/ConstantReflectionProvider;Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;Lorg/graalvm/compiler/nodes/spi/LoweringProvider;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=7, args_size=6
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult schedule
        start local 2 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        start local 3 // jdk.vm.ci.meta.ConstantReflectionProvider constantReflection
        start local 4 // org.graalvm.compiler.core.common.spi.ConstantFieldProvider constantFieldProvider
        start local 5 // org.graalvm.compiler.nodes.spi.LoweringProvider loweringProvider
         0: .line 153
            aload 0 /* this */
            aload 1 /* schedule */
            aload 1 /* schedule */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult.getCFG:()Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
            invokespecial org.graalvm.compiler.virtual.phases.ea.EffectsClosure.<init>:(Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;)V
         1: .line 94
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.virtualObjects:Ljava/util/ArrayList;
         2: .line 154
            aload 1 /* schedule */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult.getCFG:()Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
            getfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 6 /* graph */
        start local 6 // org.graalvm.compiler.nodes.StructuredGraph graph
         3: .line 155
            aload 0 /* this */
            aload 6 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.createNodeBitMap:()Lorg/graalvm/compiler/graph/NodeBitMap;
            putfield org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.hasVirtualInputs:Lorg/graalvm/compiler/graph/NodeBitMap;
         4: .line 156
            aload 0 /* this */
            new org.graalvm.compiler.virtual.phases.ea.VirtualizerToolImpl
            dup
            aload 2 /* metaAccess */
            aload 3 /* constantReflection */
            aload 4 /* constantFieldProvider */
            aload 0 /* this */
            aload 6 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getAssumptions:()Ljdk/vm/ci/meta/Assumptions;
            aload 5 /* loweringProvider */
            invokespecial org.graalvm.compiler.virtual.phases.ea.VirtualizerToolImpl.<init>:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/meta/ConstantReflectionProvider;Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure;Ljdk/vm/ci/meta/Assumptions;Lorg/graalvm/compiler/nodes/spi/LoweringProvider;)V
            putfield org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.tool:Lorg/graalvm/compiler/virtual/phases/ea/VirtualizerToolImpl;
         5: .line 157
            return
        end local 6 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 5 // org.graalvm.compiler.nodes.spi.LoweringProvider loweringProvider
        end local 4 // org.graalvm.compiler.core.common.spi.ConstantFieldProvider constantFieldProvider
        end local 3 // jdk.vm.ci.meta.ConstantReflectionProvider constantReflection
        end local 2 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult schedule
        end local 0 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    6     0                   this  Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure<TBlockT;>;
            0    6     1               schedule  Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;
            0    6     2             metaAccess  Ljdk/vm/ci/meta/MetaAccessProvider;
            0    6     3     constantReflection  Ljdk/vm/ci/meta/ConstantReflectionProvider;
            0    6     4  constantFieldProvider  Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;
            0    6     5       loweringProvider  Lorg/graalvm/compiler/nodes/spi/LoweringProvider;
            3    6     6                  graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
    MethodParameters:
                       Name  Flags
      schedule               
      metaAccess             
      constantReflection     
      constantFieldProvider  
      loweringProvider       

  protected boolean processNode(org.graalvm.compiler.graph.Node, BlockT, org.graalvm.compiler.virtual.phases.ea.GraphEffectList, org.graalvm.compiler.nodes.FixedWithNextNode);
    descriptor: (Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure this
        start local 1 // org.graalvm.compiler.graph.Node node
        start local 2 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState state
        start local 3 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
        start local 4 // org.graalvm.compiler.nodes.FixedWithNextNode lastFixedNode
         0: .line 169
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.CallTargetNode
            ifne 1
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.FrameState
            ifne 1
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.ConstantNode
            ifeq 2
         1: .line 170
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 171
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.Invoke
            ifeq 4
         3: .line 172
            aload 0 /* this */
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.Invoke
            invokeinterface org.graalvm.compiler.nodes.Invoke.callTarget:()Lorg/graalvm/compiler/nodes/CallTargetNode;
            aload 2 /* state */
            aload 3 /* effects */
            aload 4 /* lastFixedNode */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.processNodeInternal:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)Z
            pop
         4: .line 174
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* node */
            aload 2 /* state */
            aload 3 /* effects */
            aload 4 /* lastFixedNode */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.processNodeInternal:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)Z
            ireturn
        end local 4 // org.graalvm.compiler.nodes.FixedWithNextNode lastFixedNode
        end local 3 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
        end local 2 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState state
        end local 1 // org.graalvm.compiler.graph.Node node
        end local 0 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure<TBlockT;>;
            0    5     1           node  Lorg/graalvm/compiler/graph/Node;
            0    5     2          state  TBlockT;
            0    5     3        effects  Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;
            0    5     4  lastFixedNode  Lorg/graalvm/compiler/nodes/FixedWithNextNode;
    Signature: (Lorg/graalvm/compiler/graph/Node;TBlockT;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)Z
    MethodParameters:
               Name  Flags
      node           
      state          
      effects        
      lastFixedNode  

  private boolean processNodeInternal(org.graalvm.compiler.graph.Node, BlockT, org.graalvm.compiler.virtual.phases.ea.GraphEffectList, org.graalvm.compiler.nodes.FixedWithNextNode);
    descriptor: (Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure this
        start local 1 // org.graalvm.compiler.graph.Node node
        start local 2 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState state
        start local 3 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
        start local 4 // org.graalvm.compiler.nodes.FixedWithNextNode lastFixedNode
         0: .line 178
            aload 4 /* lastFixedNode */
            ifnonnull 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 4 /* lastFixedNode */
            invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
      StackMap locals:
      StackMap stack: org.graalvm.compiler.nodes.FixedNode
         2: astore 5 /* nextFixedNode */
        start local 5 // org.graalvm.compiler.nodes.FixedNode nextFixedNode
         3: .line 179
            ldc "%s"
            aload 1 /* node */
            invokestatic org.graalvm.compiler.virtual.phases.ea.VirtualUtil.trace:(Ljava/lang/String;Ljava/lang/Object;)V
         4: .line 181
            aload 0 /* this */
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.requiresProcessing:(Lorg/graalvm/compiler/graph/Node;)Z
            ifeq 10
         5: .line 182
            aload 0 /* this */
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.ValueNode
            aload 5 /* nextFixedNode */
            aload 2 /* state */
            aload 3 /* effects */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.processVirtualizable:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)Z
            ifne 7
         6: .line 183
            iconst_0
            ireturn
         7: .line 185
      StackMap locals: org.graalvm.compiler.nodes.FixedNode
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.tool:Lorg/graalvm/compiler/virtual/phases/ea/VirtualizerToolImpl;
            invokevirtual org.graalvm.compiler.virtual.phases.ea.VirtualizerToolImpl.isDeleted:()Z
            ifeq 10
         8: .line 186
            ldc "deleted virtualizable allocation %s"
            aload 1 /* node */
            invokestatic org.graalvm.compiler.virtual.phases.ea.VirtualUtil.trace:(Ljava/lang/String;Ljava/lang/Object;)V
         9: .line 187
            iconst_1
            ireturn
        10: .line 190
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.hasVirtualInputs:Lorg/graalvm/compiler/graph/NodeBitMap;
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.graph.NodeBitMap.isMarked:(Lorg/graalvm/compiler/graph/Node;)Z
            ifeq 18
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.ValueNode
            ifeq 18
        11: .line 191
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.spi.Virtualizable
            ifeq 17
        12: .line 192
            aload 0 /* this */
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.ValueNode
            aload 5 /* nextFixedNode */
            aload 2 /* state */
            aload 3 /* effects */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.processVirtualizable:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)Z
            ifne 14
        13: .line 193
            iconst_0
            ireturn
        14: .line 195
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.tool:Lorg/graalvm/compiler/virtual/phases/ea/VirtualizerToolImpl;
            invokevirtual org.graalvm.compiler.virtual.phases.ea.VirtualizerToolImpl.isDeleted:()Z
            ifeq 17
        15: .line 196
            ldc "deleted virtualizable node %s"
            aload 1 /* node */
            invokestatic org.graalvm.compiler.virtual.phases.ea.VirtualUtil.trace:(Ljava/lang/String;Ljava/lang/Object;)V
        16: .line 197
            iconst_1
            ireturn
        17: .line 200
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.ValueNode
            aload 5 /* nextFixedNode */
            aload 2 /* state */
            aload 3 /* effects */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.processNodeInputs:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)V
        18: .line 203
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.hasScalarReplacedInputs:(Lorg/graalvm/compiler/graph/Node;)Z
            ifeq 21
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.ValueNode
            ifeq 21
        19: .line 204
            aload 0 /* this */
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.ValueNode
            aload 5 /* nextFixedNode */
            aload 2 /* state */
            aload 3 /* effects */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.processNodeWithScalarReplacedInputs:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)Z
            ifeq 21
        20: .line 205
            iconst_1
            ireturn
        21: .line 208
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 5 // org.graalvm.compiler.nodes.FixedNode nextFixedNode
        end local 4 // org.graalvm.compiler.nodes.FixedWithNextNode lastFixedNode
        end local 3 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
        end local 2 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState state
        end local 1 // org.graalvm.compiler.graph.Node node
        end local 0 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   22     0           this  Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure<TBlockT;>;
            0   22     1           node  Lorg/graalvm/compiler/graph/Node;
            0   22     2          state  TBlockT;
            0   22     3        effects  Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;
            0   22     4  lastFixedNode  Lorg/graalvm/compiler/nodes/FixedWithNextNode;
            3   22     5  nextFixedNode  Lorg/graalvm/compiler/nodes/FixedNode;
    Signature: (Lorg/graalvm/compiler/graph/Node;TBlockT;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)Z
    MethodParameters:
               Name  Flags
      node           
      state          
      effects        
      lastFixedNode  

  protected boolean requiresProcessing(org.graalvm.compiler.graph.Node);
    descriptor: (Lorg/graalvm/compiler/graph/Node;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure this
        start local 1 // org.graalvm.compiler.graph.Node node
         0: .line 212
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.spi.VirtualizableAllocation
            ireturn
        end local 1 // org.graalvm.compiler.graph.Node node
        end local 0 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure<TBlockT;>;
            0    1     1  node  Lorg/graalvm/compiler/graph/Node;
    MethodParameters:
      Name  Flags
      node  

  private boolean processNodeWithScalarReplacedInputs(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.FixedNode, BlockT, org.graalvm.compiler.virtual.phases.ea.GraphEffectList);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=11, args_size=5
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure this
        start local 1 // org.graalvm.compiler.nodes.ValueNode node
        start local 2 // org.graalvm.compiler.nodes.FixedNode insertBefore
        start local 3 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState state
        start local 4 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
         0: .line 216
            aload 1 /* node */
            astore 5 /* canonicalizedValue */
        start local 5 // org.graalvm.compiler.nodes.ValueNode canonicalizedValue
         1: .line 217
            aload 1 /* node */
            instanceof org.graalvm.compiler.graph.spi.Canonicalizable$Unary
            ifeq 10
         2: .line 219
            aload 1 /* node */
            checkcast org.graalvm.compiler.graph.spi.Canonicalizable$Unary
            astore 6 /* canonicalizable */
        start local 6 // org.graalvm.compiler.graph.spi.Canonicalizable$Unary canonicalizable
         3: .line 220
            aload 0 /* this */
            aload 3 /* state */
            aload 6 /* canonicalizable */
            invokeinterface org.graalvm.compiler.graph.spi.Canonicalizable$Unary.getValue:()Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.getObjectState:(Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/virtual/phases/ea/ObjectState;
            astore 7 /* valueObj */
        start local 7 // org.graalvm.compiler.virtual.phases.ea.ObjectState valueObj
         4: .line 221
            aload 7 /* valueObj */
            ifnull 5
            aload 7 /* valueObj */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ObjectState.getMaterializedValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            goto 6
      StackMap locals: org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.graph.spi.Canonicalizable$Unary org.graalvm.compiler.virtual.phases.ea.ObjectState
      StackMap stack:
         5: aload 0 /* this */
            aload 6 /* canonicalizable */
            invokeinterface org.graalvm.compiler.graph.spi.Canonicalizable$Unary.getValue:()Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.getScalarAlias:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
      StackMap locals:
      StackMap stack: org.graalvm.compiler.nodes.ValueNode
         6: astore 8 /* valueAlias */
        start local 8 // org.graalvm.compiler.nodes.ValueNode valueAlias
         7: .line 222
            aload 8 /* valueAlias */
            aload 6 /* canonicalizable */
            invokeinterface org.graalvm.compiler.graph.spi.Canonicalizable$Unary.getValue:()Lorg/graalvm/compiler/graph/Node;
            if_acmpeq 24
         8: .line 223
            aload 6 /* canonicalizable */
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.tool:Lorg/graalvm/compiler/virtual/phases/ea/VirtualizerToolImpl;
            aload 8 /* valueAlias */
            invokeinterface org.graalvm.compiler.graph.spi.Canonicalizable$Unary.canonical:(Lorg/graalvm/compiler/graph/spi/CanonicalizerTool;Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
            astore 5 /* canonicalizedValue */
        end local 8 // org.graalvm.compiler.nodes.ValueNode valueAlias
        end local 7 // org.graalvm.compiler.virtual.phases.ea.ObjectState valueObj
        end local 6 // org.graalvm.compiler.graph.spi.Canonicalizable$Unary canonicalizable
         9: .line 225
            goto 24
      StackMap locals:
      StackMap stack:
        10: aload 1 /* node */
            instanceof org.graalvm.compiler.graph.spi.Canonicalizable$Binary
            ifeq 23
        11: .line 227
            aload 1 /* node */
            checkcast org.graalvm.compiler.graph.spi.Canonicalizable$Binary
            astore 6 /* canonicalizable */
        start local 6 // org.graalvm.compiler.graph.spi.Canonicalizable$Binary canonicalizable
        12: .line 228
            aload 0 /* this */
            aload 3 /* state */
            aload 6 /* canonicalizable */
            invokeinterface org.graalvm.compiler.graph.spi.Canonicalizable$Binary.getX:()Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.getObjectState:(Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/virtual/phases/ea/ObjectState;
            astore 7 /* xObj */
        start local 7 // org.graalvm.compiler.virtual.phases.ea.ObjectState xObj
        13: .line 229
            aload 7 /* xObj */
            ifnull 14
            aload 7 /* xObj */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ObjectState.getMaterializedValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            goto 15
      StackMap locals: org.graalvm.compiler.graph.spi.Canonicalizable$Binary org.graalvm.compiler.virtual.phases.ea.ObjectState
      StackMap stack:
        14: aload 0 /* this */
            aload 6 /* canonicalizable */
            invokeinterface org.graalvm.compiler.graph.spi.Canonicalizable$Binary.getX:()Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.getScalarAlias:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
      StackMap locals:
      StackMap stack: org.graalvm.compiler.nodes.ValueNode
        15: astore 8 /* xAlias */
        start local 8 // org.graalvm.compiler.nodes.ValueNode xAlias
        16: .line 230
            aload 0 /* this */
            aload 3 /* state */
            aload 6 /* canonicalizable */
            invokeinterface org.graalvm.compiler.graph.spi.Canonicalizable$Binary.getY:()Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.getObjectState:(Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/virtual/phases/ea/ObjectState;
            astore 9 /* yObj */
        start local 9 // org.graalvm.compiler.virtual.phases.ea.ObjectState yObj
        17: .line 231
            aload 9 /* yObj */
            ifnull 18
            aload 9 /* yObj */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ObjectState.getMaterializedValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            goto 19
      StackMap locals: org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.virtual.phases.ea.ObjectState
      StackMap stack:
        18: aload 0 /* this */
            aload 6 /* canonicalizable */
            invokeinterface org.graalvm.compiler.graph.spi.Canonicalizable$Binary.getY:()Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.getScalarAlias:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
      StackMap locals:
      StackMap stack: org.graalvm.compiler.nodes.ValueNode
        19: astore 10 /* yAlias */
        start local 10 // org.graalvm.compiler.nodes.ValueNode yAlias
        20: .line 232
            aload 8 /* xAlias */
            aload 6 /* canonicalizable */
            invokeinterface org.graalvm.compiler.graph.spi.Canonicalizable$Binary.getX:()Lorg/graalvm/compiler/graph/Node;
            if_acmpne 21
            aload 10 /* yAlias */
            aload 6 /* canonicalizable */
            invokeinterface org.graalvm.compiler.graph.spi.Canonicalizable$Binary.getY:()Lorg/graalvm/compiler/graph/Node;
            if_acmpeq 24
        21: .line 233
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 6 /* canonicalizable */
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.tool:Lorg/graalvm/compiler/virtual/phases/ea/VirtualizerToolImpl;
            aload 8 /* xAlias */
            aload 10 /* yAlias */
            invokeinterface org.graalvm.compiler.graph.spi.Canonicalizable$Binary.canonical:(Lorg/graalvm/compiler/graph/spi/CanonicalizerTool;Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
            astore 5 /* canonicalizedValue */
        end local 10 // org.graalvm.compiler.nodes.ValueNode yAlias
        end local 9 // org.graalvm.compiler.virtual.phases.ea.ObjectState yObj
        end local 8 // org.graalvm.compiler.nodes.ValueNode xAlias
        end local 7 // org.graalvm.compiler.virtual.phases.ea.ObjectState xObj
        end local 6 // org.graalvm.compiler.graph.spi.Canonicalizable$Binary canonicalizable
        22: .line 235
            goto 24
        23: .line 236
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState org.graalvm.compiler.virtual.phases.ea.GraphEffectList org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            iconst_0
            ireturn
        24: .line 238
      StackMap locals:
      StackMap stack:
            aload 5 /* canonicalizedValue */
            aload 1 /* node */
            if_acmpeq 46
            aload 5 /* canonicalizedValue */
            ifnull 46
        25: .line 239
            aload 5 /* canonicalizedValue */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isAlive:()Z
            ifeq 34
        26: .line 240
            aload 0 /* this */
            aload 3 /* state */
            aload 5 /* canonicalizedValue */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.getAliasAndResolve:(Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 6 /* alias */
        start local 6 // org.graalvm.compiler.nodes.ValueNode alias
        27: .line 241
            aload 6 /* alias */
            instanceof org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            ifeq 31
        28: .line 242
            aload 0 /* this */
            aload 6 /* alias */
            checkcast org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.addAndMarkAlias:(Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
        29: .line 243
            aload 4 /* effects */
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.GraphEffectList.deleteNode:(Lorg/graalvm/compiler/graph/Node;)V
        30: .line 244
            goto 44
        31: .line 245
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 4 /* effects */
            aload 1 /* node */
            aload 6 /* alias */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.GraphEffectList.replaceAtUsages:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
        32: .line 246
            aload 0 /* this */
            aload 1 /* node */
            aload 6 /* alias */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.addScalarAlias:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
        end local 6 // org.graalvm.compiler.nodes.ValueNode alias
        33: .line 248
            goto 44
        34: .line 249
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* canonicalizedValue */
            aload 3 /* state */
            aload 4 /* effects */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.prepareCanonicalNode:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)Z
            ifne 37
        35: .line 250
            ldc "replacement via canonicalization too complex: %s -> %s"
            aload 1 /* node */
            aload 5 /* canonicalizedValue */
            invokestatic org.graalvm.compiler.virtual.phases.ea.VirtualUtil.trace:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        36: .line 251
            iconst_0
            ireturn
        37: .line 253
      StackMap locals:
      StackMap stack:
            aload 4 /* effects */
            aload 5 /* canonicalizedValue */
            aload 2 /* insertBefore */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.GraphEffectList.ensureAdded:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
        38: .line 254
            aload 5 /* canonicalizedValue */
            instanceof org.graalvm.compiler.nodes.ControlSinkNode
            ifeq 42
        39: .line 255
            aload 4 /* effects */
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.FixedWithNextNode
            aload 5 /* canonicalizedValue */
            checkcast org.graalvm.compiler.nodes.ControlSinkNode
            invokevirtual org.graalvm.compiler.virtual.phases.ea.GraphEffectList.replaceWithSink:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/ControlSinkNode;)V
        40: .line 256
            aload 3 /* state */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState.markAsDead:()V
        41: .line 257
            goto 44
        42: .line 258
      StackMap locals:
      StackMap stack:
            aload 4 /* effects */
            aload 1 /* node */
            aload 5 /* canonicalizedValue */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.GraphEffectList.replaceAtUsages:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
        43: .line 259
            aload 0 /* this */
            aload 1 /* node */
            aload 5 /* canonicalizedValue */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.addScalarAlias:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
        44: .line 262
      StackMap locals:
      StackMap stack:
            ldc "replaced via canonicalization: %s -> %s"
            aload 1 /* node */
            aload 5 /* canonicalizedValue */
            invokestatic org.graalvm.compiler.virtual.phases.ea.VirtualUtil.trace:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        45: .line 263
            iconst_1
            ireturn
        46: .line 265
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 5 // org.graalvm.compiler.nodes.ValueNode canonicalizedValue
        end local 4 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
        end local 3 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState state
        end local 2 // org.graalvm.compiler.nodes.FixedNode insertBefore
        end local 1 // org.graalvm.compiler.nodes.ValueNode node
        end local 0 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   47     0                this  Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure<TBlockT;>;
            0   47     1                node  Lorg/graalvm/compiler/nodes/ValueNode;
            0   47     2        insertBefore  Lorg/graalvm/compiler/nodes/FixedNode;
            0   47     3               state  TBlockT;
            0   47     4             effects  Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;
            1   47     5  canonicalizedValue  Lorg/graalvm/compiler/nodes/ValueNode;
            3    9     6     canonicalizable  Lorg/graalvm/compiler/graph/spi/Canonicalizable$Unary<Lorg/graalvm/compiler/nodes/ValueNode;>;
            4    9     7            valueObj  Lorg/graalvm/compiler/virtual/phases/ea/ObjectState;
            7    9     8          valueAlias  Lorg/graalvm/compiler/nodes/ValueNode;
           12   22     6     canonicalizable  Lorg/graalvm/compiler/graph/spi/Canonicalizable$Binary<Lorg/graalvm/compiler/nodes/ValueNode;>;
           13   22     7                xObj  Lorg/graalvm/compiler/virtual/phases/ea/ObjectState;
           16   22     8              xAlias  Lorg/graalvm/compiler/nodes/ValueNode;
           17   22     9                yObj  Lorg/graalvm/compiler/virtual/phases/ea/ObjectState;
           20   22    10              yAlias  Lorg/graalvm/compiler/nodes/ValueNode;
           27   33     6               alias  Lorg/graalvm/compiler/nodes/ValueNode;
    Signature: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/FixedNode;TBlockT;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)Z
    MethodParameters:
              Name  Flags
      node          
      insertBefore  
      state         
      effects       

  private boolean prepareCanonicalNode(org.graalvm.compiler.nodes.ValueNode, BlockT, org.graalvm.compiler.virtual.phases.ea.GraphEffectList);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=4
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure this
        start local 1 // org.graalvm.compiler.nodes.ValueNode node
        start local 2 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState state
        start local 3 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
         0: .line 269
            getstatic org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.$assertionsDisabled:Z
            ifne 1
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isAlive:()Z
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 270
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.inputPositions:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 5
            goto 16
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState org.graalvm.compiler.virtual.phases.ea.GraphEffectList top java.util.Iterator
      StackMap stack:
         2: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Position
            astore 4 /* pos */
        start local 4 // org.graalvm.compiler.graph.Position pos
         3: .line 271
            aload 4 /* pos */
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.graph.Position.get:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            astore 6 /* input */
        start local 6 // org.graalvm.compiler.graph.Node input
         4: .line 272
            aload 6 /* input */
            instanceof org.graalvm.compiler.nodes.ValueNode
            ifeq 16
         5: .line 273
            aload 6 /* input */
            invokevirtual org.graalvm.compiler.graph.Node.isAlive:()Z
            ifeq 14
         6: .line 274
            aload 0 /* this */
            aload 2 /* state */
            aload 6 /* input */
            checkcast org.graalvm.compiler.nodes.ValueNode
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.getObjectState:(Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/virtual/phases/ea/ObjectState;
            astore 7 /* obj */
        start local 7 // org.graalvm.compiler.virtual.phases.ea.ObjectState obj
         7: .line 275
            aload 7 /* obj */
            ifnull 12
         8: .line 276
            aload 7 /* obj */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ObjectState.isVirtual:()Z
            ifeq 10
         9: .line 277
            iconst_0
            ireturn
        10: .line 279
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState org.graalvm.compiler.virtual.phases.ea.GraphEffectList org.graalvm.compiler.graph.Position java.util.Iterator org.graalvm.compiler.graph.Node org.graalvm.compiler.virtual.phases.ea.ObjectState
      StackMap stack:
            aload 4 /* pos */
            aload 1 /* node */
            aload 7 /* obj */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ObjectState.getMaterializedValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.graph.Position.initialize:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
        11: .line 281
            goto 16
        12: .line 282
      StackMap locals:
      StackMap stack:
            aload 4 /* pos */
            aload 1 /* node */
            aload 0 /* this */
            aload 6 /* input */
            checkcast org.graalvm.compiler.nodes.ValueNode
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.getScalarAlias:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.graph.Position.initialize:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
        end local 7 // org.graalvm.compiler.virtual.phases.ea.ObjectState obj
        13: .line 284
            goto 16
        14: .line 285
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 6 /* input */
            checkcast org.graalvm.compiler.nodes.ValueNode
            aload 2 /* state */
            aload 3 /* effects */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.prepareCanonicalNode:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)Z
            ifne 16
        15: .line 286
            iconst_0
            ireturn
        end local 6 // org.graalvm.compiler.graph.Node input
        end local 4 // org.graalvm.compiler.graph.Position pos
        16: .line 270
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState org.graalvm.compiler.virtual.phases.ea.GraphEffectList top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        17: .line 291
            iconst_1
            ireturn
        end local 3 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
        end local 2 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState state
        end local 1 // org.graalvm.compiler.nodes.ValueNode node
        end local 0 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   18     0     this  Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure<TBlockT;>;
            0   18     1     node  Lorg/graalvm/compiler/nodes/ValueNode;
            0   18     2    state  TBlockT;
            0   18     3  effects  Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;
            3   16     4      pos  Lorg/graalvm/compiler/graph/Position;
            4   16     6    input  Lorg/graalvm/compiler/graph/Node;
            7   13     7      obj  Lorg/graalvm/compiler/virtual/phases/ea/ObjectState;
    Signature: (Lorg/graalvm/compiler/nodes/ValueNode;TBlockT;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)Z
    MethodParameters:
         Name  Flags
      node     
      state    
      effects  

  private void processNodeInputs(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.FixedNode, BlockT, org.graalvm.compiler.virtual.phases.ea.GraphEffectList);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=9, args_size=5
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure this
        start local 1 // org.graalvm.compiler.nodes.ValueNode node
        start local 2 // org.graalvm.compiler.nodes.FixedNode insertBefore
        start local 3 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState state
        start local 4 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
         0: .line 295
            ldc "processing nodewithstate: %s"
            aload 1 /* node */
            invokestatic org.graalvm.compiler.virtual.phases.ea.VirtualUtil.trace:(Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 296
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.inputs:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 6
            goto 10
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState org.graalvm.compiler.virtual.phases.ea.GraphEffectList top java.util.Iterator
      StackMap stack:
         2: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 5 /* input */
        start local 5 // org.graalvm.compiler.graph.Node input
         3: .line 297
            aload 5 /* input */
            instanceof org.graalvm.compiler.nodes.ValueNode
            ifeq 10
         4: .line 298
            aload 0 /* this */
            aload 5 /* input */
            checkcast org.graalvm.compiler.nodes.ValueNode
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.getAlias:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 7 /* alias */
        start local 7 // org.graalvm.compiler.nodes.ValueNode alias
         5: .line 299
            aload 7 /* alias */
            instanceof org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            ifeq 10
         6: .line 300
            aload 7 /* alias */
            checkcast org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.getObjectId:()I
            istore 8 /* id */
        start local 8 // int id
         7: .line 301
            aload 0 /* this */
            aload 3 /* state */
            iload 8 /* id */
            aload 2 /* insertBefore */
            aload 4 /* effects */
            getstatic org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.COUNTER_MATERIALIZATIONS_UNHANDLED:Lorg/graalvm/compiler/debug/DebugCounter;
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.ensureMaterialized:(Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;ILorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;Lorg/graalvm/compiler/debug/DebugCounter;)Z
            pop
         8: .line 302
            aload 4 /* effects */
            aload 1 /* node */
            aload 5 /* input */
            aload 3 /* state */
            iload 8 /* id */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState.getObjectState:(I)Lorg/graalvm/compiler/virtual/phases/ea/ObjectState;
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ObjectState.getMaterializedValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.virtual.phases.ea.GraphEffectList.replaceFirstInput:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
         9: .line 303
            ldc "replacing input %s at %s"
            aload 5 /* input */
            aload 1 /* node */
            invokestatic org.graalvm.compiler.virtual.phases.ea.VirtualUtil.trace:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        end local 8 // int id
        end local 7 // org.graalvm.compiler.nodes.ValueNode alias
        end local 5 // org.graalvm.compiler.graph.Node input
        10: .line 296
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        11: .line 307
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.spi.NodeWithState
            ifeq 13
        12: .line 308
            aload 0 /* this */
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.spi.NodeWithState
            aload 3 /* state */
            aload 4 /* effects */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.processNodeWithState:(Lorg/graalvm/compiler/nodes/spi/NodeWithState;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)V
        13: .line 310
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState org.graalvm.compiler.virtual.phases.ea.GraphEffectList
      StackMap stack:
            return
        end local 4 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
        end local 3 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState state
        end local 2 // org.graalvm.compiler.nodes.FixedNode insertBefore
        end local 1 // org.graalvm.compiler.nodes.ValueNode node
        end local 0 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   14     0          this  Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure<TBlockT;>;
            0   14     1          node  Lorg/graalvm/compiler/nodes/ValueNode;
            0   14     2  insertBefore  Lorg/graalvm/compiler/nodes/FixedNode;
            0   14     3         state  TBlockT;
            0   14     4       effects  Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;
            3   10     5         input  Lorg/graalvm/compiler/graph/Node;
            5   10     7         alias  Lorg/graalvm/compiler/nodes/ValueNode;
            7   10     8            id  I
    Signature: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/FixedNode;TBlockT;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)V
    MethodParameters:
              Name  Flags
      node          
      insertBefore  
      state         
      effects       

  private boolean processVirtualizable(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.FixedNode, BlockT, org.graalvm.compiler.virtual.phases.ea.GraphEffectList);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure this
        start local 1 // org.graalvm.compiler.nodes.ValueNode node
        start local 2 // org.graalvm.compiler.nodes.FixedNode insertBefore
        start local 3 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState state
        start local 4 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
         0: .line 313
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.tool:Lorg/graalvm/compiler/virtual/phases/ea/VirtualizerToolImpl;
            aload 3 /* state */
            aload 1 /* node */
            aload 2 /* insertBefore */
            aload 4 /* effects */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.VirtualizerToolImpl.reset:(Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)V
         1: .line 314
            aload 0 /* this */
            aload 1 /* node */
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.tool:Lorg/graalvm/compiler/virtual/phases/ea/VirtualizerToolImpl;
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.virtualize:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/spi/VirtualizerTool;)Z
            ireturn
        end local 4 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
        end local 3 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState state
        end local 2 // org.graalvm.compiler.nodes.FixedNode insertBefore
        end local 1 // org.graalvm.compiler.nodes.ValueNode node
        end local 0 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure<TBlockT;>;
            0    2     1          node  Lorg/graalvm/compiler/nodes/ValueNode;
            0    2     2  insertBefore  Lorg/graalvm/compiler/nodes/FixedNode;
            0    2     3         state  TBlockT;
            0    2     4       effects  Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;
    Signature: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/FixedNode;TBlockT;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)Z
    MethodParameters:
              Name  Flags
      node          
      insertBefore  
      state         
      effects       

  protected boolean virtualize(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.spi.VirtualizerTool);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/spi/VirtualizerTool;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure this
        start local 1 // org.graalvm.compiler.nodes.ValueNode node
        start local 2 // org.graalvm.compiler.nodes.spi.VirtualizerTool vt
         0: .line 318
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.spi.Virtualizable
            aload 2 /* vt */
            invokeinterface org.graalvm.compiler.nodes.spi.Virtualizable.virtualize:(Lorg/graalvm/compiler/nodes/spi/VirtualizerTool;)V
         1: .line 319
            iconst_1
            ireturn
        end local 2 // org.graalvm.compiler.nodes.spi.VirtualizerTool vt
        end local 1 // org.graalvm.compiler.nodes.ValueNode node
        end local 0 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure<TBlockT;>;
            0    2     1  node  Lorg/graalvm/compiler/nodes/ValueNode;
            0    2     2    vt  Lorg/graalvm/compiler/nodes/spi/VirtualizerTool;
    MethodParameters:
      Name  Flags
      node  
      vt    

  private void processNodeWithState(org.graalvm.compiler.nodes.spi.NodeWithState, BlockT, org.graalvm.compiler.virtual.phases.ea.GraphEffectList);
    descriptor: (Lorg/graalvm/compiler/nodes/spi/NodeWithState;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=8, args_size=4
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure this
        start local 1 // org.graalvm.compiler.nodes.spi.NodeWithState nodeWithState
        start local 2 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState state
        start local 3 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
         0: .line 323
            aload 1 /* nodeWithState */
            invokeinterface org.graalvm.compiler.nodes.spi.NodeWithState.states:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 5
            goto 8
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure org.graalvm.compiler.nodes.spi.NodeWithState org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState org.graalvm.compiler.virtual.phases.ea.GraphEffectList top java.util.Iterator
      StackMap stack:
         1: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.FrameState
            astore 4 /* fs */
        start local 4 // org.graalvm.compiler.nodes.FrameState fs
         2: .line 324
            aload 1 /* nodeWithState */
            aload 4 /* fs */
            invokestatic org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.getUniqueFramestate:(Lorg/graalvm/compiler/nodes/spi/NodeWithState;Lorg/graalvm/compiler/nodes/FrameState;)Lorg/graalvm/compiler/nodes/FrameState;
            astore 6 /* frameState */
        start local 6 // org.graalvm.compiler.nodes.FrameState frameState
         3: .line 325
            new org.graalvm.compiler.core.common.util.ArraySet
            dup
            invokespecial org.graalvm.compiler.core.common.util.ArraySet.<init>:()V
            astore 7 /* virtual */
        start local 7 // java.util.Set virtual
         4: .line 326
            aload 6 /* frameState */
            new org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure$CollectVirtualObjectsClosure
            dup
            aload 0 /* this */
            aload 7 /* virtual */
            aload 3 /* effects */
            aload 2 /* state */
            invokespecial org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure$CollectVirtualObjectsClosure.<init>:(Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure;Ljava/util/Set;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;)V
            invokevirtual org.graalvm.compiler.nodes.FrameState.applyToNonVirtual:(Lorg/graalvm/compiler/nodes/VirtualState$NodeClosure;)V
         5: .line 327
            aload 0 /* this */
            aload 2 /* state */
            aload 7 /* virtual */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.collectLockedVirtualObjects:(Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;Ljava/util/Set;)V
         6: .line 328
            aload 0 /* this */
            aload 2 /* state */
            aload 7 /* virtual */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.collectReferencedVirtualObjects:(Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;Ljava/util/Set;)V
         7: .line 329
            aload 0 /* this */
            aload 6 /* frameState */
            aload 7 /* virtual */
            aload 2 /* state */
            aload 3 /* effects */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.addVirtualMappings:(Lorg/graalvm/compiler/nodes/FrameState;Ljava/util/Set;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)V
        end local 7 // java.util.Set virtual
        end local 6 // org.graalvm.compiler.nodes.FrameState frameState
        end local 4 // org.graalvm.compiler.nodes.FrameState fs
         8: .line 323
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         9: .line 331
            return
        end local 3 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
        end local 2 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState state
        end local 1 // org.graalvm.compiler.nodes.spi.NodeWithState nodeWithState
        end local 0 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0           this  Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure<TBlockT;>;
            0   10     1  nodeWithState  Lorg/graalvm/compiler/nodes/spi/NodeWithState;
            0   10     2          state  TBlockT;
            0   10     3        effects  Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;
            2    8     4             fs  Lorg/graalvm/compiler/nodes/FrameState;
            3    8     6     frameState  Lorg/graalvm/compiler/nodes/FrameState;
            4    8     7        virtual  Ljava/util/Set<Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;>;
    Signature: (Lorg/graalvm/compiler/nodes/spi/NodeWithState;TBlockT;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)V
    MethodParameters:
               Name  Flags
      nodeWithState  
      state          
      effects        

  private static org.graalvm.compiler.nodes.FrameState getUniqueFramestate(org.graalvm.compiler.nodes.spi.NodeWithState, org.graalvm.compiler.nodes.FrameState);
    descriptor: (Lorg/graalvm/compiler/nodes/spi/NodeWithState;Lorg/graalvm/compiler/nodes/FrameState;)Lorg/graalvm/compiler/nodes/FrameState;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.nodes.spi.NodeWithState nodeWithState
        start local 1 // org.graalvm.compiler.nodes.FrameState frameState
         0: .line 334
            aload 1 /* frameState */
            invokevirtual org.graalvm.compiler.nodes.FrameState.getUsageCount:()I
            iconst_1
            if_icmple 4
         1: .line 336
            aload 1 /* frameState */
            invokevirtual org.graalvm.compiler.nodes.FrameState.copyWithInputs:()Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.FrameState
            astore 2 /* copy */
        start local 2 // org.graalvm.compiler.nodes.FrameState copy
         2: .line 337
            aload 0 /* nodeWithState */
            invokeinterface org.graalvm.compiler.nodes.spi.NodeWithState.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
            aload 1 /* frameState */
            aload 2 /* copy */
            invokevirtual org.graalvm.compiler.nodes.FixedNode.replaceFirstInput:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
         3: .line 338
            aload 2 /* copy */
            areturn
        end local 2 // org.graalvm.compiler.nodes.FrameState copy
         4: .line 340
      StackMap locals:
      StackMap stack:
            aload 1 /* frameState */
            areturn
        end local 1 // org.graalvm.compiler.nodes.FrameState frameState
        end local 0 // org.graalvm.compiler.nodes.spi.NodeWithState nodeWithState
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0  nodeWithState  Lorg/graalvm/compiler/nodes/spi/NodeWithState;
            0    5     1     frameState  Lorg/graalvm/compiler/nodes/FrameState;
            2    4     2           copy  Lorg/graalvm/compiler/nodes/FrameState;
    MethodParameters:
               Name  Flags
      nodeWithState  
      frameState     

  private void addVirtualMappings(org.graalvm.compiler.nodes.FrameState, java.util.Set<org.graalvm.compiler.nodes.virtual.VirtualObjectNode>, BlockT, org.graalvm.compiler.virtual.phases.ea.GraphEffectList);
    descriptor: (Lorg/graalvm/compiler/nodes/FrameState;Ljava/util/Set;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=5
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure this
        start local 1 // org.graalvm.compiler.nodes.FrameState frameState
        start local 2 // java.util.Set virtual
        start local 3 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState state
        start local 4 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
         0: .line 344
            aload 2 /* virtual */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 3
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure org.graalvm.compiler.nodes.FrameState java.util.Set org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState org.graalvm.compiler.virtual.phases.ea.GraphEffectList top java.util.Iterator
      StackMap stack:
         1: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            astore 5 /* obj */
        start local 5 // org.graalvm.compiler.nodes.virtual.VirtualObjectNode obj
         2: .line 345
            aload 4 /* effects */
            aload 1 /* frameState */
            aload 3 /* state */
            aload 5 /* obj */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState.getObjectState:(Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;)Lorg/graalvm/compiler/virtual/phases/ea/ObjectState;
            aload 5 /* obj */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ObjectState.createEscapeObjectState:(Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;)Lorg/graalvm/compiler/nodes/virtual/EscapeObjectState;
            invokevirtual org.graalvm.compiler.virtual.phases.ea.GraphEffectList.addVirtualMapping:(Lorg/graalvm/compiler/nodes/FrameState;Lorg/graalvm/compiler/nodes/virtual/EscapeObjectState;)V
        end local 5 // org.graalvm.compiler.nodes.virtual.VirtualObjectNode obj
         3: .line 344
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 347
            return
        end local 4 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
        end local 3 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState state
        end local 2 // java.util.Set virtual
        end local 1 // org.graalvm.compiler.nodes.FrameState frameState
        end local 0 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure<TBlockT;>;
            0    5     1  frameState  Lorg/graalvm/compiler/nodes/FrameState;
            0    5     2     virtual  Ljava/util/Set<Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;>;
            0    5     3       state  TBlockT;
            0    5     4     effects  Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;
            2    3     5         obj  Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;
    Signature: (Lorg/graalvm/compiler/nodes/FrameState;Ljava/util/Set<Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;>;TBlockT;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)V
    MethodParameters:
            Name  Flags
      frameState  
      virtual     
      state       
      effects     

  private void collectReferencedVirtualObjects(BlockT, java.util.Set<org.graalvm.compiler.nodes.virtual.VirtualObjectNode>);
    descriptor: (Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;Ljava/util/Set;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=12, args_size=3
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure this
        start local 1 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState state
        start local 2 // java.util.Set virtual
         0: .line 350
            new java.util.ArrayDeque
            dup
            aload 2 /* virtual */
            invokespecial java.util.ArrayDeque.<init>:(Ljava/util/Collection;)V
            astore 3 /* queue */
        start local 3 // java.util.ArrayDeque queue
         1: .line 351
            goto 16
         2: .line 352
      StackMap locals: java.util.ArrayDeque
      StackMap stack:
            aload 3 /* queue */
            invokevirtual java.util.ArrayDeque.removeLast:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            astore 4 /* object */
        start local 4 // org.graalvm.compiler.nodes.virtual.VirtualObjectNode object
         3: .line 353
            aload 4 /* object */
            invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.getObjectId:()I
            istore 5 /* id */
        start local 5 // int id
         4: .line 354
            iload 5 /* id */
            iconst_m1
            if_icmpeq 16
         5: .line 355
            aload 1 /* state */
            iload 5 /* id */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState.getObjectStateOptional:(I)Lorg/graalvm/compiler/virtual/phases/ea/ObjectState;
            astore 6 /* objState */
        start local 6 // org.graalvm.compiler.virtual.phases.ea.ObjectState objState
         6: .line 356
            aload 6 /* objState */
            ifnull 16
            aload 6 /* objState */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ObjectState.isVirtual:()Z
            ifeq 16
         7: .line 357
            aload 6 /* objState */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ObjectState.getEntries:()[Lorg/graalvm/compiler/nodes/ValueNode;
            dup
            astore 10
            arraylength
            istore 9
            iconst_0
            istore 8
            goto 15
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState java.util.Set java.util.ArrayDeque org.graalvm.compiler.nodes.virtual.VirtualObjectNode int org.graalvm.compiler.virtual.phases.ea.ObjectState top int int org.graalvm.compiler.nodes.ValueNode[]
      StackMap stack:
         8: aload 10
            iload 8
            aaload
            astore 7 /* entry */
        start local 7 // org.graalvm.compiler.nodes.ValueNode entry
         9: .line 358
            aload 7 /* entry */
            instanceof org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            ifeq 14
        10: .line 359
            aload 7 /* entry */
            checkcast org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            astore 11 /* entryVirtual */
        start local 11 // org.graalvm.compiler.nodes.virtual.VirtualObjectNode entryVirtual
        11: .line 360
            aload 2 /* virtual */
            aload 11 /* entryVirtual */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 14
        12: .line 361
            aload 2 /* virtual */
            aload 11 /* entryVirtual */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        13: .line 362
            aload 3 /* queue */
            aload 11 /* entryVirtual */
            invokevirtual java.util.ArrayDeque.addLast:(Ljava/lang/Object;)V
        end local 11 // org.graalvm.compiler.nodes.virtual.VirtualObjectNode entryVirtual
        end local 7 // org.graalvm.compiler.nodes.ValueNode entry
        14: .line 357
      StackMap locals:
      StackMap stack:
            iinc 8 1
      StackMap locals:
      StackMap stack:
        15: iload 8
            iload 9
            if_icmplt 8
        end local 6 // org.graalvm.compiler.virtual.phases.ea.ObjectState objState
        end local 5 // int id
        end local 4 // org.graalvm.compiler.nodes.virtual.VirtualObjectNode object
        16: .line 351
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState java.util.Set java.util.ArrayDeque
      StackMap stack:
            aload 3 /* queue */
            invokevirtual java.util.ArrayDeque.isEmpty:()Z
            ifeq 2
        17: .line 369
            return
        end local 3 // java.util.ArrayDeque queue
        end local 2 // java.util.Set virtual
        end local 1 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState state
        end local 0 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   18     0          this  Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure<TBlockT;>;
            0   18     1         state  TBlockT;
            0   18     2       virtual  Ljava/util/Set<Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;>;
            1   18     3         queue  Ljava/util/ArrayDeque<Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;>;
            3   16     4        object  Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;
            4   16     5            id  I
            6   16     6      objState  Lorg/graalvm/compiler/virtual/phases/ea/ObjectState;
            9   14     7         entry  Lorg/graalvm/compiler/nodes/ValueNode;
           11   14    11  entryVirtual  Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;
    Signature: (TBlockT;Ljava/util/Set<Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;>;)V
    MethodParameters:
         Name  Flags
      state    
      virtual  

  private void collectLockedVirtualObjects(BlockT, java.util.Set<org.graalvm.compiler.nodes.virtual.VirtualObjectNode>);
    descriptor: (Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;Ljava/util/Set;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure this
        start local 1 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState state
        start local 2 // java.util.Set virtual
         0: .line 372
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         1: goto 6
         2: .line 373
      StackMap locals: int
      StackMap stack:
            aload 1 /* state */
            iload 3 /* i */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState.getObjectStateOptional:(I)Lorg/graalvm/compiler/virtual/phases/ea/ObjectState;
            astore 4 /* objState */
        start local 4 // org.graalvm.compiler.virtual.phases.ea.ObjectState objState
         3: .line 374
            aload 4 /* objState */
            ifnull 5
            aload 4 /* objState */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ObjectState.isVirtual:()Z
            ifeq 5
            aload 4 /* objState */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ObjectState.hasLocks:()Z
            ifeq 5
         4: .line 375
            aload 2 /* virtual */
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.virtualObjects:Ljava/util/ArrayList;
            iload 3 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // org.graalvm.compiler.virtual.phases.ea.ObjectState objState
         5: .line 372
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            aload 1 /* state */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState.getStateCount:()I
            if_icmplt 2
        end local 3 // int i
         7: .line 378
            return
        end local 2 // java.util.Set virtual
        end local 1 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState state
        end local 0 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure<TBlockT;>;
            0    8     1     state  TBlockT;
            0    8     2   virtual  Ljava/util/Set<Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;>;
            1    7     3         i  I
            3    5     4  objState  Lorg/graalvm/compiler/virtual/phases/ea/ObjectState;
    Signature: (TBlockT;Ljava/util/Set<Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;>;)V
    MethodParameters:
         Name  Flags
      state    
      virtual  

  protected boolean ensureMaterialized(org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState<?>, int, org.graalvm.compiler.nodes.FixedNode, org.graalvm.compiler.virtual.phases.ea.GraphEffectList, org.graalvm.compiler.debug.DebugCounter);
    descriptor: (Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;ILorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;Lorg/graalvm/compiler/debug/DebugCounter;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=7, args_size=6
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure this
        start local 1 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState state
        start local 2 // int object
        start local 3 // org.graalvm.compiler.nodes.FixedNode materializeBefore
        start local 4 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
        start local 5 // org.graalvm.compiler.debug.DebugCounter counter
         0: .line 384
            aload 1 /* state */
            iload 2 /* object */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState.getObjectState:(I)Lorg/graalvm/compiler/virtual/phases/ea/ObjectState;
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ObjectState.isVirtual:()Z
            ifeq 6
         1: .line 385
            aload 5 /* counter */
            invokeinterface org.graalvm.compiler.debug.DebugCounter.increment:()V
         2: .line 386
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.virtualObjects:Ljava/util/ArrayList;
            iload 2 /* object */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            astore 6 /* virtual */
        start local 6 // org.graalvm.compiler.nodes.virtual.VirtualObjectNode virtual
         3: .line 387
            aload 1 /* state */
            aload 3 /* materializeBefore */
            aload 6 /* virtual */
            aload 4 /* effects */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState.materializeBefore:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)V
         4: .line 388
            aload 1 /* state */
            aload 6 /* virtual */
            aload 1 /* state */
            iload 2 /* object */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState.getObjectState:(I)Lorg/graalvm/compiler/virtual/phases/ea/ObjectState;
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ObjectState.getMaterializedValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokestatic org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.updateStatesForMaterialized:(Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
         5: .line 389
            iconst_1
            ireturn
        end local 6 // org.graalvm.compiler.nodes.virtual.VirtualObjectNode virtual
         6: .line 391
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 5 // org.graalvm.compiler.debug.DebugCounter counter
        end local 4 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
        end local 3 // org.graalvm.compiler.nodes.FixedNode materializeBefore
        end local 2 // int object
        end local 1 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState state
        end local 0 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    7     0               this  Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure<TBlockT;>;
            0    7     1              state  Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState<*>;
            0    7     2             object  I
            0    7     3  materializeBefore  Lorg/graalvm/compiler/nodes/FixedNode;
            0    7     4            effects  Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;
            0    7     5            counter  Lorg/graalvm/compiler/debug/DebugCounter;
            3    6     6            virtual  Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;
    Signature: (Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState<*>;ILorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;Lorg/graalvm/compiler/debug/DebugCounter;)Z
    MethodParameters:
                   Name  Flags
      state              
      object             
      materializeBefore  
      effects            
      counter            

  public static void updateStatesForMaterialized(org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState<?>, org.graalvm.compiler.nodes.virtual.VirtualObjectNode, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState state
        start local 1 // org.graalvm.compiler.nodes.virtual.VirtualObjectNode virtual
        start local 2 // org.graalvm.compiler.nodes.ValueNode materializedValue
         0: .line 397
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         1: goto 12
         2: .line 398
      StackMap locals: int
      StackMap stack:
            aload 0 /* state */
            iload 3 /* i */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState.getObjectStateOptional:(I)Lorg/graalvm/compiler/virtual/phases/ea/ObjectState;
            astore 4 /* objState */
        start local 4 // org.graalvm.compiler.virtual.phases.ea.ObjectState objState
         3: .line 399
            aload 4 /* objState */
            ifnull 11
            aload 4 /* objState */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ObjectState.isVirtual:()Z
            ifeq 11
         4: .line 400
            aload 4 /* objState */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ObjectState.getEntries:()[Lorg/graalvm/compiler/nodes/ValueNode;
            astore 5 /* entries */
        start local 5 // org.graalvm.compiler.nodes.ValueNode[] entries
         5: .line 401
            iconst_0
            istore 6 /* i2 */
        start local 6 // int i2
         6: goto 10
         7: .line 402
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.ObjectState org.graalvm.compiler.nodes.ValueNode[] int
      StackMap stack:
            aload 5 /* entries */
            iload 6 /* i2 */
            aaload
            aload 1 /* virtual */
            if_acmpne 9
         8: .line 403
            aload 0 /* state */
            iload 3 /* i */
            iload 6 /* i2 */
            aload 2 /* materializedValue */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState.setEntry:(IILorg/graalvm/compiler/nodes/ValueNode;)V
         9: .line 401
      StackMap locals:
      StackMap stack:
            iinc 6 /* i2 */ 1
      StackMap locals:
      StackMap stack:
        10: iload 6 /* i2 */
            aload 5 /* entries */
            arraylength
            if_icmplt 7
        end local 6 // int i2
        end local 5 // org.graalvm.compiler.nodes.ValueNode[] entries
        end local 4 // org.graalvm.compiler.virtual.phases.ea.ObjectState objState
        11: .line 397
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 3 /* i */
            aload 0 /* state */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState.getStateCount:()I
            if_icmplt 2
        end local 3 // int i
        13: .line 408
            return
        end local 2 // org.graalvm.compiler.nodes.ValueNode materializedValue
        end local 1 // org.graalvm.compiler.nodes.virtual.VirtualObjectNode virtual
        end local 0 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState state
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   14     0              state  Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState<*>;
            0   14     1            virtual  Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;
            0   14     2  materializedValue  Lorg/graalvm/compiler/nodes/ValueNode;
            1   13     3                  i  I
            3   11     4           objState  Lorg/graalvm/compiler/virtual/phases/ea/ObjectState;
            5   11     5            entries  [Lorg/graalvm/compiler/nodes/ValueNode;
            6   11     6                 i2  I
    Signature: (Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState<*>;Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
    MethodParameters:
                   Name  Flags
      state              
      virtual            
      materializedValue  

  protected BlockT stripKilledLoopLocations(org.graalvm.compiler.core.common.cfg.Loop<org.graalvm.compiler.nodes.cfg.Block>, );
    descriptor: (Lorg/graalvm/compiler/core/common/cfg/Loop;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;)Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=16, args_size=3
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure this
        start local 1 // org.graalvm.compiler.core.common.cfg.Loop loop
        start local 2 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState originalInitialState
         0: .line 412
            aload 0 /* this */
            aload 1 /* loop */
            aload 2 /* originalInitialState */
            invokespecial org.graalvm.compiler.virtual.phases.ea.EffectsClosure.stripKilledLoopLocations:(Lorg/graalvm/compiler/core/common/cfg/Loop;Lorg/graalvm/compiler/virtual/phases/ea/EffectsBlockState;)Lorg/graalvm/compiler/virtual/phases/ea/EffectsBlockState;
            checkcast org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState
            astore 3 /* initialState */
        start local 3 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState initialState
         1: .line 413
            aload 1 /* loop */
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getDepth:()I
            getstatic org.graalvm.compiler.core.common.GraalOptions.EscapeAnalysisLoopCutoff:Lorg/graalvm/compiler/options/OptionValue;
            invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            if_icmple 40
         2: .line 419
            aload 1 /* loop */
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getHeader:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            checkcast org.graalvm.compiler.nodes.cfg.Block
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getBeginNode:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            checkcast org.graalvm.compiler.nodes.LoopBeginNode
            astore 4 /* loopBegin */
        start local 4 // org.graalvm.compiler.nodes.LoopBeginNode loopBegin
         3: .line 420
            aload 4 /* loopBegin */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.forwardEnd:()Lorg/graalvm/compiler/nodes/AbstractEndNode;
            astore 5 /* end */
        start local 5 // org.graalvm.compiler.nodes.AbstractEndNode end
         4: .line 421
            aload 1 /* loop */
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getHeader:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            checkcast org.graalvm.compiler.nodes.cfg.Block
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getFirstPredecessor:()Lorg/graalvm/compiler/nodes/cfg/Block;
            astore 6 /* loopPredecessor */
        start local 6 // org.graalvm.compiler.nodes.cfg.Block loopPredecessor
         5: .line 422
            getstatic org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.$assertionsDisabled:Z
            ifne 6
            aload 6 /* loopPredecessor */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getEndNode:()Lorg/graalvm/compiler/nodes/FixedNode;
            aload 5 /* end */
            if_acmpeq 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 423
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure org.graalvm.compiler.core.common.cfg.Loop org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.AbstractEndNode org.graalvm.compiler.nodes.cfg.Block
      StackMap stack:
            aload 3 /* initialState */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState.getStateCount:()I
            istore 7 /* length */
        start local 7 // int length
         7: .line 426
            iload 7 /* length */
            newarray 4
            astore 9 /* ensureVirtualized */
        start local 9 // boolean[] ensureVirtualized
         8: .line 427
            iconst_0
            istore 10 /* i */
        start local 10 // int i
         9: goto 14
        10: .line 428
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure org.graalvm.compiler.core.common.cfg.Loop org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.AbstractEndNode org.graalvm.compiler.nodes.cfg.Block int top boolean[] int
      StackMap stack:
            aload 3 /* initialState */
            iload 10 /* i */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState.getObjectStateOptional:(I)Lorg/graalvm/compiler/virtual/phases/ea/ObjectState;
            astore 11 /* state */
        start local 11 // org.graalvm.compiler.virtual.phases.ea.ObjectState state
        11: .line 429
            aload 11 /* state */
            ifnull 13
            aload 11 /* state */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ObjectState.isVirtual:()Z
            ifeq 13
            aload 11 /* state */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ObjectState.getEnsureVirtualized:()Z
            ifeq 13
        12: .line 430
            aload 9 /* ensureVirtualized */
            iload 10 /* i */
            iconst_1
            bastore
        end local 11 // org.graalvm.compiler.virtual.phases.ea.ObjectState state
        13: .line 427
      StackMap locals:
      StackMap stack:
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 10 /* i */
            iload 7 /* length */
            if_icmplt 10
        end local 10 // int i
        15: .line 435
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 8 /* change */
        start local 8 // boolean change
        16: .line 436
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        17: goto 31
        18: .line 437
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure org.graalvm.compiler.core.common.cfg.Loop org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.AbstractEndNode org.graalvm.compiler.nodes.cfg.Block int int boolean[] int
      StackMap stack:
            aload 9 /* ensureVirtualized */
            iload 10 /* i */
            baload
            ifne 30
        19: .line 438
            aload 3 /* initialState */
            iload 10 /* i */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState.getObjectStateOptional:(I)Lorg/graalvm/compiler/virtual/phases/ea/ObjectState;
            astore 11 /* state */
        start local 11 // org.graalvm.compiler.virtual.phases.ea.ObjectState state
        20: .line 439
            aload 11 /* state */
            ifnull 30
            aload 11 /* state */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ObjectState.isVirtual:()Z
            ifeq 30
        21: .line 440
            aload 11 /* state */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ObjectState.getEntries:()[Lorg/graalvm/compiler/nodes/ValueNode;
            dup
            astore 15
            arraylength
            istore 14
            iconst_0
            istore 13
            goto 29
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure org.graalvm.compiler.core.common.cfg.Loop org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.AbstractEndNode org.graalvm.compiler.nodes.cfg.Block int int boolean[] int org.graalvm.compiler.virtual.phases.ea.ObjectState top int int org.graalvm.compiler.nodes.ValueNode[]
      StackMap stack:
        22: aload 15
            iload 13
            aaload
            astore 12 /* entry */
        start local 12 // org.graalvm.compiler.nodes.ValueNode entry
        23: .line 441
            aload 12 /* entry */
            instanceof org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            ifeq 28
        24: .line 442
            aload 9 /* ensureVirtualized */
            aload 12 /* entry */
            checkcast org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.getObjectId:()I
            baload
            ifeq 28
        25: .line 443
            iconst_1
            istore 8 /* change */
        26: .line 444
            aload 9 /* ensureVirtualized */
            iload 10 /* i */
            iconst_1
            bastore
        27: .line 445
            goto 30
        end local 12 // org.graalvm.compiler.nodes.ValueNode entry
        28: .line 440
      StackMap locals:
      StackMap stack:
            iinc 13 1
      StackMap locals:
      StackMap stack:
        29: iload 13
            iload 14
            if_icmplt 22
        end local 11 // org.graalvm.compiler.virtual.phases.ea.ObjectState state
        30: .line 436
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure org.graalvm.compiler.core.common.cfg.Loop org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.AbstractEndNode org.graalvm.compiler.nodes.cfg.Block int int boolean[] int
      StackMap stack:
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        31: iload 10 /* i */
            iload 7 /* length */
            if_icmplt 18
        end local 10 // int i
        32: .line 452
            iload 8 /* change */
            ifne 15
        33: .line 454
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        34: goto 39
        35: .line 455
      StackMap locals:
      StackMap stack:
            aload 3 /* initialState */
            iload 10 /* i */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState.getObjectStateOptional:(I)Lorg/graalvm/compiler/virtual/phases/ea/ObjectState;
            astore 11 /* state */
        start local 11 // org.graalvm.compiler.virtual.phases.ea.ObjectState state
        36: .line 456
            aload 11 /* state */
            ifnull 38
            aload 11 /* state */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ObjectState.isVirtual:()Z
            ifeq 38
            aload 9 /* ensureVirtualized */
            iload 10 /* i */
            baload
            ifne 38
        37: .line 457
            aload 3 /* initialState */
            aload 5 /* end */
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.virtualObjects:Ljava/util/ArrayList;
            iload 10 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.blockEffects:Lorg/graalvm/compiler/core/common/cfg/BlockMap;
            aload 6 /* loopPredecessor */
            invokevirtual org.graalvm.compiler.core.common.cfg.BlockMap.get:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.virtual.phases.ea.GraphEffectList
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState.materializeBefore:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)V
        end local 11 // org.graalvm.compiler.virtual.phases.ea.ObjectState state
        38: .line 454
      StackMap locals:
      StackMap stack:
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        39: iload 10 /* i */
            iload 7 /* length */
            if_icmplt 35
        end local 10 // int i
        end local 9 // boolean[] ensureVirtualized
        end local 8 // boolean change
        end local 7 // int length
        end local 6 // org.graalvm.compiler.nodes.cfg.Block loopPredecessor
        end local 5 // org.graalvm.compiler.nodes.AbstractEndNode end
        end local 4 // org.graalvm.compiler.nodes.LoopBeginNode loopBegin
        40: .line 461
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure org.graalvm.compiler.core.common.cfg.Loop org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState
      StackMap stack:
            aload 3 /* initialState */
            areturn
        end local 3 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState initialState
        end local 2 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState originalInitialState
        end local 1 // org.graalvm.compiler.core.common.cfg.Loop loop
        end local 0 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   41     0                  this  Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure<TBlockT;>;
            0   41     1                  loop  Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;
            0   41     2  originalInitialState  TBlockT;
            1   41     3          initialState  TBlockT;
            3   40     4             loopBegin  Lorg/graalvm/compiler/nodes/LoopBeginNode;
            4   40     5                   end  Lorg/graalvm/compiler/nodes/AbstractEndNode;
            5   40     6       loopPredecessor  Lorg/graalvm/compiler/nodes/cfg/Block;
            7   40     7                length  I
           16   40     8                change  Z
            8   40     9     ensureVirtualized  [Z
            9   15    10                     i  I
           11   13    11                 state  Lorg/graalvm/compiler/virtual/phases/ea/ObjectState;
           17   32    10                     i  I
           20   30    11                 state  Lorg/graalvm/compiler/virtual/phases/ea/ObjectState;
           23   28    12                 entry  Lorg/graalvm/compiler/nodes/ValueNode;
           34   40    10                     i  I
           36   38    11                 state  Lorg/graalvm/compiler/virtual/phases/ea/ObjectState;
    Signature: (Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;TBlockT;)TBlockT;
    MethodParameters:
                      Name  Flags
      loop                  
      originalInitialState  

  protected void processInitialLoopState(org.graalvm.compiler.core.common.cfg.Loop<org.graalvm.compiler.nodes.cfg.Block>, );
    descriptor: (Lorg/graalvm/compiler/core/common/cfg/Loop;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure this
        start local 1 // org.graalvm.compiler.core.common.cfg.Loop loop
        start local 2 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState initialState
         0: .line 466
            aload 1 /* loop */
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getHeader:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            checkcast org.graalvm.compiler.nodes.cfg.Block
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getBeginNode:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            checkcast org.graalvm.compiler.nodes.LoopBeginNode
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.phis:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 4
            goto 9
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure org.graalvm.compiler.core.common.cfg.Loop org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState top java.util.Iterator
      StackMap stack:
         1: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.PhiNode
            astore 3 /* phi */
        start local 3 // org.graalvm.compiler.nodes.PhiNode phi
         2: .line 467
            aload 3 /* phi */
            iconst_0
            invokevirtual org.graalvm.compiler.nodes.PhiNode.valueAt:(I)Lorg/graalvm/compiler/nodes/ValueNode;
            ifnull 9
         3: .line 468
            aload 0 /* this */
            aload 2 /* initialState */
            aload 3 /* phi */
            iconst_0
            invokevirtual org.graalvm.compiler.nodes.PhiNode.valueAt:(I)Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.getAliasAndResolve:(Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 5 /* alias */
        start local 5 // org.graalvm.compiler.nodes.ValueNode alias
         4: .line 469
            aload 5 /* alias */
            instanceof org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            ifeq 8
         5: .line 470
            aload 5 /* alias */
            checkcast org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            astore 6 /* virtual */
        start local 6 // org.graalvm.compiler.nodes.virtual.VirtualObjectNode virtual
         6: .line 471
            aload 0 /* this */
            aload 6 /* virtual */
            aload 3 /* phi */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.addAndMarkAlias:(Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
        end local 6 // org.graalvm.compiler.nodes.virtual.VirtualObjectNode virtual
         7: .line 472
            goto 9
         8: .line 473
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure org.graalvm.compiler.core.common.cfg.Loop org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState org.graalvm.compiler.nodes.PhiNode java.util.Iterator org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.aliases:Lorg/graalvm/compiler/graph/NodeMap;
            aload 3 /* phi */
            aconst_null
            invokevirtual org.graalvm.compiler.graph.NodeMap.set:(Lorg/graalvm/compiler/graph/Node;Ljava/lang/Object;)V
        end local 5 // org.graalvm.compiler.nodes.ValueNode alias
        end local 3 // org.graalvm.compiler.nodes.PhiNode phi
         9: .line 466
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure org.graalvm.compiler.core.common.cfg.Loop org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        10: .line 477
            return
        end local 2 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState initialState
        end local 1 // org.graalvm.compiler.core.common.cfg.Loop loop
        end local 0 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0          this  Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure<TBlockT;>;
            0   11     1          loop  Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;
            0   11     2  initialState  TBlockT;
            2    9     3           phi  Lorg/graalvm/compiler/nodes/PhiNode;
            4    9     5         alias  Lorg/graalvm/compiler/nodes/ValueNode;
            6    7     6       virtual  Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;
    Signature: (Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;TBlockT;)V
    MethodParameters:
              Name  Flags
      loop          
      initialState  

  protected void processLoopExit(org.graalvm.compiler.nodes.LoopExitNode, BlockT, BlockT, org.graalvm.compiler.virtual.phases.ea.GraphEffectList);
    descriptor: (Lorg/graalvm/compiler/nodes/LoopExitNode;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=10, args_size=5
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure this
        start local 1 // org.graalvm.compiler.nodes.LoopExitNode exitNode
        start local 2 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState initialState
        start local 3 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState exitState
        start local 4 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
         0: .line 481
            aload 1 /* exitNode */
            invokevirtual org.graalvm.compiler.nodes.LoopExitNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.hasValueProxies:()Z
            ifeq 20
         1: .line 482
            new java.util.IdentityHashMap
            dup
            invokespecial java.util.IdentityHashMap.<init>:()V
            astore 5 /* proxies */
        start local 5 // java.util.Map proxies
         2: .line 483
            aload 1 /* exitNode */
            invokevirtual org.graalvm.compiler.nodes.LoopExitNode.proxies:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 7
            goto 8
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure org.graalvm.compiler.nodes.LoopExitNode org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState org.graalvm.compiler.virtual.phases.ea.GraphEffectList java.util.Map top java.util.Iterator
      StackMap stack:
         3: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.ProxyNode
            astore 6 /* proxy */
        start local 6 // org.graalvm.compiler.nodes.ProxyNode proxy
         4: .line 484
            aload 0 /* this */
            aload 6 /* proxy */
            invokevirtual org.graalvm.compiler.nodes.ProxyNode.value:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.getAlias:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 8 /* alias */
        start local 8 // org.graalvm.compiler.nodes.ValueNode alias
         5: .line 485
            aload 8 /* alias */
            instanceof org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            ifeq 8
         6: .line 486
            aload 8 /* alias */
            checkcast org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            astore 9 /* virtual */
        start local 9 // org.graalvm.compiler.nodes.virtual.VirtualObjectNode virtual
         7: .line 487
            aload 5 /* proxies */
            aload 9 /* virtual */
            invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.getObjectId:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 6 /* proxy */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 9 // org.graalvm.compiler.nodes.virtual.VirtualObjectNode virtual
        end local 8 // org.graalvm.compiler.nodes.ValueNode alias
        end local 6 // org.graalvm.compiler.nodes.ProxyNode proxy
         8: .line 483
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         9: .line 490
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        10: goto 19
        11: .line 491
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure org.graalvm.compiler.nodes.LoopExitNode org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState org.graalvm.compiler.virtual.phases.ea.GraphEffectList java.util.Map int
      StackMap stack:
            aload 3 /* exitState */
            iload 6 /* i */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState.getObjectStateOptional:(I)Lorg/graalvm/compiler/virtual/phases/ea/ObjectState;
            astore 7 /* exitObjState */
        start local 7 // org.graalvm.compiler.virtual.phases.ea.ObjectState exitObjState
        12: .line 492
            aload 7 /* exitObjState */
            ifnull 18
        13: .line 493
            aload 2 /* initialState */
            iload 6 /* i */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState.getObjectStateOptional:(I)Lorg/graalvm/compiler/virtual/phases/ea/ObjectState;
            astore 8 /* initialObjState */
        start local 8 // org.graalvm.compiler.virtual.phases.ea.ObjectState initialObjState
        14: .line 495
            aload 7 /* exitObjState */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ObjectState.isVirtual:()Z
            ifeq 17
        15: .line 496
            aload 1 /* exitNode */
            aload 4 /* effects */
            iload 6 /* i */
            aload 7 /* exitObjState */
            aload 8 /* initialObjState */
            aload 3 /* exitState */
            invokestatic org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.processVirtualAtLoopExit:(Lorg/graalvm/compiler/nodes/LoopExitNode;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;ILorg/graalvm/compiler/virtual/phases/ea/ObjectState;Lorg/graalvm/compiler/virtual/phases/ea/ObjectState;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;)V
        16: .line 497
            goto 18
        17: .line 498
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.ObjectState org.graalvm.compiler.virtual.phases.ea.ObjectState
      StackMap stack:
            aload 1 /* exitNode */
            aload 4 /* effects */
            aload 5 /* proxies */
            iload 6 /* i */
            aload 7 /* exitObjState */
            aload 8 /* initialObjState */
            aload 3 /* exitState */
            invokestatic org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.processMaterializedAtLoopExit:(Lorg/graalvm/compiler/nodes/LoopExitNode;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;Ljava/util/Map;ILorg/graalvm/compiler/virtual/phases/ea/ObjectState;Lorg/graalvm/compiler/virtual/phases/ea/ObjectState;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;)V
        end local 8 // org.graalvm.compiler.virtual.phases.ea.ObjectState initialObjState
        end local 7 // org.graalvm.compiler.virtual.phases.ea.ObjectState exitObjState
        18: .line 490
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 6 /* i */
            aload 3 /* exitState */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState.getStateCount:()I
            if_icmplt 11
        end local 6 // int i
        end local 5 // java.util.Map proxies
        20: .line 503
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
        end local 3 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState exitState
        end local 2 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState initialState
        end local 1 // org.graalvm.compiler.nodes.LoopExitNode exitNode
        end local 0 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   21     0             this  Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure<TBlockT;>;
            0   21     1         exitNode  Lorg/graalvm/compiler/nodes/LoopExitNode;
            0   21     2     initialState  TBlockT;
            0   21     3        exitState  TBlockT;
            0   21     4          effects  Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;
            2   20     5          proxies  Ljava/util/Map<Ljava/lang/Integer;Lorg/graalvm/compiler/nodes/ProxyNode;>;
            4    8     6            proxy  Lorg/graalvm/compiler/nodes/ProxyNode;
            5    8     8            alias  Lorg/graalvm/compiler/nodes/ValueNode;
            7    8     9          virtual  Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;
           10   20     6                i  I
           12   18     7     exitObjState  Lorg/graalvm/compiler/virtual/phases/ea/ObjectState;
           14   18     8  initialObjState  Lorg/graalvm/compiler/virtual/phases/ea/ObjectState;
    Signature: (Lorg/graalvm/compiler/nodes/LoopExitNode;TBlockT;TBlockT;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)V
    MethodParameters:
              Name  Flags
      exitNode      
      initialState  
      exitState     
      effects       

  private static void processMaterializedAtLoopExit(org.graalvm.compiler.nodes.LoopExitNode, org.graalvm.compiler.virtual.phases.ea.GraphEffectList, java.util.Map<java.lang.Integer, org.graalvm.compiler.nodes.ProxyNode>, int, org.graalvm.compiler.virtual.phases.ea.ObjectState, org.graalvm.compiler.virtual.phases.ea.ObjectState, org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState<?>);
    descriptor: (Lorg/graalvm/compiler/nodes/LoopExitNode;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;Ljava/util/Map;ILorg/graalvm/compiler/virtual/phases/ea/ObjectState;Lorg/graalvm/compiler/virtual/phases/ea/ObjectState;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=7
        start local 0 // org.graalvm.compiler.nodes.LoopExitNode exitNode
        start local 1 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
        start local 2 // java.util.Map proxies
        start local 3 // int object
        start local 4 // org.graalvm.compiler.virtual.phases.ea.ObjectState exitObjState
        start local 5 // org.graalvm.compiler.virtual.phases.ea.ObjectState initialObjState
        start local 6 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState exitState
         0: .line 507
            aload 5 /* initialObjState */
            ifnull 1
            aload 5 /* initialObjState */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ObjectState.isVirtual:()Z
            ifeq 9
         1: .line 508
      StackMap locals:
      StackMap stack:
            aload 2 /* proxies */
            iload 3 /* object */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.ProxyNode
            astore 7 /* proxy */
        start local 7 // org.graalvm.compiler.nodes.ProxyNode proxy
         2: .line 509
            aload 7 /* proxy */
            ifnonnull 6
         3: .line 510
            new org.graalvm.compiler.nodes.ValueProxyNode
            dup
            aload 4 /* exitObjState */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ObjectState.getMaterializedValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 0 /* exitNode */
            invokespecial org.graalvm.compiler.nodes.ValueProxyNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/LoopExitNode;)V
            astore 7 /* proxy */
         4: .line 511
            aload 1 /* effects */
            aload 7 /* proxy */
            ldc "proxy"
            invokevirtual org.graalvm.compiler.virtual.phases.ea.GraphEffectList.addFloatingNode:(Lorg/graalvm/compiler/nodes/ValueNode;Ljava/lang/String;)V
         5: .line 512
            goto 7
         6: .line 513
      StackMap locals: org.graalvm.compiler.nodes.ProxyNode
      StackMap stack:
            aload 1 /* effects */
            aload 7 /* proxy */
            aload 7 /* proxy */
            invokevirtual org.graalvm.compiler.nodes.ProxyNode.value:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 4 /* exitObjState */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ObjectState.getMaterializedValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.virtual.phases.ea.GraphEffectList.replaceFirstInput:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
         7: .line 516
      StackMap locals:
      StackMap stack:
            aload 6 /* exitState */
            iload 3 /* object */
            aload 7 /* proxy */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState.updateMaterializedValue:(ILorg/graalvm/compiler/nodes/ValueNode;)V
        end local 7 // org.graalvm.compiler.nodes.ProxyNode proxy
         8: .line 517
            goto 11
         9: .line 518
      StackMap locals:
      StackMap stack:
            aload 5 /* initialObjState */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ObjectState.getMaterializedValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 4 /* exitObjState */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ObjectState.getMaterializedValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            if_acmpeq 11
        10: .line 519
            ldc "materialized value changes within loop: %s vs. %s at %s"
            aload 5 /* initialObjState */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ObjectState.getMaterializedValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 4 /* exitObjState */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ObjectState.getMaterializedValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 0 /* exitNode */
            invokestatic org.graalvm.compiler.debug.Debug.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
        11: .line 522
      StackMap locals:
      StackMap stack:
            return
        end local 6 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState exitState
        end local 5 // org.graalvm.compiler.virtual.phases.ea.ObjectState initialObjState
        end local 4 // org.graalvm.compiler.virtual.phases.ea.ObjectState exitObjState
        end local 3 // int object
        end local 2 // java.util.Map proxies
        end local 1 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
        end local 0 // org.graalvm.compiler.nodes.LoopExitNode exitNode
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   12     0         exitNode  Lorg/graalvm/compiler/nodes/LoopExitNode;
            0   12     1          effects  Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;
            0   12     2          proxies  Ljava/util/Map<Ljava/lang/Integer;Lorg/graalvm/compiler/nodes/ProxyNode;>;
            0   12     3           object  I
            0   12     4     exitObjState  Lorg/graalvm/compiler/virtual/phases/ea/ObjectState;
            0   12     5  initialObjState  Lorg/graalvm/compiler/virtual/phases/ea/ObjectState;
            0   12     6        exitState  Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState<*>;
            2    8     7            proxy  Lorg/graalvm/compiler/nodes/ProxyNode;
    Signature: (Lorg/graalvm/compiler/nodes/LoopExitNode;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;Ljava/util/Map<Ljava/lang/Integer;Lorg/graalvm/compiler/nodes/ProxyNode;>;ILorg/graalvm/compiler/virtual/phases/ea/ObjectState;Lorg/graalvm/compiler/virtual/phases/ea/ObjectState;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState<*>;)V
    MethodParameters:
                 Name  Flags
      exitNode         
      effects          
      proxies          
      object           
      exitObjState     
      initialObjState  
      exitState        

  private static void processVirtualAtLoopExit(org.graalvm.compiler.nodes.LoopExitNode, org.graalvm.compiler.virtual.phases.ea.GraphEffectList, int, org.graalvm.compiler.virtual.phases.ea.ObjectState, org.graalvm.compiler.virtual.phases.ea.ObjectState, org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState<?>);
    descriptor: (Lorg/graalvm/compiler/nodes/LoopExitNode;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;ILorg/graalvm/compiler/virtual/phases/ea/ObjectState;Lorg/graalvm/compiler/virtual/phases/ea/ObjectState;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=9, args_size=6
        start local 0 // org.graalvm.compiler.nodes.LoopExitNode exitNode
        start local 1 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
        start local 2 // int object
        start local 3 // org.graalvm.compiler.virtual.phases.ea.ObjectState exitObjState
        start local 4 // org.graalvm.compiler.virtual.phases.ea.ObjectState initialObjState
        start local 5 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState exitState
         0: .line 526
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         1: goto 9
         2: .line 527
      StackMap locals: int
      StackMap stack:
            aload 5 /* exitState */
            iload 2 /* object */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState.getObjectState:(I)Lorg/graalvm/compiler/virtual/phases/ea/ObjectState;
            iload 6 /* i */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ObjectState.getEntry:(I)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 7 /* value */
        start local 7 // org.graalvm.compiler.nodes.ValueNode value
         3: .line 528
            aload 7 /* value */
            instanceof org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            ifne 8
            aload 7 /* value */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifne 8
         4: .line 529
            aload 0 /* exitNode */
            invokevirtual org.graalvm.compiler.nodes.LoopExitNode.loopBegin:()Lorg/graalvm/compiler/nodes/LoopBeginNode;
            aload 7 /* value */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.isPhiAtMerge:(Lorg/graalvm/compiler/graph/Node;)Z
            ifne 5
            aload 4 /* initialObjState */
            ifnull 5
            aload 4 /* initialObjState */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ObjectState.isVirtual:()Z
            ifeq 5
            aload 4 /* initialObjState */
            iload 6 /* i */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ObjectState.getEntry:(I)Lorg/graalvm/compiler/nodes/ValueNode;
            aload 7 /* value */
            if_acmpeq 8
         5: .line 530
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            new org.graalvm.compiler.nodes.ValueProxyNode
            dup
            aload 7 /* value */
            aload 0 /* exitNode */
            invokespecial org.graalvm.compiler.nodes.ValueProxyNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/LoopExitNode;)V
            astore 8 /* proxy */
        start local 8 // org.graalvm.compiler.nodes.ProxyNode proxy
         6: .line 531
            aload 5 /* exitState */
            iload 2 /* object */
            iload 6 /* i */
            aload 8 /* proxy */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState.setEntry:(IILorg/graalvm/compiler/nodes/ValueNode;)V
         7: .line 532
            aload 1 /* effects */
            aload 8 /* proxy */
            ldc "virtualProxy"
            invokevirtual org.graalvm.compiler.virtual.phases.ea.GraphEffectList.addFloatingNode:(Lorg/graalvm/compiler/nodes/ValueNode;Ljava/lang/String;)V
        end local 8 // org.graalvm.compiler.nodes.ProxyNode proxy
        end local 7 // org.graalvm.compiler.nodes.ValueNode value
         8: .line 526
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 6 /* i */
            aload 3 /* exitObjState */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ObjectState.getEntries:()[Lorg/graalvm/compiler/nodes/ValueNode;
            arraylength
            if_icmplt 2
        end local 6 // int i
        10: .line 536
            return
        end local 5 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState exitState
        end local 4 // org.graalvm.compiler.virtual.phases.ea.ObjectState initialObjState
        end local 3 // org.graalvm.compiler.virtual.phases.ea.ObjectState exitObjState
        end local 2 // int object
        end local 1 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
        end local 0 // org.graalvm.compiler.nodes.LoopExitNode exitNode
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   11     0         exitNode  Lorg/graalvm/compiler/nodes/LoopExitNode;
            0   11     1          effects  Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;
            0   11     2           object  I
            0   11     3     exitObjState  Lorg/graalvm/compiler/virtual/phases/ea/ObjectState;
            0   11     4  initialObjState  Lorg/graalvm/compiler/virtual/phases/ea/ObjectState;
            0   11     5        exitState  Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState<*>;
            1   10     6                i  I
            3    8     7            value  Lorg/graalvm/compiler/nodes/ValueNode;
            6    8     8            proxy  Lorg/graalvm/compiler/nodes/ProxyNode;
    Signature: (Lorg/graalvm/compiler/nodes/LoopExitNode;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;ILorg/graalvm/compiler/virtual/phases/ea/ObjectState;Lorg/graalvm/compiler/virtual/phases/ea/ObjectState;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState<*>;)V
    MethodParameters:
                 Name  Flags
      exitNode         
      effects          
      object           
      exitObjState     
      initialObjState  
      exitState        

  protected org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure<BlockT>.MergeProcessor createMergeProcessor(org.graalvm.compiler.nodes.cfg.Block);
    descriptor: (Lorg/graalvm/compiler/nodes/cfg/Block;)Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure$MergeProcessor;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure this
        start local 1 // org.graalvm.compiler.nodes.cfg.Block merge
         0: .line 540
            new org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure$MergeProcessor
            dup
            aload 0 /* this */
            aload 1 /* merge */
            invokespecial org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure$MergeProcessor.<init>:(Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure;Lorg/graalvm/compiler/nodes/cfg/Block;)V
            areturn
        end local 1 // org.graalvm.compiler.nodes.cfg.Block merge
        end local 0 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure<TBlockT;>;
            0    1     1  merge  Lorg/graalvm/compiler/nodes/cfg/Block;
    Signature: (Lorg/graalvm/compiler/nodes/cfg/Block;)Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure<TBlockT;>.MergeProcessor;
    MethodParameters:
       Name  Flags
      merge  

  public org.graalvm.compiler.virtual.phases.ea.ObjectState getObjectState(org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState<?>, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/virtual/phases/ea/ObjectState;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure this
        start local 1 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState state
        start local 2 // org.graalvm.compiler.nodes.ValueNode value
         0: .line 1018
            aload 2 /* value */
            ifnonnull 2
         1: .line 1019
            aconst_null
            areturn
         2: .line 1021
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isAlive:()Z
            ifeq 7
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.aliases:Lorg/graalvm/compiler/graph/NodeMap;
            aload 2 /* value */
            invokevirtual org.graalvm.compiler.graph.NodeMap.isNew:(Lorg/graalvm/compiler/graph/Node;)Z
            ifne 7
         3: .line 1022
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.aliases:Lorg/graalvm/compiler/graph/NodeMap;
            aload 2 /* value */
            invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.ValueNode
            astore 3 /* object */
        start local 3 // org.graalvm.compiler.nodes.ValueNode object
         4: .line 1023
            aload 3 /* object */
            instanceof org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            ifeq 5
            aload 1 /* state */
            aload 3 /* object */
            checkcast org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState.getObjectStateOptional:(Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;)Lorg/graalvm/compiler/virtual/phases/ea/ObjectState;
            goto 6
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
         5: aconst_null
      StackMap locals:
      StackMap stack: org.graalvm.compiler.virtual.phases.ea.ObjectState
         6: areturn
        end local 3 // org.graalvm.compiler.nodes.ValueNode object
         7: .line 1025
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            instanceof org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            ifeq 9
         8: .line 1026
            aload 1 /* state */
            aload 2 /* value */
            checkcast org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState.getObjectStateOptional:(Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;)Lorg/graalvm/compiler/virtual/phases/ea/ObjectState;
            areturn
         9: .line 1028
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // org.graalvm.compiler.nodes.ValueNode value
        end local 1 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState state
        end local 0 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure<TBlockT;>;
            0   10     1   state  Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState<*>;
            0   10     2   value  Lorg/graalvm/compiler/nodes/ValueNode;
            4    7     3  object  Lorg/graalvm/compiler/nodes/ValueNode;
    Signature: (Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState<*>;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/virtual/phases/ea/ObjectState;
    MethodParameters:
       Name  Flags
      state  
      value  

  public org.graalvm.compiler.nodes.ValueNode getAlias(org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure this
        start local 1 // org.graalvm.compiler.nodes.ValueNode value
         0: .line 1033
            aload 1 /* value */
            ifnull 5
            aload 1 /* value */
            instanceof org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            ifne 5
         1: .line 1034
            aload 1 /* value */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isAlive:()Z
            ifeq 5
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.aliases:Lorg/graalvm/compiler/graph/NodeMap;
            aload 1 /* value */
            invokevirtual org.graalvm.compiler.graph.NodeMap.isNew:(Lorg/graalvm/compiler/graph/Node;)Z
            ifne 5
         2: .line 1035
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.aliases:Lorg/graalvm/compiler/graph/NodeMap;
            aload 1 /* value */
            invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.ValueNode
            astore 2 /* result */
        start local 2 // org.graalvm.compiler.nodes.ValueNode result
         3: .line 1036
            aload 2 /* result */
            ifnull 5
         4: .line 1037
            aload 2 /* result */
            areturn
        end local 2 // org.graalvm.compiler.nodes.ValueNode result
         5: .line 1041
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            areturn
        end local 1 // org.graalvm.compiler.nodes.ValueNode value
        end local 0 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure<TBlockT;>;
            0    6     1   value  Lorg/graalvm/compiler/nodes/ValueNode;
            3    5     2  result  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
       Name  Flags
      value  

  public org.graalvm.compiler.nodes.ValueNode getAliasAndResolve(org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState<?>, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure this
        start local 1 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState state
        start local 2 // org.graalvm.compiler.nodes.ValueNode value
         0: .line 1045
            aload 0 /* this */
            aload 2 /* value */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.getAlias:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 3 /* result */
        start local 3 // org.graalvm.compiler.nodes.ValueNode result
         1: .line 1046
            aload 3 /* result */
            instanceof org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            ifeq 5
         2: .line 1047
            aload 3 /* result */
            checkcast org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.getObjectId:()I
            istore 4 /* id */
        start local 4 // int id
         3: .line 1048
            iload 4 /* id */
            iconst_m1
            if_icmpeq 5
            aload 1 /* state */
            iload 4 /* id */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState.getObjectState:(I)Lorg/graalvm/compiler/virtual/phases/ea/ObjectState;
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ObjectState.isVirtual:()Z
            ifne 5
         4: .line 1049
            aload 1 /* state */
            iload 4 /* id */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState.getObjectState:(I)Lorg/graalvm/compiler/virtual/phases/ea/ObjectState;
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ObjectState.getMaterializedValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 3 /* result */
        end local 4 // int id
         5: .line 1052
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 3 /* result */
            areturn
        end local 3 // org.graalvm.compiler.nodes.ValueNode result
        end local 2 // org.graalvm.compiler.nodes.ValueNode value
        end local 1 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState state
        end local 0 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure<TBlockT;>;
            0    6     1   state  Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState<*>;
            0    6     2   value  Lorg/graalvm/compiler/nodes/ValueNode;
            1    6     3  result  Lorg/graalvm/compiler/nodes/ValueNode;
            3    5     4      id  I
    Signature: (Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState<*>;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
       Name  Flags
      state  
      value  

  void addAndMarkAlias(org.graalvm.compiler.nodes.virtual.VirtualObjectNode, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure this
        start local 1 // org.graalvm.compiler.nodes.virtual.VirtualObjectNode virtual
        start local 2 // org.graalvm.compiler.nodes.ValueNode node
         0: .line 1056
            aload 2 /* node */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isAlive:()Z
            ifeq 6
         1: .line 1057
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.aliases:Lorg/graalvm/compiler/graph/NodeMap;
            aload 2 /* node */
            aload 1 /* virtual */
            invokevirtual org.graalvm.compiler.graph.NodeMap.set:(Lorg/graalvm/compiler/graph/Node;Ljava/lang/Object;)V
         2: .line 1058
            aload 2 /* node */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 4
            goto 5
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure org.graalvm.compiler.nodes.virtual.VirtualObjectNode org.graalvm.compiler.nodes.ValueNode top java.util.Iterator
      StackMap stack:
         3: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 3 /* usage */
        start local 3 // org.graalvm.compiler.graph.Node usage
         4: .line 1059
            aload 0 /* this */
            aload 3 /* usage */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.markVirtualUsages:(Lorg/graalvm/compiler/graph/Node;)V
        end local 3 // org.graalvm.compiler.graph.Node usage
         5: .line 1058
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 1062
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure org.graalvm.compiler.nodes.virtual.VirtualObjectNode org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            return
        end local 2 // org.graalvm.compiler.nodes.ValueNode node
        end local 1 // org.graalvm.compiler.nodes.virtual.VirtualObjectNode virtual
        end local 0 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure<TBlockT;>;
            0    7     1  virtual  Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;
            0    7     2     node  Lorg/graalvm/compiler/nodes/ValueNode;
            4    5     3    usage  Lorg/graalvm/compiler/graph/Node;
    MethodParameters:
         Name  Flags
      virtual  
      node     

  private void markVirtualUsages(org.graalvm.compiler.graph.Node);
    descriptor: (Lorg/graalvm/compiler/graph/Node;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure this
        start local 1 // org.graalvm.compiler.graph.Node node
         0: .line 1065
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.hasVirtualInputs:Lorg/graalvm/compiler/graph/NodeBitMap;
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.graph.NodeBitMap.isNew:(Lorg/graalvm/compiler/graph/Node;)Z
            ifne 7
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.hasVirtualInputs:Lorg/graalvm/compiler/graph/NodeBitMap;
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.graph.NodeBitMap.isMarked:(Lorg/graalvm/compiler/graph/Node;)Z
            ifne 7
         1: .line 1066
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.hasVirtualInputs:Lorg/graalvm/compiler/graph/NodeBitMap;
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.graph.NodeBitMap.mark:(Lorg/graalvm/compiler/graph/Node;)V
         2: .line 1067
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.VirtualState
            ifeq 7
         3: .line 1068
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.graph.Node.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 3
            goto 6
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure org.graalvm.compiler.graph.Node top java.util.Iterator
      StackMap stack:
         4: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 2 /* usage */
        start local 2 // org.graalvm.compiler.graph.Node usage
         5: .line 1069
            aload 0 /* this */
            aload 2 /* usage */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.markVirtualUsages:(Lorg/graalvm/compiler/graph/Node;)V
        end local 2 // org.graalvm.compiler.graph.Node usage
         6: .line 1068
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         7: .line 1073
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure org.graalvm.compiler.graph.Node
      StackMap stack:
            return
        end local 1 // org.graalvm.compiler.graph.Node node
        end local 0 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure<TBlockT;>;
            0    8     1   node  Lorg/graalvm/compiler/graph/Node;
            5    6     2  usage  Lorg/graalvm/compiler/graph/Node;
    MethodParameters:
      Name  Flags
      node  

  protected void processLoopExit(org.graalvm.compiler.nodes.LoopExitNode, org.graalvm.compiler.virtual.phases.ea.EffectsBlockState, org.graalvm.compiler.virtual.phases.ea.EffectsBlockState, org.graalvm.compiler.virtual.phases.ea.GraphEffectList);
    descriptor: (Lorg/graalvm/compiler/nodes/LoopExitNode;Lorg/graalvm/compiler/virtual/phases/ea/EffectsBlockState;Lorg/graalvm/compiler/virtual/phases/ea/EffectsBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)V
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=5, locals=5, args_size=5
         0: .line 1
            aload 0
            aload 1
            aload 2
            checkcast org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState
            aload 3
            checkcast org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState
            aload 4
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.processLoopExit:(Lorg/graalvm/compiler/nodes/LoopExitNode;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected boolean processNode(org.graalvm.compiler.graph.Node, org.graalvm.compiler.virtual.phases.ea.EffectsBlockState, org.graalvm.compiler.virtual.phases.ea.GraphEffectList, org.graalvm.compiler.nodes.FixedWithNextNode);
    descriptor: (Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/virtual/phases/ea/EffectsBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)Z
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=5, locals=5, args_size=5
         0: .line 1
            aload 0
            aload 1
            aload 2
            checkcast org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState
            aload 3
            aload 4
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.processNode:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected org.graalvm.compiler.virtual.phases.ea.EffectsBlockState stripKilledLoopLocations(org.graalvm.compiler.core.common.cfg.Loop, org.graalvm.compiler.virtual.phases.ea.EffectsBlockState);
    descriptor: (Lorg/graalvm/compiler/core/common/cfg/Loop;Lorg/graalvm/compiler/virtual/phases/ea/EffectsBlockState;)Lorg/graalvm/compiler/virtual/phases/ea/EffectsBlockState;
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            checkcast org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.stripKilledLoopLocations:(Lorg/graalvm/compiler/core/common/cfg/Loop;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;)Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected org.graalvm.compiler.virtual.phases.ea.EffectsClosure$MergeProcessor createMergeProcessor(org.graalvm.compiler.nodes.cfg.Block);
    descriptor: (Lorg/graalvm/compiler/nodes/cfg/Block;)Lorg/graalvm/compiler/virtual/phases/ea/EffectsClosure$MergeProcessor;
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.createMergeProcessor:(Lorg/graalvm/compiler/nodes/cfg/Block;)Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure$MergeProcessor;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void processInitialLoopState(org.graalvm.compiler.core.common.cfg.Loop, org.graalvm.compiler.virtual.phases.ea.EffectsBlockState);
    descriptor: (Lorg/graalvm/compiler/core/common/cfg/Loop;Lorg/graalvm/compiler/virtual/phases/ea/EffectsBlockState;)V
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            checkcast org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.processInitialLoopState:(Lorg/graalvm/compiler/core/common/cfg/Loop;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: <BlockT:Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState<TBlockT;>;>Lorg/graalvm/compiler/virtual/phases/ea/EffectsClosure<TBlockT;>;
SourceFile: "PartialEscapeClosure.java"
NestMembers:
  org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure$CollectVirtualObjectsClosure  org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure$Final  org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure$MergeProcessor
InnerClasses:
  public abstract Binary = org.graalvm.compiler.graph.spi.Canonicalizable$Binary of org.graalvm.compiler.graph.spi.Canonicalizable
  public abstract Unary = org.graalvm.compiler.graph.spi.Canonicalizable$Unary of org.graalvm.compiler.graph.spi.Canonicalizable
  public ScheduleResult = org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult of org.graalvm.compiler.nodes.StructuredGraph
  public abstract NodeClosure = org.graalvm.compiler.nodes.VirtualState$NodeClosure of org.graalvm.compiler.nodes.VirtualState
  protected MergeProcessor = org.graalvm.compiler.virtual.phases.ea.EffectsClosure$MergeProcessor of org.graalvm.compiler.virtual.phases.ea.EffectsClosure
  private final CollectVirtualObjectsClosure = org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure$CollectVirtualObjectsClosure of org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure
  public final Final = org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure$Final of org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure
  protected MergeProcessor = org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure$MergeProcessor of org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure