public class org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem extends org.jruby.ir.dataflow.DataFlowProblem<org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem, org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem
  super_class: org.jruby.ir.dataflow.DataFlowProblem
{
  public static final java.lang.String NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "Placement of local-var stores"

  private boolean scopeHasLocalVarStores;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean scopeHasUnrescuedExceptions;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 23
            ldc Lorg/jruby/ir/dataflow/analyses/StoreLocalVarPlacementProblem;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem.$assertionsDisabled:Z
         3: .line 24
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem this
         0: .line 30
            aload 0 /* this */
            getstatic org.jruby.ir.dataflow.DataFlowProblem$DF_Direction.FORWARD:Lorg/jruby/ir/dataflow/DataFlowProblem$DF_Direction;
            invokespecial org.jruby.ir.dataflow.DataFlowProblem.<init>:(Lorg/jruby/ir/dataflow/DataFlowProblem$DF_Direction;)V
         1: .line 31
            return
        end local 0 // org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/ir/dataflow/analyses/StoreLocalVarPlacementProblem;

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

  public org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode buildFlowGraphNode(org.jruby.ir.representations.BasicBlock);
    descriptor: (Lorg/jruby/ir/representations/BasicBlock;)Lorg/jruby/ir/dataflow/analyses/StoreLocalVarPlacementNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem this
        start local 1 // org.jruby.ir.representations.BasicBlock bb
         0: .line 40
            new org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode
            dup
            aload 0 /* this */
            aload 1 /* bb */
            invokespecial org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.<init>:(Lorg/jruby/ir/dataflow/analyses/StoreLocalVarPlacementProblem;Lorg/jruby/ir/representations/BasicBlock;)V
            areturn
        end local 1 // org.jruby.ir.representations.BasicBlock bb
        end local 0 // org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ir/dataflow/analyses/StoreLocalVarPlacementProblem;
            0    1     1    bb  Lorg/jruby/ir/representations/BasicBlock;
    MethodParameters:
      Name  Flags
      bb    

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

  public boolean scopeHasLocalVarStores();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem this
         0: .line 49
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem.scopeHasLocalVarStores:Z
            ireturn
        end local 0 // org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ir/dataflow/analyses/StoreLocalVarPlacementProblem;

  public boolean scopeHasUnrescuedExceptions();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem this
         0: .line 53
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem.scopeHasUnrescuedExceptions:Z
            ireturn
        end local 0 // org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ir/dataflow/analyses/StoreLocalVarPlacementProblem;

  org.jruby.ir.operands.TemporaryLocalVariable getLocalVarReplacement(org.jruby.ir.operands.LocalVariable, java.util.Map<org.jruby.ir.operands.Operand, org.jruby.ir.operands.Operand>);
    descriptor: (Lorg/jruby/ir/operands/LocalVariable;Ljava/util/Map;)Lorg/jruby/ir/operands/TemporaryLocalVariable;
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem this
        start local 1 // org.jruby.ir.operands.LocalVariable v
        start local 2 // java.util.Map varRenameMap
         0: .line 57
            aload 2 /* varRenameMap */
            aload 1 /* v */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.jruby.ir.operands.TemporaryLocalVariable
            astore 3 /* value */
        start local 3 // org.jruby.ir.operands.TemporaryLocalVariable value
         1: .line 58
            aload 3 /* value */
            ifnonnull 4
         2: .line 59
            aload 0 /* this */
            invokevirtual org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem.getScope:()Lorg/jruby/ir/IRScope;
            aload 1 /* v */
            invokevirtual org.jruby.ir.IRScope.getNewTemporaryVariableFor:(Lorg/jruby/ir/operands/LocalVariable;)Lorg/jruby/ir/operands/TemporaryLocalVariable;
            astore 3 /* value */
         3: .line 60
            aload 2 /* varRenameMap */
            aload 1 /* v */
            aload 3 /* value */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 62
      StackMap locals: org.jruby.ir.operands.TemporaryLocalVariable
      StackMap stack:
            aload 3 /* value */
            areturn
        end local 3 // org.jruby.ir.operands.TemporaryLocalVariable value
        end local 2 // java.util.Map varRenameMap
        end local 1 // org.jruby.ir.operands.LocalVariable v
        end local 0 // org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Lorg/jruby/ir/dataflow/analyses/StoreLocalVarPlacementProblem;
            0    5     1             v  Lorg/jruby/ir/operands/LocalVariable;
            0    5     2  varRenameMap  Ljava/util/Map<Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;>;
            1    5     3         value  Lorg/jruby/ir/operands/TemporaryLocalVariable;
    Signature: (Lorg/jruby/ir/operands/LocalVariable;Ljava/util/Map<Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;>;)Lorg/jruby/ir/operands/TemporaryLocalVariable;
    MethodParameters:
              Name  Flags
      v             
      varRenameMap  

  boolean addScopeExitStoreLocalVars(java.util.ListIterator<org.jruby.ir.instructions.Instr>, java.util.Set<org.jruby.ir.operands.LocalVariable>, java.util.Map<org.jruby.ir.operands.Operand, org.jruby.ir.operands.Operand>);
    descriptor: (Ljava/util/ListIterator;Ljava/util/Set;Ljava/util/Map;)Z
    flags: (0x0000) 
    Code:
      stack=7, locals=9, args_size=4
        start local 0 // org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem this
        start local 1 // java.util.ListIterator instrs
        start local 2 // java.util.Set dirtyVars
        start local 3 // java.util.Map varRenameMap
         0: .line 66
            aload 0 /* this */
            invokevirtual org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem.getScope:()Lorg/jruby/ir/IRScope;
            astore 4 /* scope */
        start local 4 // org.jruby.ir.IRScope scope
         1: .line 67
            iconst_0
            istore 5 /* addedStores */
        start local 5 // boolean addedStores
         2: .line 68
            aload 4 /* scope */
            instanceof org.jruby.ir.IREvalScript
            istore 6 /* isEvalScript */
        start local 6 // boolean isEvalScript
         3: .line 69
            aload 2 /* dirtyVars */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 8
            goto 8
      StackMap locals: org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem java.util.ListIterator java.util.Set java.util.Map org.jruby.ir.IRScope int int top java.util.Iterator
      StackMap stack:
         4: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.jruby.ir.operands.LocalVariable
            astore 7 /* v */
        start local 7 // org.jruby.ir.operands.LocalVariable v
         5: .line 70
            iload 6 /* isEvalScript */
            ifne 6
            aload 7 /* v */
            instanceof org.jruby.ir.operands.ClosureLocalVariable
            ifeq 6
            aload 7 /* v */
            checkcast org.jruby.ir.operands.ClosureLocalVariable
            invokevirtual org.jruby.ir.operands.ClosureLocalVariable.isOuterScopeVar:()Z
            ifeq 8
         6: .line 71
      StackMap locals: org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem java.util.ListIterator java.util.Set java.util.Map org.jruby.ir.IRScope int int org.jruby.ir.operands.LocalVariable java.util.Iterator
      StackMap stack:
            iconst_1
            istore 5 /* addedStores */
         7: .line 72
            aload 1 /* instrs */
            new org.jruby.ir.instructions.StoreLocalVarInstr
            dup
            aload 4 /* scope */
            aload 0 /* this */
            aload 7 /* v */
            aload 3 /* varRenameMap */
            invokevirtual org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem.getLocalVarReplacement:(Lorg/jruby/ir/operands/LocalVariable;Ljava/util/Map;)Lorg/jruby/ir/operands/TemporaryLocalVariable;
            aload 7 /* v */
            invokespecial org.jruby.ir.instructions.StoreLocalVarInstr.<init>:(Lorg/jruby/ir/IRScope;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/LocalVariable;)V
            invokeinterface java.util.ListIterator.add:(Ljava/lang/Object;)V
        end local 7 // org.jruby.ir.operands.LocalVariable v
         8: .line 69
      StackMap locals: org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem java.util.ListIterator java.util.Set java.util.Map org.jruby.ir.IRScope int int top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         9: .line 75
            iload 5 /* addedStores */
            ireturn
        end local 6 // boolean isEvalScript
        end local 5 // boolean addedStores
        end local 4 // org.jruby.ir.IRScope scope
        end local 3 // java.util.Map varRenameMap
        end local 2 // java.util.Set dirtyVars
        end local 1 // java.util.ListIterator instrs
        end local 0 // org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0          this  Lorg/jruby/ir/dataflow/analyses/StoreLocalVarPlacementProblem;
            0   10     1        instrs  Ljava/util/ListIterator<Lorg/jruby/ir/instructions/Instr;>;
            0   10     2     dirtyVars  Ljava/util/Set<Lorg/jruby/ir/operands/LocalVariable;>;
            0   10     3  varRenameMap  Ljava/util/Map<Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;>;
            1   10     4         scope  Lorg/jruby/ir/IRScope;
            2   10     5   addedStores  Z
            3   10     6  isEvalScript  Z
            5    8     7             v  Lorg/jruby/ir/operands/LocalVariable;
    Signature: (Ljava/util/ListIterator<Lorg/jruby/ir/instructions/Instr;>;Ljava/util/Set<Lorg/jruby/ir/operands/LocalVariable;>;Ljava/util/Map<Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;>;)Z
    MethodParameters:
              Name  Flags
      instrs        
      dirtyVars     
      varRenameMap  

  public void addStores(java.util.Map<org.jruby.ir.operands.Operand, org.jruby.ir.operands.Operand>);
    descriptor: (Ljava/util/Map;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=10, args_size=2
        start local 0 // org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem this
        start local 1 // java.util.Map varRenameMap
         0: .line 88
            iconst_0
            istore 2 /* mightRequireGlobalEnsureBlock */
        start local 2 // boolean mightRequireGlobalEnsureBlock
         1: .line 90
            aconst_null
            astore 3 /* dirtyVars */
        start local 3 // java.util.Set dirtyVars
         2: .line 91
            aload 0 /* this */
            invokevirtual org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem.getScope:()Lorg/jruby/ir/IRScope;
            astore 4 /* cfgScope */
        start local 4 // org.jruby.ir.IRScope cfgScope
         3: .line 92
            aload 4 /* cfgScope */
            invokevirtual org.jruby.ir.IRScope.getCFG:()Lorg/jruby/ir/representations/CFG;
            astore 5 /* cfg */
        start local 5 // org.jruby.ir.representations.CFG cfg
         4: .line 94
            aload 0 /* this */
            iconst_0
            putfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem.scopeHasLocalVarStores:Z
         5: .line 95
            aload 0 /* this */
            iconst_0
            putfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem.scopeHasUnrescuedExceptions:Z
         6: .line 97
            aload 4 /* cfgScope */
            instanceof org.jruby.ir.IRClosure
            ifeq 9
         7: .line 98
            iconst_1
            istore 2 /* mightRequireGlobalEnsureBlock */
         8: .line 99
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 3 /* dirtyVars */
         9: .line 103
      StackMap locals: org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem java.util.Map int java.util.Set org.jruby.ir.IRScope org.jruby.ir.representations.CFG
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem.flowGraphNodes:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 24
      StackMap locals: org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem java.util.Map int java.util.Set org.jruby.ir.IRScope org.jruby.ir.representations.CFG top java.util.Iterator
      StackMap stack:
        10: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode
            astore 6 /* bspn */
        start local 6 // org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode bspn
        11: .line 108
            aload 6 /* bspn */
            invokevirtual org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.hasExceptionsRescued:()Z
            ifeq 12
            iconst_0
            goto 13
      StackMap locals: org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem java.util.Map int java.util.Set org.jruby.ir.IRScope org.jruby.ir.representations.CFG org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode java.util.Iterator
      StackMap stack:
        12: iconst_1
      StackMap locals:
      StackMap stack: int
        13: istore 9 /* bbHasUnrescuedExceptions */
        start local 9 // boolean bbHasUnrescuedExceptions
        14: .line 109
            iload 2 /* mightRequireGlobalEnsureBlock */
            ifeq 17
            iload 9 /* bbHasUnrescuedExceptions */
            ifeq 17
        15: .line 110
            aload 6 /* bspn */
            aload 1 /* varRenameMap */
            aload 3 /* dirtyVars */
            invokevirtual org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.addStores:(Ljava/util/Map;Ljava/util/Set;)Z
            istore 8 /* bbAddedStores */
        start local 8 // boolean bbAddedStores
        16: .line 111
            goto 18
        end local 8 // boolean bbAddedStores
        17: .line 112
      StackMap locals: org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem java.util.Map int java.util.Set org.jruby.ir.IRScope org.jruby.ir.representations.CFG org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode java.util.Iterator top int
      StackMap stack:
            aload 6 /* bspn */
            aload 1 /* varRenameMap */
            aconst_null
            invokevirtual org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.addStores:(Ljava/util/Map;Ljava/util/Set;)Z
            istore 8 /* bbAddedStores */
        start local 8 // boolean bbAddedStores
        18: .line 115
      StackMap locals: org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem java.util.Map int java.util.Set org.jruby.ir.IRScope org.jruby.ir.representations.CFG org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode java.util.Iterator int int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem.scopeHasUnrescuedExceptions:Z
            ifne 19
            iload 9 /* bbHasUnrescuedExceptions */
            ifne 19
            iconst_0
            goto 20
      StackMap locals:
      StackMap stack: org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem
        19: iconst_1
      StackMap locals: org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem java.util.Map int java.util.Set org.jruby.ir.IRScope org.jruby.ir.representations.CFG org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode java.util.Iterator int int
      StackMap stack: org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem int
        20: putfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem.scopeHasUnrescuedExceptions:Z
        21: .line 116
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem.scopeHasLocalVarStores:Z
            ifne 22
            iload 8 /* bbAddedStores */
            ifne 22
            iconst_0
            goto 23
      StackMap locals:
      StackMap stack: org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem
        22: iconst_1
      StackMap locals: org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem java.util.Map int java.util.Set org.jruby.ir.IRScope org.jruby.ir.representations.CFG org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode java.util.Iterator int int
      StackMap stack: org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem int
        23: putfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem.scopeHasLocalVarStores:Z
        end local 9 // boolean bbHasUnrescuedExceptions
        end local 8 // boolean bbAddedStores
        end local 6 // org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode bspn
        24: .line 103
      StackMap locals: org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem java.util.Map int java.util.Set org.jruby.ir.IRScope org.jruby.ir.representations.CFG top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        25: .line 120
            iload 2 /* mightRequireGlobalEnsureBlock */
            ifeq 37
            aload 3 /* dirtyVars */
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 37
        26: .line 122
            aload 5 /* cfg */
            invokevirtual org.jruby.ir.representations.CFG.getGlobalEnsureBB:()Lorg/jruby/ir/representations/BasicBlock;
            astore 7 /* geb */
        start local 7 // org.jruby.ir.representations.BasicBlock geb
        27: .line 123
            aload 7 /* geb */
            ifnonnull 33
        28: .line 124
            aload 4 /* cfgScope */
            invokevirtual org.jruby.ir.IRScope.createTemporaryVariable:()Lorg/jruby/ir/operands/TemporaryLocalVariable;
            astore 8 /* exc */
        start local 8 // org.jruby.ir.operands.Variable exc
        29: .line 125
            new org.jruby.ir.representations.BasicBlock
            dup
            aload 5 /* cfg */
            invokestatic org.jruby.ir.operands.Label.getGlobalEnsureBlockLabel:()Lorg/jruby/ir/operands/Label;
            invokespecial org.jruby.ir.representations.BasicBlock.<init>:(Lorg/jruby/ir/representations/CFG;Lorg/jruby/ir/operands/Label;)V
            astore 7 /* geb */
        30: .line 126
            aload 7 /* geb */
            new org.jruby.ir.instructions.ReceiveJRubyExceptionInstr
            dup
            aload 8 /* exc */
            invokespecial org.jruby.ir.instructions.ReceiveJRubyExceptionInstr.<init>:(Lorg/jruby/ir/operands/Variable;)V
            invokevirtual org.jruby.ir.representations.BasicBlock.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
        31: .line 127
            aload 7 /* geb */
            new org.jruby.ir.instructions.ThrowExceptionInstr
            dup
            aload 8 /* exc */
            invokespecial org.jruby.ir.instructions.ThrowExceptionInstr.<init>:(Lorg/jruby/ir/operands/Operand;)V
            invokevirtual org.jruby.ir.representations.BasicBlock.addInstr:(Lorg/jruby/ir/instructions/Instr;)V
        32: .line 128
            aload 5 /* cfg */
            aload 7 /* geb */
            invokevirtual org.jruby.ir.representations.CFG.addGlobalEnsureBB:(Lorg/jruby/ir/representations/BasicBlock;)V
        end local 8 // org.jruby.ir.operands.Variable exc
        33: .line 131
      StackMap locals: org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem java.util.Map int java.util.Set org.jruby.ir.IRScope org.jruby.ir.representations.CFG top org.jruby.ir.representations.BasicBlock
      StackMap stack:
            aload 7 /* geb */
            invokevirtual org.jruby.ir.representations.BasicBlock.getInstrs:()Ljava/util/List;
            aload 7 /* geb */
            invokevirtual org.jruby.ir.representations.BasicBlock.getInstrs:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            invokeinterface java.util.List.listIterator:(I)Ljava/util/ListIterator;
            astore 6 /* instrs */
        start local 6 // java.util.ListIterator instrs
        34: .line 132
            aload 6 /* instrs */
            invokeinterface java.util.ListIterator.previous:()Ljava/lang/Object;
            checkcast org.jruby.ir.instructions.Instr
            astore 8 /* i */
        start local 8 // org.jruby.ir.instructions.Instr i
        35: .line 134
            getstatic org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem.$assertionsDisabled:Z
            ifne 36
            aload 8 /* i */
            invokevirtual org.jruby.ir.instructions.Instr.getOperation:()Lorg/jruby/ir/Operation;
            invokevirtual org.jruby.ir.Operation.transfersControl:()Z
            ifne 36
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Last instruction of GEB in scope: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem.getScope:()Lorg/jruby/ir/IRScope;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " is "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 8 /* i */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ", not a control-xfer instruction"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        36: .line 135
      StackMap locals: org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem java.util.Map int java.util.Set org.jruby.ir.IRScope org.jruby.ir.representations.CFG java.util.ListIterator org.jruby.ir.representations.BasicBlock org.jruby.ir.instructions.Instr
      StackMap stack:
            aload 0 /* this */
            aload 6 /* instrs */
            aload 3 /* dirtyVars */
            aload 1 /* varRenameMap */
            invokevirtual org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem.addScopeExitStoreLocalVars:(Ljava/util/ListIterator;Ljava/util/Set;Ljava/util/Map;)Z
            pop
        end local 8 // org.jruby.ir.instructions.Instr i
        end local 7 // org.jruby.ir.representations.BasicBlock geb
        end local 6 // java.util.ListIterator instrs
        37: .line 137
      StackMap locals:
      StackMap stack:
            return
        end local 5 // org.jruby.ir.representations.CFG cfg
        end local 4 // org.jruby.ir.IRScope cfgScope
        end local 3 // java.util.Set dirtyVars
        end local 2 // boolean mightRequireGlobalEnsureBlock
        end local 1 // java.util.Map varRenameMap
        end local 0 // org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem this
      LocalVariableTable:
        Start  End  Slot                           Name  Signature
            0   38     0                           this  Lorg/jruby/ir/dataflow/analyses/StoreLocalVarPlacementProblem;
            0   38     1                   varRenameMap  Ljava/util/Map<Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;>;
            1   38     2  mightRequireGlobalEnsureBlock  Z
            2   38     3                      dirtyVars  Ljava/util/Set<Lorg/jruby/ir/operands/LocalVariable;>;
            3   38     4                       cfgScope  Lorg/jruby/ir/IRScope;
            4   38     5                            cfg  Lorg/jruby/ir/representations/CFG;
           11   24     6                           bspn  Lorg/jruby/ir/dataflow/analyses/StoreLocalVarPlacementNode;
           16   17     8                  bbAddedStores  Z
           18   24     8                  bbAddedStores  Z
           14   24     9       bbHasUnrescuedExceptions  Z
           34   37     6                         instrs  Ljava/util/ListIterator<Lorg/jruby/ir/instructions/Instr;>;
           27   37     7                            geb  Lorg/jruby/ir/representations/BasicBlock;
           29   33     8                            exc  Lorg/jruby/ir/operands/Variable;
           35   37     8                              i  Lorg/jruby/ir/instructions/Instr;
    Signature: (Ljava/util/Map<Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;>;)V
    MethodParameters:
              Name  Flags
      varRenameMap  

  public org.jruby.ir.dataflow.FlowGraphNode buildFlowGraphNode(org.jruby.ir.representations.BasicBlock);
    descriptor: (Lorg/jruby/ir/representations/BasicBlock;)Lorg/jruby/ir/dataflow/FlowGraphNode;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem.buildFlowGraphNode:(Lorg/jruby/ir/representations/BasicBlock;)Lorg/jruby/ir/dataflow/analyses/StoreLocalVarPlacementNode;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Lorg/jruby/ir/dataflow/DataFlowProblem<Lorg/jruby/ir/dataflow/analyses/StoreLocalVarPlacementProblem;Lorg/jruby/ir/dataflow/analyses/StoreLocalVarPlacementNode;>;
SourceFile: "StoreLocalVarPlacementProblem.java"
InnerClasses:
  public final DF_Direction = org.jruby.ir.dataflow.DataFlowProblem$DF_Direction of org.jruby.ir.dataflow.DataFlowProblem