class com.oracle.svm.hosted.phases.Instance
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.oracle.svm.hosted.phases.Instance
  super_class: java.lang.Object
{
  private java.util.Map<java.lang.Integer, java.lang.Object> allowedStackSlots;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/Integer;Ljava/lang/Object;>;

  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 71
            ldc Lcom/oracle/svm/hosted/phases/Instance;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic com.oracle.svm.hosted.phases.Instance.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.hosted.phases.Instance this
         0: .line 71
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.oracle.svm.hosted.phases.Instance this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/hosted/phases/Instance;

  public void run(org.graalvm.compiler.lir.gen.LIRGenerationResult);
    descriptor: (Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=11, args_size=2
        start local 0 // com.oracle.svm.hosted.phases.Instance this
        start local 1 // org.graalvm.compiler.lir.gen.LIRGenerationResult lirGenRes
         0: .line 75
            aload 1 /* lirGenRes */
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getLIR:()Lorg/graalvm/compiler/lir/LIR;
            astore 2 /* ir */
        start local 2 // org.graalvm.compiler.lir.LIR ir
         1: .line 76
            aload 2 /* ir */
            invokevirtual org.graalvm.compiler.lir.LIR.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
            astore 3 /* debug */
        start local 3 // org.graalvm.compiler.debug.DebugContext debug
         2: .line 77
            aload 1 /* lirGenRes */
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getFrameMap:()Lorg/graalvm/compiler/lir/framemap/FrameMap;
            astore 4 /* frameMap */
        start local 4 // org.graalvm.compiler.lir.framemap.FrameMap frameMap
         3: .line 78
            aload 2 /* ir */
            invokevirtual org.graalvm.compiler.lir.LIR.linearScanOrder:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 10
      StackMap locals: com.oracle.svm.hosted.phases.Instance org.graalvm.compiler.lir.gen.LIRGenerationResult org.graalvm.compiler.lir.LIR org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.lir.framemap.FrameMap top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
      StackMap stack:
         4: aload 8
            iload 6
            aaload
            astore 5 /* block */
        start local 5 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
         5: .line 79
            aload 2 /* ir */
            aload 5 /* block */
            invokevirtual org.graalvm.compiler.lir.LIR.getLIRforBlock:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 10
            goto 8
      StackMap locals: com.oracle.svm.hosted.phases.Instance org.graalvm.compiler.lir.gen.LIRGenerationResult org.graalvm.compiler.lir.LIR org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.lir.framemap.FrameMap org.graalvm.compiler.core.common.cfg.AbstractBlockBase int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] top java.util.Iterator
      StackMap stack:
         6: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.lir.LIRInstruction
            astore 9 /* op */
        start local 9 // org.graalvm.compiler.lir.LIRInstruction op
         7: .line 80
            aload 9 /* op */
            aload 0 /* this */
            aload 3 /* debug */
            aload 4 /* frameMap */
            invokedynamic doState(Lcom/oracle/svm/hosted/phases/Instance;Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/lir/framemap/FrameMap;)Lorg/graalvm/compiler/lir/InstructionStateProcedure;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/lir/LIRFrameState;)V
                  com/oracle/svm/hosted/phases/Instance.lambda$0(Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/lir/framemap/FrameMap;Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/lir/LIRFrameState;)V (7)
                  (Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/lir/LIRFrameState;)V
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.forEachState:(Lorg/graalvm/compiler/lir/InstructionStateProcedure;)V
        end local 9 // org.graalvm.compiler.lir.LIRInstruction op
         8: .line 79
      StackMap locals:
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        end local 5 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
         9: .line 78
            iinc 6 1
      StackMap locals: com.oracle.svm.hosted.phases.Instance org.graalvm.compiler.lir.gen.LIRGenerationResult org.graalvm.compiler.lir.LIR org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.lir.framemap.FrameMap top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
      StackMap stack:
        10: iload 6
            iload 7
            if_icmplt 4
        11: .line 83
            return
        end local 4 // org.graalvm.compiler.lir.framemap.FrameMap frameMap
        end local 3 // org.graalvm.compiler.debug.DebugContext debug
        end local 2 // org.graalvm.compiler.lir.LIR ir
        end local 1 // org.graalvm.compiler.lir.gen.LIRGenerationResult lirGenRes
        end local 0 // com.oracle.svm.hosted.phases.Instance this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       this  Lcom/oracle/svm/hosted/phases/Instance;
            0   12     1  lirGenRes  Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
            1   12     2         ir  Lorg/graalvm/compiler/lir/LIR;
            2   12     3      debug  Lorg/graalvm/compiler/debug/DebugContext;
            3   12     4   frameMap  Lorg/graalvm/compiler/lir/framemap/FrameMap;
            5    9     5      block  Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
            7    8     9         op  Lorg/graalvm/compiler/lir/LIRInstruction;
    MethodParameters:
           Name  Flags
      lirGenRes  

  private void doState(org.graalvm.compiler.debug.DebugContext, org.graalvm.compiler.lir.framemap.FrameMap, org.graalvm.compiler.lir.LIRInstruction, org.graalvm.compiler.lir.LIRFrameState);
    descriptor: (Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/lir/framemap/FrameMap;Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/lir/LIRFrameState;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=18, args_size=5
        start local 0 // com.oracle.svm.hosted.phases.Instance this
        start local 1 // org.graalvm.compiler.debug.DebugContext debug
        start local 2 // org.graalvm.compiler.lir.framemap.FrameMap frameMap
        start local 3 // org.graalvm.compiler.lir.LIRInstruction op
        start local 4 // org.graalvm.compiler.lir.LIRFrameState state
         0: .line 86
            aload 4 /* state */
            invokevirtual org.graalvm.compiler.lir.LIRFrameState.debugInfo:()Ljdk/vm/ci/code/DebugInfo;
            invokevirtual jdk.vm.ci.code.DebugInfo.getReferenceMap:()Ljdk/vm/ci/code/ReferenceMap;
            checkcast com.oracle.svm.core.heap.SubstrateReferenceMap
            astore 5 /* refMap */
        start local 5 // com.oracle.svm.core.heap.SubstrateReferenceMap refMap
         1: .line 93
            aload 4 /* state */
            getfield org.graalvm.compiler.lir.LIRFrameState.topFrame:Ljdk/vm/ci/code/BytecodeFrame;
            invokevirtual jdk.vm.ci.code.BytecodeFrame.getMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            checkcast com.oracle.svm.hosted.meta.HostedMethod
            getfield com.oracle.svm.hosted.meta.HostedMethod.compilationInfo:Lcom/oracle/svm/hosted/code/CompilationInfo;
            aload 4 /* state */
            getfield org.graalvm.compiler.lir.LIRFrameState.topFrame:Ljdk/vm/ci/code/BytecodeFrame;
            invokevirtual jdk.vm.ci.code.BytecodeFrame.getBCI:()I
            aload 4 /* state */
            getfield org.graalvm.compiler.lir.LIRFrameState.topFrame:Ljdk/vm/ci/code/BytecodeFrame;
            getfield jdk.vm.ci.code.BytecodeFrame.duringCall:Z
            aload 4 /* state */
            getfield org.graalvm.compiler.lir.LIRFrameState.topFrame:Ljdk/vm/ci/code/BytecodeFrame;
            getfield jdk.vm.ci.code.BytecodeFrame.rethrowException:Z
            invokevirtual com.oracle.svm.hosted.code.CompilationInfo.isDeoptEntry:(IZZ)Z
            istore 6 /* isDeoptEntry */
        start local 6 // boolean isDeoptEntry
         2: .line 94
            aload 3 /* op */
            instanceof com.oracle.svm.core.graal.lir.DeoptEntryOp
            ifne 3
            aload 4 /* state */
            getfield org.graalvm.compiler.lir.LIRFrameState.topFrame:Ljdk/vm/ci/code/BytecodeFrame;
            getfield jdk.vm.ci.code.BytecodeFrame.duringCall:Z
            ifeq 46
            iload 6 /* isDeoptEntry */
            ifeq 46
         3: .line 95
      StackMap locals: com.oracle.svm.core.heap.SubstrateReferenceMap int
      StackMap stack:
            aload 4 /* state */
            getfield org.graalvm.compiler.lir.LIRFrameState.topFrame:Ljdk/vm/ci/code/BytecodeFrame;
            astore 7 /* frame */
        start local 7 // jdk.vm.ci.code.BytecodeFrame frame
         4: .line 97
            aload 5 /* refMap */
            invokevirtual com.oracle.svm.core.heap.SubstrateReferenceMap.getDebugAllUsedRegisters:()Ljava/util/Map;
            astore 8 /* allUsedRegisters */
        start local 8 // java.util.Map allUsedRegisters
         5: .line 98
            aload 5 /* refMap */
            invokevirtual com.oracle.svm.core.heap.SubstrateReferenceMap.getDebugAllUsedStackSlots:()Ljava/util/Map;
            astore 9 /* allUsedStackSlots */
        start local 9 // java.util.Map allUsedStackSlots
         6: .line 100
            aload 8 /* allUsedRegisters */
            ifnull 8
            aload 8 /* allUsedRegisters */
            invokeinterface java.util.Map.isEmpty:()Z
            ifne 8
         7: .line 101
            ldc "Deoptimization target must not use any registers"
            invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
         8: .line 104
      StackMap locals: jdk.vm.ci.code.BytecodeFrame java.util.Map java.util.Map
      StackMap stack:
            aload 9 /* allUsedStackSlots */
            ifnull 46
         9: .line 105
            new java.util.HashMap
            dup
            aload 9 /* allUsedStackSlots */
            invokespecial java.util.HashMap.<init>:(Ljava/util/Map;)V
            astore 10 /* cleanedStackSlots */
        start local 10 // java.util.Map cleanedStackSlots
        10: .line 111
      StackMap locals: java.util.Map
      StackMap stack:
            aload 7 /* frame */
            getfield jdk.vm.ci.code.BytecodeFrame.values:[Ljdk/vm/ci/meta/JavaValue;
            dup
            astore 14
            arraylength
            istore 13
            iconst_0
            istore 12
            goto 27
      StackMap locals: com.oracle.svm.hosted.phases.Instance org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.lir.framemap.FrameMap org.graalvm.compiler.lir.LIRInstruction org.graalvm.compiler.lir.LIRFrameState com.oracle.svm.core.heap.SubstrateReferenceMap int jdk.vm.ci.code.BytecodeFrame java.util.Map java.util.Map java.util.Map top int int jdk.vm.ci.meta.JavaValue[]
      StackMap stack:
        11: aload 14
            iload 12
            aaload
            astore 11 /* v */
        start local 11 // jdk.vm.ci.meta.JavaValue v
        12: .line 112
            aload 11 /* v */
            astore 15 /* value */
        start local 15 // jdk.vm.ci.meta.JavaValue value
        13: .line 113
            aload 15 /* value */
            instanceof jdk.vm.ci.code.StackLockValue
            ifeq 17
        14: .line 114
            aload 15 /* value */
            checkcast jdk.vm.ci.code.StackLockValue
            astore 16 /* lock */
        start local 16 // jdk.vm.ci.code.StackLockValue lock
        15: .line 115
            getstatic com.oracle.svm.hosted.phases.Instance.$assertionsDisabled:Z
            ifne 16
            aload 16 /* lock */
            invokevirtual jdk.vm.ci.code.StackLockValue.getSlot:()Ljdk/vm/ci/meta/Value;
            invokestatic jdk.vm.ci.code.ValueUtil.isIllegal:(Ljdk/vm/ci/meta/Value;)Z
            ifne 16
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        16: .line 116
      StackMap locals: com.oracle.svm.hosted.phases.Instance org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.lir.framemap.FrameMap org.graalvm.compiler.lir.LIRInstruction org.graalvm.compiler.lir.LIRFrameState com.oracle.svm.core.heap.SubstrateReferenceMap int jdk.vm.ci.code.BytecodeFrame java.util.Map java.util.Map java.util.Map jdk.vm.ci.meta.JavaValue int int jdk.vm.ci.meta.JavaValue[] jdk.vm.ci.meta.JavaValue jdk.vm.ci.code.StackLockValue
      StackMap stack:
            aload 16 /* lock */
            invokevirtual jdk.vm.ci.code.StackLockValue.getOwner:()Ljdk/vm/ci/meta/JavaValue;
            astore 15 /* value */
        end local 16 // jdk.vm.ci.code.StackLockValue lock
        17: .line 118
      StackMap locals:
      StackMap stack:
            aload 15 /* value */
            instanceof jdk.vm.ci.code.StackSlot
            ifeq 23
        18: .line 119
            aload 15 /* value */
            checkcast jdk.vm.ci.code.StackSlot
            astore 16 /* stackSlot */
        start local 16 // jdk.vm.ci.code.StackSlot stackSlot
        19: .line 120
            aload 16 /* stackSlot */
            aload 2 /* frameMap */
            invokevirtual org.graalvm.compiler.lir.framemap.FrameMap.totalFrameSize:()I
            invokevirtual jdk.vm.ci.code.StackSlot.getOffset:(I)I
            istore 17 /* offset */
        start local 17 // int offset
        20: .line 121
            aload 1 /* debug */
            ldc "remove slot %d: %s"
            iload 17 /* offset */
            aload 16 /* stackSlot */
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;ILjava/lang/Object;)V
        21: .line 122
            aload 10 /* cleanedStackSlots */
            iload 17 /* offset */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 17 // int offset
        end local 16 // jdk.vm.ci.code.StackSlot stackSlot
        22: .line 123
            goto 26
      StackMap locals:
      StackMap stack:
        23: aload 15 /* value */
            invokestatic jdk.vm.ci.code.ValueUtil.isConstantJavaValue:(Ljdk/vm/ci/meta/JavaValue;)Z
            ifne 26
            aload 15 /* value */
            invokestatic jdk.vm.ci.code.ValueUtil.isIllegalJavaValue:(Ljdk/vm/ci/meta/JavaValue;)Z
            ifne 26
        24: .line 125
            invokestatic com.oracle.svm.core.ReservedRegisters.singleton:()Lcom/oracle/svm/core/ReservedRegisters;
            aload 15 /* value */
            invokevirtual com.oracle.svm.core.ReservedRegisters.isAllowedInFrameState:(Ljdk/vm/ci/meta/JavaValue;)Z
            ifne 26
        25: .line 128
            new java.lang.StringBuilder
            dup
            ldc "unknown value in deopt target: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 15 /* value */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 15 // jdk.vm.ci.meta.JavaValue value
        end local 11 // jdk.vm.ci.meta.JavaValue v
        26: .line 111
      StackMap locals: com.oracle.svm.hosted.phases.Instance org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.lir.framemap.FrameMap org.graalvm.compiler.lir.LIRInstruction org.graalvm.compiler.lir.LIRFrameState com.oracle.svm.core.heap.SubstrateReferenceMap int jdk.vm.ci.code.BytecodeFrame java.util.Map java.util.Map java.util.Map top int int jdk.vm.ci.meta.JavaValue[]
      StackMap stack:
            iinc 12 1
      StackMap locals:
      StackMap stack:
        27: iload 12
            iload 13
            if_icmplt 11
        28: .line 131
            aload 7 /* frame */
            invokevirtual jdk.vm.ci.code.BytecodeFrame.caller:()Ljdk/vm/ci/code/BytecodeFrame;
            astore 7 /* frame */
        29: .line 132
            aload 7 /* frame */
            ifnonnull 10
        30: .line 134
            aload 4 /* state */
            getfield org.graalvm.compiler.lir.LIRFrameState.topFrame:Ljdk/vm/ci/code/BytecodeFrame;
            invokevirtual jdk.vm.ci.code.BytecodeFrame.getMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.isSynchronized:()Z
            ifeq 31
            bipush -2
            goto 32
      StackMap locals: com.oracle.svm.hosted.phases.Instance org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.lir.framemap.FrameMap org.graalvm.compiler.lir.LIRInstruction org.graalvm.compiler.lir.LIRFrameState com.oracle.svm.core.heap.SubstrateReferenceMap int jdk.vm.ci.code.BytecodeFrame java.util.Map java.util.Map java.util.Map
      StackMap stack:
        31: iconst_0
      StackMap locals:
      StackMap stack: int
        32: istore 11 /* firstBci */
        start local 11 // int firstBci
        33: .line 135
            aload 4 /* state */
            getfield org.graalvm.compiler.lir.LIRFrameState.topFrame:Ljdk/vm/ci/code/BytecodeFrame;
            invokevirtual jdk.vm.ci.code.BytecodeFrame.getBCI:()I
            iload 11 /* firstBci */
            if_icmpne 38
            aload 4 /* state */
            getfield org.graalvm.compiler.lir.LIRFrameState.topFrame:Ljdk/vm/ci/code/BytecodeFrame;
            invokevirtual jdk.vm.ci.code.BytecodeFrame.caller:()Ljdk/vm/ci/code/BytecodeFrame;
            ifnonnull 38
            aload 4 /* state */
            getfield org.graalvm.compiler.lir.LIRFrameState.topFrame:Ljdk/vm/ci/code/BytecodeFrame;
            getfield jdk.vm.ci.code.BytecodeFrame.duringCall:Z
            ifne 38
            aload 4 /* state */
            getfield org.graalvm.compiler.lir.LIRFrameState.topFrame:Ljdk/vm/ci/code/BytecodeFrame;
            getfield jdk.vm.ci.code.BytecodeFrame.rethrowException:Z
            ifne 38
        34: .line 141
            getstatic com.oracle.svm.hosted.phases.Instance.$assertionsDisabled:Z
            ifne 35
            aload 3 /* op */
            instanceof com.oracle.svm.core.graal.lir.DeoptEntryOp
            ifne 35
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        35: .line 142
      StackMap locals: int
      StackMap stack:
            getstatic com.oracle.svm.hosted.phases.Instance.$assertionsDisabled:Z
            ifne 36
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.Instance.allowedStackSlots:Ljava/util/Map;
            ifnull 36
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        36: .line 143
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.util.HashMap
            dup
            aload 10 /* cleanedStackSlots */
            invokespecial java.util.HashMap.<init>:(Ljava/util/Map;)V
            putfield com.oracle.svm.hosted.phases.Instance.allowedStackSlots:Ljava/util/Map;
        37: .line 145
            goto 46
        38: .line 146
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.Instance.allowedStackSlots:Ljava/util/Map;
            ifnonnull 40
        39: .line 147
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield com.oracle.svm.hosted.phases.Instance.allowedStackSlots:Ljava/util/Map;
        40: .line 149
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.Instance.allowedStackSlots:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 13
            goto 43
      StackMap locals: com.oracle.svm.hosted.phases.Instance org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.lir.framemap.FrameMap org.graalvm.compiler.lir.LIRInstruction org.graalvm.compiler.lir.LIRFrameState com.oracle.svm.core.heap.SubstrateReferenceMap int jdk.vm.ci.code.BytecodeFrame java.util.Map java.util.Map java.util.Map int top java.util.Iterator
      StackMap stack:
        41: aload 13
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 12 /* key */
        start local 12 // java.lang.Integer key
        42: .line 150
            aload 10 /* cleanedStackSlots */
            aload 12 /* key */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 12 // java.lang.Integer key
        43: .line 149
      StackMap locals:
      StackMap stack:
            aload 13
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 41
        44: .line 153
            aload 10 /* cleanedStackSlots */
            invokeinterface java.util.Map.isEmpty:()Z
            ifne 46
        45: .line 154
            new java.lang.StringBuilder
            dup
            ldc "unknown values in stack slots: method "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* state */
            getfield org.graalvm.compiler.lir.LIRFrameState.topFrame:Ljdk/vm/ci/code/BytecodeFrame;
            invokevirtual jdk.vm.ci.code.BytecodeFrame.getMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ", op "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* op */
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.id:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* op */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 10 /* cleanedStackSlots */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 11 // int firstBci
        end local 10 // java.util.Map cleanedStackSlots
        end local 9 // java.util.Map allUsedStackSlots
        end local 8 // java.util.Map allUsedRegisters
        end local 7 // jdk.vm.ci.code.BytecodeFrame frame
        46: .line 159
      StackMap locals: com.oracle.svm.hosted.phases.Instance org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.lir.framemap.FrameMap org.graalvm.compiler.lir.LIRInstruction org.graalvm.compiler.lir.LIRFrameState com.oracle.svm.core.heap.SubstrateReferenceMap int
      StackMap stack:
            return
        end local 6 // boolean isDeoptEntry
        end local 5 // com.oracle.svm.core.heap.SubstrateReferenceMap refMap
        end local 4 // org.graalvm.compiler.lir.LIRFrameState state
        end local 3 // org.graalvm.compiler.lir.LIRInstruction op
        end local 2 // org.graalvm.compiler.lir.framemap.FrameMap frameMap
        end local 1 // org.graalvm.compiler.debug.DebugContext debug
        end local 0 // com.oracle.svm.hosted.phases.Instance this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   47     0               this  Lcom/oracle/svm/hosted/phases/Instance;
            0   47     1              debug  Lorg/graalvm/compiler/debug/DebugContext;
            0   47     2           frameMap  Lorg/graalvm/compiler/lir/framemap/FrameMap;
            0   47     3                 op  Lorg/graalvm/compiler/lir/LIRInstruction;
            0   47     4              state  Lorg/graalvm/compiler/lir/LIRFrameState;
            1   47     5             refMap  Lcom/oracle/svm/core/heap/SubstrateReferenceMap;
            2   47     6       isDeoptEntry  Z
            4   46     7              frame  Ljdk/vm/ci/code/BytecodeFrame;
            5   46     8   allUsedRegisters  Ljava/util/Map<Ljava/lang/Integer;Ljava/lang/Object;>;
            6   46     9  allUsedStackSlots  Ljava/util/Map<Ljava/lang/Integer;Ljava/lang/Object;>;
           10   46    10  cleanedStackSlots  Ljava/util/Map<Ljava/lang/Integer;Ljava/lang/Object;>;
           12   26    11                  v  Ljdk/vm/ci/meta/JavaValue;
           13   26    15              value  Ljdk/vm/ci/meta/JavaValue;
           15   17    16               lock  Ljdk/vm/ci/code/StackLockValue;
           19   22    16          stackSlot  Ljdk/vm/ci/code/StackSlot;
           20   22    17             offset  I
           33   46    11           firstBci  I
           42   43    12                key  Ljava/lang/Integer;
    MethodParameters:
          Name  Flags
      debug     
      frameMap  
      op        
      state     

  private void lambda$0(org.graalvm.compiler.debug.DebugContext, org.graalvm.compiler.lir.framemap.FrameMap, org.graalvm.compiler.lir.LIRInstruction, org.graalvm.compiler.lir.LIRFrameState);
    descriptor: (Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/lir/framemap/FrameMap;Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/lir/LIRFrameState;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // com.oracle.svm.hosted.phases.Instance this
        start local 3 // org.graalvm.compiler.lir.LIRInstruction instruction
        start local 4 // org.graalvm.compiler.lir.LIRFrameState state
         0: .line 80
            aload 0 /* this */
            aload 1
            aload 2
            aload 3 /* instruction */
            aload 4 /* state */
            invokevirtual com.oracle.svm.hosted.phases.Instance.doState:(Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/lir/framemap/FrameMap;Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/lir/LIRFrameState;)V
            return
        end local 4 // org.graalvm.compiler.lir.LIRFrameState state
        end local 3 // org.graalvm.compiler.lir.LIRInstruction instruction
        end local 0 // com.oracle.svm.hosted.phases.Instance this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lcom/oracle/svm/hosted/phases/Instance;
            0    1     3  instruction  Lorg/graalvm/compiler/lir/LIRInstruction;
            0    1     4        state  Lorg/graalvm/compiler/lir/LIRFrameState;
}
SourceFile: "VerifyDeoptFrameStatesLIRPhase.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles