public class org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode extends org.jruby.ir.dataflow.FlowGraphNode<org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisProblem, org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode
  super_class: org.jruby.ir.dataflow.FlowGraphNode
{
  org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState inState;
    descriptor: Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
    flags: (0x0000) 

  org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState outState;
    descriptor: Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
    flags: (0x0000) 

  org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState tmpState;
    descriptor: Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
    flags: (0x0000) 

  private static volatile int[] $SWITCH_TABLE$org$jruby$ir$operands$TemporaryVariableType;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  public void <init>(org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisProblem, org.jruby.ir.representations.BasicBlock);
    descriptor: (Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisProblem;Lorg/jruby/ir/representations/BasicBlock;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode this
        start local 1 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisProblem prob
        start local 2 // org.jruby.ir.representations.BasicBlock n
         0: .line 102
            aload 0 /* this */
            aload 1 /* prob */
            aload 2 /* n */
            invokespecial org.jruby.ir.dataflow.FlowGraphNode.<init>:(Lorg/jruby/ir/dataflow/DataFlowProblem;Lorg/jruby/ir/representations/BasicBlock;)V
         1: .line 103
            return
        end local 2 // org.jruby.ir.representations.BasicBlock n
        end local 1 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisProblem prob
        end local 0 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode;
            0    2     1  prob  Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisProblem;
            0    2     2     n  Lorg/jruby/ir/representations/BasicBlock;
    MethodParameters:
      Name  Flags
      prob  
      n     

  public void init();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode this
         0: .line 107
            aload 0 /* this */
            new org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState
            dup
            invokespecial org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState.<init>:()V
            putfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.outState:Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
         1: .line 108
            return
        end local 0 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode;

  public void buildDataFlowVars(org.jruby.ir.instructions.Instr);
    descriptor: (Lorg/jruby/ir/instructions/Instr;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode this
        start local 1 // org.jruby.ir.instructions.Instr i
         0: .line 114
            return
        end local 1 // org.jruby.ir.instructions.Instr i
        end local 0 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode;
            0    1     1     i  Lorg/jruby/ir/instructions/Instr;
    MethodParameters:
      Name  Flags
      i     

  public void applyPreMeetHandler();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode this
         0: .line 118
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.problem:Lorg/jruby/ir/dataflow/DataFlowProblem;
            checkcast org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisProblem
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisProblem.getScope:()Lorg/jruby/ir/IRScope;
            instanceof org.jruby.ir.IRClosure
            ifeq 4
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.basicBlock:Lorg/jruby/ir/representations/BasicBlock;
            invokevirtual org.jruby.ir.representations.BasicBlock.isEntryBB:()Z
            ifeq 4
         1: .line 120
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.inState:Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
            ifnonnull 5
         2: .line 121
            aload 0 /* this */
            new org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState
            dup
            invokespecial org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState.<init>:()V
            putfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.inState:Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
         3: .line 123
            goto 5
         4: .line 124
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState
            dup
            invokespecial org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState.<init>:()V
            putfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.inState:Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
         5: .line 126
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode;

  public void compute_MEET(org.jruby.dirgra.Edge, org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode);
    descriptor: (Lorg/jruby/dirgra/Edge;Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode this
        start local 1 // org.jruby.dirgra.Edge e
        start local 2 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode pred
         0: .line 131
            aload 2 /* pred */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.basicBlock:Lorg/jruby/ir/representations/BasicBlock;
            invokevirtual org.jruby.ir.representations.BasicBlock.isRescueEntry:()Z
            ifne 1
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.inState:Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
            aload 2 /* pred */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.outState:Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState.computeMEET:(Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;)V
         1: .line 132
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode pred
        end local 1 // org.jruby.dirgra.Edge e
        end local 0 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode;
            0    2     1     e  Lorg/jruby/dirgra/Edge;
            0    2     2  pred  Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode;
    MethodParameters:
      Name  Flags
      e     
      pred  

  private java.lang.Class getOperandType(org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState, org.jruby.ir.operands.Operand);
    descriptor: (Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;Lorg/jruby/ir/operands/Operand;)Ljava/lang/Class;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode this
        start local 1 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState state
        start local 2 // org.jruby.ir.operands.Operand o
         0: .line 135
            aload 2 /* o */
            instanceof org.jruby.ir.operands.Float
            ifeq 2
         1: .line 136
            ldc Lorg/jruby/ir/operands/Float;
            areturn
         2: .line 137
      StackMap locals:
      StackMap stack:
            aload 2 /* o */
            instanceof org.jruby.ir.operands.Fixnum
            ifeq 4
         3: .line 138
            ldc Lorg/jruby/ir/operands/Fixnum;
            areturn
         4: .line 139
      StackMap locals:
      StackMap stack:
            aload 2 /* o */
            instanceof org.jruby.ir.operands.Bignum
            ifeq 6
         5: .line 140
            ldc Lorg/jruby/ir/operands/Bignum;
            areturn
         6: .line 141
      StackMap locals:
      StackMap stack:
            aload 2 /* o */
            instanceof org.jruby.ir.operands.Boolean
            ifeq 8
         7: .line 142
            ldc Lorg/jruby/ir/operands/Boolean;
            areturn
         8: .line 143
      StackMap locals:
      StackMap stack:
            aload 2 /* o */
            instanceof org.jruby.ir.operands.Variable
            ifeq 10
         9: .line 144
            aload 1 /* state */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState.types:Ljava/util/Map;
            aload 2 /* o */
            checkcast org.jruby.ir.operands.Variable
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Class
            areturn
        10: .line 146
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // org.jruby.ir.operands.Operand o
        end local 1 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState state
        end local 0 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode;
            0   11     1  state  Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
            0   11     2      o  Lorg/jruby/ir/operands/Operand;
    MethodParameters:
       Name  Flags
      state  
      o      

  private void setOperandType(org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState, org.jruby.ir.operands.Variable, java.lang.Class);
    descriptor: (Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;Lorg/jruby/ir/operands/Variable;Ljava/lang/Class;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode this
        start local 1 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState state
        start local 2 // org.jruby.ir.operands.Variable v
        start local 3 // java.lang.Class newType
         0: .line 151
            aload 2 /* v */
            ifnull 2
            aload 3 /* newType */
            ifnull 2
         1: .line 152
            aload 1 /* state */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState.types:Ljava/util/Map;
            aload 2 /* v */
            aload 3 /* newType */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 154
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.Class newType
        end local 2 // org.jruby.ir.operands.Variable v
        end local 1 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState state
        end local 0 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode;
            0    3     1    state  Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
            0    3     2        v  Lorg/jruby/ir/operands/Variable;
            0    3     3  newType  Ljava/lang/Class;
    MethodParameters:
         Name  Flags
      state    
      v        
      newType  

  private void markLocalVariables(java.util.Collection<org.jruby.ir.operands.Variable>, java.util.Set<org.jruby.ir.operands.Variable>);
    descriptor: (Ljava/util/Collection;Ljava/util/Set;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode this
        start local 1 // java.util.Collection varsToBox
        start local 2 // java.util.Set varsToCheck
         0: .line 157
            aload 2 /* varsToCheck */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 3
      StackMap locals: org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode java.util.Collection java.util.Set top java.util.Iterator
      StackMap stack:
         1: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.jruby.ir.operands.Variable
            astore 3 /* v */
        start local 3 // org.jruby.ir.operands.Variable v
         2: .line 158
            aload 3 /* v */
            instanceof org.jruby.ir.operands.LocalVariable
            ifeq 3
            aload 1 /* varsToBox */
            aload 3 /* v */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // org.jruby.ir.operands.Variable v
         3: .line 157
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 160
            return
        end local 2 // java.util.Set varsToCheck
        end local 1 // java.util.Collection varsToBox
        end local 0 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode;
            0    5     1    varsToBox  Ljava/util/Collection<Lorg/jruby/ir/operands/Variable;>;
            0    5     2  varsToCheck  Ljava/util/Set<Lorg/jruby/ir/operands/Variable;>;
            2    3     3            v  Lorg/jruby/ir/operands/Variable;
    Signature: (Ljava/util/Collection<Lorg/jruby/ir/operands/Variable;>;Ljava/util/Set<Lorg/jruby/ir/operands/Variable;>;)V
    MethodParameters:
             Name  Flags
      varsToBox    
      varsToCheck  

  private void updateUnboxedVarsInfoForBoxedInstr(org.jruby.ir.instructions.Instr, org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState, org.jruby.ir.operands.Variable, boolean, boolean);
    descriptor: (Lorg/jruby/ir/instructions/Instr;Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;Lorg/jruby/ir/operands/Variable;ZZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=9, args_size=6
        start local 0 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode this
        start local 1 // org.jruby.ir.instructions.Instr i
        start local 2 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState state
        start local 3 // org.jruby.ir.operands.Variable dst
        start local 4 // boolean hasRescuer
        start local 5 // boolean isDFBarrier
         0: .line 163
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 6 /* varsToBox */
        start local 6 // java.util.HashSet varsToBox
         1: .line 166
            aload 1 /* i */
            invokevirtual org.jruby.ir.instructions.Instr.canRaiseException:()Z
            ifeq 8
         2: .line 170
            iload 4 /* hasRescuer */
            ifeq 5
         3: .line 172
            aload 2 /* state */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState.unboxedDirtyVars:Ljava/util/Set;
            invokeinterface java.util.Set.clear:()V
         4: .line 173
            goto 8
      StackMap locals: java.util.HashSet
      StackMap stack:
         5: aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.problem:Lorg/jruby/ir/dataflow/DataFlowProblem;
            checkcast org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisProblem
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisProblem.getScope:()Lorg/jruby/ir/IRScope;
            instanceof org.jruby.ir.IRClosure
            ifeq 8
         6: .line 175
            aload 0 /* this */
            aload 6 /* varsToBox */
            aload 2 /* state */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState.unboxedDirtyVars:Ljava/util/Set;
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.markLocalVariables:(Ljava/util/Collection;Ljava/util/Set;)V
         7: .line 176
            aload 2 /* state */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState.unboxedDirtyVars:Ljava/util/Set;
            aload 6 /* varsToBox */
            invokeinterface java.util.Set.removeAll:(Ljava/util/Collection;)Z
            pop
         8: .line 184
      StackMap locals:
      StackMap stack:
            iload 5 /* isDFBarrier */
            ifeq 14
         9: .line 186
            aload 0 /* this */
            aload 6 /* varsToBox */
            aload 2 /* state */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState.unboxedDirtyVars:Ljava/util/Set;
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.markLocalVariables:(Ljava/util/Collection;Ljava/util/Set;)V
        10: .line 187
            aload 2 /* state */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState.unboxedDirtyVars:Ljava/util/Set;
            aload 6 /* varsToBox */
            invokeinterface java.util.Set.removeAll:(Ljava/util/Collection;)Z
            pop
        11: .line 192
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 7 /* lvs */
        start local 7 // java.util.List lvs
        12: .line 193
            aload 0 /* this */
            aload 7 /* lvs */
            aload 2 /* state */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState.unboxedVars:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.markLocalVariables:(Ljava/util/Collection;Ljava/util/Set;)V
        13: .line 194
            aload 2 /* state */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState.unboxedVars:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            aload 7 /* lvs */
            invokeinterface java.util.Set.removeAll:(Ljava/util/Collection;)Z
            pop
        end local 7 // java.util.List lvs
        14: .line 201
      StackMap locals:
      StackMap stack:
            aload 1 /* i */
            invokevirtual org.jruby.ir.instructions.Instr.getOperation:()Lorg/jruby/ir/Operation;
            astore 7 /* op */
        start local 7 // org.jruby.ir.Operation op
        15: .line 202
            aload 7 /* op */
            getstatic org.jruby.ir.Operation.B_TRUE:Lorg/jruby/ir/Operation;
            if_acmpeq 16
            aload 7 /* op */
            getstatic org.jruby.ir.Operation.B_FALSE:Lorg/jruby/ir/Operation;
            if_acmpeq 16
            iconst_0
            goto 17
      StackMap locals: org.jruby.ir.Operation
      StackMap stack:
        16: iconst_1
      StackMap locals:
      StackMap stack: int
        17: istore 8 /* isBranch */
        start local 8 // boolean isBranch
        18: .line 203
            iload 8 /* isBranch */
            ifne 20
        19: .line 206
            aload 2 /* state */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState.unboxedDirtyVars:Ljava/util/Set;
            aload 1 /* i */
            invokevirtual org.jruby.ir.instructions.Instr.getUsedVariables:()Ljava/util/List;
            invokeinterface java.util.Set.removeAll:(Ljava/util/Collection;)Z
            pop
        20: .line 210
      StackMap locals: int
      StackMap stack:
            aload 3 /* dst */
            ifnull 23
        21: .line 211
            aload 2 /* state */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState.unboxedVars:Ljava/util/Map;
            aload 3 /* dst */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        22: .line 212
            aload 2 /* state */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState.unboxedDirtyVars:Ljava/util/Set;
            aload 3 /* dst */
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
        23: .line 214
      StackMap locals:
      StackMap stack:
            return
        end local 8 // boolean isBranch
        end local 7 // org.jruby.ir.Operation op
        end local 6 // java.util.HashSet varsToBox
        end local 5 // boolean isDFBarrier
        end local 4 // boolean hasRescuer
        end local 3 // org.jruby.ir.operands.Variable dst
        end local 2 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState state
        end local 1 // org.jruby.ir.instructions.Instr i
        end local 0 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   24     0         this  Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode;
            0   24     1            i  Lorg/jruby/ir/instructions/Instr;
            0   24     2        state  Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
            0   24     3          dst  Lorg/jruby/ir/operands/Variable;
            0   24     4   hasRescuer  Z
            0   24     5  isDFBarrier  Z
            1   24     6    varsToBox  Ljava/util/HashSet<Lorg/jruby/ir/operands/Variable;>;
           12   14     7          lvs  Ljava/util/List<Lorg/jruby/ir/operands/Variable;>;
           15   24     7           op  Lorg/jruby/ir/Operation;
           18   24     8     isBranch  Z
    MethodParameters:
             Name  Flags
      i            
      state        
      dst          
      hasRescuer   
      isDFBarrier  

  public void initSolution();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode this
         0: .line 218
            aload 0 /* this */
            new org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState
            dup
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.inState:Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
            invokespecial org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState.<init>:(Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;)V
            putfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.tmpState:Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
         1: .line 219
            return
        end local 0 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode;

  public void applyTransferFunction(org.jruby.ir.instructions.Instr);
    descriptor: (Lorg/jruby/ir/instructions/Instr;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=14, args_size=2
        start local 0 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode this
        start local 1 // org.jruby.ir.instructions.Instr i
         0: .line 223
            aconst_null
            astore 2 /* dst */
        start local 2 // org.jruby.ir.operands.Variable dst
         1: .line 224
            ldc Ljava/lang/Object;
            astore 3 /* dstType */
        start local 3 // java.lang.Class dstType
         2: .line 225
            iconst_0
            istore 4 /* unboxedAndDirty */
        start local 4 // boolean unboxedAndDirty
         3: .line 226
            iconst_0
            istore 5 /* hitDFBarrier */
        start local 5 // boolean hitDFBarrier
         4: .line 228
            aload 1 /* i */
            instanceof org.jruby.ir.instructions.ResultInstr
            ifeq 6
         5: .line 229
            aload 1 /* i */
            checkcast org.jruby.ir.instructions.ResultInstr
            invokeinterface org.jruby.ir.instructions.ResultInstr.getResult:()Lorg/jruby/ir/operands/Variable;
            astore 2 /* dst */
         6: .line 232
      StackMap locals: org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode org.jruby.ir.instructions.Instr org.jruby.ir.operands.Variable java.lang.Class int int
      StackMap stack:
            aload 1 /* i */
            instanceof org.jruby.ir.instructions.CopyInstr
            ifeq 14
         7: .line 234
            aload 1 /* i */
            checkcast org.jruby.ir.instructions.CopyInstr
            invokevirtual org.jruby.ir.instructions.CopyInstr.getSource:()Lorg/jruby/ir/operands/Operand;
            astore 6 /* src */
        start local 6 // org.jruby.ir.operands.Operand src
         8: .line 235
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.tmpState:Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
            aload 6 /* src */
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.getOperandType:(Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;Lorg/jruby/ir/operands/Operand;)Ljava/lang/Class;
            astore 7 /* srcType */
        start local 7 // java.lang.Class srcType
         9: .line 236
            aload 7 /* srcType */
            astore 3 /* dstType */
        10: .line 246
            aload 7 /* srcType */
            ldc Lorg/jruby/ir/operands/Float;
            if_acmpeq 11
            aload 7 /* srcType */
            ldc Lorg/jruby/ir/operands/Fixnum;
            if_acmpne 12
        11: .line 247
      StackMap locals: org.jruby.ir.operands.Operand java.lang.Class
      StackMap stack:
            iconst_1
            istore 4 /* unboxedAndDirty */
        12: .line 250
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.tmpState:Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState.unboxedVars:Ljava/util/Map;
            aload 2 /* dst */
            aload 3 /* dstType */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 7 // java.lang.Class srcType
        end local 6 // org.jruby.ir.operands.Operand src
        13: .line 251
            goto 58
      StackMap locals:
      StackMap stack:
        14: aload 1 /* i */
            instanceof org.jruby.ir.instructions.ClosureAcceptingInstr
            ifeq 58
        15: .line 252
            aload 1 /* i */
            checkcast org.jruby.ir.instructions.ClosureAcceptingInstr
            invokeinterface org.jruby.ir.instructions.ClosureAcceptingInstr.getClosureArg:()Lorg/jruby/ir/operands/Operand;
            astore 6 /* o */
        start local 6 // org.jruby.ir.operands.Operand o
        16: .line 254
            aload 1 /* i */
            instanceof org.jruby.ir.instructions.CallBase
            ifeq 37
            aload 6 /* o */
            ifnonnull 37
        17: .line 255
            aload 1 /* i */
            checkcast org.jruby.ir.instructions.CallBase
            astore 7 /* c */
        start local 7 // org.jruby.ir.instructions.CallBase c
        18: .line 256
            aload 7 /* c */
            invokevirtual org.jruby.ir.instructions.CallBase.getId:()Ljava/lang/String;
            astore 8 /* m */
        start local 8 // java.lang.String m
        19: .line 257
            aload 7 /* c */
            invokevirtual org.jruby.ir.instructions.CallBase.getReceiver:()Lorg/jruby/ir/operands/Operand;
            astore 9 /* r */
        start local 9 // org.jruby.ir.operands.Operand r
        20: .line 258
            aload 2 /* dst */
            ifnull 58
            aload 7 /* c */
            invokevirtual org.jruby.ir.instructions.CallBase.getArgsCount:()I
            iconst_1
            if_icmpne 58
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.problem:Lorg/jruby/ir/dataflow/DataFlowProblem;
            checkcast org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisProblem
            aload 8 /* m */
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisProblem.isUnboxableMethod:(Ljava/lang/String;)Z
            ifeq 58
        21: .line 259
            aload 7 /* c */
            invokevirtual org.jruby.ir.instructions.CallBase.getArg1:()Lorg/jruby/ir/operands/Operand;
            astore 10 /* a */
        start local 10 // org.jruby.ir.operands.Operand a
        22: .line 260
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.tmpState:Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
            aload 9 /* r */
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.getOperandType:(Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;Lorg/jruby/ir/operands/Operand;)Ljava/lang/Class;
            astore 11 /* receiverType */
        start local 11 // java.lang.Class receiverType
        23: .line 261
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.tmpState:Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
            aload 10 /* a */
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.getOperandType:(Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;Lorg/jruby/ir/operands/Operand;)Ljava/lang/Class;
            astore 12 /* argType */
        start local 12 // java.lang.Class argType
        24: .line 263
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.problem:Lorg/jruby/ir/dataflow/DataFlowProblem;
            checkcast org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisProblem
            aload 8 /* m */
            aload 11 /* receiverType */
            aload 12 /* argType */
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisProblem.acceptsArgTypes:(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/Class;)Z
            ifeq 34
        25: .line 264
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.problem:Lorg/jruby/ir/dataflow/DataFlowProblem;
            checkcast org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisProblem
            aload 8 /* m */
            aload 11 /* receiverType */
            aload 12 /* argType */
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisProblem.getUnboxedType:(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/Class;
            astore 13 /* unboxedType */
        start local 13 // java.lang.Class unboxedType
        26: .line 265
            iconst_1
            istore 4 /* unboxedAndDirty */
        27: .line 267
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.problem:Lorg/jruby/ir/dataflow/DataFlowProblem;
            checkcast org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisProblem
            aload 8 /* m */
            aload 13 /* unboxedType */
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisProblem.getUnboxedResultType:(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Class;
            astore 3 /* dstType */
        28: .line 268
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.tmpState:Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState.unboxedVars:Ljava/util/Map;
            aload 2 /* dst */
            aload 3 /* dstType */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        29: .line 272
            aload 9 /* r */
            instanceof org.jruby.ir.operands.Variable
            ifeq 31
        30: .line 273
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.tmpState:Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState.unboxedVars:Ljava/util/Map;
            aload 9 /* r */
            checkcast org.jruby.ir.operands.Variable
            aload 13 /* unboxedType */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        31: .line 275
      StackMap locals: org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode org.jruby.ir.instructions.Instr org.jruby.ir.operands.Variable java.lang.Class int int org.jruby.ir.operands.Operand org.jruby.ir.instructions.CallBase java.lang.String org.jruby.ir.operands.Operand org.jruby.ir.operands.Operand java.lang.Class java.lang.Class java.lang.Class
      StackMap stack:
            aload 10 /* a */
            instanceof org.jruby.ir.operands.Variable
            ifeq 58
        32: .line 276
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.tmpState:Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState.unboxedVars:Ljava/util/Map;
            aload 10 /* a */
            checkcast org.jruby.ir.operands.Variable
            aload 13 /* unboxedType */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 13 // java.lang.Class unboxedType
        33: .line 278
            goto 58
      StackMap locals:
      StackMap stack:
        34: aload 7 /* c */
            invokevirtual org.jruby.ir.instructions.CallBase.targetRequiresCallersBinding:()Z
            ifeq 58
        35: .line 279
            iconst_1
            istore 5 /* hitDFBarrier */
        end local 12 // java.lang.Class argType
        end local 11 // java.lang.Class receiverType
        end local 10 // org.jruby.ir.operands.Operand a
        end local 9 // org.jruby.ir.operands.Operand r
        end local 8 // java.lang.String m
        end local 7 // org.jruby.ir.instructions.CallBase c
        36: .line 282
            goto 58
      StackMap locals: org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode org.jruby.ir.instructions.Instr org.jruby.ir.operands.Variable java.lang.Class int int org.jruby.ir.operands.Operand
      StackMap stack:
        37: aload 6 /* o */
            instanceof org.jruby.ir.operands.WrappedIRClosure
            ifeq 57
        38: .line 284
            aload 6 /* o */
            checkcast org.jruby.ir.operands.WrappedIRClosure
            invokevirtual org.jruby.ir.operands.WrappedIRClosure.getClosure:()Lorg/jruby/ir/IRClosure;
            astore 7 /* cl */
        start local 7 // org.jruby.ir.IRClosure cl
        39: .line 285
            aload 7 /* cl */
            invokevirtual org.jruby.ir.IRClosure.getUnboxableOpsAnalysisProblem:()Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisProblem;
            astore 8 /* subProblem */
        start local 8 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisProblem subProblem
        40: .line 286
            aload 8 /* subProblem */
            ifnonnull 44
        41: .line 287
            new org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisProblem
            dup
            invokespecial org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisProblem.<init>:()V
            astore 8 /* subProblem */
        42: .line 288
            aload 8 /* subProblem */
            aload 7 /* cl */
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisProblem.setup:(Lorg/jruby/ir/IRScope;)V
        43: .line 289
            aload 7 /* cl */
            aload 8 /* subProblem */
            invokevirtual org.jruby.ir.IRClosure.putUnboxableOpsAnalysisProblem:(Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisProblem;)V
        44: .line 292
      StackMap locals: org.jruby.ir.IRClosure org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisProblem
      StackMap stack:
            aload 8 /* subProblem */
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisProblem.getExitNode:()Lorg/jruby/ir/dataflow/FlowGraphNode;
            checkcast org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode
            astore 9 /* exitNode */
        start local 9 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode exitNode
        45: .line 293
            aload 8 /* subProblem */
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisProblem.getEntryNode:()Lorg/jruby/ir/dataflow/FlowGraphNode;
            checkcast org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode
            astore 10 /* entryNode */
        start local 10 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode entryNode
        46: .line 298
            aload 10 /* entryNode */
            new org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState
            dup
            invokespecial org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState.<init>:()V
            putfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.inState:Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
        47: .line 299
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.tmpState:Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState.types:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 12
            goto 51
      StackMap locals: org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode org.jruby.ir.instructions.Instr org.jruby.ir.operands.Variable java.lang.Class int int org.jruby.ir.operands.Operand org.jruby.ir.IRClosure org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisProblem org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode top java.util.Iterator
      StackMap stack:
        48: aload 12
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.jruby.ir.operands.Variable
            astore 11 /* v */
        start local 11 // org.jruby.ir.operands.Variable v
        49: .line 300
            aload 11 /* v */
            instanceof org.jruby.ir.operands.LocalVariable
            ifeq 51
        50: .line 301
            aload 10 /* entryNode */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.inState:Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState.types:Ljava/util/Map;
            aload 11 /* v */
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.tmpState:Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState.types:Ljava/util/Map;
            aload 11 /* v */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Class
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 11 // org.jruby.ir.operands.Variable v
        51: .line 299
      StackMap locals:
      StackMap stack:
            aload 12
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 48
        52: .line 304
            aload 10 /* entryNode */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.inState:Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
            aload 9 /* exitNode */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.outState:Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState.computeMEET:(Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;)V
        53: .line 307
            aload 8 /* subProblem */
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisProblem.compute_MOP_Solution:()V
        54: .line 310
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.tmpState:Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
            aload 9 /* exitNode */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.outState:Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
            iconst_1
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState.computeMEETForTypes:(Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;Z)V
        55: .line 317
            iconst_1
            istore 5 /* hitDFBarrier */
        end local 10 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode entryNode
        end local 9 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode exitNode
        end local 8 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisProblem subProblem
        end local 7 // org.jruby.ir.IRClosure cl
        56: .line 318
            goto 58
        57: .line 320
      StackMap locals: org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode org.jruby.ir.instructions.Instr org.jruby.ir.operands.Variable java.lang.Class int int org.jruby.ir.operands.Operand
      StackMap stack:
            iconst_1
            istore 5 /* hitDFBarrier */
        end local 6 // org.jruby.ir.operands.Operand o
        58: .line 328
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.tmpState:Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
            aload 2 /* dst */
            aload 3 /* dstType */
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.setOperandType:(Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;Lorg/jruby/ir/operands/Variable;Ljava/lang/Class;)V
        59: .line 330
            iload 4 /* unboxedAndDirty */
            ifeq 62
        60: .line 331
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.tmpState:Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState.unboxedDirtyVars:Ljava/util/Set;
            aload 2 /* dst */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        61: .line 332
            goto 63
        62: .line 335
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* i */
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.tmpState:Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
            aload 2 /* dst */
            aload 0 /* this */
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.hasExceptionsRescued:()Z
            iload 5 /* hitDFBarrier */
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.updateUnboxedVarsInfoForBoxedInstr:(Lorg/jruby/ir/instructions/Instr;Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;Lorg/jruby/ir/operands/Variable;ZZ)V
        63: .line 337
      StackMap locals:
      StackMap stack:
            return
        end local 5 // boolean hitDFBarrier
        end local 4 // boolean unboxedAndDirty
        end local 3 // java.lang.Class dstType
        end local 2 // org.jruby.ir.operands.Variable dst
        end local 1 // org.jruby.ir.instructions.Instr i
        end local 0 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   64     0             this  Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode;
            0   64     1                i  Lorg/jruby/ir/instructions/Instr;
            1   64     2              dst  Lorg/jruby/ir/operands/Variable;
            2   64     3          dstType  Ljava/lang/Class;
            3   64     4  unboxedAndDirty  Z
            4   64     5     hitDFBarrier  Z
            8   13     6              src  Lorg/jruby/ir/operands/Operand;
            9   13     7          srcType  Ljava/lang/Class;
           16   58     6                o  Lorg/jruby/ir/operands/Operand;
           18   36     7                c  Lorg/jruby/ir/instructions/CallBase;
           19   36     8                m  Ljava/lang/String;
           20   36     9                r  Lorg/jruby/ir/operands/Operand;
           22   36    10                a  Lorg/jruby/ir/operands/Operand;
           23   36    11     receiverType  Ljava/lang/Class;
           24   36    12          argType  Ljava/lang/Class;
           26   33    13      unboxedType  Ljava/lang/Class;
           39   56     7               cl  Lorg/jruby/ir/IRClosure;
           40   56     8       subProblem  Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisProblem;
           45   56     9         exitNode  Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode;
           46   56    10        entryNode  Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode;
           49   51    11                v  Lorg/jruby/ir/operands/Variable;
    MethodParameters:
      Name  Flags
      i     

  public boolean solutionChanged();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode this
         0: .line 341
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.tmpState:Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.outState:Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState.equals:(Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;)Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode;

  public void finalizeSolution();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode this
         0: .line 346
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.tmpState:Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
            putfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.outState:Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
         1: .line 347
            return
        end local 0 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode;

  private boolean matchingTypes(java.lang.Class, org.jruby.ir.operands.TemporaryVariableType);
    descriptor: (Ljava/lang/Class;Lorg/jruby/ir/operands/TemporaryVariableType;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode this
        start local 1 // java.lang.Class c
        start local 2 // org.jruby.ir.operands.TemporaryVariableType t
         0: .line 350
            invokestatic org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.$SWITCH_TABLE$org$jruby$ir$operands$TemporaryVariableType:()[I
            aload 2 /* t */
            invokevirtual org.jruby.ir.operands.TemporaryVariableType.ordinal:()I
            iaload
            tableswitch { // 2 - 4
                    2: 5
                    3: 1
                    4: 3
              default: 7
          }
         1: .line 351
      StackMap locals:
      StackMap stack:
            aload 1 /* c */
            ldc Lorg/jruby/ir/operands/Float;
            if_acmpne 2
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
         3: .line 352
      StackMap locals:
      StackMap stack:
            aload 1 /* c */
            ldc Lorg/jruby/ir/operands/Fixnum;
            if_acmpne 4
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_0
            ireturn
         5: .line 353
      StackMap locals:
      StackMap stack:
            aload 1 /* c */
            ldc Ljava/lang/Boolean;
            if_acmpne 6
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         6: iconst_0
            ireturn
         7: .line 354
      StackMap locals:
      StackMap stack:
            aload 1 /* c */
            ldc Lorg/jruby/ir/operands/Float;
            if_acmpeq 8
            aload 1 /* c */
            ldc Ljava/lang/Boolean;
            if_acmpeq 8
            aload 1 /* c */
            ldc Lorg/jruby/ir/operands/Fixnum;
            if_acmpeq 8
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         8: iconst_0
            ireturn
        end local 2 // org.jruby.ir.operands.TemporaryVariableType t
        end local 1 // java.lang.Class c
        end local 0 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode;
            0    9     1     c  Ljava/lang/Class;
            0    9     2     t  Lorg/jruby/ir/operands/TemporaryVariableType;
    MethodParameters:
      Name  Flags
      c     
      t     

  private org.jruby.ir.operands.TemporaryLocalVariable getUnboxedVar(java.lang.Class, java.util.Map<org.jruby.ir.operands.Variable, org.jruby.ir.operands.TemporaryLocalVariable>, org.jruby.ir.operands.Variable, boolean);
    descriptor: (Ljava/lang/Class;Ljava/util/Map;Lorg/jruby/ir/operands/Variable;Z)Lorg/jruby/ir/operands/TemporaryLocalVariable;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=5
        start local 0 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode this
        start local 1 // java.lang.Class reqdType
        start local 2 // java.util.Map unboxMap
        start local 3 // org.jruby.ir.operands.Variable v
        start local 4 // boolean createNew
         0: .line 359
            aload 2 /* unboxMap */
            aload 3 /* v */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.jruby.ir.operands.TemporaryLocalVariable
            astore 5 /* unboxedVar */
        start local 5 // org.jruby.ir.operands.TemporaryLocalVariable unboxedVar
         1: .line 361
            aload 5 /* unboxedVar */
            ifnonnull 2
            iload 4 /* createNew */
            ifne 3
      StackMap locals: org.jruby.ir.operands.TemporaryLocalVariable
      StackMap stack:
         2: aload 0 /* this */
            aload 1 /* reqdType */
            aload 5 /* unboxedVar */
            invokevirtual org.jruby.ir.operands.TemporaryLocalVariable.getType:()Lorg/jruby/ir/operands/TemporaryVariableType;
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.matchingTypes:(Ljava/lang/Class;Lorg/jruby/ir/operands/TemporaryVariableType;)Z
            ifne 6
         3: .line 362
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.problem:Lorg/jruby/ir/dataflow/DataFlowProblem;
            checkcast org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisProblem
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisProblem.getScope:()Lorg/jruby/ir/IRScope;
            aload 1 /* reqdType */
            invokevirtual org.jruby.ir.IRScope.getNewUnboxedVariable:(Ljava/lang/Class;)Lorg/jruby/ir/operands/TemporaryLocalVariable;
            astore 5 /* unboxedVar */
         4: .line 363
            aload 2 /* unboxMap */
            aload 3 /* v */
            aload 5 /* unboxedVar */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 364
            goto 8
      StackMap locals:
      StackMap stack:
         6: aload 5 /* unboxedVar */
            ifnonnull 8
         7: .line 366
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "ERROR: No unboxed var for : "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* v */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         8: .line 368
      StackMap locals:
      StackMap stack:
            aload 5 /* unboxedVar */
            areturn
        end local 5 // org.jruby.ir.operands.TemporaryLocalVariable unboxedVar
        end local 4 // boolean createNew
        end local 3 // org.jruby.ir.operands.Variable v
        end local 2 // java.util.Map unboxMap
        end local 1 // java.lang.Class reqdType
        end local 0 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode;
            0    9     1    reqdType  Ljava/lang/Class;
            0    9     2    unboxMap  Ljava/util/Map<Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/TemporaryLocalVariable;>;
            0    9     3           v  Lorg/jruby/ir/operands/Variable;
            0    9     4   createNew  Z
            1    9     5  unboxedVar  Lorg/jruby/ir/operands/TemporaryLocalVariable;
    Signature: (Ljava/lang/Class;Ljava/util/Map<Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/TemporaryLocalVariable;>;Lorg/jruby/ir/operands/Variable;Z)Lorg/jruby/ir/operands/TemporaryLocalVariable;
    MethodParameters:
           Name  Flags
      reqdType   
      unboxMap   
      v          
      createNew  

  private org.jruby.ir.operands.TemporaryLocalVariable getUnboxedVar(java.lang.Class, java.util.Map<org.jruby.ir.operands.Variable, org.jruby.ir.operands.TemporaryLocalVariable>, org.jruby.ir.operands.Variable);
    descriptor: (Ljava/lang/Class;Ljava/util/Map;Lorg/jruby/ir/operands/Variable;)Lorg/jruby/ir/operands/TemporaryLocalVariable;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode this
        start local 1 // java.lang.Class reqdType
        start local 2 // java.util.Map unboxMap
        start local 3 // org.jruby.ir.operands.Variable v
         0: .line 372
            aload 0 /* this */
            aload 1 /* reqdType */
            aload 2 /* unboxMap */
            aload 3 /* v */
            iconst_1
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.getUnboxedVar:(Ljava/lang/Class;Ljava/util/Map;Lorg/jruby/ir/operands/Variable;Z)Lorg/jruby/ir/operands/TemporaryLocalVariable;
            areturn
        end local 3 // org.jruby.ir.operands.Variable v
        end local 2 // java.util.Map unboxMap
        end local 1 // java.lang.Class reqdType
        end local 0 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode;
            0    1     1  reqdType  Ljava/lang/Class;
            0    1     2  unboxMap  Ljava/util/Map<Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/TemporaryLocalVariable;>;
            0    1     3         v  Lorg/jruby/ir/operands/Variable;
    Signature: (Ljava/lang/Class;Ljava/util/Map<Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/TemporaryLocalVariable;>;Lorg/jruby/ir/operands/Variable;)Lorg/jruby/ir/operands/TemporaryLocalVariable;
    MethodParameters:
          Name  Flags
      reqdType  
      unboxMap  
      v         

  public void boxVar(org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState, java.lang.Class, java.util.Map<org.jruby.ir.operands.Variable, org.jruby.ir.operands.TemporaryLocalVariable>, org.jruby.ir.operands.Variable, java.util.List<org.jruby.ir.instructions.Instr>);
    descriptor: (Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;Ljava/lang/Class;Ljava/util/Map;Lorg/jruby/ir/operands/Variable;Ljava/util/List;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=6
        start local 0 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode this
        start local 1 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState state
        start local 2 // java.lang.Class reqdType
        start local 3 // java.util.Map unboxMap
        start local 4 // org.jruby.ir.operands.Variable v
        start local 5 // java.util.List newInstrs
         0: .line 376
            aload 0 /* this */
            aload 2 /* reqdType */
            aload 3 /* unboxMap */
            aload 4 /* v */
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.getUnboxedVar:(Ljava/lang/Class;Ljava/util/Map;Lorg/jruby/ir/operands/Variable;)Lorg/jruby/ir/operands/TemporaryLocalVariable;
            astore 6 /* unboxedV */
        start local 6 // org.jruby.ir.operands.TemporaryLocalVariable unboxedV
         1: .line 377
            aload 6 /* unboxedV */
            invokevirtual org.jruby.ir.operands.TemporaryLocalVariable.getType:()Lorg/jruby/ir/operands/TemporaryVariableType;
            astore 7 /* vType */
        start local 7 // org.jruby.ir.operands.TemporaryVariableType vType
         2: .line 378
            aload 7 /* vType */
            getstatic org.jruby.ir.operands.TemporaryVariableType.BOOLEAN:Lorg/jruby/ir/operands/TemporaryVariableType;
            if_acmpne 5
         3: .line 379
            aload 5 /* newInstrs */
            new org.jruby.ir.instructions.boxing.BoxBooleanInstr
            dup
            aload 4 /* v */
            aload 6 /* unboxedV */
            invokespecial org.jruby.ir.instructions.boxing.BoxBooleanInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         4: .line 380
            goto 10
      StackMap locals: org.jruby.ir.operands.TemporaryLocalVariable org.jruby.ir.operands.TemporaryVariableType
      StackMap stack:
         5: aload 7 /* vType */
            getstatic org.jruby.ir.operands.TemporaryVariableType.FLOAT:Lorg/jruby/ir/operands/TemporaryVariableType;
            if_acmpne 8
         6: .line 381
            aload 5 /* newInstrs */
            new org.jruby.ir.instructions.boxing.BoxFloatInstr
            dup
            aload 4 /* v */
            aload 6 /* unboxedV */
            invokespecial org.jruby.ir.instructions.boxing.BoxFloatInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         7: .line 382
            goto 10
      StackMap locals:
      StackMap stack:
         8: aload 7 /* vType */
            getstatic org.jruby.ir.operands.TemporaryVariableType.FIXNUM:Lorg/jruby/ir/operands/TemporaryVariableType;
            if_acmpne 10
         9: .line 383
            aload 5 /* newInstrs */
            new org.jruby.ir.instructions.boxing.BoxFixnumInstr
            dup
            aload 4 /* v */
            aload 6 /* unboxedV */
            invokespecial org.jruby.ir.instructions.boxing.BoxFixnumInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        10: .line 385
      StackMap locals:
      StackMap stack:
            aload 1 /* state */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState.unboxedDirtyVars:Ljava/util/Set;
            aload 4 /* v */
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
        11: .line 387
            return
        end local 7 // org.jruby.ir.operands.TemporaryVariableType vType
        end local 6 // org.jruby.ir.operands.TemporaryLocalVariable unboxedV
        end local 5 // java.util.List newInstrs
        end local 4 // org.jruby.ir.operands.Variable v
        end local 3 // java.util.Map unboxMap
        end local 2 // java.lang.Class reqdType
        end local 1 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState state
        end local 0 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       this  Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode;
            0   12     1      state  Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
            0   12     2   reqdType  Ljava/lang/Class;
            0   12     3   unboxMap  Ljava/util/Map<Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/TemporaryLocalVariable;>;
            0   12     4          v  Lorg/jruby/ir/operands/Variable;
            0   12     5  newInstrs  Ljava/util/List<Lorg/jruby/ir/instructions/Instr;>;
            1   12     6   unboxedV  Lorg/jruby/ir/operands/TemporaryLocalVariable;
            2   12     7      vType  Lorg/jruby/ir/operands/TemporaryVariableType;
    Signature: (Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;Ljava/lang/Class;Ljava/util/Map<Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/TemporaryLocalVariable;>;Lorg/jruby/ir/operands/Variable;Ljava/util/List<Lorg/jruby/ir/instructions/Instr;>;)V
    MethodParameters:
           Name  Flags
      state      
      reqdType   
      unboxMap   
      v          
      newInstrs  

  public void unboxVar(org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState, java.lang.Class, java.util.Map<org.jruby.ir.operands.Variable, org.jruby.ir.operands.TemporaryLocalVariable>, org.jruby.ir.operands.Variable, java.util.List<org.jruby.ir.instructions.Instr>);
    descriptor: (Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;Ljava/lang/Class;Ljava/util/Map;Lorg/jruby/ir/operands/Variable;Ljava/util/List;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=6
        start local 0 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode this
        start local 1 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState state
        start local 2 // java.lang.Class reqdType
        start local 3 // java.util.Map unboxMap
        start local 4 // org.jruby.ir.operands.Variable v
        start local 5 // java.util.List newInstrs
         0: .line 390
            aload 0 /* this */
            aload 2 /* reqdType */
            aload 3 /* unboxMap */
            aload 4 /* v */
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.getUnboxedVar:(Ljava/lang/Class;Ljava/util/Map;Lorg/jruby/ir/operands/Variable;)Lorg/jruby/ir/operands/TemporaryLocalVariable;
            astore 6 /* unboxedV */
        start local 6 // org.jruby.ir.operands.Variable unboxedV
         1: .line 391
            aload 2 /* reqdType */
            ldc Ljava/lang/Boolean;
            if_acmpne 4
         2: .line 392
            aload 5 /* newInstrs */
            new org.jruby.ir.instructions.boxing.UnboxBooleanInstr
            dup
            aload 6 /* unboxedV */
            aload 4 /* v */
            invokespecial org.jruby.ir.instructions.boxing.UnboxBooleanInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         3: .line 393
            goto 9
      StackMap locals: org.jruby.ir.operands.Variable
      StackMap stack:
         4: aload 2 /* reqdType */
            ldc Lorg/jruby/ir/operands/Float;
            if_acmpne 7
         5: .line 394
            aload 5 /* newInstrs */
            new org.jruby.ir.instructions.boxing.UnboxFloatInstr
            dup
            aload 6 /* unboxedV */
            aload 4 /* v */
            invokespecial org.jruby.ir.instructions.boxing.UnboxFloatInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         6: .line 395
            goto 9
      StackMap locals:
      StackMap stack:
         7: aload 2 /* reqdType */
            ldc Lorg/jruby/ir/operands/Fixnum;
            if_acmpne 9
         8: .line 396
            aload 5 /* newInstrs */
            new org.jruby.ir.instructions.boxing.UnboxFixnumInstr
            dup
            aload 6 /* unboxedV */
            aload 4 /* v */
            invokespecial org.jruby.ir.instructions.boxing.UnboxFixnumInstr.<init>:(Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         9: .line 398
      StackMap locals:
      StackMap stack:
            aload 1 /* state */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState.unboxedVars:Ljava/util/Map;
            aload 4 /* v */
            aload 2 /* reqdType */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 400
            return
        end local 6 // org.jruby.ir.operands.Variable unboxedV
        end local 5 // java.util.List newInstrs
        end local 4 // org.jruby.ir.operands.Variable v
        end local 3 // java.util.Map unboxMap
        end local 2 // java.lang.Class reqdType
        end local 1 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState state
        end local 0 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode;
            0   11     1      state  Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
            0   11     2   reqdType  Ljava/lang/Class;
            0   11     3   unboxMap  Ljava/util/Map<Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/TemporaryLocalVariable;>;
            0   11     4          v  Lorg/jruby/ir/operands/Variable;
            0   11     5  newInstrs  Ljava/util/List<Lorg/jruby/ir/instructions/Instr;>;
            1   11     6   unboxedV  Lorg/jruby/ir/operands/Variable;
    Signature: (Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;Ljava/lang/Class;Ljava/util/Map<Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/TemporaryLocalVariable;>;Lorg/jruby/ir/operands/Variable;Ljava/util/List<Lorg/jruby/ir/instructions/Instr;>;)V
    MethodParameters:
           Name  Flags
      state      
      reqdType   
      unboxMap   
      v          
      newInstrs  

  private org.jruby.ir.operands.Operand unboxOperand(org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState, java.lang.Class, java.util.Map<org.jruby.ir.operands.Variable, org.jruby.ir.operands.TemporaryLocalVariable>, org.jruby.ir.operands.Operand, java.util.List<org.jruby.ir.instructions.Instr>);
    descriptor: (Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;Ljava/lang/Class;Ljava/util/Map;Lorg/jruby/ir/operands/Operand;Ljava/util/List;)Lorg/jruby/ir/operands/Operand;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=9, args_size=6
        start local 0 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode this
        start local 1 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState state
        start local 2 // java.lang.Class reqdType
        start local 3 // java.util.Map unboxMap
        start local 4 // org.jruby.ir.operands.Operand arg
        start local 5 // java.util.List newInstrs
         0: .line 403
            aload 4 /* arg */
            instanceof org.jruby.ir.operands.Variable
            ifeq 9
         1: .line 404
            aload 4 /* arg */
            checkcast org.jruby.ir.operands.Variable
            astore 6 /* v */
        start local 6 // org.jruby.ir.operands.Variable v
         2: .line 405
            aload 1 /* state */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState.unboxedVars:Ljava/util/Map;
            aload 6 /* v */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            aload 2 /* reqdType */
            if_acmpne 3
            iconst_1
            goto 4
      StackMap locals: org.jruby.ir.operands.Variable
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: istore 7 /* isUnboxed */
        start local 7 // boolean isUnboxed
         5: .line 407
            aload 0 /* this */
            aload 2 /* reqdType */
            aload 3 /* unboxMap */
            aload 6 /* v */
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.getUnboxedVar:(Ljava/lang/Class;Ljava/util/Map;Lorg/jruby/ir/operands/Variable;)Lorg/jruby/ir/operands/TemporaryLocalVariable;
            astore 8 /* unboxedVar */
        start local 8 // org.jruby.ir.operands.TemporaryLocalVariable unboxedVar
         6: .line 409
            iload 7 /* isUnboxed */
            ifne 8
         7: .line 410
            aload 0 /* this */
            aload 1 /* state */
            aload 2 /* reqdType */
            aload 3 /* unboxMap */
            aload 6 /* v */
            aload 5 /* newInstrs */
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.unboxVar:(Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;Ljava/lang/Class;Ljava/util/Map;Lorg/jruby/ir/operands/Variable;Ljava/util/List;)V
         8: .line 413
      StackMap locals: int org.jruby.ir.operands.TemporaryLocalVariable
      StackMap stack:
            aload 8 /* unboxedVar */
            areturn
        end local 8 // org.jruby.ir.operands.TemporaryLocalVariable unboxedVar
        end local 7 // boolean isUnboxed
        end local 6 // org.jruby.ir.operands.Variable v
         9: .line 414
      StackMap locals:
      StackMap stack:
            aload 4 /* arg */
            instanceof org.jruby.ir.operands.Float
            ifeq 11
        10: .line 415
            new org.jruby.ir.operands.UnboxedFloat
            dup
            aload 4 /* arg */
            checkcast org.jruby.ir.operands.Float
            invokevirtual org.jruby.ir.operands.Float.getValue:()D
            invokespecial org.jruby.ir.operands.UnboxedFloat.<init>:(D)V
            areturn
        11: .line 416
      StackMap locals:
      StackMap stack:
            aload 4 /* arg */
            instanceof org.jruby.ir.operands.Fixnum
            ifeq 13
        12: .line 417
            new org.jruby.ir.operands.UnboxedFixnum
            dup
            aload 4 /* arg */
            checkcast org.jruby.ir.operands.Fixnum
            invokevirtual org.jruby.ir.operands.Fixnum.getValue:()J
            invokespecial org.jruby.ir.operands.UnboxedFixnum.<init>:(J)V
            areturn
        13: .line 418
      StackMap locals:
      StackMap stack:
            aload 4 /* arg */
            instanceof org.jruby.ir.operands.Boolean
            ifeq 15
        14: .line 419
            new org.jruby.ir.operands.UnboxedBoolean
            dup
            aload 4 /* arg */
            checkcast org.jruby.ir.operands.Boolean
            invokevirtual org.jruby.ir.operands.Boolean.isTrue:()Z
            invokespecial org.jruby.ir.operands.UnboxedBoolean.<init>:(Z)V
            areturn
        15: .line 423
      StackMap locals:
      StackMap stack:
            aload 4 /* arg */
            areturn
        end local 5 // java.util.List newInstrs
        end local 4 // org.jruby.ir.operands.Operand arg
        end local 3 // java.util.Map unboxMap
        end local 2 // java.lang.Class reqdType
        end local 1 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState state
        end local 0 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   16     0        this  Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode;
            0   16     1       state  Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
            0   16     2    reqdType  Ljava/lang/Class;
            0   16     3    unboxMap  Ljava/util/Map<Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/TemporaryLocalVariable;>;
            0   16     4         arg  Lorg/jruby/ir/operands/Operand;
            0   16     5   newInstrs  Ljava/util/List<Lorg/jruby/ir/instructions/Instr;>;
            2    9     6           v  Lorg/jruby/ir/operands/Variable;
            5    9     7   isUnboxed  Z
            6    9     8  unboxedVar  Lorg/jruby/ir/operands/TemporaryLocalVariable;
    Signature: (Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;Ljava/lang/Class;Ljava/util/Map<Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/TemporaryLocalVariable;>;Lorg/jruby/ir/operands/Operand;Ljava/util/List<Lorg/jruby/ir/instructions/Instr;>;)Lorg/jruby/ir/operands/Operand;
    MethodParameters:
           Name  Flags
      state      
      reqdType   
      unboxMap   
      arg        
      newInstrs  

  private org.jruby.ir.operands.Operand getUnboxedOperand(org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState, java.util.Map<org.jruby.ir.operands.Variable, org.jruby.ir.operands.TemporaryLocalVariable>, org.jruby.ir.operands.Operand);
    descriptor: (Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;Ljava/util/Map;Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Operand;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode this
        start local 1 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState state
        start local 2 // java.util.Map unboxMap
        start local 3 // org.jruby.ir.operands.Operand arg
         0: .line 427
            aload 3 /* arg */
            instanceof org.jruby.ir.operands.Variable
            ifeq 6
         1: .line 428
            aload 3 /* arg */
            checkcast org.jruby.ir.operands.Variable
            astore 4 /* v */
        start local 4 // org.jruby.ir.operands.Variable v
         2: .line 429
            aload 1 /* state */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState.unboxedVars:Ljava/util/Map;
            aload 4 /* v */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Class
            astore 5 /* unboxedType */
        start local 5 // java.lang.Class unboxedType
         3: .line 430
            aload 5 /* unboxedType */
            ifnonnull 4
            aload 3 /* arg */
            goto 5
      StackMap locals: org.jruby.ir.operands.Variable java.lang.Class
      StackMap stack:
         4: aload 0 /* this */
            aload 5 /* unboxedType */
            aload 2 /* unboxMap */
            aload 4 /* v */
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.getUnboxedVar:(Ljava/lang/Class;Ljava/util/Map;Lorg/jruby/ir/operands/Variable;)Lorg/jruby/ir/operands/TemporaryLocalVariable;
      StackMap locals:
      StackMap stack: org.jruby.ir.operands.Operand
         5: areturn
        end local 5 // java.lang.Class unboxedType
        end local 4 // org.jruby.ir.operands.Variable v
         6: .line 431
      StackMap locals:
      StackMap stack:
            aload 3 /* arg */
            instanceof org.jruby.ir.operands.Float
            ifeq 8
         7: .line 432
            new org.jruby.ir.operands.UnboxedFloat
            dup
            aload 3 /* arg */
            checkcast org.jruby.ir.operands.Float
            invokevirtual org.jruby.ir.operands.Float.getValue:()D
            invokespecial org.jruby.ir.operands.UnboxedFloat.<init>:(D)V
            areturn
         8: .line 433
      StackMap locals:
      StackMap stack:
            aload 3 /* arg */
            instanceof org.jruby.ir.operands.Fixnum
            ifeq 10
         9: .line 434
            new org.jruby.ir.operands.UnboxedFixnum
            dup
            aload 3 /* arg */
            checkcast org.jruby.ir.operands.Fixnum
            invokevirtual org.jruby.ir.operands.Fixnum.getValue:()J
            invokespecial org.jruby.ir.operands.UnboxedFixnum.<init>:(J)V
            areturn
        10: .line 435
      StackMap locals:
      StackMap stack:
            aload 3 /* arg */
            instanceof org.jruby.ir.operands.Boolean
            ifeq 12
        11: .line 436
            new org.jruby.ir.operands.UnboxedBoolean
            dup
            aload 3 /* arg */
            checkcast org.jruby.ir.operands.Boolean
            invokevirtual org.jruby.ir.operands.Boolean.isTrue:()Z
            invokespecial org.jruby.ir.operands.UnboxedBoolean.<init>:(Z)V
            areturn
        12: .line 440
      StackMap locals:
      StackMap stack:
            aload 3 /* arg */
            areturn
        end local 3 // org.jruby.ir.operands.Operand arg
        end local 2 // java.util.Map unboxMap
        end local 1 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState state
        end local 0 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   13     0         this  Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode;
            0   13     1        state  Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
            0   13     2     unboxMap  Ljava/util/Map<Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/TemporaryLocalVariable;>;
            0   13     3          arg  Lorg/jruby/ir/operands/Operand;
            2    6     4            v  Lorg/jruby/ir/operands/Variable;
            3    6     5  unboxedType  Ljava/lang/Class;
    Signature: (Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;Ljava/util/Map<Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/TemporaryLocalVariable;>;Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Operand;
    MethodParameters:
          Name  Flags
      state     
      unboxMap  
      arg       

  private void boxRequiredVars(org.jruby.ir.instructions.Instr, org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState, java.util.Map<org.jruby.ir.operands.Variable, org.jruby.ir.operands.TemporaryLocalVariable>, org.jruby.ir.operands.Variable, boolean, boolean, java.util.List<org.jruby.ir.instructions.Instr>);
    descriptor: (Lorg/jruby/ir/instructions/Instr;Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;Ljava/util/Map;Lorg/jruby/ir/operands/Variable;ZZLjava/util/List;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=16, args_size=8
        start local 0 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode this
        start local 1 // org.jruby.ir.instructions.Instr i
        start local 2 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState state
        start local 3 // java.util.Map unboxMap
        start local 4 // org.jruby.ir.operands.Variable dst
        start local 5 // boolean hasRescuer
        start local 6 // boolean isDFBarrier
        start local 7 // java.util.List newInstrs
         0: .line 445
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.problem:Lorg/jruby/ir/dataflow/DataFlowProblem;
            checkcast org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisProblem
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisProblem.getScope:()Lorg/jruby/ir/IRScope;
            instanceof org.jruby.ir.IRClosure
            istore 8 /* isClosure */
        start local 8 // boolean isClosure
         1: .line 446
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 9 /* varsToBox */
        start local 9 // java.util.HashSet varsToBox
         2: .line 447
            aload 1 /* i */
            invokevirtual org.jruby.ir.instructions.Instr.canRaiseException:()Z
            ifeq 8
         3: .line 450
            iload 5 /* hasRescuer */
            ifeq 6
         4: .line 452
            aload 9 /* varsToBox */
            aload 2 /* state */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState.unboxedDirtyVars:Ljava/util/Set;
            invokevirtual java.util.HashSet.addAll:(Ljava/util/Collection;)Z
            pop
         5: .line 453
            goto 8
      StackMap locals: int java.util.HashSet
      StackMap stack:
         6: iload 8 /* isClosure */
            ifeq 8
         7: .line 456
            aload 0 /* this */
            aload 9 /* varsToBox */
            aload 2 /* state */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState.unboxedDirtyVars:Ljava/util/Set;
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.markLocalVariables:(Ljava/util/Collection;Ljava/util/Set;)V
         8: .line 460
      StackMap locals:
      StackMap stack:
            iload 8 /* isClosure */
            ifeq 10
            aload 1 /* i */
            instanceof org.jruby.ir.instructions.ReturnInstr
            ifne 9
            aload 1 /* i */
            instanceof org.jruby.ir.instructions.BreakInstr
            ifeq 10
         9: .line 461
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 9 /* varsToBox */
            aload 2 /* state */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState.unboxedDirtyVars:Ljava/util/Set;
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.markLocalVariables:(Ljava/util/Collection;Ljava/util/Set;)V
        10: .line 464
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 10 /* boxedLocalVars */
        start local 10 // java.util.List boxedLocalVars
        11: .line 465
            iload 6 /* isDFBarrier */
            ifeq 15
        12: .line 467
            aload 0 /* this */
            aload 9 /* varsToBox */
            aload 2 /* state */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState.unboxedDirtyVars:Ljava/util/Set;
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.markLocalVariables:(Ljava/util/Collection;Ljava/util/Set;)V
        13: .line 471
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 10 /* boxedLocalVars */
        14: .line 472
            aload 0 /* this */
            aload 10 /* boxedLocalVars */
            aload 2 /* state */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState.unboxedVars:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.markLocalVariables:(Ljava/util/Collection;Ljava/util/Set;)V
        15: .line 477
      StackMap locals: java.util.List
      StackMap stack:
            aload 1 /* i */
            invokevirtual org.jruby.ir.instructions.Instr.getOperation:()Lorg/jruby/ir/Operation;
            astore 11 /* op */
        start local 11 // org.jruby.ir.Operation op
        16: .line 478
            aload 11 /* op */
            getstatic org.jruby.ir.Operation.B_TRUE:Lorg/jruby/ir/Operation;
            if_acmpeq 17
            aload 11 /* op */
            getstatic org.jruby.ir.Operation.B_FALSE:Lorg/jruby/ir/Operation;
            if_acmpeq 17
            iconst_0
            goto 18
      StackMap locals: org.jruby.ir.Operation
      StackMap stack:
        17: iconst_1
      StackMap locals:
      StackMap stack: int
        18: istore 12 /* isBranch */
        start local 12 // boolean isBranch
        19: .line 479
            iload 12 /* isBranch */
            ifne 25
        20: .line 482
            aload 1 /* i */
            invokevirtual org.jruby.ir.instructions.Instr.getUsedVariables:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 14
            goto 24
      StackMap locals: org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode org.jruby.ir.instructions.Instr org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState java.util.Map org.jruby.ir.operands.Variable int int java.util.List int java.util.HashSet java.util.List org.jruby.ir.Operation int top java.util.Iterator
      StackMap stack:
        21: aload 14
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.jruby.ir.operands.Variable
            astore 13 /* v */
        start local 13 // org.jruby.ir.operands.Variable v
        22: .line 483
            aload 2 /* state */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState.unboxedDirtyVars:Ljava/util/Set;
            aload 13 /* v */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 24
        23: .line 484
            aload 9 /* varsToBox */
            aload 13 /* v */
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
        end local 13 // org.jruby.ir.operands.Variable v
        24: .line 482
      StackMap locals:
      StackMap stack:
            aload 14
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 21
        25: .line 490
      StackMap locals: org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode org.jruby.ir.instructions.Instr org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState java.util.Map org.jruby.ir.operands.Variable int int java.util.List int java.util.HashSet java.util.List org.jruby.ir.Operation int
      StackMap stack:
            aload 9 /* varsToBox */
            invokevirtual java.util.HashSet.iterator:()Ljava/util/Iterator;
            astore 14
            goto 28
      StackMap locals: org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode org.jruby.ir.instructions.Instr org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState java.util.Map org.jruby.ir.operands.Variable int int java.util.List int java.util.HashSet java.util.List org.jruby.ir.Operation int top java.util.Iterator
      StackMap stack:
        26: aload 14
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.jruby.ir.operands.Variable
            astore 13 /* v */
        start local 13 // org.jruby.ir.operands.Variable v
        27: .line 491
            aload 0 /* this */
            aload 2 /* state */
            aload 2 /* state */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState.unboxedVars:Ljava/util/Map;
            aload 13 /* v */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Class
            aload 3 /* unboxMap */
            aload 13 /* v */
            aload 7 /* newInstrs */
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.boxVar:(Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;Ljava/lang/Class;Ljava/util/Map;Lorg/jruby/ir/operands/Variable;Ljava/util/List;)V
        end local 13 // org.jruby.ir.operands.Variable v
        28: .line 490
      StackMap locals:
      StackMap stack:
            aload 14
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 26
        29: .line 495
            iload 12 /* isBranch */
            ifeq 41
        30: .line 496
            aload 1 /* i */
            checkcast org.jruby.ir.instructions.OneOperandBranchInstr
            astore 13 /* bi */
        start local 13 // org.jruby.ir.instructions.OneOperandBranchInstr bi
        31: .line 497
            aload 13 /* bi */
            invokevirtual org.jruby.ir.instructions.OneOperandBranchInstr.getArg1:()Lorg/jruby/ir/operands/Operand;
            astore 14 /* a */
        start local 14 // org.jruby.ir.operands.Operand a
        32: .line 498
            aload 0 /* this */
            aload 2 /* state */
            aload 3 /* unboxMap */
            aload 14 /* a */
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.getUnboxedOperand:(Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;Ljava/util/Map;Lorg/jruby/ir/operands/Operand;)Lorg/jruby/ir/operands/Operand;
            astore 15 /* ua */
        start local 15 // org.jruby.ir.operands.Operand ua
        33: .line 499
            aload 15 /* ua */
            aload 14 /* a */
            if_acmpne 36
        34: .line 500
            aload 7 /* newInstrs */
            aload 1 /* i */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        35: .line 501
            goto 42
      StackMap locals: org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode org.jruby.ir.instructions.Instr org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState java.util.Map org.jruby.ir.operands.Variable int int java.util.List int java.util.HashSet java.util.List org.jruby.ir.Operation int org.jruby.ir.instructions.OneOperandBranchInstr org.jruby.ir.operands.Operand org.jruby.ir.operands.Operand
      StackMap stack:
        36: aload 11 /* op */
            getstatic org.jruby.ir.Operation.B_TRUE:Lorg/jruby/ir/Operation;
            if_acmpne 39
        37: .line 502
            aload 7 /* newInstrs */
            new org.jruby.ir.instructions.BTrueInstr
            dup
            aload 13 /* bi */
            invokevirtual org.jruby.ir.instructions.OneOperandBranchInstr.getJumpTarget:()Lorg/jruby/ir/operands/Label;
            aload 15 /* ua */
            invokespecial org.jruby.ir.instructions.BTrueInstr.<init>:(Lorg/jruby/ir/operands/Label;Lorg/jruby/ir/operands/Operand;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        38: .line 503
            goto 42
        39: .line 504
      StackMap locals:
      StackMap stack:
            aload 7 /* newInstrs */
            new org.jruby.ir.instructions.BFalseInstr
            dup
            aload 13 /* bi */
            invokevirtual org.jruby.ir.instructions.OneOperandBranchInstr.getJumpTarget:()Lorg/jruby/ir/operands/Label;
            aload 15 /* ua */
            invokespecial org.jruby.ir.instructions.BFalseInstr.<init>:(Lorg/jruby/ir/operands/Label;Lorg/jruby/ir/operands/Operand;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 15 // org.jruby.ir.operands.Operand ua
        end local 14 // org.jruby.ir.operands.Operand a
        end local 13 // org.jruby.ir.instructions.OneOperandBranchInstr bi
        40: .line 506
            goto 42
        41: .line 507
      StackMap locals:
      StackMap stack:
            aload 7 /* newInstrs */
            aload 1 /* i */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        42: .line 511
      StackMap locals:
      StackMap stack:
            aload 4 /* dst */
            ifnull 45
        43: .line 512
            aload 2 /* state */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState.unboxedVars:Ljava/util/Map;
            aload 4 /* dst */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        44: .line 513
            aload 2 /* state */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState.unboxedDirtyVars:Ljava/util/Set;
            aload 4 /* dst */
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
        45: .line 516
      StackMap locals:
      StackMap stack:
            aload 10 /* boxedLocalVars */
            ifnull 47
        46: .line 517
            aload 2 /* state */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState.unboxedVars:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            aload 10 /* boxedLocalVars */
            invokeinterface java.util.Set.removeAll:(Ljava/util/Collection;)Z
            pop
        47: .line 519
      StackMap locals:
      StackMap stack:
            return
        end local 12 // boolean isBranch
        end local 11 // org.jruby.ir.Operation op
        end local 10 // java.util.List boxedLocalVars
        end local 9 // java.util.HashSet varsToBox
        end local 8 // boolean isClosure
        end local 7 // java.util.List newInstrs
        end local 6 // boolean isDFBarrier
        end local 5 // boolean hasRescuer
        end local 4 // org.jruby.ir.operands.Variable dst
        end local 3 // java.util.Map unboxMap
        end local 2 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState state
        end local 1 // org.jruby.ir.instructions.Instr i
        end local 0 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   48     0            this  Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode;
            0   48     1               i  Lorg/jruby/ir/instructions/Instr;
            0   48     2           state  Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
            0   48     3        unboxMap  Ljava/util/Map<Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/TemporaryLocalVariable;>;
            0   48     4             dst  Lorg/jruby/ir/operands/Variable;
            0   48     5      hasRescuer  Z
            0   48     6     isDFBarrier  Z
            0   48     7       newInstrs  Ljava/util/List<Lorg/jruby/ir/instructions/Instr;>;
            1   48     8       isClosure  Z
            2   48     9       varsToBox  Ljava/util/HashSet<Lorg/jruby/ir/operands/Variable;>;
           11   48    10  boxedLocalVars  Ljava/util/List<Lorg/jruby/ir/operands/Variable;>;
           16   48    11              op  Lorg/jruby/ir/Operation;
           19   48    12        isBranch  Z
           22   24    13               v  Lorg/jruby/ir/operands/Variable;
           27   28    13               v  Lorg/jruby/ir/operands/Variable;
           31   40    13              bi  Lorg/jruby/ir/instructions/OneOperandBranchInstr;
           32   40    14               a  Lorg/jruby/ir/operands/Operand;
           33   40    15              ua  Lorg/jruby/ir/operands/Operand;
    Signature: (Lorg/jruby/ir/instructions/Instr;Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;Ljava/util/Map<Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/TemporaryLocalVariable;>;Lorg/jruby/ir/operands/Variable;ZZLjava/util/List<Lorg/jruby/ir/instructions/Instr;>;)V
    MethodParameters:
             Name  Flags
      i            
      state        
      unboxMap     
      dst          
      hasRescuer   
      isDFBarrier  
      newInstrs    

  public void unbox(java.util.Map<org.jruby.ir.operands.Variable, org.jruby.ir.operands.TemporaryLocalVariable>);
    descriptor: (Ljava/util/Map;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=24, args_size=2
        start local 0 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode this
        start local 1 // java.util.Map unboxMap
         0: .line 540
            aload 0 /* this */
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.getCFG:()Lorg/jruby/ir/representations/CFG;
            astore 2 /* cfg */
        start local 2 // org.jruby.ir.representations.CFG cfg
         1: .line 544
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 3 /* succUnboxedVars */
        start local 3 // java.util.HashMap succUnboxedVars
         2: .line 545
            aload 2 /* cfg */
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.basicBlock:Lorg/jruby/ir/representations/BasicBlock;
            invokevirtual org.jruby.ir.representations.CFG.getOutgoingDestinations:(Lorg/jruby/ir/representations/BasicBlock;)Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 5
            goto 10
      StackMap locals: org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode java.util.Map org.jruby.ir.representations.CFG java.util.HashMap top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.jruby.ir.representations.BasicBlock
            astore 4 /* b */
        start local 4 // org.jruby.ir.representations.BasicBlock b
         4: .line 546
            aload 4 /* b */
            invokevirtual org.jruby.ir.representations.BasicBlock.isExitBB:()Z
            ifeq 5
            goto 10
         5: .line 548
      StackMap locals: org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode java.util.Map org.jruby.ir.representations.CFG java.util.HashMap org.jruby.ir.representations.BasicBlock java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.problem:Lorg/jruby/ir/dataflow/DataFlowProblem;
            checkcast org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisProblem
            aload 4 /* b */
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisProblem.getFlowGraphNode:(Lorg/jruby/ir/representations/BasicBlock;)Lorg/jruby/ir/dataflow/FlowGraphNode;
            checkcast org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.inState:Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState.unboxedVars:Ljava/util/Map;
            astore 6 /* xVars */
        start local 6 // java.util.Map xVars
         6: .line 549
            aload 6 /* xVars */
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 8
            goto 9
      StackMap locals: org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode java.util.Map org.jruby.ir.representations.CFG java.util.HashMap org.jruby.ir.representations.BasicBlock java.util.Iterator java.util.Map top java.util.Iterator
      StackMap stack:
         7: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.jruby.ir.operands.Variable
            astore 7 /* v2 */
        start local 7 // org.jruby.ir.operands.Variable v2
         8: .line 558
            aload 3 /* succUnboxedVars */
            aload 7 /* v2 */
            aload 6 /* xVars */
            aload 7 /* v2 */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Class
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 7 // org.jruby.ir.operands.Variable v2
         9: .line 549
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        end local 6 // java.util.Map xVars
        end local 4 // org.jruby.ir.representations.BasicBlock b
        10: .line 545
      StackMap locals: org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode java.util.Map org.jruby.ir.representations.CFG java.util.HashMap top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        11: .line 563
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.outState:Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState.unboxedVars:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 14
      StackMap locals:
      StackMap stack:
        12: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.jruby.ir.operands.Variable
            astore 4 /* v3 */
        start local 4 // org.jruby.ir.operands.Variable v3
        13: .line 564
            aload 3 /* succUnboxedVars */
            aload 4 /* v3 */
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // org.jruby.ir.operands.Variable v3
        14: .line 563
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        15: .line 568
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.problem:Lorg/jruby/ir/dataflow/DataFlowProblem;
            checkcast org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisProblem
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisProblem.getScope:()Lorg/jruby/ir/IRScope;
            invokevirtual org.jruby.ir.IRScope.getLiveVariablesProblem:()Lorg/jruby/ir/dataflow/analyses/LiveVariablesProblem;
            astore 4 /* lvp */
        start local 4 // org.jruby.ir.dataflow.analyses.LiveVariablesProblem lvp
        16: .line 569
            aload 4 /* lvp */
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.basicBlock:Lorg/jruby/ir/representations/BasicBlock;
            invokevirtual org.jruby.ir.dataflow.analyses.LiveVariablesProblem.getFlowGraphNode:(Lorg/jruby/ir/representations/BasicBlock;)Lorg/jruby/ir/dataflow/FlowGraphNode;
            checkcast org.jruby.ir.dataflow.analyses.LiveVariableNode
            invokevirtual org.jruby.ir.dataflow.analyses.LiveVariableNode.getLiveInBitSet:()Ljava/util/BitSet;
            astore 5 /* liveVarsSet */
        start local 5 // java.util.BitSet liveVarsSet
        17: .line 571
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 6 /* newInstrs */
        start local 6 // java.util.List newInstrs
        18: .line 572
            iconst_0
            istore 7 /* unboxedLiveVars */
        start local 7 // boolean unboxedLiveVars
        19: .line 574
            aload 0 /* this */
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.initSolution:()V
        20: .line 576
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.basicBlock:Lorg/jruby/ir/representations/BasicBlock;
            invokevirtual org.jruby.ir.representations.BasicBlock.getInstrs:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 9
            goto 91
      StackMap locals: org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode java.util.Map org.jruby.ir.representations.CFG java.util.HashMap org.jruby.ir.dataflow.analyses.LiveVariablesProblem java.util.BitSet java.util.List int top java.util.Iterator
      StackMap stack:
        21: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.jruby.ir.instructions.Instr
            astore 8 /* i */
        start local 8 // org.jruby.ir.instructions.Instr i
        22: .line 577
            aconst_null
            astore 10 /* dst */
        start local 10 // org.jruby.ir.operands.Variable dst
        23: .line 578
            ldc Ljava/lang/Object;
            astore 11 /* dstType */
        start local 11 // java.lang.Class dstType
        24: .line 579
            iconst_0
            istore 12 /* unboxedAndDirty */
        start local 12 // boolean unboxedAndDirty
        25: .line 580
            iconst_0
            istore 13 /* hitDFBarrier */
        start local 13 // boolean hitDFBarrier
        26: .line 582
            aload 8 /* i */
            invokevirtual org.jruby.ir.instructions.Instr.getOperation:()Lorg/jruby/ir/Operation;
            invokevirtual org.jruby.ir.Operation.transfersControl:()Z
            ifeq 34
        27: .line 584
            aload 3 /* succUnboxedVars */
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 15
            goto 31
      StackMap locals: org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode java.util.Map org.jruby.ir.representations.CFG java.util.HashMap org.jruby.ir.dataflow.analyses.LiveVariablesProblem java.util.BitSet java.util.List int org.jruby.ir.instructions.Instr java.util.Iterator org.jruby.ir.operands.Variable java.lang.Class int int top java.util.Iterator
      StackMap stack:
        28: aload 15
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.jruby.ir.operands.Variable
            astore 14 /* v */
        start local 14 // org.jruby.ir.operands.Variable v
        29: .line 585
            aload 5 /* liveVarsSet */
            aload 4 /* lvp */
            aload 14 /* v */
            invokevirtual org.jruby.ir.dataflow.analyses.LiveVariablesProblem.getDFVar:(Lorg/jruby/ir/operands/Variable;)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            invokevirtual java.util.BitSet.get:(I)Z
            ifeq 31
        30: .line 586
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.tmpState:Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
            aload 3 /* succUnboxedVars */
            aload 14 /* v */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Class
            aload 1 /* unboxMap */
            aload 14 /* v */
            aload 6 /* newInstrs */
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.unboxVar:(Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;Ljava/lang/Class;Ljava/util/Map;Lorg/jruby/ir/operands/Variable;Ljava/util/List;)V
        end local 14 // org.jruby.ir.operands.Variable v
        31: .line 584
      StackMap locals:
      StackMap stack:
            aload 15
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 28
        32: .line 589
            iconst_1
            istore 7 /* unboxedLiveVars */
        33: .line 590
            goto 86
        34: .line 591
      StackMap locals: org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode java.util.Map org.jruby.ir.representations.CFG java.util.HashMap org.jruby.ir.dataflow.analyses.LiveVariablesProblem java.util.BitSet java.util.List int org.jruby.ir.instructions.Instr java.util.Iterator org.jruby.ir.operands.Variable java.lang.Class int int
      StackMap stack:
            aload 8 /* i */
            instanceof org.jruby.ir.instructions.ResultInstr
            ifeq 36
        35: .line 592
            aload 8 /* i */
            checkcast org.jruby.ir.instructions.ResultInstr
            invokeinterface org.jruby.ir.instructions.ResultInstr.getResult:()Lorg/jruby/ir/operands/Variable;
            astore 10 /* dst */
        36: .line 595
      StackMap locals:
      StackMap stack:
            aload 8 /* i */
            instanceof org.jruby.ir.instructions.CopyInstr
            ifeq 49
        37: .line 597
            aload 8 /* i */
            checkcast org.jruby.ir.instructions.CopyInstr
            invokevirtual org.jruby.ir.instructions.CopyInstr.getSource:()Lorg/jruby/ir/operands/Operand;
            astore 14 /* src */
        start local 14 // org.jruby.ir.operands.Operand src
        38: .line 598
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.tmpState:Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
            aload 14 /* src */
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.getOperandType:(Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;Lorg/jruby/ir/operands/Operand;)Ljava/lang/Class;
            astore 15 /* srcType */
        start local 15 // java.lang.Class srcType
        39: .line 599
            aload 15 /* srcType */
            astore 11 /* dstType */
        40: .line 609
            aload 15 /* srcType */
            ldc Lorg/jruby/ir/operands/Float;
            if_acmpeq 41
            aload 15 /* srcType */
            ldc Lorg/jruby/ir/operands/Fixnum;
            if_acmpne 47
        41: .line 610
      StackMap locals: org.jruby.ir.operands.Operand java.lang.Class
      StackMap stack:
            aload 14 /* src */
            instanceof org.jruby.ir.operands.Variable
            ifeq 42
            aload 0 /* this */
            aload 15 /* srcType */
            aload 1 /* unboxMap */
            aload 14 /* src */
            checkcast org.jruby.ir.operands.Variable
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.getUnboxedVar:(Ljava/lang/Class;Ljava/util/Map;Lorg/jruby/ir/operands/Variable;)Lorg/jruby/ir/operands/TemporaryLocalVariable;
            goto 43
      StackMap locals:
      StackMap stack:
        42: aload 14 /* src */
      StackMap locals:
      StackMap stack: org.jruby.ir.operands.Operand
        43: astore 16 /* unboxedSrc */
        start local 16 // org.jruby.ir.operands.Operand unboxedSrc
        44: .line 611
            aload 0 /* this */
            aload 15 /* srcType */
            aload 1 /* unboxMap */
            aload 10 /* dst */
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.getUnboxedVar:(Ljava/lang/Class;Ljava/util/Map;Lorg/jruby/ir/operands/Variable;)Lorg/jruby/ir/operands/TemporaryLocalVariable;
            astore 17 /* unboxedDst */
        start local 17 // org.jruby.ir.operands.TemporaryLocalVariable unboxedDst
        45: .line 612
            aload 6 /* newInstrs */
            new org.jruby.ir.instructions.CopyInstr
            dup
            getstatic org.jruby.ir.Operation.COPY:Lorg/jruby/ir/Operation;
            aload 17 /* unboxedDst */
            aload 16 /* unboxedSrc */
            invokespecial org.jruby.ir.instructions.CopyInstr.<init>:(Lorg/jruby/ir/Operation;Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        46: .line 613
            iconst_1
            istore 12 /* unboxedAndDirty */
        end local 17 // org.jruby.ir.operands.TemporaryLocalVariable unboxedDst
        end local 16 // org.jruby.ir.operands.Operand unboxedSrc
        47: .line 616
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.tmpState:Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState.unboxedVars:Ljava/util/Map;
            aload 10 /* dst */
            aload 11 /* dstType */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 15 // java.lang.Class srcType
        end local 14 // org.jruby.ir.operands.Operand src
        48: .line 617
            goto 86
      StackMap locals:
      StackMap stack:
        49: aload 8 /* i */
            instanceof org.jruby.ir.instructions.ClosureAcceptingInstr
            ifeq 86
        50: .line 618
            aload 8 /* i */
            checkcast org.jruby.ir.instructions.ClosureAcceptingInstr
            invokeinterface org.jruby.ir.instructions.ClosureAcceptingInstr.getClosureArg:()Lorg/jruby/ir/operands/Operand;
            astore 14 /* o */
        start local 14 // org.jruby.ir.operands.Operand o
        51: .line 619
            aload 8 /* i */
            instanceof org.jruby.ir.instructions.CallBase
            ifeq 76
            aload 14 /* o */
            ifnonnull 76
        52: .line 620
            aload 8 /* i */
            checkcast org.jruby.ir.instructions.CallBase
            astore 15 /* c */
        start local 15 // org.jruby.ir.instructions.CallBase c
        53: .line 621
            aload 15 /* c */
            invokevirtual org.jruby.ir.instructions.CallBase.getId:()Ljava/lang/String;
            astore 16 /* m */
        start local 16 // java.lang.String m
        54: .line 622
            aload 15 /* c */
            invokevirtual org.jruby.ir.instructions.CallBase.getReceiver:()Lorg/jruby/ir/operands/Operand;
            astore 17 /* r */
        start local 17 // org.jruby.ir.operands.Operand r
        55: .line 623
            aload 10 /* dst */
            ifnull 86
            aload 15 /* c */
            invokevirtual org.jruby.ir.instructions.CallBase.getArgsCount:()I
            iconst_1
            if_icmpne 86
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.problem:Lorg/jruby/ir/dataflow/DataFlowProblem;
            checkcast org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisProblem
            aload 16 /* m */
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisProblem.isUnboxableMethod:(Ljava/lang/String;)Z
            ifeq 86
        56: .line 624
            aload 15 /* c */
            invokevirtual org.jruby.ir.instructions.CallBase.getArg1:()Lorg/jruby/ir/operands/Operand;
            astore 18 /* a */
        start local 18 // org.jruby.ir.operands.Operand a
        57: .line 625
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.tmpState:Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
            aload 17 /* r */
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.getOperandType:(Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;Lorg/jruby/ir/operands/Operand;)Ljava/lang/Class;
            astore 19 /* receiverType */
        start local 19 // java.lang.Class receiverType
        58: .line 626
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.tmpState:Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
            aload 18 /* a */
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.getOperandType:(Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;Lorg/jruby/ir/operands/Operand;)Ljava/lang/Class;
            astore 20 /* argType */
        start local 20 // java.lang.Class argType
        59: .line 628
            aconst_null
            astore 21 /* unboxedOp */
        start local 21 // org.jruby.ir.Operation unboxedOp
        60: .line 629
            aconst_null
            astore 22 /* unboxedType */
        start local 22 // java.lang.Class unboxedType
        61: .line 630
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.problem:Lorg/jruby/ir/dataflow/DataFlowProblem;
            checkcast org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisProblem
            aload 16 /* m */
            aload 19 /* receiverType */
            aload 20 /* argType */
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisProblem.acceptsArgTypes:(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/Class;)Z
            ifeq 64
        62: .line 631
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.problem:Lorg/jruby/ir/dataflow/DataFlowProblem;
            checkcast org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisProblem
            aload 16 /* m */
            aload 19 /* receiverType */
            aload 20 /* argType */
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisProblem.getUnboxedType:(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/Class;
            astore 22 /* unboxedType */
        63: .line 632
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.problem:Lorg/jruby/ir/dataflow/DataFlowProblem;
            checkcast org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisProblem
            aload 16 /* m */
            aload 22 /* unboxedType */
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisProblem.getUnboxedOp:(Ljava/lang/String;Ljava/lang/Class;)Lorg/jruby/ir/Operation;
            astore 21 /* unboxedOp */
        64: .line 635
      StackMap locals: org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode java.util.Map org.jruby.ir.representations.CFG java.util.HashMap org.jruby.ir.dataflow.analyses.LiveVariablesProblem java.util.BitSet java.util.List int org.jruby.ir.instructions.Instr java.util.Iterator org.jruby.ir.operands.Variable java.lang.Class int int org.jruby.ir.operands.Operand org.jruby.ir.instructions.CallBase java.lang.String org.jruby.ir.operands.Operand org.jruby.ir.operands.Operand java.lang.Class java.lang.Class org.jruby.ir.Operation java.lang.Class
      StackMap stack:
            aload 22 /* unboxedType */
            ifnull 73
            aload 21 /* unboxedOp */
            ifnull 73
        65: .line 636
            iconst_1
            istore 12 /* unboxedAndDirty */
        66: .line 638
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.problem:Lorg/jruby/ir/dataflow/DataFlowProblem;
            checkcast org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisProblem
            aload 16 /* m */
            aload 22 /* unboxedType */
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisProblem.getUnboxedResultType:(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Class;
            astore 11 /* dstType */
        67: .line 639
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.tmpState:Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState.unboxedVars:Ljava/util/Map;
            aload 10 /* dst */
            aload 11 /* dstType */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        68: .line 641
            aload 0 /* this */
            aload 11 /* dstType */
            aload 1 /* unboxMap */
            aload 10 /* dst */
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.getUnboxedVar:(Ljava/lang/Class;Ljava/util/Map;Lorg/jruby/ir/operands/Variable;)Lorg/jruby/ir/operands/TemporaryLocalVariable;
            astore 23 /* unboxedDst */
        start local 23 // org.jruby.ir.operands.TemporaryLocalVariable unboxedDst
        69: .line 642
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.tmpState:Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
            aload 22 /* unboxedType */
            aload 1 /* unboxMap */
            aload 17 /* r */
            aload 6 /* newInstrs */
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.unboxOperand:(Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;Ljava/lang/Class;Ljava/util/Map;Lorg/jruby/ir/operands/Operand;Ljava/util/List;)Lorg/jruby/ir/operands/Operand;
            astore 17 /* r */
        70: .line 643
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.tmpState:Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
            aload 22 /* unboxedType */
            aload 1 /* unboxMap */
            aload 18 /* a */
            aload 6 /* newInstrs */
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.unboxOperand:(Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;Ljava/lang/Class;Ljava/util/Map;Lorg/jruby/ir/operands/Operand;Ljava/util/List;)Lorg/jruby/ir/operands/Operand;
            astore 18 /* a */
        71: .line 644
            aload 6 /* newInstrs */
            new org.jruby.ir.instructions.boxing.AluInstr
            dup
            aload 21 /* unboxedOp */
            aload 23 /* unboxedDst */
            aload 17 /* r */
            aload 18 /* a */
            invokespecial org.jruby.ir.instructions.boxing.AluInstr.<init>:(Lorg/jruby/ir/Operation;Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 23 // org.jruby.ir.operands.TemporaryLocalVariable unboxedDst
        72: .line 645
            goto 86
      StackMap locals:
      StackMap stack:
        73: aload 15 /* c */
            invokevirtual org.jruby.ir.instructions.CallBase.targetRequiresCallersBinding:()Z
            ifeq 86
        74: .line 646
            iconst_1
            istore 13 /* hitDFBarrier */
        end local 22 // java.lang.Class unboxedType
        end local 21 // org.jruby.ir.Operation unboxedOp
        end local 20 // java.lang.Class argType
        end local 19 // java.lang.Class receiverType
        end local 18 // org.jruby.ir.operands.Operand a
        end local 17 // org.jruby.ir.operands.Operand r
        end local 16 // java.lang.String m
        end local 15 // org.jruby.ir.instructions.CallBase c
        75: .line 649
            goto 86
        76: .line 650
      StackMap locals: org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode java.util.Map org.jruby.ir.representations.CFG java.util.HashMap org.jruby.ir.dataflow.analyses.LiveVariablesProblem java.util.BitSet java.util.List int org.jruby.ir.instructions.Instr java.util.Iterator org.jruby.ir.operands.Variable java.lang.Class int int org.jruby.ir.operands.Operand
      StackMap stack:
            aload 14 /* o */
            instanceof org.jruby.ir.operands.WrappedIRClosure
            ifeq 85
        77: .line 654
            iconst_1
            istore 13 /* hitDFBarrier */
        78: .line 657
            aload 14 /* o */
            checkcast org.jruby.ir.operands.WrappedIRClosure
            invokevirtual org.jruby.ir.operands.WrappedIRClosure.getClosure:()Lorg/jruby/ir/IRClosure;
            astore 15 /* cl */
        start local 15 // org.jruby.ir.IRClosure cl
        79: .line 658
            aload 15 /* cl */
            invokevirtual org.jruby.ir.IRClosure.getUnboxableOpsAnalysisProblem:()Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisProblem;
            astore 16 /* subProblem */
        start local 16 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisProblem subProblem
        80: .line 659
            aload 16 /* subProblem */
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisProblem.getExitNode:()Lorg/jruby/ir/dataflow/FlowGraphNode;
            checkcast org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode
            astore 17 /* exitNode */
        start local 17 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode exitNode
        81: .line 662
            aload 16 /* subProblem */
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisProblem.unbox:()V
        82: .line 665
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.tmpState:Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
            aload 17 /* exitNode */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.outState:Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
            iconst_1
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState.computeMEETForTypes:(Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;Z)V
        83: .line 672
            iconst_1
            istore 13 /* hitDFBarrier */
        end local 17 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode exitNode
        end local 16 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisProblem subProblem
        end local 15 // org.jruby.ir.IRClosure cl
        84: .line 673
            goto 86
        85: .line 675
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 13 /* hitDFBarrier */
        end local 14 // org.jruby.ir.operands.Operand o
        86: .line 685
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.tmpState:Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
            aload 10 /* dst */
            aload 11 /* dstType */
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.setOperandType:(Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;Lorg/jruby/ir/operands/Variable;Ljava/lang/Class;)V
        87: .line 687
            iload 12 /* unboxedAndDirty */
            ifeq 90
        88: .line 688
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.tmpState:Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState.unboxedDirtyVars:Ljava/util/Set;
            aload 10 /* dst */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        89: .line 689
            goto 91
        90: .line 692
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 8 /* i */
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.tmpState:Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
            aload 1 /* unboxMap */
            aload 10 /* dst */
            aload 0 /* this */
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.hasExceptionsRescued:()Z
            iload 13 /* hitDFBarrier */
            aload 6 /* newInstrs */
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.boxRequiredVars:(Lorg/jruby/ir/instructions/Instr;Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;Ljava/util/Map;Lorg/jruby/ir/operands/Variable;ZZLjava/util/List;)V
        end local 13 // boolean hitDFBarrier
        end local 12 // boolean unboxedAndDirty
        end local 11 // java.lang.Class dstType
        end local 10 // org.jruby.ir.operands.Variable dst
        end local 8 // org.jruby.ir.instructions.Instr i
        91: .line 576
      StackMap locals: org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode java.util.Map org.jruby.ir.representations.CFG java.util.HashMap org.jruby.ir.dataflow.analyses.LiveVariablesProblem java.util.BitSet java.util.List int top java.util.Iterator
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 21
        92: .line 697
            iload 7 /* unboxedLiveVars */
            ifne 98
        93: .line 698
            aload 3 /* succUnboxedVars */
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 9
            goto 97
      StackMap locals:
      StackMap stack:
        94: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.jruby.ir.operands.Variable
            astore 8 /* v */
        start local 8 // org.jruby.ir.operands.Variable v
        95: .line 699
            aload 5 /* liveVarsSet */
            aload 4 /* lvp */
            aload 8 /* v */
            invokevirtual org.jruby.ir.dataflow.analyses.LiveVariablesProblem.getDFVar:(Lorg/jruby/ir/operands/Variable;)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            invokevirtual java.util.BitSet.get:(I)Z
            ifeq 97
        96: .line 700
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.tmpState:Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;
            aload 3 /* succUnboxedVars */
            aload 8 /* v */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Class
            aload 1 /* unboxMap */
            aload 8 /* v */
            aload 6 /* newInstrs */
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.unboxVar:(Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode$UnboxState;Ljava/lang/Class;Ljava/util/Map;Lorg/jruby/ir/operands/Variable;Ljava/util/List;)V
        end local 8 // org.jruby.ir.operands.Variable v
        97: .line 698
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 94
        98: .line 712
      StackMap locals: org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode java.util.Map org.jruby.ir.representations.CFG java.util.HashMap org.jruby.ir.dataflow.analyses.LiveVariablesProblem java.util.BitSet java.util.List int
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.basicBlock:Lorg/jruby/ir/representations/BasicBlock;
            aload 6 /* newInstrs */
            invokevirtual org.jruby.ir.representations.BasicBlock.replaceInstrs:(Ljava/util/List;)V
        99: .line 713
            return
        end local 7 // boolean unboxedLiveVars
        end local 6 // java.util.List newInstrs
        end local 5 // java.util.BitSet liveVarsSet
        end local 4 // org.jruby.ir.dataflow.analyses.LiveVariablesProblem lvp
        end local 3 // java.util.HashMap succUnboxedVars
        end local 2 // org.jruby.ir.representations.CFG cfg
        end local 1 // java.util.Map unboxMap
        end local 0 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0  100     0             this  Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode;
            0  100     1         unboxMap  Ljava/util/Map<Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/TemporaryLocalVariable;>;
            1  100     2              cfg  Lorg/jruby/ir/representations/CFG;
            2  100     3  succUnboxedVars  Ljava/util/HashMap<Lorg/jruby/ir/operands/Variable;Ljava/lang/Class;>;
            4   10     4                b  Lorg/jruby/ir/representations/BasicBlock;
            6   10     6            xVars  Ljava/util/Map<Lorg/jruby/ir/operands/Variable;Ljava/lang/Class;>;
            8    9     7               v2  Lorg/jruby/ir/operands/Variable;
           13   14     4               v3  Lorg/jruby/ir/operands/Variable;
           16  100     4              lvp  Lorg/jruby/ir/dataflow/analyses/LiveVariablesProblem;
           17  100     5      liveVarsSet  Ljava/util/BitSet;
           18  100     6        newInstrs  Ljava/util/List<Lorg/jruby/ir/instructions/Instr;>;
           19  100     7  unboxedLiveVars  Z
           22   91     8                i  Lorg/jruby/ir/instructions/Instr;
           23   91    10              dst  Lorg/jruby/ir/operands/Variable;
           24   91    11          dstType  Ljava/lang/Class;
           25   91    12  unboxedAndDirty  Z
           26   91    13     hitDFBarrier  Z
           29   31    14                v  Lorg/jruby/ir/operands/Variable;
           38   48    14              src  Lorg/jruby/ir/operands/Operand;
           39   48    15          srcType  Ljava/lang/Class;
           44   47    16       unboxedSrc  Lorg/jruby/ir/operands/Operand;
           45   47    17       unboxedDst  Lorg/jruby/ir/operands/TemporaryLocalVariable;
           51   86    14                o  Lorg/jruby/ir/operands/Operand;
           53   75    15                c  Lorg/jruby/ir/instructions/CallBase;
           54   75    16                m  Ljava/lang/String;
           55   75    17                r  Lorg/jruby/ir/operands/Operand;
           57   75    18                a  Lorg/jruby/ir/operands/Operand;
           58   75    19     receiverType  Ljava/lang/Class;
           59   75    20          argType  Ljava/lang/Class;
           60   75    21        unboxedOp  Lorg/jruby/ir/Operation;
           61   75    22      unboxedType  Ljava/lang/Class;
           69   72    23       unboxedDst  Lorg/jruby/ir/operands/TemporaryLocalVariable;
           79   84    15               cl  Lorg/jruby/ir/IRClosure;
           80   84    16       subProblem  Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisProblem;
           81   84    17         exitNode  Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode;
           95   97     8                v  Lorg/jruby/ir/operands/Variable;
    Signature: (Ljava/util/Map<Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/TemporaryLocalVariable;>;)V
    MethodParameters:
          Name  Flags
      unboxMap  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode this
         0: .line 717
            ldc ""
            areturn
        end local 0 // org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode;

  public void compute_MEET(org.jruby.dirgra.Edge, org.jruby.ir.dataflow.FlowGraphNode);
    descriptor: (Lorg/jruby/dirgra/Edge;Lorg/jruby/ir/dataflow/FlowGraphNode;)V
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            checkcast org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode
            invokevirtual org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.compute_MEET:(Lorg/jruby/dirgra/Edge;Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static int[] $SWITCH_TABLE$org$jruby$ir$operands$TemporaryVariableType();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 17
            getstatic org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.$SWITCH_TABLE$org$jruby$ir$operands$TemporaryVariableType:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.jruby.ir.operands.TemporaryVariableType.values:()[Lorg/jruby/ir/operands/TemporaryVariableType;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.jruby.ir.operands.TemporaryVariableType.BOOLEAN:Lorg/jruby/ir/operands/TemporaryVariableType;
            invokevirtual org.jruby.ir.operands.TemporaryVariableType.ordinal:()I
            iconst_2
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic org.jruby.ir.operands.TemporaryVariableType.CLOSURE:Lorg/jruby/ir/operands/TemporaryVariableType;
            invokevirtual org.jruby.ir.operands.TemporaryVariableType.ordinal:()I
            iconst_5
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.jruby.ir.operands.TemporaryVariableType.CURRENT_MODULE:Lorg/jruby/ir/operands/TemporaryVariableType;
            invokevirtual org.jruby.ir.operands.TemporaryVariableType.ordinal:()I
            bipush 6
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic org.jruby.ir.operands.TemporaryVariableType.CURRENT_SCOPE:Lorg/jruby/ir/operands/TemporaryVariableType;
            invokevirtual org.jruby.ir.operands.TemporaryVariableType.ordinal:()I
            bipush 7
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic org.jruby.ir.operands.TemporaryVariableType.FIXNUM:Lorg/jruby/ir/operands/TemporaryVariableType;
            invokevirtual org.jruby.ir.operands.TemporaryVariableType.ordinal:()I
            iconst_4
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic org.jruby.ir.operands.TemporaryVariableType.FLOAT:Lorg/jruby/ir/operands/TemporaryVariableType;
            invokevirtual org.jruby.ir.operands.TemporaryVariableType.ordinal:()I
            iconst_3
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic org.jruby.ir.operands.TemporaryVariableType.LOCAL:Lorg/jruby/ir/operands/TemporaryVariableType;
            invokevirtual org.jruby.ir.operands.TemporaryVariableType.ordinal:()I
            iconst_1
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            dup
            putstatic org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.$SWITCH_TABLE$org$jruby$ir$operands$TemporaryVariableType:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
}
Signature: Lorg/jruby/ir/dataflow/FlowGraphNode<Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisProblem;Lorg/jruby/ir/dataflow/analyses/UnboxableOpsAnalysisNode;>;
SourceFile: "UnboxableOpsAnalysisNode.java"
NestMembers:
  org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState
InnerClasses:
  private UnboxState = org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode$UnboxState of org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode