public class org.jruby.ir.interpreter.FullInterpreterContext extends org.jruby.ir.interpreter.InterpreterContext
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jruby.ir.interpreter.FullInterpreterContext
  super_class: org.jruby.ir.interpreter.InterpreterContext
{
  private org.jruby.ir.representations.CFG cfg;
    descriptor: Lorg/jruby/ir/representations/CFG;
    flags: (0x0002) ACC_PRIVATE

  private org.jruby.ir.representations.BasicBlock[] linearizedBBList;
    descriptor: [Lorg/jruby/ir/representations/BasicBlock;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Map<java.lang.String, org.jruby.ir.dataflow.DataFlowProblem> dataFlowProblems;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/jruby/ir/dataflow/DataFlowProblem;>;

  private java.util.List<org.jruby.ir.passes.CompilerPass> executedPasses;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Lorg/jruby/ir/passes/CompilerPass;>;

  private java.util.Set<org.jruby.ir.operands.LocalVariable> definedLocalVars;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Lorg/jruby/ir/operands/LocalVariable;>;

  private java.util.Set<org.jruby.ir.operands.LocalVariable> usedLocalVars;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Lorg/jruby/ir/operands/LocalVariable;>;

  public int floatVariableIndex;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public int fixnumVariableIndex;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public int booleanVariableIndex;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

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

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

  public void <init>(org.jruby.ir.IRScope, org.jruby.ir.representations.CFG, org.jruby.ir.representations.BasicBlock[], int, java.util.EnumSet<org.jruby.ir.IRFlags>);
    descriptor: (Lorg/jruby/ir/IRScope;Lorg/jruby/ir/representations/CFG;[Lorg/jruby/ir/representations/BasicBlock;ILjava/util/EnumSet;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // org.jruby.ir.interpreter.FullInterpreterContext this
        start local 1 // org.jruby.ir.IRScope scope
        start local 2 // org.jruby.ir.representations.CFG cfg
        start local 3 // org.jruby.ir.representations.BasicBlock[] linearizedBBList
        start local 4 // int temporaryVariableCount
        start local 5 // java.util.EnumSet flags
         0: .line 70
            aload 0 /* this */
            aload 1 /* scope */
            aconst_null
            iload 4 /* temporaryVariableCount */
            aload 5 /* flags */
            invokespecial org.jruby.ir.interpreter.InterpreterContext.<init>:(Lorg/jruby/ir/IRScope;Ljava/util/List;ILjava/util/EnumSet;)V
         1: .line 48
            aload 0 /* this */
            aconst_null
            putfield org.jruby.ir.interpreter.FullInterpreterContext.linearizedBBList:[Lorg/jruby/ir/representations/BasicBlock;
         2: .line 54
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.jruby.ir.interpreter.FullInterpreterContext.executedPasses:Ljava/util/List;
         3: .line 64
            aload 0 /* this */
            iconst_m1
            putfield org.jruby.ir.interpreter.FullInterpreterContext.floatVariableIndex:I
         4: .line 65
            aload 0 /* this */
            iconst_m1
            putfield org.jruby.ir.interpreter.FullInterpreterContext.fixnumVariableIndex:I
         5: .line 66
            aload 0 /* this */
            iconst_m1
            putfield org.jruby.ir.interpreter.FullInterpreterContext.booleanVariableIndex:I
         6: .line 72
            aload 0 /* this */
            aload 2 /* cfg */
            putfield org.jruby.ir.interpreter.FullInterpreterContext.cfg:Lorg/jruby/ir/representations/CFG;
         7: .line 73
            aload 0 /* this */
            aload 3 /* linearizedBBList */
            putfield org.jruby.ir.interpreter.FullInterpreterContext.linearizedBBList:[Lorg/jruby/ir/representations/BasicBlock;
         8: .line 74
            return
        end local 5 // java.util.EnumSet flags
        end local 4 // int temporaryVariableCount
        end local 3 // org.jruby.ir.representations.BasicBlock[] linearizedBBList
        end local 2 // org.jruby.ir.representations.CFG cfg
        end local 1 // org.jruby.ir.IRScope scope
        end local 0 // org.jruby.ir.interpreter.FullInterpreterContext this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    9     0                    this  Lorg/jruby/ir/interpreter/FullInterpreterContext;
            0    9     1                   scope  Lorg/jruby/ir/IRScope;
            0    9     2                     cfg  Lorg/jruby/ir/representations/CFG;
            0    9     3        linearizedBBList  [Lorg/jruby/ir/representations/BasicBlock;
            0    9     4  temporaryVariableCount  I
            0    9     5                   flags  Ljava/util/EnumSet<Lorg/jruby/ir/IRFlags;>;
    Signature: (Lorg/jruby/ir/IRScope;Lorg/jruby/ir/representations/CFG;[Lorg/jruby/ir/representations/BasicBlock;ILjava/util/EnumSet<Lorg/jruby/ir/IRFlags;>;)V
    MethodParameters:
                        Name  Flags
      scope                   
      cfg                     
      linearizedBBList        
      temporaryVariableCount  
      flags                   

  public void <init>(org.jruby.ir.IRScope, org.jruby.ir.instructions.Instr[], int, java.util.EnumSet<org.jruby.ir.IRFlags>);
    descriptor: (Lorg/jruby/ir/IRScope;[Lorg/jruby/ir/instructions/Instr;ILjava/util/EnumSet;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.jruby.ir.interpreter.FullInterpreterContext this
        start local 1 // org.jruby.ir.IRScope scope
        start local 2 // org.jruby.ir.instructions.Instr[] instructions
        start local 3 // int temporaryVariableCount
        start local 4 // java.util.EnumSet flags
         0: .line 78
            aload 0 /* this */
            aload 1 /* scope */
            aconst_null
            iload 3 /* temporaryVariableCount */
            aload 4 /* flags */
            invokespecial org.jruby.ir.interpreter.InterpreterContext.<init>:(Lorg/jruby/ir/IRScope;Ljava/util/List;ILjava/util/EnumSet;)V
         1: .line 48
            aload 0 /* this */
            aconst_null
            putfield org.jruby.ir.interpreter.FullInterpreterContext.linearizedBBList:[Lorg/jruby/ir/representations/BasicBlock;
         2: .line 54
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.jruby.ir.interpreter.FullInterpreterContext.executedPasses:Ljava/util/List;
         3: .line 64
            aload 0 /* this */
            iconst_m1
            putfield org.jruby.ir.interpreter.FullInterpreterContext.floatVariableIndex:I
         4: .line 65
            aload 0 /* this */
            iconst_m1
            putfield org.jruby.ir.interpreter.FullInterpreterContext.fixnumVariableIndex:I
         5: .line 66
            aload 0 /* this */
            iconst_m1
            putfield org.jruby.ir.interpreter.FullInterpreterContext.booleanVariableIndex:I
         6: .line 80
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* instructions */
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.buildCFG:([Lorg/jruby/ir/instructions/Instr;)Lorg/jruby/ir/representations/CFG;
            putfield org.jruby.ir.interpreter.FullInterpreterContext.cfg:Lorg/jruby/ir/representations/CFG;
         7: .line 81
            return
        end local 4 // java.util.EnumSet flags
        end local 3 // int temporaryVariableCount
        end local 2 // org.jruby.ir.instructions.Instr[] instructions
        end local 1 // org.jruby.ir.IRScope scope
        end local 0 // org.jruby.ir.interpreter.FullInterpreterContext this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    8     0                    this  Lorg/jruby/ir/interpreter/FullInterpreterContext;
            0    8     1                   scope  Lorg/jruby/ir/IRScope;
            0    8     2            instructions  [Lorg/jruby/ir/instructions/Instr;
            0    8     3  temporaryVariableCount  I
            0    8     4                   flags  Ljava/util/EnumSet<Lorg/jruby/ir/IRFlags;>;
    Signature: (Lorg/jruby/ir/IRScope;[Lorg/jruby/ir/instructions/Instr;ILjava/util/EnumSet<Lorg/jruby/ir/IRFlags;>;)V
    MethodParameters:
                        Name  Flags
      scope                   
      instructions            
      temporaryVariableCount  
      flags                   

  public org.jruby.ir.representations.BasicBlock[] linearizeBasicBlocks();
    descriptor: ()[Lorg/jruby/ir/representations/BasicBlock;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.ir.interpreter.FullInterpreterContext this
         0: .line 84
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.ir.interpreter.FullInterpreterContext.cfg:Lorg/jruby/ir/representations/CFG;
            invokestatic org.jruby.ir.representations.CFGLinearizer.linearize:(Lorg/jruby/ir/representations/CFG;)[Lorg/jruby/ir/representations/BasicBlock;
            putfield org.jruby.ir.interpreter.FullInterpreterContext.linearizedBBList:[Lorg/jruby/ir/representations/BasicBlock;
         1: .line 85
            aload 0 /* this */
            getfield org.jruby.ir.interpreter.FullInterpreterContext.linearizedBBList:[Lorg/jruby/ir/representations/BasicBlock;
            areturn
        end local 0 // org.jruby.ir.interpreter.FullInterpreterContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/ir/interpreter/FullInterpreterContext;

  private org.jruby.ir.representations.CFG buildCFG(org.jruby.ir.instructions.Instr[]);
    descriptor: ([Lorg/jruby/ir/instructions/Instr;)Lorg/jruby/ir/representations/CFG;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.jruby.ir.interpreter.FullInterpreterContext this
        start local 1 // org.jruby.ir.instructions.Instr[] instructions
         0: .line 89
            new org.jruby.ir.representations.CFG
            dup
            aload 0 /* this */
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getScope:()Lorg/jruby/ir/IRScope;
            invokespecial org.jruby.ir.representations.CFG.<init>:(Lorg/jruby/ir/IRScope;)V
            astore 2 /* newCFG */
        start local 2 // org.jruby.ir.representations.CFG newCFG
         1: .line 91
            aload 2 /* newCFG */
            aload 1 /* instructions */
            invokevirtual org.jruby.ir.representations.CFG.build:([Lorg/jruby/ir/instructions/Instr;)Lorg/jruby/dirgra/DirectedGraph;
            pop
         2: .line 93
            aload 2 /* newCFG */
            areturn
        end local 2 // org.jruby.ir.representations.CFG newCFG
        end local 1 // org.jruby.ir.instructions.Instr[] instructions
        end local 0 // org.jruby.ir.interpreter.FullInterpreterContext this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lorg/jruby/ir/interpreter/FullInterpreterContext;
            0    3     1  instructions  [Lorg/jruby/ir/instructions/Instr;
            1    3     2        newCFG  Lorg/jruby/ir/representations/CFG;
    MethodParameters:
              Name  Flags
      instructions  

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

  public boolean needsBinding();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.ir.interpreter.FullInterpreterContext this
         0: .line 102
            aload 0 /* this */
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.reuseParentDynScope:()Z
            ifne 1
            aload 0 /* this */
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.isDynamicScopeEliminated:()Z
            ifeq 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // org.jruby.ir.interpreter.FullInterpreterContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/ir/interpreter/FullInterpreterContext;

  public void generateInstructionsForInterpretation();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=11, args_size=1
        start local 0 // org.jruby.ir.interpreter.FullInterpreterContext this
         0: .line 107
            aload 0 /* this */
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.linearizeBasicBlocks:()[Lorg/jruby/ir/representations/BasicBlock;
            pop
         1: .line 110
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* newInstrs */
        start local 1 // java.util.List newInstrs
         2: .line 111
            iconst_0
            istore 2 /* ipc */
        start local 2 // int ipc
         3: .line 112
            aload 0 /* this */
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getLinearizedBBList:()[Lorg/jruby/ir/representations/BasicBlock;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 18
      StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext java.util.List int top int int org.jruby.ir.representations.BasicBlock[]
      StackMap stack:
         4: aload 6
            iload 4
            aaload
            astore 3 /* b */
        start local 3 // org.jruby.ir.representations.BasicBlock b
         5: .line 115
            aload 3 /* b */
            invokevirtual org.jruby.ir.representations.BasicBlock.getLabel:()Lorg/jruby/ir/operands/Label;
            iload 2 /* ipc */
            invokevirtual org.jruby.ir.operands.Label.setTargetPC:(I)V
         6: .line 117
            aload 3 /* b */
            invokevirtual org.jruby.ir.representations.BasicBlock.getInstrs:()Ljava/util/List;
            astore 7 /* bbInstrs */
        start local 7 // java.util.List bbInstrs
         7: .line 118
            aload 7 /* bbInstrs */
            invokeinterface java.util.List.size:()I
            istore 8 /* bbInstrsLength */
        start local 8 // int bbInstrsLength
         8: .line 120
            iconst_0
            istore 9 /* i */
        start local 9 // int i
         9: goto 16
        10: .line 121
      StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext java.util.List int org.jruby.ir.representations.BasicBlock int int org.jruby.ir.representations.BasicBlock[] java.util.List int int
      StackMap stack:
            aload 7 /* bbInstrs */
            iload 9 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.jruby.ir.instructions.Instr
            astore 10 /* instr */
        start local 10 // org.jruby.ir.instructions.Instr instr
        11: .line 122
            aload 10 /* instr */
            instanceof org.jruby.ir.instructions.ReceiveSelfInstr
            ifne 15
        12: .line 123
            aload 10 /* instr */
            instanceof org.jruby.ir.instructions.LabelInstr
            ifeq 13
            aload 10 /* instr */
            checkcast org.jruby.ir.instructions.LabelInstr
            invokevirtual org.jruby.ir.instructions.LabelInstr.getLabel:()Lorg/jruby/ir/operands/Label;
            iload 2 /* ipc */
            invokevirtual org.jruby.ir.operands.Label.setTargetPC:(I)V
        13: .line 124
      StackMap locals: org.jruby.ir.instructions.Instr
      StackMap stack:
            aload 1 /* newInstrs */
            aload 10 /* instr */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        14: .line 125
            iinc 2 /* ipc */ 1
        end local 10 // org.jruby.ir.instructions.Instr instr
        15: .line 120
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 9 /* i */
            iload 8 /* bbInstrsLength */
            if_icmplt 10
        end local 9 // int i
        end local 8 // int bbInstrsLength
        end local 7 // java.util.List bbInstrs
        end local 3 // org.jruby.ir.representations.BasicBlock b
        17: .line 112
            iinc 4 1
      StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext java.util.List int top int int org.jruby.ir.representations.BasicBlock[]
      StackMap stack:
        18: iload 4
            iload 5
            if_icmplt 4
        19: .line 130
            aload 0 /* this */
            getfield org.jruby.ir.interpreter.FullInterpreterContext.cfg:Lorg/jruby/ir/representations/CFG;
            invokevirtual org.jruby.ir.representations.CFG.getExitBB:()Lorg/jruby/ir/representations/BasicBlock;
            invokevirtual org.jruby.ir.representations.BasicBlock.getLabel:()Lorg/jruby/ir/operands/Label;
            iload 2 /* ipc */
            iconst_1
            iadd
            invokevirtual org.jruby.ir.operands.Label.setTargetPC:(I)V
        20: .line 132
            aload 1 /* newInstrs */
            aload 1 /* newInstrs */
            invokeinterface java.util.List.size:()I
            anewarray org.jruby.ir.instructions.Instr
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.jruby.ir.instructions.Instr[]
            astore 3 /* linearizedInstrArray */
        start local 3 // org.jruby.ir.instructions.Instr[] linearizedInstrArray
        21: .line 134
            aload 0 /* this */
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getLinearizedBBList:()[Lorg/jruby/ir/representations/BasicBlock;
            astore 4 /* basicBlocks */
        start local 4 // org.jruby.ir.representations.BasicBlock[] basicBlocks
        22: .line 135
            aload 0 /* this */
            iconst_2
            aload 4 /* basicBlocks */
            arraylength
            imul
            newarray 10
            putfield org.jruby.ir.interpreter.FullInterpreterContext.rescueIPCs:[I
        23: .line 138
            iconst_0
            istore 2 /* ipc */
        24: .line 139
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        25: goto 41
        26: .line 140
      StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext java.util.List int org.jruby.ir.instructions.Instr[] org.jruby.ir.representations.BasicBlock[] int
      StackMap stack:
            aload 4 /* basicBlocks */
            iload 5 /* i */
            aaload
            astore 6 /* bb */
        start local 6 // org.jruby.ir.representations.BasicBlock bb
        27: .line 141
            aload 0 /* this */
            getfield org.jruby.ir.interpreter.FullInterpreterContext.cfg:Lorg/jruby/ir/representations/CFG;
            aload 6 /* bb */
            invokevirtual org.jruby.ir.representations.CFG.getRescuerBBFor:(Lorg/jruby/ir/representations/BasicBlock;)Lorg/jruby/ir/representations/BasicBlock;
            astore 7 /* rescuerBB */
        start local 7 // org.jruby.ir.representations.BasicBlock rescuerBB
        28: .line 142
            aload 7 /* rescuerBB */
            ifnonnull 29
            iconst_m1
            goto 30
      StackMap locals: org.jruby.ir.representations.BasicBlock org.jruby.ir.representations.BasicBlock
      StackMap stack:
        29: aload 7 /* rescuerBB */
            invokevirtual org.jruby.ir.representations.BasicBlock.getLabel:()Lorg/jruby/ir/operands/Label;
            invokevirtual org.jruby.ir.operands.Label.getTargetPC:()I
      StackMap locals:
      StackMap stack: int
        30: istore 8 /* rescuerPC */
        start local 8 // int rescuerPC
        31: .line 143
            aload 0 /* this */
            getfield org.jruby.ir.interpreter.FullInterpreterContext.rescueIPCs:[I
            iload 5 /* i */
            iconst_2
            imul
            iload 2 /* ipc */
            aload 6 /* bb */
            invokevirtual org.jruby.ir.representations.BasicBlock.getInstrs:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iadd
            iastore
        32: .line 144
            aload 0 /* this */
            getfield org.jruby.ir.interpreter.FullInterpreterContext.rescueIPCs:[I
            iload 5 /* i */
            iconst_2
            imul
            iconst_1
            iadd
            iload 8 /* rescuerPC */
            iastore
        33: .line 146
            aload 6 /* bb */
            invokevirtual org.jruby.ir.representations.BasicBlock.getInstrs:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 39
      StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext java.util.List int org.jruby.ir.instructions.Instr[] org.jruby.ir.representations.BasicBlock[] int org.jruby.ir.representations.BasicBlock org.jruby.ir.representations.BasicBlock int top java.util.Iterator
      StackMap stack:
        34: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.jruby.ir.instructions.Instr
            astore 9 /* instr */
        start local 9 // org.jruby.ir.instructions.Instr instr
        35: .line 149
            aload 9 /* instr */
            instanceof org.jruby.ir.instructions.ReceiveSelfInstr
            ifne 38
        36: .line 150
            iinc 2 /* ipc */ 1
        37: .line 151
            goto 39
        38: .line 152
      StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext java.util.List int org.jruby.ir.instructions.Instr[] org.jruby.ir.representations.BasicBlock[] int org.jruby.ir.representations.BasicBlock org.jruby.ir.representations.BasicBlock int org.jruby.ir.instructions.Instr java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.ir.interpreter.FullInterpreterContext.rescueIPCs:[I
            iload 5 /* i */
            iconst_2
            imul
            dup2
            iaload
            iconst_1
            isub
            iastore
        end local 9 // org.jruby.ir.instructions.Instr instr
        39: .line 146
      StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext java.util.List int org.jruby.ir.instructions.Instr[] org.jruby.ir.representations.BasicBlock[] int org.jruby.ir.representations.BasicBlock org.jruby.ir.representations.BasicBlock int top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 34
        end local 8 // int rescuerPC
        end local 7 // org.jruby.ir.representations.BasicBlock rescuerBB
        end local 6 // org.jruby.ir.representations.BasicBlock bb
        40: .line 139
            iinc 5 /* i */ 1
      StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext java.util.List int org.jruby.ir.instructions.Instr[] org.jruby.ir.representations.BasicBlock[] int
      StackMap stack:
        41: iload 5 /* i */
            aload 4 /* basicBlocks */
            arraylength
            if_icmplt 26
        end local 5 // int i
        42: .line 157
            aload 0 /* this */
            aload 3 /* linearizedInstrArray */
            putfield org.jruby.ir.interpreter.FullInterpreterContext.instructions:[Lorg/jruby/ir/instructions/Instr;
        43: .line 161
            return
        end local 4 // org.jruby.ir.representations.BasicBlock[] basicBlocks
        end local 3 // org.jruby.ir.instructions.Instr[] linearizedInstrArray
        end local 2 // int ipc
        end local 1 // java.util.List newInstrs
        end local 0 // org.jruby.ir.interpreter.FullInterpreterContext this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   44     0                  this  Lorg/jruby/ir/interpreter/FullInterpreterContext;
            2   44     1             newInstrs  Ljava/util/List<Lorg/jruby/ir/instructions/Instr;>;
            3   44     2                   ipc  I
            5   17     3                     b  Lorg/jruby/ir/representations/BasicBlock;
            7   17     7              bbInstrs  Ljava/util/List<Lorg/jruby/ir/instructions/Instr;>;
            8   17     8        bbInstrsLength  I
            9   17     9                     i  I
           11   15    10                 instr  Lorg/jruby/ir/instructions/Instr;
           21   44     3  linearizedInstrArray  [Lorg/jruby/ir/instructions/Instr;
           22   44     4           basicBlocks  [Lorg/jruby/ir/representations/BasicBlock;
           25   42     5                     i  I
           27   40     6                    bb  Lorg/jruby/ir/representations/BasicBlock;
           28   40     7             rescuerBB  Lorg/jruby/ir/representations/BasicBlock;
           31   40     8             rescuerPC  I
           35   39     9                 instr  Lorg/jruby/ir/instructions/Instr;

  public org.jruby.ir.representations.CFG getCFG();
    descriptor: ()Lorg/jruby/ir/representations/CFG;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.ir.interpreter.FullInterpreterContext this
         0: .line 165
            aload 0 /* this */
            getfield org.jruby.ir.interpreter.FullInterpreterContext.cfg:Lorg/jruby/ir/representations/CFG;
            areturn
        end local 0 // org.jruby.ir.interpreter.FullInterpreterContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ir/interpreter/FullInterpreterContext;

  public void computeScopeFlagsFromInstructions();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // org.jruby.ir.interpreter.FullInterpreterContext this
         0: .line 170
            aload 0 /* this */
            getfield org.jruby.ir.interpreter.FullInterpreterContext.cfg:Lorg/jruby/ir/representations/CFG;
            invokevirtual org.jruby.ir.representations.CFG.getBasicBlocks:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2
            goto 6
      StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.jruby.ir.representations.BasicBlock
            astore 1 /* b */
        start local 1 // org.jruby.ir.representations.BasicBlock b
         2: .line 171
            aload 1 /* b */
            invokevirtual org.jruby.ir.representations.BasicBlock.getInstrs:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 5
      StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext org.jruby.ir.representations.BasicBlock java.util.Iterator top java.util.Iterator
      StackMap stack:
         3: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.jruby.ir.instructions.Instr
            astore 3 /* i */
        start local 3 // org.jruby.ir.instructions.Instr i
         4: .line 172
            aload 3 /* i */
            aload 0 /* this */
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getScope:()Lorg/jruby/ir/IRScope;
            aload 0 /* this */
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getFlags:()Ljava/util/EnumSet;
            invokevirtual org.jruby.ir.instructions.Instr.computeScopeFlags:(Lorg/jruby/ir/IRScope;Ljava/util/EnumSet;)Z
            pop
        end local 3 // org.jruby.ir.instructions.Instr i
         5: .line 171
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        end local 1 // org.jruby.ir.representations.BasicBlock b
         6: .line 170
      StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext top java.util.Iterator
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         7: .line 175
            return
        end local 0 // org.jruby.ir.interpreter.FullInterpreterContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/jruby/ir/interpreter/FullInterpreterContext;
            2    6     1     b  Lorg/jruby/ir/representations/BasicBlock;
            4    5     3     i  Lorg/jruby/ir/instructions/Instr;

  public java.util.Map<java.lang.String, org.jruby.ir.dataflow.DataFlowProblem> getDataFlowProblems();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.jruby.ir.interpreter.FullInterpreterContext this
         0: .line 178
            aload 0 /* this */
            getfield org.jruby.ir.interpreter.FullInterpreterContext.dataFlowProblems:Ljava/util/Map;
            ifnonnull 1
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.jruby.ir.interpreter.FullInterpreterContext.dataFlowProblems:Ljava/util/Map;
         1: .line 179
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.ir.interpreter.FullInterpreterContext.dataFlowProblems:Ljava/util/Map;
            areturn
        end local 0 // org.jruby.ir.interpreter.FullInterpreterContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/ir/interpreter/FullInterpreterContext;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lorg/jruby/ir/dataflow/DataFlowProblem;>;

  public java.util.List<org.jruby.ir.passes.CompilerPass> getExecutedPasses();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.ir.interpreter.FullInterpreterContext this
         0: .line 183
            aload 0 /* this */
            getfield org.jruby.ir.interpreter.FullInterpreterContext.executedPasses:Ljava/util/List;
            areturn
        end local 0 // org.jruby.ir.interpreter.FullInterpreterContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ir/interpreter/FullInterpreterContext;
    Signature: ()Ljava/util/List<Lorg/jruby/ir/passes/CompilerPass;>;

  public org.jruby.ir.representations.BasicBlock[] getLinearizedBBList();
    descriptor: ()[Lorg/jruby/ir/representations/BasicBlock;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.ir.interpreter.FullInterpreterContext this
         0: .line 188
            aload 0 /* this */
            getfield org.jruby.ir.interpreter.FullInterpreterContext.linearizedBBList:[Lorg/jruby/ir/representations/BasicBlock;
            areturn
        end local 0 // org.jruby.ir.interpreter.FullInterpreterContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ir/interpreter/FullInterpreterContext;

  public java.lang.String toStringInstrs();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.jruby.ir.interpreter.FullInterpreterContext this
         0: .line 193
            new java.lang.StringBuilder
            dup
            ldc "\nCFG:\n"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.jruby.ir.interpreter.FullInterpreterContext.cfg:Lorg/jruby/ir/representations/CFG;
            invokevirtual org.jruby.ir.representations.CFG.toStringGraph:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\nInstructions:\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.jruby.ir.interpreter.FullInterpreterContext.cfg:Lorg/jruby/ir/representations/CFG;
            invokevirtual org.jruby.ir.representations.CFG.toStringInstrs:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.jruby.ir.interpreter.FullInterpreterContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ir/interpreter/FullInterpreterContext;

  public java.lang.String toStringLinearized();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // org.jruby.ir.interpreter.FullInterpreterContext this
         0: .line 197
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* buf */
        start local 1 // java.lang.StringBuilder buf
         1: .line 199
            aload 0 /* this */
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getLinearizedBBList:()[Lorg/jruby/ir/representations/BasicBlock;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 5
      StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext java.lang.StringBuilder top int int org.jruby.ir.representations.BasicBlock[]
      StackMap stack:
         2: aload 5
            iload 3
            aaload
            astore 2 /* bb */
        start local 2 // org.jruby.ir.representations.BasicBlock bb
         3: .line 200
            aload 1 /* buf */
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 2 /* bb */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            aload 2 /* bb */
            invokevirtual org.jruby.ir.representations.BasicBlock.toStringInstrs:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 2 // org.jruby.ir.representations.BasicBlock bb
         4: .line 199
            iinc 3 1
      StackMap locals:
      StackMap stack:
         5: iload 3
            iload 4
            if_icmplt 2
         6: .line 203
            aload 1 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder buf
        end local 0 // org.jruby.ir.interpreter.FullInterpreterContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/jruby/ir/interpreter/FullInterpreterContext;
            1    7     1   buf  Ljava/lang/StringBuilder;
            3    4     2    bb  Lorg/jruby/ir/representations/BasicBlock;

  public org.jruby.ir.interpreter.FullInterpreterContext duplicate();
    descriptor: ()Lorg/jruby/ir/interpreter/FullInterpreterContext;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=1
        start local 0 // org.jruby.ir.interpreter.FullInterpreterContext this
         0: .line 208
            aload 0 /* this */
            getfield org.jruby.ir.interpreter.FullInterpreterContext.cfg:Lorg/jruby/ir/representations/CFG;
            new org.jruby.ir.transformations.inlining.SimpleCloneInfo
            dup
            aload 0 /* this */
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getScope:()Lorg/jruby/ir/IRScope;
            iconst_0
            iconst_1
            invokespecial org.jruby.ir.transformations.inlining.SimpleCloneInfo.<init>:(Lorg/jruby/ir/IRScope;ZZ)V
            aload 0 /* this */
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getScope:()Lorg/jruby/ir/IRScope;
            invokevirtual org.jruby.ir.representations.CFG.clone:(Lorg/jruby/ir/transformations/inlining/CloneInfo;Lorg/jruby/ir/IRScope;)Lorg/jruby/ir/representations/CFG;
            astore 1 /* newCFG */
        start local 1 // org.jruby.ir.representations.CFG newCFG
         1: .line 209
            aload 0 /* this */
            getfield org.jruby.ir.interpreter.FullInterpreterContext.linearizedBBList:[Lorg/jruby/ir/representations/BasicBlock;
            arraylength
            anewarray org.jruby.ir.representations.BasicBlock
            astore 2 /* newLinearizedBBList */
        start local 2 // org.jruby.ir.representations.BasicBlock[] newLinearizedBBList
         2: .line 211
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 212
      StackMap locals: org.jruby.ir.representations.CFG org.jruby.ir.representations.BasicBlock[] int
      StackMap stack:
            aload 2 /* newLinearizedBBList */
            iload 3 /* i */
            aload 1 /* newCFG */
            aload 0 /* this */
            getfield org.jruby.ir.interpreter.FullInterpreterContext.linearizedBBList:[Lorg/jruby/ir/representations/BasicBlock;
            iload 3 /* i */
            aaload
            invokevirtual org.jruby.ir.representations.BasicBlock.getLabel:()Lorg/jruby/ir/operands/Label;
            invokevirtual org.jruby.ir.representations.CFG.getBBForLabel:(Lorg/jruby/ir/operands/Label;)Lorg/jruby/ir/representations/BasicBlock;
            aastore
         5: .line 211
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            aload 0 /* this */
            getfield org.jruby.ir.interpreter.FullInterpreterContext.linearizedBBList:[Lorg/jruby/ir/representations/BasicBlock;
            arraylength
            if_icmplt 4
        end local 3 // int i
         7: .line 215
            new org.jruby.ir.interpreter.FullInterpreterContext
            dup
            aload 0 /* this */
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getScope:()Lorg/jruby/ir/IRScope;
            aload 1 /* newCFG */
            aload 2 /* newLinearizedBBList */
            aload 0 /* this */
            getfield org.jruby.ir.interpreter.FullInterpreterContext.temporaryVariableCount:I
            aload 0 /* this */
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getFlags:()Ljava/util/EnumSet;
            invokespecial org.jruby.ir.interpreter.FullInterpreterContext.<init>:(Lorg/jruby/ir/IRScope;Lorg/jruby/ir/representations/CFG;[Lorg/jruby/ir/representations/BasicBlock;ILjava/util/EnumSet;)V
         8: areturn
        end local 2 // org.jruby.ir.representations.BasicBlock[] newLinearizedBBList
        end local 1 // org.jruby.ir.representations.CFG newCFG
         9: .line 216
      StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext
      StackMap stack: java.lang.Throwable
            astore 1 /* t */
        start local 1 // java.lang.Throwable t
        10: .line 217
            aload 1 /* t */
            invokevirtual java.lang.Throwable.printStackTrace:()V
        11: .line 218
            aconst_null
            areturn
        end local 1 // java.lang.Throwable t
        end local 0 // org.jruby.ir.interpreter.FullInterpreterContext this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   12     0                 this  Lorg/jruby/ir/interpreter/FullInterpreterContext;
            1    9     1               newCFG  Lorg/jruby/ir/representations/CFG;
            2    9     2  newLinearizedBBList  [Lorg/jruby/ir/representations/BasicBlock;
            3    7     3                    i  I
           10   12     1                    t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     8       9  Class java.lang.Throwable

  public int determineRPC(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.jruby.ir.interpreter.FullInterpreterContext this
        start local 1 // int ipc
         0: .line 224
            aload 0 /* this */
            getfield org.jruby.ir.interpreter.FullInterpreterContext.rescueIPCs:[I
            arraylength
            istore 2 /* length */
        start local 2 // int length
         1: .line 225
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 5
         3: .line 226
      StackMap locals: int int
      StackMap stack:
            iload 1 /* ipc */
            aload 0 /* this */
            getfield org.jruby.ir.interpreter.FullInterpreterContext.rescueIPCs:[I
            iload 3 /* i */
            iaload
            if_icmpgt 4
            aload 0 /* this */
            getfield org.jruby.ir.interpreter.FullInterpreterContext.rescueIPCs:[I
            iload 3 /* i */
            iconst_1
            iadd
            iaload
            ireturn
         4: .line 225
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 2
      StackMap locals:
      StackMap stack:
         5: iload 3 /* i */
            iconst_1
            iadd
            iload 2 /* length */
            if_icmplt 3
        end local 3 // int i
         6: .line 229
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "BUG: no RPC found for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getFileName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getName:()Lorg/jruby/RubySymbol;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 1 /* ipc */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // int length
        end local 1 // int ipc
        end local 0 // org.jruby.ir.interpreter.FullInterpreterContext this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/jruby/ir/interpreter/FullInterpreterContext;
            0    7     1     ipc  I
            1    7     2  length  I
            2    6     3       i  I
    MethodParameters:
      Name  Flags
      ipc   

  public org.jruby.ir.representations.BasicBlock findBasicBlockOf(long);
    descriptor: (J)Lorg/jruby/ir/representations/BasicBlock;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=10, args_size=2
        start local 0 // org.jruby.ir.interpreter.FullInterpreterContext this
        start local 1 // long callsiteId
         0: .line 233
            aload 0 /* this */
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.linearizeBasicBlocks:()[Lorg/jruby/ir/representations/BasicBlock;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 9
      StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext long top int int org.jruby.ir.representations.BasicBlock[]
      StackMap stack:
         1: aload 6
            iload 4
            aaload
            astore 3 /* basicBlock */
        start local 3 // org.jruby.ir.representations.BasicBlock basicBlock
         2: .line 234
            aload 3 /* basicBlock */
            invokevirtual org.jruby.ir.representations.BasicBlock.getInstrs:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 7
      StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext long org.jruby.ir.representations.BasicBlock int int org.jruby.ir.representations.BasicBlock[] top java.util.Iterator
      StackMap stack:
         3: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.jruby.ir.instructions.Instr
            astore 7 /* instr */
        start local 7 // org.jruby.ir.instructions.Instr instr
         4: .line 235
            aload 7 /* instr */
            instanceof org.jruby.ir.instructions.Site
            ifeq 7
         5: .line 236
            aload 7 /* instr */
            checkcast org.jruby.ir.instructions.Site
            astore 9 /* site */
        start local 9 // org.jruby.ir.instructions.Site site
         6: .line 238
            aload 9 /* site */
            invokeinterface org.jruby.ir.instructions.Site.getCallSiteId:()J
            lload 1 /* callsiteId */
            lcmp
            ifne 7
            aload 3 /* basicBlock */
            areturn
        end local 9 // org.jruby.ir.instructions.Site site
        end local 7 // org.jruby.ir.instructions.Instr instr
         7: .line 234
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        end local 3 // org.jruby.ir.representations.BasicBlock basicBlock
         8: .line 233
            iinc 4 1
      StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext long top int int org.jruby.ir.representations.BasicBlock[]
      StackMap stack:
         9: iload 4
            iload 5
            if_icmplt 1
        10: .line 243
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Bug: Looking for callsiteId: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 1 /* callsiteId */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc " in "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // long callsiteId
        end local 0 // org.jruby.ir.interpreter.FullInterpreterContext this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        this  Lorg/jruby/ir/interpreter/FullInterpreterContext;
            0   11     1  callsiteId  J
            2    8     3  basicBlock  Lorg/jruby/ir/representations/BasicBlock;
            4    7     7       instr  Lorg/jruby/ir/instructions/Instr;
            6    7     9        site  Lorg/jruby/ir/instructions/Site;
    MethodParameters:
            Name  Flags
      callsiteId  

  public java.util.Set<org.jruby.ir.operands.LocalVariable> getUsedLocalVariables();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.ir.interpreter.FullInterpreterContext this
         0: .line 250
            aload 0 /* this */
            getfield org.jruby.ir.interpreter.FullInterpreterContext.usedLocalVars:Ljava/util/Set;
            areturn
        end local 0 // org.jruby.ir.interpreter.FullInterpreterContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ir/interpreter/FullInterpreterContext;
    Signature: ()Ljava/util/Set<Lorg/jruby/ir/operands/LocalVariable;>;

  public void setUpUseDefLocalVarMaps();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // org.jruby.ir.interpreter.FullInterpreterContext this
         0: .line 254
            aload 0 /* this */
            new java.util.HashSet
            dup
            iconst_1
            invokespecial java.util.HashSet.<init>:(I)V
            putfield org.jruby.ir.interpreter.FullInterpreterContext.definedLocalVars:Ljava/util/Set;
         1: .line 255
            aload 0 /* this */
            new java.util.HashSet
            dup
            iconst_1
            invokespecial java.util.HashSet.<init>:(I)V
            putfield org.jruby.ir.interpreter.FullInterpreterContext.usedLocalVars:Ljava/util/Set;
         2: .line 256
            aload 0 /* this */
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getCFG:()Lorg/jruby/ir/representations/CFG;
            invokevirtual org.jruby.ir.representations.CFG.getBasicBlocks:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2
            goto 15
      StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext top java.util.Iterator
      StackMap stack:
         3: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.jruby.ir.representations.BasicBlock
            astore 1 /* bb */
        start local 1 // org.jruby.ir.representations.BasicBlock bb
         4: .line 257
            aload 1 /* bb */
            invokevirtual org.jruby.ir.representations.BasicBlock.getInstrs:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 14
      StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext org.jruby.ir.representations.BasicBlock java.util.Iterator top java.util.Iterator
      StackMap stack:
         5: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.jruby.ir.instructions.Instr
            astore 3 /* i */
        start local 3 // org.jruby.ir.instructions.Instr i
         6: .line 258
            aload 3 /* i */
            invokevirtual org.jruby.ir.instructions.Instr.getUsedVariables:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 9
      StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext org.jruby.ir.representations.BasicBlock java.util.Iterator org.jruby.ir.instructions.Instr java.util.Iterator top java.util.Iterator
      StackMap stack:
         7: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.jruby.ir.operands.Variable
            astore 5 /* v */
        start local 5 // org.jruby.ir.operands.Variable v
         8: .line 259
            aload 5 /* v */
            instanceof org.jruby.ir.operands.LocalVariable
            ifeq 9
            aload 0 /* this */
            getfield org.jruby.ir.interpreter.FullInterpreterContext.usedLocalVars:Ljava/util/Set;
            aload 5 /* v */
            checkcast org.jruby.ir.operands.LocalVariable
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // org.jruby.ir.operands.Variable v
         9: .line 258
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        10: .line 262
            aload 3 /* i */
            instanceof org.jruby.ir.instructions.ResultInstr
            ifeq 14
        11: .line 263
            aload 3 /* i */
            checkcast org.jruby.ir.instructions.ResultInstr
            invokeinterface org.jruby.ir.instructions.ResultInstr.getResult:()Lorg/jruby/ir/operands/Variable;
            astore 5 /* v */
        start local 5 // org.jruby.ir.operands.Variable v
        12: .line 265
            aload 5 /* v */
            instanceof org.jruby.ir.operands.LocalVariable
            ifeq 14
            aload 5 /* v */
            checkcast org.jruby.ir.operands.LocalVariable
            invokevirtual org.jruby.ir.operands.LocalVariable.isOuterScopeVar:()Z
            ifne 14
        13: .line 266
            aload 0 /* this */
            getfield org.jruby.ir.interpreter.FullInterpreterContext.definedLocalVars:Ljava/util/Set;
            aload 5 /* v */
            checkcast org.jruby.ir.operands.LocalVariable
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // org.jruby.ir.operands.Variable v
        end local 3 // org.jruby.ir.instructions.Instr i
        14: .line 257
      StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext org.jruby.ir.representations.BasicBlock java.util.Iterator top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        end local 1 // org.jruby.ir.representations.BasicBlock bb
        15: .line 256
      StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext top java.util.Iterator
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        16: .line 272
            aload 0 /* this */
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getScope:()Lorg/jruby/ir/IRScope;
            invokevirtual org.jruby.ir.IRScope.getClosures:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2
            goto 19
      StackMap locals:
      StackMap stack:
        17: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.jruby.ir.IRClosure
            astore 1 /* cl */
        start local 1 // org.jruby.ir.IRClosure cl
        18: .line 273
            aload 1 /* cl */
            invokevirtual org.jruby.ir.IRClosure.getFullInterpreterContext:()Lorg/jruby/ir/interpreter/FullInterpreterContext;
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.setUpUseDefLocalVarMaps:()V
        end local 1 // org.jruby.ir.IRClosure cl
        19: .line 272
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 17
        20: .line 275
            return
        end local 0 // org.jruby.ir.interpreter.FullInterpreterContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   21     0  this  Lorg/jruby/ir/interpreter/FullInterpreterContext;
            4   15     1    bb  Lorg/jruby/ir/representations/BasicBlock;
            6   14     3     i  Lorg/jruby/ir/instructions/Instr;
            8    9     5     v  Lorg/jruby/ir/operands/Variable;
           12   14     5     v  Lorg/jruby/ir/operands/Variable;
           18   19     1    cl  Lorg/jruby/ir/IRClosure;

  public boolean usesLocalVariable(org.jruby.ir.operands.Variable);
    descriptor: (Lorg/jruby/ir/operands/Variable;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.jruby.ir.interpreter.FullInterpreterContext this
        start local 1 // org.jruby.ir.operands.Variable v
         0: .line 278
            aload 0 /* this */
            getfield org.jruby.ir.interpreter.FullInterpreterContext.usedLocalVars:Ljava/util/Set;
            ifnonnull 1
            aload 0 /* this */
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.setUpUseDefLocalVarMaps:()V
         1: .line 279
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.ir.interpreter.FullInterpreterContext.usedLocalVars:Ljava/util/Set;
            aload 1 /* v */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 2
            iconst_1
            ireturn
         2: .line 281
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getScope:()Lorg/jruby/ir/IRScope;
            invokevirtual org.jruby.ir.IRScope.getClosures:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext org.jruby.ir.operands.Variable top java.util.Iterator
      StackMap stack:
         3: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.jruby.ir.IRClosure
            astore 2 /* cl */
        start local 2 // org.jruby.ir.IRClosure cl
         4: .line 282
            aload 2 /* cl */
            invokevirtual org.jruby.ir.IRClosure.getFullInterpreterContext:()Lorg/jruby/ir/interpreter/FullInterpreterContext;
            aload 1 /* v */
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.usesLocalVariable:(Lorg/jruby/ir/operands/Variable;)Z
            ifeq 5
            iconst_1
            ireturn
        end local 2 // org.jruby.ir.IRClosure cl
         5: .line 281
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 285
            iconst_0
            ireturn
        end local 1 // org.jruby.ir.operands.Variable v
        end local 0 // org.jruby.ir.interpreter.FullInterpreterContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/jruby/ir/interpreter/FullInterpreterContext;
            0    7     1     v  Lorg/jruby/ir/operands/Variable;
            4    5     2    cl  Lorg/jruby/ir/IRClosure;
    MethodParameters:
      Name  Flags
      v     

  public boolean definesLocalVariable(org.jruby.ir.operands.Variable);
    descriptor: (Lorg/jruby/ir/operands/Variable;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.jruby.ir.interpreter.FullInterpreterContext this
        start local 1 // org.jruby.ir.operands.Variable v
         0: .line 289
            aload 0 /* this */
            getfield org.jruby.ir.interpreter.FullInterpreterContext.definedLocalVars:Ljava/util/Set;
            ifnonnull 1
            aload 0 /* this */
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.setUpUseDefLocalVarMaps:()V
         1: .line 290
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.ir.interpreter.FullInterpreterContext.definedLocalVars:Ljava/util/Set;
            aload 1 /* v */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 2
            iconst_1
            ireturn
         2: .line 292
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getScope:()Lorg/jruby/ir/IRScope;
            invokevirtual org.jruby.ir.IRScope.getClosures:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext org.jruby.ir.operands.Variable top java.util.Iterator
      StackMap stack:
         3: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.jruby.ir.IRClosure
            astore 2 /* cl */
        start local 2 // org.jruby.ir.IRClosure cl
         4: .line 293
            aload 2 /* cl */
            invokevirtual org.jruby.ir.IRClosure.getFullInterpreterContext:()Lorg/jruby/ir/interpreter/FullInterpreterContext;
            aload 1 /* v */
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.definesLocalVariable:(Lorg/jruby/ir/operands/Variable;)Z
            ifeq 5
            iconst_1
            ireturn
        end local 2 // org.jruby.ir.IRClosure cl
         5: .line 292
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 296
            iconst_0
            ireturn
        end local 1 // org.jruby.ir.operands.Variable v
        end local 0 // org.jruby.ir.interpreter.FullInterpreterContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/jruby/ir/interpreter/FullInterpreterContext;
            0    7     1     v  Lorg/jruby/ir/operands/Variable;
            4    5     2    cl  Lorg/jruby/ir/IRClosure;
    MethodParameters:
      Name  Flags
      v     

  protected void initialize();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // org.jruby.ir.interpreter.FullInterpreterContext this
         0: .line 301
            return
        end local 0 // org.jruby.ir.interpreter.FullInterpreterContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ir/interpreter/FullInterpreterContext;

  public org.jruby.ir.operands.TemporaryVariable createTemporaryVariable();
    descriptor: ()Lorg/jruby/ir/operands/TemporaryVariable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.jruby.ir.interpreter.FullInterpreterContext this
         0: .line 304
            aload 0 /* this */
            dup
            getfield org.jruby.ir.interpreter.FullInterpreterContext.temporaryVariableCount:I
            iconst_1
            iadd
            putfield org.jruby.ir.interpreter.FullInterpreterContext.temporaryVariableCount:I
         1: .line 306
            aload 0 /* this */
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getScope:()Lorg/jruby/ir/IRScope;
            invokevirtual org.jruby.ir.IRScope.getScopeType:()Lorg/jruby/ir/IRScopeType;
            getstatic org.jruby.ir.IRScopeType.CLOSURE:Lorg/jruby/ir/IRScopeType;
            if_acmpne 3
         2: .line 307
            new org.jruby.ir.operands.TemporaryClosureVariable
            dup
            aload 0 /* this */
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getScope:()Lorg/jruby/ir/IRScope;
            checkcast org.jruby.ir.IRClosure
            getfield org.jruby.ir.IRClosure.closureId:I
            aload 0 /* this */
            getfield org.jruby.ir.interpreter.FullInterpreterContext.temporaryVariableCount:I
            iconst_1
            isub
            invokespecial org.jruby.ir.operands.TemporaryClosureVariable.<init>:(II)V
            areturn
         3: .line 309
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getScope:()Lorg/jruby/ir/IRScope;
            invokevirtual org.jruby.ir.IRScope.getManager:()Lorg/jruby/ir/IRManager;
            aload 0 /* this */
            getfield org.jruby.ir.interpreter.FullInterpreterContext.temporaryVariableCount:I
            iconst_1
            isub
            invokevirtual org.jruby.ir.IRManager.newTemporaryLocalVariable:(I)Lorg/jruby/ir/operands/TemporaryLocalVariable;
            areturn
        end local 0 // org.jruby.ir.interpreter.FullInterpreterContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/jruby/ir/interpreter/FullInterpreterContext;

  public org.jruby.ir.operands.TemporaryLocalVariable getNewTemporaryVariableFor(org.jruby.ir.operands.LocalVariable);
    descriptor: (Lorg/jruby/ir/operands/LocalVariable;)Lorg/jruby/ir/operands/TemporaryLocalVariable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.jruby.ir.interpreter.FullInterpreterContext this
        start local 1 // org.jruby.ir.operands.LocalVariable var
         0: .line 314
            aload 0 /* this */
            dup
            getfield org.jruby.ir.interpreter.FullInterpreterContext.temporaryVariableCount:I
            iconst_1
            iadd
            putfield org.jruby.ir.interpreter.FullInterpreterContext.temporaryVariableCount:I
         1: .line 315
            new org.jruby.ir.operands.TemporaryLocalReplacementVariable
            dup
            aload 1 /* var */
            invokevirtual org.jruby.ir.operands.LocalVariable.getId:()Ljava/lang/String;
            aload 0 /* this */
            getfield org.jruby.ir.interpreter.FullInterpreterContext.temporaryVariableCount:I
            iconst_1
            isub
            invokespecial org.jruby.ir.operands.TemporaryLocalReplacementVariable.<init>:(Ljava/lang/String;I)V
            areturn
        end local 1 // org.jruby.ir.operands.LocalVariable var
        end local 0 // org.jruby.ir.interpreter.FullInterpreterContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/ir/interpreter/FullInterpreterContext;
            0    2     1   var  Lorg/jruby/ir/operands/LocalVariable;
    MethodParameters:
      Name  Flags
      var   

  public org.jruby.ir.operands.TemporaryLocalVariable getNewUnboxedVariable(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Lorg/jruby/ir/operands/TemporaryLocalVariable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.ir.interpreter.FullInterpreterContext this
        start local 1 // java.lang.Class type
         0: .line 320
            aload 1 /* type */
            ldc Ljava/lang/Float;
            if_acmpne 3
         1: .line 321
            getstatic org.jruby.ir.operands.TemporaryVariableType.FLOAT:Lorg/jruby/ir/operands/TemporaryVariableType;
            astore 2 /* varType */
        start local 2 // org.jruby.ir.operands.TemporaryVariableType varType
         2: .line 322
            goto 10
        end local 2 // org.jruby.ir.operands.TemporaryVariableType varType
      StackMap locals:
      StackMap stack:
         3: aload 1 /* type */
            ldc Lorg/jruby/ir/operands/Fixnum;
            if_acmpne 6
         4: .line 323
            getstatic org.jruby.ir.operands.TemporaryVariableType.FIXNUM:Lorg/jruby/ir/operands/TemporaryVariableType;
            astore 2 /* varType */
        start local 2 // org.jruby.ir.operands.TemporaryVariableType varType
         5: .line 324
            goto 10
        end local 2 // org.jruby.ir.operands.TemporaryVariableType varType
      StackMap locals:
      StackMap stack:
         6: aload 1 /* type */
            ldc Ljava/lang/Boolean;
            if_acmpne 9
         7: .line 325
            getstatic org.jruby.ir.operands.TemporaryVariableType.BOOLEAN:Lorg/jruby/ir/operands/TemporaryVariableType;
            astore 2 /* varType */
        start local 2 // org.jruby.ir.operands.TemporaryVariableType varType
         8: .line 326
            goto 10
        end local 2 // org.jruby.ir.operands.TemporaryVariableType varType
         9: .line 327
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.ir.operands.TemporaryVariableType.LOCAL:Lorg/jruby/ir/operands/TemporaryVariableType;
            astore 2 /* varType */
        start local 2 // org.jruby.ir.operands.TemporaryVariableType varType
        10: .line 329
      StackMap locals: org.jruby.ir.operands.TemporaryVariableType
      StackMap stack:
            aload 0 /* this */
            aload 2 /* varType */
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getNewTemporaryVariable:(Lorg/jruby/ir/operands/TemporaryVariableType;)Lorg/jruby/ir/operands/TemporaryLocalVariable;
            areturn
        end local 2 // org.jruby.ir.operands.TemporaryVariableType varType
        end local 1 // java.lang.Class type
        end local 0 // org.jruby.ir.interpreter.FullInterpreterContext this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lorg/jruby/ir/interpreter/FullInterpreterContext;
            0   11     1     type  Ljava/lang/Class;
            2    3     2  varType  Lorg/jruby/ir/operands/TemporaryVariableType;
            5    6     2  varType  Lorg/jruby/ir/operands/TemporaryVariableType;
            8    9     2  varType  Lorg/jruby/ir/operands/TemporaryVariableType;
           10   11     2  varType  Lorg/jruby/ir/operands/TemporaryVariableType;
    MethodParameters:
      Name  Flags
      type  

  public org.jruby.ir.operands.TemporaryLocalVariable getNewTemporaryVariable(org.jruby.ir.operands.TemporaryVariableType);
    descriptor: (Lorg/jruby/ir/operands/TemporaryVariableType;)Lorg/jruby/ir/operands/TemporaryLocalVariable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.jruby.ir.interpreter.FullInterpreterContext this
        start local 1 // org.jruby.ir.operands.TemporaryVariableType type
         0: .line 334
            invokestatic org.jruby.ir.interpreter.FullInterpreterContext.$SWITCH_TABLE$org$jruby$ir$operands$TemporaryVariableType:()[I
            aload 1 /* type */
            invokevirtual org.jruby.ir.operands.TemporaryVariableType.ordinal:()I
            iaload
            tableswitch { // 1 - 4
                    1: 7
                    2: 5
                    3: 1
                    4: 3
              default: 8
          }
         1: .line 336
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.jruby.ir.interpreter.FullInterpreterContext.floatVariableIndex:I
            iconst_1
            iadd
            putfield org.jruby.ir.interpreter.FullInterpreterContext.floatVariableIndex:I
         2: .line 337
            new org.jruby.ir.operands.TemporaryFloatVariable
            dup
            aload 0 /* this */
            getfield org.jruby.ir.interpreter.FullInterpreterContext.floatVariableIndex:I
            invokespecial org.jruby.ir.operands.TemporaryFloatVariable.<init>:(I)V
            areturn
         3: .line 340
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.jruby.ir.interpreter.FullInterpreterContext.fixnumVariableIndex:I
            iconst_1
            iadd
            putfield org.jruby.ir.interpreter.FullInterpreterContext.fixnumVariableIndex:I
         4: .line 341
            new org.jruby.ir.operands.TemporaryFixnumVariable
            dup
            aload 0 /* this */
            getfield org.jruby.ir.interpreter.FullInterpreterContext.fixnumVariableIndex:I
            invokespecial org.jruby.ir.operands.TemporaryFixnumVariable.<init>:(I)V
            areturn
         5: .line 344
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.jruby.ir.interpreter.FullInterpreterContext.booleanVariableIndex:I
            iconst_1
            iadd
            putfield org.jruby.ir.interpreter.FullInterpreterContext.booleanVariableIndex:I
         6: .line 345
            new org.jruby.ir.operands.TemporaryBooleanVariable
            dup
            aload 0 /* this */
            getfield org.jruby.ir.interpreter.FullInterpreterContext.booleanVariableIndex:I
            invokespecial org.jruby.ir.operands.TemporaryBooleanVariable.<init>:(I)V
            areturn
         7: .line 348
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getScope:()Lorg/jruby/ir/IRScope;
            invokevirtual org.jruby.ir.IRScope.getManager:()Lorg/jruby/ir/IRManager;
            aload 0 /* this */
            getfield org.jruby.ir.interpreter.FullInterpreterContext.temporaryVariableCount:I
            iconst_1
            isub
            invokevirtual org.jruby.ir.IRManager.newTemporaryLocalVariable:(I)Lorg/jruby/ir/operands/TemporaryLocalVariable;
            areturn
         8: .line 352
      StackMap locals:
      StackMap stack:
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid temporary variable being alloced in this scope: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* type */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // org.jruby.ir.operands.TemporaryVariableType type
        end local 0 // org.jruby.ir.interpreter.FullInterpreterContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/jruby/ir/interpreter/FullInterpreterContext;
            0    9     1  type  Lorg/jruby/ir/operands/TemporaryVariableType;
    MethodParameters:
      Name  Flags
      type  

  public boolean needsFrame();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // org.jruby.ir.interpreter.FullInterpreterContext this
         0: .line 356
            aload 0 /* this */
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.bindingHasEscaped:()Z
            istore 1 /* bindingHasEscaped */
        start local 1 // boolean bindingHasEscaped
         1: .line 357
            iload 1 /* bindingHasEscaped */
            ifne 2
            aload 0 /* this */
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getScope:()Lorg/jruby/ir/IRScope;
            invokevirtual org.jruby.ir.IRScope.usesEval:()Z
            ifne 2
            aload 0 /* this */
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getScope:()Lorg/jruby/ir/IRScope;
            invokevirtual org.jruby.ir.IRScope.usesZSuper:()Z
            ifne 2
            aload 0 /* this */
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getScope:()Lorg/jruby/ir/IRScope;
            invokevirtual org.jruby.ir.IRScope.canCaptureCallersBinding:()Z
            ifne 2
            iconst_0
            goto 3
      StackMap locals: int
      StackMap stack:
         2: iconst_1
      StackMap locals:
      StackMap stack: int
         3: istore 2 /* requireFrame */
        start local 2 // boolean requireFrame
         4: .line 359
            aload 0 /* this */
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getFlags:()Ljava/util/EnumSet;
            invokevirtual java.util.EnumSet.iterator:()Ljava/util/Iterator;
            astore 4
            goto 8
      StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext int int top java.util.Iterator
      StackMap stack:
         5: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.jruby.ir.IRFlags
            astore 3 /* flag */
        start local 3 // org.jruby.ir.IRFlags flag
         6: .line 360
            invokestatic org.jruby.ir.interpreter.FullInterpreterContext.$SWITCH_TABLE$org$jruby$ir$IRFlags:()[I
            aload 3 /* flag */
            invokevirtual org.jruby.ir.IRFlags.ordinal:()I
            iaload
            tableswitch { // 1 - 11
                    1: 7
                    2: 8
                    3: 8
                    4: 7
                    5: 7
                    6: 7
                    7: 7
                    8: 7
                    9: 7
                   10: 8
                   11: 7
              default: 8
          }
         7: .line 369
      StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext int int org.jruby.ir.IRFlags java.util.Iterator
      StackMap stack:
            iconst_1
            istore 2 /* requireFrame */
        end local 3 // org.jruby.ir.IRFlags flag
         8: .line 359
      StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext int int top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         9: .line 373
            iload 2 /* requireFrame */
            ireturn
        end local 2 // boolean requireFrame
        end local 1 // boolean bindingHasEscaped
        end local 0 // org.jruby.ir.interpreter.FullInterpreterContext this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   10     0               this  Lorg/jruby/ir/interpreter/FullInterpreterContext;
            1   10     1  bindingHasEscaped  Z
            4   10     2       requireFrame  Z
            6    8     3               flag  Lorg/jruby/ir/IRFlags;

  public boolean bindingHasEscaped();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.ir.interpreter.FullInterpreterContext this
         0: .line 377
            aload 0 /* this */
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getFlags:()Ljava/util/EnumSet;
            getstatic org.jruby.ir.IRFlags.BINDING_HAS_ESCAPED:Lorg/jruby/ir/IRFlags;
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // org.jruby.ir.interpreter.FullInterpreterContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ir/interpreter/FullInterpreterContext;

  public boolean needsOnlyBackref();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.jruby.ir.interpreter.FullInterpreterContext this
         0: .line 381
            aload 0 /* this */
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getScope:()Lorg/jruby/ir/IRScope;
            invokevirtual org.jruby.ir.IRScope.usesEval:()Z
            ifne 1
            aload 0 /* this */
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getScope:()Lorg/jruby/ir/IRScope;
            invokevirtual org.jruby.ir.IRScope.usesZSuper:()Z
            ifne 1
            aload 0 /* this */
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getScope:()Lorg/jruby/ir/IRScope;
            invokevirtual org.jruby.ir.IRScope.canCaptureCallersBinding:()Z
            ifeq 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
         2: .line 383
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* backrefSeen */
        start local 1 // boolean backrefSeen
         3: .line 384
            aload 0 /* this */
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getFlags:()Ljava/util/EnumSet;
            invokevirtual java.util.EnumSet.iterator:()Ljava/util/Iterator;
            astore 3
            goto 8
      StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext int top java.util.Iterator
      StackMap stack:
         4: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.jruby.ir.IRFlags
            astore 2 /* flag */
        start local 2 // org.jruby.ir.IRFlags flag
         5: .line 385
            invokestatic org.jruby.ir.interpreter.FullInterpreterContext.$SWITCH_TABLE$org$jruby$ir$IRFlags:()[I
            aload 2 /* flag */
            invokevirtual org.jruby.ir.IRFlags.ordinal:()I
            iaload
            tableswitch { // 1 - 11
                    1: 6
                    2: 8
                    3: 8
                    4: 6
                    5: 7
                    6: 6
                    7: 6
                    8: 6
                    9: 6
                   10: 8
                   11: 6
              default: 8
          }
         6: .line 393
      StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext int org.jruby.ir.IRFlags java.util.Iterator
      StackMap stack:
            iconst_0
            ireturn
         7: .line 395
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 1 /* backrefSeen */
        end local 2 // org.jruby.ir.IRFlags flag
         8: .line 384
      StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext int top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         9: .line 400
            iload 1 /* backrefSeen */
            ireturn
        end local 1 // boolean backrefSeen
        end local 0 // org.jruby.ir.interpreter.FullInterpreterContext this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         this  Lorg/jruby/ir/interpreter/FullInterpreterContext;
            3   10     1  backrefSeen  Z
            5    8     2         flag  Lorg/jruby/ir/IRFlags;

  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 43
            getstatic org.jruby.ir.interpreter.FullInterpreterContext.$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.FIXNUM:Lorg/jruby/ir/operands/TemporaryVariableType;
            invokevirtual org.jruby.ir.operands.TemporaryVariableType.ordinal:()I
            iconst_4
            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.FLOAT:Lorg/jruby/ir/operands/TemporaryVariableType;
            invokevirtual org.jruby.ir.operands.TemporaryVariableType.ordinal:()I
            iconst_3
            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.LOCAL:Lorg/jruby/ir/operands/TemporaryVariableType;
            invokevirtual org.jruby.ir.operands.TemporaryVariableType.ordinal:()I
            iconst_1
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            dup
            putstatic org.jruby.ir.interpreter.FullInterpreterContext.$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

  static int[] $SWITCH_TABLE$org$jruby$ir$IRFlags();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 43
            getstatic org.jruby.ir.interpreter.FullInterpreterContext.$SWITCH_TABLE$org$jruby$ir$IRFlags:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.jruby.ir.IRFlags.values:()[Lorg/jruby/ir/IRFlags;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.jruby.ir.IRFlags.BINDING_HAS_ESCAPED:Lorg/jruby/ir/IRFlags;
            invokevirtual org.jruby.ir.IRFlags.ordinal:()I
            iconst_1
            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.IRFlags.FLAGS_COMPUTED:Lorg/jruby/ir/IRFlags;
            invokevirtual org.jruby.ir.IRFlags.ordinal:()I
            bipush 14
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.jruby.ir.IRFlags.HAS_END_BLOCKS:Lorg/jruby/ir/IRFlags;
            invokevirtual org.jruby.ir.IRFlags.ordinal:()I
            iconst_2
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic org.jruby.ir.IRFlags.REQUIRES_BACKREF:Lorg/jruby/ir/IRFlags;
            invokevirtual org.jruby.ir.IRFlags.ordinal:()I
            iconst_5
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic org.jruby.ir.IRFlags.REQUIRES_BLOCK:Lorg/jruby/ir/IRFlags;
            invokevirtual org.jruby.ir.IRFlags.ordinal:()I
            bipush 7
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic org.jruby.ir.IRFlags.REQUIRES_CLASS:Lorg/jruby/ir/IRFlags;
            invokevirtual org.jruby.ir.IRFlags.ordinal:()I
            bipush 11
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic org.jruby.ir.IRFlags.REQUIRES_DYNSCOPE:Lorg/jruby/ir/IRFlags;
            invokevirtual org.jruby.ir.IRFlags.ordinal:()I
            iconst_3
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic org.jruby.ir.IRFlags.REQUIRES_FILENAME:Lorg/jruby/ir/IRFlags;
            invokevirtual org.jruby.ir.IRFlags.ordinal:()I
            bipush 12
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic org.jruby.ir.IRFlags.REQUIRES_LASTLINE:Lorg/jruby/ir/IRFlags;
            invokevirtual org.jruby.ir.IRFlags.ordinal:()I
            iconst_4
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic org.jruby.ir.IRFlags.REQUIRES_LINE:Lorg/jruby/ir/IRFlags;
            invokevirtual org.jruby.ir.IRFlags.ordinal:()I
            bipush 10
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            getstatic org.jruby.ir.IRFlags.REQUIRES_METHODNAME:Lorg/jruby/ir/IRFlags;
            invokevirtual org.jruby.ir.IRFlags.ordinal:()I
            bipush 9
            iastore
        33: goto 35
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        34: pop
      StackMap locals:
      StackMap stack:
        35: aload 0
            getstatic org.jruby.ir.IRFlags.REQUIRES_SCOPE:Lorg/jruby/ir/IRFlags;
            invokevirtual org.jruby.ir.IRFlags.ordinal:()I
            bipush 13
            iastore
        36: goto 38
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        37: pop
      StackMap locals:
      StackMap stack:
        38: aload 0
            getstatic org.jruby.ir.IRFlags.REQUIRES_SELF:Lorg/jruby/ir/IRFlags;
            invokevirtual org.jruby.ir.IRFlags.ordinal:()I
            bipush 8
            iastore
        39: goto 41
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        40: pop
      StackMap locals:
      StackMap stack:
        41: aload 0
            getstatic org.jruby.ir.IRFlags.REQUIRES_VISIBILITY:Lorg/jruby/ir/IRFlags;
            invokevirtual org.jruby.ir.IRFlags.ordinal:()I
            bipush 6
            iastore
        42: goto 44
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        43: pop
      StackMap locals:
      StackMap stack:
        44: aload 0
            dup
            putstatic org.jruby.ir.interpreter.FullInterpreterContext.$SWITCH_TABLE$org$jruby$ir$IRFlags:[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
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError
          29    30      31  Class java.lang.NoSuchFieldError
          32    33      34  Class java.lang.NoSuchFieldError
          35    36      37  Class java.lang.NoSuchFieldError
          38    39      40  Class java.lang.NoSuchFieldError
          41    42      43  Class java.lang.NoSuchFieldError
}
SourceFile: "FullInterpreterContext.java"