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.CounterKey COUNTER_MATERIALIZATIONS;
    descriptor: Lorg/graalvm/compiler/debug/CounterKey;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

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

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

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

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

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

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

  public static final org.graalvm.compiler.debug.CounterKey COUNTER_MEMORYCHECKPOINT;
    descriptor: Lorg/graalvm/compiler/debug/CounterKey;
    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

  protected final org.graalvm.compiler.virtual.phases.ea.VirtualizerToolImpl tool;
    descriptor: Lorg/graalvm/compiler/virtual/phases/ea/VirtualizerToolImpl;
    flags: (0x0014) ACC_PROTECTED, 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;>;

  public final org.graalvm.compiler.debug.DebugContext debug;
    descriptor: Lorg/graalvm/compiler/debug/DebugContext;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  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 82
            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 84
            ldc "Materializations"
            invokestatic org.graalvm.compiler.debug.DebugContext.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/CounterKey;
            putstatic org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.COUNTER_MATERIALIZATIONS:Lorg/graalvm/compiler/debug/CounterKey;
         4: .line 85
            ldc "MaterializationsPhi"
            invokestatic org.graalvm.compiler.debug.DebugContext.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/CounterKey;
            putstatic org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.COUNTER_MATERIALIZATIONS_PHI:Lorg/graalvm/compiler/debug/CounterKey;
         5: .line 86
            ldc "MaterializationsMerge"
            invokestatic org.graalvm.compiler.debug.DebugContext.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/CounterKey;
            putstatic org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.COUNTER_MATERIALIZATIONS_MERGE:Lorg/graalvm/compiler/debug/CounterKey;
         6: .line 87
            ldc "MaterializationsUnhandled"
            invokestatic org.graalvm.compiler.debug.DebugContext.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/CounterKey;
            putstatic org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.COUNTER_MATERIALIZATIONS_UNHANDLED:Lorg/graalvm/compiler/debug/CounterKey;
         7: .line 88
            ldc "MaterializationsLoopReiteration"
            invokestatic org.graalvm.compiler.debug.DebugContext.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/CounterKey;
            putstatic org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.COUNTER_MATERIALIZATIONS_LOOP_REITERATION:Lorg/graalvm/compiler/debug/CounterKey;
         8: .line 89
            ldc "MaterializationsLoopEnd"
            invokestatic org.graalvm.compiler.debug.DebugContext.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/CounterKey;
            putstatic org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.COUNTER_MATERIALIZATIONS_LOOP_END:Lorg/graalvm/compiler/debug/CounterKey;
         9: .line 90
            ldc "AllocationsRemoved"
            invokestatic org.graalvm.compiler.debug.DebugContext.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/CounterKey;
            putstatic org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.COUNTER_ALLOCATION_REMOVED:Lorg/graalvm/compiler/debug/CounterKey;
        10: .line 91
            ldc "MemoryCheckpoint"
            invokestatic org.graalvm.compiler.debug.DebugContext.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/CounterKey;
            putstatic org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.COUNTER_MEMORYCHECKPOINT:Lorg/graalvm/compiler/debug/CounterKey;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public boolean needsApplyEffects();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=7, args_size=1
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure this
         0: .line 112
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.hasChanged:()Z
            ifeq 2
         1: .line 113
            iconst_1
            ireturn
         2: .line 120
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* delta */
        start local 1 // int delta
         3: .line 121
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.cfg:Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
            invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.getBlocks:()[Lorg/graalvm/compiler/nodes/cfg/Block;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 9
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure int top int int org.graalvm.compiler.nodes.cfg.Block[]
      StackMap stack:
         4: aload 5
            iload 3
            aaload
            astore 2 /* block */
        start local 2 // org.graalvm.compiler.nodes.cfg.Block block
         5: .line 122
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.blockEffects:Lorg/graalvm/compiler/core/common/cfg/BlockMap;
            aload 2 /* block */
            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
            astore 6 /* effects */
        start local 6 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
         6: .line 123
            aload 6 /* effects */
            ifnull 8
         7: .line 124
            iload 1 /* delta */
            aload 6 /* effects */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.GraphEffectList.getVirtualizationDelta:()I
            iadd
            istore 1 /* delta */
        end local 6 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
        end local 2 // org.graalvm.compiler.nodes.cfg.Block block
         8: .line 121
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         9: iload 3
            iload 4
            if_icmplt 4
        10: .line 127
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.cfg:Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
            invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.getLoops:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 15
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure int top java.util.Iterator
      StackMap stack:
        11: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.core.common.cfg.Loop
            astore 2 /* loop */
        start local 2 // org.graalvm.compiler.core.common.cfg.Loop loop
        12: .line 128
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.loopMergeEffects:Ljdk/internal/vm/compiler/collections/EconomicMap;
            aload 2 /* loop */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.virtual.phases.ea.GraphEffectList
            astore 4 /* effects */
        start local 4 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
        13: .line 129
            aload 4 /* effects */
            ifnull 15
        14: .line 130
            iload 1 /* delta */
            aload 4 /* effects */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.GraphEffectList.getVirtualizationDelta:()I
            iadd
            istore 1 /* delta */
        end local 4 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
        end local 2 // org.graalvm.compiler.core.common.cfg.Loop loop
        15: .line 127
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        16: .line 133
            iload 1 /* delta */
            ifeq 17
            iconst_1
            ireturn
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure int
      StackMap stack:
        17: iconst_0
            ireturn
        end local 1 // int delta
        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;>;
            3   18     1    delta  I
            5    8     2    block  Lorg/graalvm/compiler/nodes/cfg/Block;
            6    8     6  effects  Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;
           12   15     2     loop  Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;
           13   15     4  effects  Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;

  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 188
            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 189
            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=11, 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 193
            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 107
            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 194
            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 195
            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 196
            aload 0 /* this */
            aload 6 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
            putfield org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.debug:Lorg/graalvm/compiler/debug/DebugContext;
         5: .line 197
            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 6 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.debug:Lorg/graalvm/compiler/debug/DebugContext;
            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/options/OptionValues;Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/nodes/spi/LoweringProvider;)V
            putfield org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.tool:Lorg/graalvm/compiler/virtual/phases/ea/VirtualizerToolImpl;
         6: .line 198
            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    7     0                   this  Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure<TBlockT;>;
            0    7     1               schedule  Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;
            0    7     2             metaAccess  Ljdk/vm/ci/meta/MetaAccessProvider;
            0    7     3     constantReflection  Ljdk/vm/ci/meta/ConstantReflectionProvider;
            0    7     4  constantFieldProvider  Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;
            0    7     5       loweringProvider  Lorg/graalvm/compiler/nodes/spi/LoweringProvider;
            3    7     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 210
            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 211
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 212
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.Invoke
            ifeq 4
         3: .line 213
            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 215
      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 219
            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 220
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.graph.Node.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.debug:Lorg/graalvm/compiler/debug/DebugContext;
            ldc "%s"
            aload 1 /* node */
            invokestatic org.graalvm.compiler.virtual.phases.ea.VirtualUtil.trace:(Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/debug/DebugContext;Ljava/lang/String;Ljava/lang/Object;)V
         4: .line 222
            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 223
            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 224
            iconst_0
            ireturn
         7: .line 226
      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 227
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.graph.Node.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.debug:Lorg/graalvm/compiler/debug/DebugContext;
            ldc "deleted virtualizable allocation %s"
            aload 1 /* node */
            invokestatic org.graalvm.compiler.virtual.phases.ea.VirtualUtil.trace:(Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/debug/DebugContext;Ljava/lang/String;Ljava/lang/Object;)V
         9: .line 228
            iconst_1
            ireturn
        10: .line 231
      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 232
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.spi.Virtualizable
            ifeq 17
        12: .line 233
            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 234
            iconst_0
            ireturn
        14: .line 236
      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 237
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.graph.Node.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.debug:Lorg/graalvm/compiler/debug/DebugContext;
            ldc "deleted virtualizable node %s"
            aload 1 /* node */
            invokestatic org.graalvm.compiler.virtual.phases.ea.VirtualUtil.trace:(Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/debug/DebugContext;Ljava/lang/String;Ljava/lang/Object;)V
        16: .line 238
            iconst_1
            ireturn
        17: .line 241
      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 244
      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 245
            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 246
            iconst_1
            ireturn
        21: .line 249
      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 253
            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 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 257
            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 258
            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 262
            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 263
            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 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=5, 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 271
            aload 1 /* node */
            astore 5 /* canonicalizedValue */
        start local 5 // org.graalvm.compiler.nodes.ValueNode canonicalizedValue
         1: .line 272
            aload 1 /* node */
            instanceof org.graalvm.compiler.graph.spi.Canonicalizable$Unary
            ifeq 10
         2: .line 273
            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 274
            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 275
            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 276
            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 277
            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 279
            goto 24
      StackMap locals:
      StackMap stack:
        10: aload 1 /* node */
            instanceof org.graalvm.compiler.graph.spi.Canonicalizable$Binary
            ifeq 23
        11: .line 280
            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 281
            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 282
            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 283
            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 284
            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 285
            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 286
      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 288
            goto 24
        23: .line 289
      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 291
      StackMap locals:
      StackMap stack:
            aload 5 /* canonicalizedValue */
            aload 1 /* node */
            if_acmpeq 45
            aload 5 /* canonicalizedValue */
            ifnull 45
        25: .line 292
            aload 5 /* canonicalizedValue */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isAlive:()Z
            ifeq 34
        26: .line 293
            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 294
            aload 6 /* alias */
            instanceof org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            ifeq 31
        28: .line 295
            aload 0 /* this */
            aload 6 /* alias */
            checkcast org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.addVirtualAlias:(Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
        29: .line 296
            aload 4 /* effects */
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.GraphEffectList.deleteNode:(Lorg/graalvm/compiler/graph/Node;)V
        30: .line 297
            goto 43
        31: .line 298
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 4 /* effects */
            aload 1 /* node */
            aload 6 /* alias */
            aload 2 /* insertBefore */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.GraphEffectList.replaceAtUsages:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
        32: .line 299
            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 301
            goto 43
        34: .line 302
      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 303
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.debug:Lorg/graalvm/compiler/debug/DebugContext;
            ldc "replacement via canonicalization too complex: %s -> %s"
            aload 1 /* node */
            aload 5 /* canonicalizedValue */
            invokestatic org.graalvm.compiler.virtual.phases.ea.VirtualUtil.trace:(Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/debug/DebugContext;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        36: .line 304
            iconst_0
            ireturn
        37: .line 306
      StackMap locals:
      StackMap stack:
            aload 5 /* canonicalizedValue */
            instanceof org.graalvm.compiler.nodes.ControlSinkNode
            ifeq 41
        38: .line 307
            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
        39: .line 308
            aload 3 /* state */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState.markAsDead:()V
        40: .line 309
            goto 43
        41: .line 310
      StackMap locals:
      StackMap stack:
            aload 4 /* effects */
            aload 1 /* node */
            aload 5 /* canonicalizedValue */
            aload 2 /* insertBefore */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.GraphEffectList.replaceAtUsages:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
        42: .line 311
            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
        43: .line 314
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.debug:Lorg/graalvm/compiler/debug/DebugContext;
            ldc "replaced via canonicalization: %s -> %s"
            aload 1 /* node */
            aload 5 /* canonicalizedValue */
            invokestatic org.graalvm.compiler.virtual.phases.ea.VirtualUtil.trace:(Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/debug/DebugContext;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        44: .line 315
            iconst_1
            ireturn
        45: .line 317
      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   46     0                this  Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure<TBlockT;>;
            0   46     1                node  Lorg/graalvm/compiler/nodes/ValueNode;
            0   46     2        insertBefore  Lorg/graalvm/compiler/nodes/FixedNode;
            0   46     3               state  TBlockT;
            0   46     4             effects  Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;
            1   46     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 324
            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 325
      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 17
      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 326
            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 327
            aload 6 /* input */
            instanceof org.graalvm.compiler.nodes.ValueNode
            ifeq 17
         5: .line 328
            aload 6 /* input */
            invokevirtual org.graalvm.compiler.graph.Node.isAlive:()Z
            ifeq 15
         6: .line 329
            aload 6 /* input */
            instanceof org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            ifne 17
         7: .line 330
            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
         8: .line 331
            aload 7 /* obj */
            ifnull 13
         9: .line 332
            aload 7 /* obj */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ObjectState.isVirtual:()Z
            ifeq 11
        10: .line 333
            iconst_0
            ireturn
        11: .line 335
      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
        12: .line 337
            goto 17
        13: .line 338
      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
        14: .line 341
            goto 17
        15: .line 342
      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 17
        16: .line 343
            iconst_0
            ireturn
        end local 6 // org.graalvm.compiler.graph.Node input
        end local 4 // org.graalvm.compiler.graph.Position pos
        17: .line 325
      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
        18: .line 348
            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   19     0     this  Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure<TBlockT;>;
            0   19     1     node  Lorg/graalvm/compiler/nodes/ValueNode;
            0   19     2    state  TBlockT;
            0   19     3  effects  Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;
            3   17     4      pos  Lorg/graalvm/compiler/graph/Position;
            4   17     6    input  Lorg/graalvm/compiler/graph/Node;
            8   14     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 357
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.debug:Lorg/graalvm/compiler/debug/DebugContext;
            ldc "processing nodewithstate: %s"
            aload 1 /* node */
            invokestatic org.graalvm.compiler.virtual.phases.ea.VirtualUtil.trace:(Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/debug/DebugContext;Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 358
            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 359
            aload 5 /* input */
            instanceof org.graalvm.compiler.nodes.ValueNode
            ifeq 10
         4: .line 360
            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 361
            aload 7 /* alias */
            instanceof org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            ifeq 10
         6: .line 362
            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 363
            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/CounterKey;
            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/CounterKey;)Z
            pop
         8: .line 364
            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 365
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.debug:Lorg/graalvm/compiler/debug/DebugContext;
            ldc "replacing input %s at %s"
            aload 5 /* input */
            aload 1 /* node */
            invokestatic org.graalvm.compiler.virtual.phases.ea.VirtualUtil.trace:(Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/debug/DebugContext;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 358
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        11: .line 369
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.spi.NodeWithState
            ifeq 13
        12: .line 370
            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 372
      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 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 375
            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 376
            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 377
            getstatic jdk.internal.vm.compiler.collections.Equivalence.IDENTITY_WITH_SYSTEM_HASHCODE:Ljdk/internal/vm/compiler/collections/Equivalence;
            invokestatic jdk.internal.vm.compiler.collections.EconomicSet.create:(Ljdk/internal/vm/compiler/collections/Equivalence;)Ljdk/internal/vm/compiler/collections/EconomicSet;
            astore 7 /* virtual */
        start local 7 // jdk.internal.vm.compiler.collections.EconomicSet virtual
         4: .line 378
            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;Ljdk/internal/vm/compiler/collections/EconomicSet;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 379
            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;Ljdk/internal/vm/compiler/collections/EconomicSet;)V
         6: .line 380
            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;Ljdk/internal/vm/compiler/collections/EconomicSet;)V
         7: .line 381
            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;Ljdk/internal/vm/compiler/collections/EconomicSet;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)V
        end local 7 // jdk.internal.vm.compiler.collections.EconomicSet virtual
        end local 6 // org.graalvm.compiler.nodes.FrameState frameState
        end local 4 // org.graalvm.compiler.nodes.FrameState fs
         8: .line 375
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         9: .line 383
            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  Ljdk/internal/vm/compiler/collections/EconomicSet<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 386
            aload 1 /* frameState */
            invokevirtual org.graalvm.compiler.nodes.FrameState.hasMoreThanOneUsage:()Z
            ifeq 4
         1: .line 388
            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 389
            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 390
            aload 2 /* copy */
            areturn
        end local 2 // org.graalvm.compiler.nodes.FrameState copy
         4: .line 392
      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, jdk.internal.vm.compiler.collections.EconomicSet<org.graalvm.compiler.nodes.virtual.VirtualObjectNode>, BlockT, org.graalvm.compiler.virtual.phases.ea.GraphEffectList);
    descriptor: (Lorg/graalvm/compiler/nodes/FrameState;Ljdk/internal/vm/compiler/collections/EconomicSet;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, 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 // jdk.internal.vm.compiler.collections.EconomicSet 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 396
            aload 2 /* virtual */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.iterator:()Ljava/util/Iterator;
            astore 6
            goto 3
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure org.graalvm.compiler.nodes.FrameState jdk.internal.vm.compiler.collections.EconomicSet 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 397
            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 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.debug:Lorg/graalvm/compiler/debug/DebugContext;
            aload 5 /* obj */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ObjectState.createEscapeObjectState:(Lorg/graalvm/compiler/debug/DebugContext;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 396
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 399
            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 // jdk.internal.vm.compiler.collections.EconomicSet 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  Ljdk/internal/vm/compiler/collections/EconomicSet<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;Ljdk/internal/vm/compiler/collections/EconomicSet<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, jdk.internal.vm.compiler.collections.EconomicSet<org.graalvm.compiler.nodes.virtual.VirtualObjectNode>);
    descriptor: (Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;Ljdk/internal/vm/compiler/collections/EconomicSet;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, 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 // jdk.internal.vm.compiler.collections.EconomicSet virtual
         0: .line 402
            aload 2 /* virtual */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.iterator:()Ljava/util/Iterator;
            astore 3 /* iterator */
        start local 3 // java.util.Iterator iterator
         1: .line 403
            goto 15
         2: .line 404
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 3 /* iterator */
            invokeinterface java.util.Iterator.next:()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 405
            aload 4 /* object */
            invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.getObjectId:()I
            istore 5 /* id */
        start local 5 // int id
         4: .line 406
            iload 5 /* id */
            iconst_m1
            if_icmpeq 15
         5: .line 407
            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 408
            aload 6 /* objState */
            ifnull 15
            aload 6 /* objState */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ObjectState.isVirtual:()Z
            ifeq 15
         7: .line 409
            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 14
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState jdk.internal.vm.compiler.collections.EconomicSet java.util.Iterator 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 410
            aload 7 /* entry */
            instanceof org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            ifeq 13
        10: .line 411
            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 412
            aload 2 /* virtual */
            aload 11 /* entryVirtual */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.contains:(Ljava/lang/Object;)Z
            ifne 13
        12: .line 413
            aload 2 /* virtual */
            aload 11 /* entryVirtual */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.add:(Ljava/lang/Object;)Z
            pop
        end local 11 // org.graalvm.compiler.nodes.virtual.VirtualObjectNode entryVirtual
        end local 7 // org.graalvm.compiler.nodes.ValueNode entry
        13: .line 409
      StackMap locals:
      StackMap stack:
            iinc 8 1
      StackMap locals:
      StackMap stack:
        14: 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
        15: .line 403
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState jdk.internal.vm.compiler.collections.EconomicSet java.util.Iterator
      StackMap stack:
            aload 3 /* iterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        16: .line 420
            return
        end local 3 // java.util.Iterator iterator
        end local 2 // jdk.internal.vm.compiler.collections.EconomicSet 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   17     0          this  Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure<TBlockT;>;
            0   17     1         state  TBlockT;
            0   17     2       virtual  Ljdk/internal/vm/compiler/collections/EconomicSet<Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;>;
            1   17     3      iterator  Ljava/util/Iterator<Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;>;
            3   15     4        object  Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;
            4   15     5            id  I
            6   15     6      objState  Lorg/graalvm/compiler/virtual/phases/ea/ObjectState;
            9   13     7         entry  Lorg/graalvm/compiler/nodes/ValueNode;
           11   13    11  entryVirtual  Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;
    Signature: (TBlockT;Ljdk/internal/vm/compiler/collections/EconomicSet<Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;>;)V
    MethodParameters:
         Name  Flags
      state    
      virtual  

  private void collectLockedVirtualObjects(BlockT, jdk.internal.vm.compiler.collections.EconomicSet<org.graalvm.compiler.nodes.virtual.VirtualObjectNode>);
    descriptor: (Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;Ljdk/internal/vm/compiler/collections/EconomicSet;)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 // jdk.internal.vm.compiler.collections.EconomicSet virtual
         0: .line 423
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         1: goto 6
         2: .line 424
      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 425
            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 426
            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 jdk.internal.vm.compiler.collections.EconomicSet.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // org.graalvm.compiler.virtual.phases.ea.ObjectState objState
         5: .line 423
      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 429
            return
        end local 2 // jdk.internal.vm.compiler.collections.EconomicSet 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  Ljdk/internal/vm/compiler/collections/EconomicSet<Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;>;
            1    7     3         i  I
            3    5     4  objState  Lorg/graalvm/compiler/virtual/phases/ea/ObjectState;
    Signature: (TBlockT;Ljdk/internal/vm/compiler/collections/EconomicSet<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.CounterKey);
    descriptor: (Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;ILorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;Lorg/graalvm/compiler/debug/CounterKey;)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.CounterKey counter
         0: .line 435
            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 436
            aload 5 /* counter */
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.debug:Lorg/graalvm/compiler/debug/DebugContext;
            invokeinterface org.graalvm.compiler.debug.CounterKey.increment:(Lorg/graalvm/compiler/debug/DebugContext;)V
         2: .line 437
            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 438
            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 439
            getstatic org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.$assertionsDisabled:Z
            ifne 5
            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;)Z
            ifeq 5
            new java.lang.AssertionError
            dup
            ldc "method must already have been called before"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         5: .line 440
      StackMap locals: org.graalvm.compiler.nodes.virtual.VirtualObjectNode
      StackMap stack:
            iconst_1
            ireturn
        end local 6 // org.graalvm.compiler.nodes.virtual.VirtualObjectNode virtual
         6: .line 442
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 5 // org.graalvm.compiler.debug.CounterKey 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/CounterKey;
            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/CounterKey;)Z
    MethodParameters:
                   Name  Flags
      state              
      object             
      materializeBefore  
      effects            
      counter            

  public static boolean 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;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=8, 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 448
            iconst_0
            istore 3 /* change */
        start local 3 // boolean change
         1: .line 449
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 14
         3: .line 450
      StackMap locals: int int
      StackMap stack:
            aload 0 /* state */
            iload 4 /* i */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState.getObjectStateOptional:(I)Lorg/graalvm/compiler/virtual/phases/ea/ObjectState;
            astore 5 /* objState */
        start local 5 // org.graalvm.compiler.virtual.phases.ea.ObjectState objState
         4: .line 451
            aload 5 /* objState */
            ifnull 13
            aload 5 /* objState */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ObjectState.isVirtual:()Z
            ifeq 13
         5: .line 452
            aload 5 /* objState */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ObjectState.getEntries:()[Lorg/graalvm/compiler/nodes/ValueNode;
            astore 6 /* entries */
        start local 6 // org.graalvm.compiler.nodes.ValueNode[] entries
         6: .line 453
            iconst_0
            istore 7 /* i2 */
        start local 7 // int i2
         7: goto 12
         8: .line 454
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.ObjectState org.graalvm.compiler.nodes.ValueNode[] int
      StackMap stack:
            aload 6 /* entries */
            iload 7 /* i2 */
            aaload
            aload 1 /* virtual */
            if_acmpne 11
         9: .line 455
            aload 0 /* state */
            iload 4 /* i */
            iload 7 /* i2 */
            aload 2 /* materializedValue */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState.setEntry:(IILorg/graalvm/compiler/nodes/ValueNode;)V
        10: .line 456
            iconst_1
            istore 3 /* change */
        11: .line 453
      StackMap locals:
      StackMap stack:
            iinc 7 /* i2 */ 1
      StackMap locals:
      StackMap stack:
        12: iload 7 /* i2 */
            aload 6 /* entries */
            arraylength
            if_icmplt 8
        end local 7 // int i2
        end local 6 // org.graalvm.compiler.nodes.ValueNode[] entries
        end local 5 // org.graalvm.compiler.virtual.phases.ea.ObjectState objState
        13: .line 449
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 4 /* i */
            aload 0 /* state */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState.getStateCount:()I
            if_icmplt 3
        end local 4 // int i
        15: .line 461
            iload 3 /* change */
            ireturn
        end local 3 // boolean change
        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   16     0              state  Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState<*>;
            0   16     1            virtual  Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;
            0   16     2  materializedValue  Lorg/graalvm/compiler/nodes/ValueNode;
            1   16     3             change  Z
            2   15     4                  i  I
            4   13     5           objState  Lorg/graalvm/compiler/virtual/phases/ea/ObjectState;
            6   13     6            entries  [Lorg/graalvm/compiler/nodes/ValueNode;
            7   13     7                 i2  I
    Signature: (Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState<*>;Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;Lorg/graalvm/compiler/nodes/ValueNode;)Z
    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 466
            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 467
            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/OptionKey;
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.cfg:Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
            getfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
            invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            if_icmple 40
         2: .line 473
            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 474
            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 475
            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 476
            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 477
      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 480
            new java.util.BitSet
            dup
            iload 7 /* length */
            invokespecial java.util.BitSet.<init>:(I)V
            astore 9 /* ensureVirtualized */
        start local 9 // java.util.BitSet ensureVirtualized
         8: .line 481
            iconst_0
            istore 10 /* i */
        start local 10 // int i
         9: goto 14
        10: .line 482
      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 java.util.BitSet 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 483
            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 484
            aload 9 /* ensureVirtualized */
            iload 10 /* i */
            invokevirtual java.util.BitSet.set:(I)V
        end local 11 // org.graalvm.compiler.virtual.phases.ea.ObjectState state
        13: .line 481
      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 489
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 8 /* change */
        start local 8 // boolean change
        16: .line 490
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        17: goto 31
        18: .line 491
      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 java.util.BitSet int
      StackMap stack:
            aload 9 /* ensureVirtualized */
            iload 10 /* i */
            invokevirtual java.util.BitSet.get:(I)Z
            ifne 30
        19: .line 492
            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 493
            aload 11 /* state */
            ifnull 30
            aload 11 /* state */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ObjectState.isVirtual:()Z
            ifeq 30
        21: .line 494
            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 java.util.BitSet 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 495
            aload 12 /* entry */
            instanceof org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            ifeq 28
        24: .line 496
            aload 9 /* ensureVirtualized */
            aload 12 /* entry */
            checkcast org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.getObjectId:()I
            invokevirtual java.util.BitSet.get:(I)Z
            ifeq 28
        25: .line 497
            iconst_1
            istore 8 /* change */
        26: .line 498
            aload 9 /* ensureVirtualized */
            iload 10 /* i */
            invokevirtual java.util.BitSet.set:(I)V
        27: .line 499
            goto 30
        end local 12 // org.graalvm.compiler.nodes.ValueNode entry
        28: .line 494
      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 490
      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 java.util.BitSet 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 506
            iload 8 /* change */
            ifne 15
        33: .line 508
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        34: goto 39
        35: .line 509
      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 510
            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 */
            invokevirtual java.util.BitSet.get:(I)Z
            ifne 38
        37: .line 511
            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 508
      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 // java.util.BitSet 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 515
      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  Ljava/util/BitSet;
            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 520
            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 521
            aload 3 /* phi */
            iconst_0
            invokevirtual org.graalvm.compiler.nodes.PhiNode.valueAt:(I)Lorg/graalvm/compiler/nodes/ValueNode;
            ifnull 9
         3: .line 522
            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 523
            aload 5 /* alias */
            instanceof org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            ifeq 8
         5: .line 524
            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 525
            aload 0 /* this */
            aload 6 /* virtual */
            aload 3 /* phi */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.addVirtualAlias:(Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
        end local 6 // org.graalvm.compiler.nodes.virtual.VirtualObjectNode virtual
         7: .line 526
            goto 9
         8: .line 527
      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 520
      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 531
            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 535
            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 536
            getstatic jdk.internal.vm.compiler.collections.Equivalence.DEFAULT:Ljdk/internal/vm/compiler/collections/Equivalence;
            invokestatic jdk.internal.vm.compiler.collections.EconomicMap.create:(Ljdk/internal/vm/compiler/collections/Equivalence;)Ljdk/internal/vm/compiler/collections/EconomicMap;
            astore 5 /* proxies */
        start local 5 // jdk.internal.vm.compiler.collections.EconomicMap proxies
         2: .line 537
            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 jdk.internal.vm.compiler.collections.EconomicMap 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 538
            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 539
            aload 8 /* alias */
            instanceof org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            ifeq 8
         6: .line 540
            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 541
            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 jdk.internal.vm.compiler.collections.EconomicMap.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 537
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         9: .line 544
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        10: goto 19
        11: .line 545
      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 jdk.internal.vm.compiler.collections.EconomicMap 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 546
            aload 7 /* exitObjState */
            ifnull 18
        13: .line 547
            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 549
            aload 7 /* exitObjState */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ObjectState.isVirtual:()Z
            ifeq 17
        15: .line 550
            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 551
            goto 18
        17: .line 552
      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;Ljdk/internal/vm/compiler/collections/EconomicMap;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 544
      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 // jdk.internal.vm.compiler.collections.EconomicMap proxies
        20: .line 557
      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  Ljdk/internal/vm/compiler/collections/EconomicMap<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, jdk.internal.vm.compiler.collections.EconomicMap<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;Ljdk/internal/vm/compiler/collections/EconomicMap;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=5, 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 // jdk.internal.vm.compiler.collections.EconomicMap 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 561
            aload 5 /* initialObjState */
            ifnull 1
            aload 5 /* initialObjState */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ObjectState.isVirtual:()Z
            ifeq 9
         1: .line 562
      StackMap locals:
      StackMap stack:
            aload 2 /* proxies */
            iload 3 /* object */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.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 563
            aload 7 /* proxy */
            ifnonnull 6
         3: .line 564
            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 565
            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 566
            goto 7
         6: .line 567
      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 570
      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 571
            goto 11
         9: .line 572
      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 573
            aload 0 /* exitNode */
            invokevirtual org.graalvm.compiler.nodes.LoopExitNode.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
            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 */
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
        11: .line 576
      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 // jdk.internal.vm.compiler.collections.EconomicMap 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  Ljdk/internal/vm/compiler/collections/EconomicMap<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;Ljdk/internal/vm/compiler/collections/EconomicMap<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 580
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         1: goto 9
         2: .line 581
      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 582
            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 583
            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 584
      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 585
            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 586
            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 580
      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 590
            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 594
            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 1117
            aload 2 /* value */
            ifnonnull 2
         1: .line 1118
            aconst_null
            areturn
         2: .line 1120
      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 1121
            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 1122
            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 1124
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            instanceof org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            ifeq 9
         8: .line 1125
            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 1127
      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 1132
            aload 1 /* value */
            ifnull 5
            aload 1 /* value */
            instanceof org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            ifne 5
         1: .line 1133
            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 1134
            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 1135
            aload 2 /* result */
            ifnull 5
         4: .line 1136
            aload 2 /* result */
            areturn
        end local 2 // org.graalvm.compiler.nodes.ValueNode result
         5: .line 1140
      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 1144
            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 1145
            aload 3 /* result */
            instanceof org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            ifeq 5
         2: .line 1146
            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 1147
            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 1148
            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 1151
      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 addVirtualAlias(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 1155
            aload 2 /* node */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isAlive:()Z
            ifeq 6
         1: .line 1156
            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 1157
            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 1158
            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 1157
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 1161
      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 1164
            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 1165
            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 1166
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.VirtualState
            ifeq 7
         3: .line 1167
            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 1168
            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 1167
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         7: .line 1172
      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 abstract 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