public abstract class org.jruby.ir.IRScope implements org.jruby.ParseResult
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.jruby.ir.IRScope
  super_class: java.lang.Object
{
  public static final org.jruby.util.log.Logger LOG;
    descriptor: Lorg/jruby/util/log/Logger;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private static final java.util.Collection<org.jruby.ir.IRClosure> NO_CLOSURES;
    descriptor: Ljava/util/Collection;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Collection<Lorg/jruby/ir/IRClosure;>;

  private static final java.util.concurrent.atomic.AtomicInteger globalScopeCount;
    descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final int scopeId;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int lineNumber;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.jruby.ir.IRScope lexicalParent;
    descriptor: Lorg/jruby/ir/IRScope;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.jruby.parser.StaticScope staticScope;
    descriptor: Lorg/jruby/parser/StaticScope;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.jruby.ir.IRManager manager;
    descriptor: Lorg/jruby/ir/IRManager;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private org.jruby.util.ByteList name;
    descriptor: Lorg/jruby/util/ByteList;
    flags: (0x0002) ACC_PRIVATE

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

  private int nextClosureIndex;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

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

  protected org.jruby.ir.interpreter.InterpreterContext interpreterContext;
    descriptor: Lorg/jruby/ir/interpreter/InterpreterContext;
    flags: (0x0004) ACC_PROTECTED

  protected org.jruby.ir.interpreter.FullInterpreterContext fullInterpreterContext;
    descriptor: Lorg/jruby/ir/interpreter/FullInterpreterContext;
    flags: (0x0004) ACC_PROTECTED

  protected org.jruby.ir.interpreter.FullInterpreterContext optimizedInterpreterContext;
    descriptor: Lorg/jruby/ir/interpreter/FullInterpreterContext;
    flags: (0x0004) ACC_PROTECTED

  private int nextLabelIndex;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  java.util.Map<org.jruby.RubySymbol, org.jruby.ir.operands.LocalVariable> localVars;
    descriptor: Ljava/util/Map;
    flags: (0x0000) 
    Signature: Ljava/util/Map<Lorg/jruby/RubySymbol;Lorg/jruby/ir/operands/LocalVariable;>;

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

  private java.lang.String inlineFailed;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  public org.jruby.compiler.Compilable compilable;
    descriptor: Lorg/jruby/compiler/Compilable;
    flags: (0x0001) ACC_PUBLIC

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 67
            ldc Lorg/jruby/ir/IRScope;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.jruby.ir.IRScope.$assertionsDisabled:Z
         3: .line 68
            ldc Lorg/jruby/ir/IRScope;
            invokestatic org.jruby.util.log.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/jruby/util/log/Logger;
            putstatic org.jruby.ir.IRScope.LOG:Lorg/jruby/util/log/Logger;
         4: .line 70
            getstatic java.util.Collections.EMPTY_LIST:Ljava/util/List;
            putstatic org.jruby.ir.IRScope.NO_CLOSURES:Ljava/util/Collection;
         5: .line 72
            new java.util.concurrent.atomic.AtomicInteger
            dup
            invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
            putstatic org.jruby.ir.IRScope.globalScopeCount:Ljava/util/concurrent/atomic/AtomicInteger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>(org.jruby.ir.IRScope, org.jruby.ir.IRScope);
    descriptor: (Lorg/jruby/ir/IRScope;Lorg/jruby/ir/IRScope;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.ir.IRScope this
        start local 1 // org.jruby.ir.IRScope s
        start local 2 // org.jruby.ir.IRScope lexicalParent
         0: .line 137
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 111
            aload 0 /* this */
            iconst_0
            putfield org.jruby.ir.IRScope.nextLabelIndex:I
         2: .line 138
            aload 0 /* this */
            aload 2 /* lexicalParent */
            putfield org.jruby.ir.IRScope.lexicalParent:Lorg/jruby/ir/IRScope;
         3: .line 139
            aload 0 /* this */
            aload 1 /* s */
            getfield org.jruby.ir.IRScope.manager:Lorg/jruby/ir/IRManager;
            putfield org.jruby.ir.IRScope.manager:Lorg/jruby/ir/IRManager;
         4: .line 140
            aload 0 /* this */
            aload 1 /* s */
            getfield org.jruby.ir.IRScope.lineNumber:I
            putfield org.jruby.ir.IRScope.lineNumber:I
         5: .line 141
            aload 0 /* this */
            aload 1 /* s */
            getfield org.jruby.ir.IRScope.staticScope:Lorg/jruby/parser/StaticScope;
            putfield org.jruby.ir.IRScope.staticScope:Lorg/jruby/parser/StaticScope;
         6: .line 142
            aload 0 /* this */
            aload 1 /* s */
            getfield org.jruby.ir.IRScope.nextClosureIndex:I
            putfield org.jruby.ir.IRScope.nextClosureIndex:I
         7: .line 143
            aload 0 /* this */
            aconst_null
            putfield org.jruby.ir.IRScope.interpreterContext:Lorg/jruby/ir/interpreter/InterpreterContext;
         8: .line 144
            aload 0 /* this */
            new java.util.HashMap
            dup
            aload 1 /* s */
            getfield org.jruby.ir.IRScope.localVars:Ljava/util/Map;
            invokespecial java.util.HashMap.<init>:(Ljava/util/Map;)V
            putfield org.jruby.ir.IRScope.localVars:Ljava/util/Map;
         9: .line 145
            aload 0 /* this */
            getstatic org.jruby.ir.IRScope.globalScopeCount:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.getAndIncrement:()I
            putfield org.jruby.ir.IRScope.scopeId:I
        10: .line 147
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.setupLexicalContainment:()V
        11: .line 148
            return
        end local 2 // org.jruby.ir.IRScope lexicalParent
        end local 1 // org.jruby.ir.IRScope s
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   12     0           this  Lorg/jruby/ir/IRScope;
            0   12     1              s  Lorg/jruby/ir/IRScope;
            0   12     2  lexicalParent  Lorg/jruby/ir/IRScope;
    MethodParameters:
               Name  Flags
      s              
      lexicalParent  

  public void <init>(org.jruby.ir.IRManager, org.jruby.ir.IRScope, org.jruby.util.ByteList, int, org.jruby.parser.StaticScope);
    descriptor: (Lorg/jruby/ir/IRManager;Lorg/jruby/ir/IRScope;Lorg/jruby/util/ByteList;ILorg/jruby/parser/StaticScope;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=6
        start local 0 // org.jruby.ir.IRScope this
        start local 1 // org.jruby.ir.IRManager manager
        start local 2 // org.jruby.ir.IRScope lexicalParent
        start local 3 // org.jruby.util.ByteList name
        start local 4 // int lineNumber
        start local 5 // org.jruby.parser.StaticScope staticScope
         0: .line 150
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 111
            aload 0 /* this */
            iconst_0
            putfield org.jruby.ir.IRScope.nextLabelIndex:I
         2: .line 151
            aload 0 /* this */
            aload 1 /* manager */
            putfield org.jruby.ir.IRScope.manager:Lorg/jruby/ir/IRManager;
         3: .line 152
            aload 0 /* this */
            aload 2 /* lexicalParent */
            putfield org.jruby.ir.IRScope.lexicalParent:Lorg/jruby/ir/IRScope;
         4: .line 153
            aload 0 /* this */
            aload 3 /* name */
            putfield org.jruby.ir.IRScope.name:Lorg/jruby/util/ByteList;
         5: .line 154
            aload 0 /* this */
            iload 4 /* lineNumber */
            putfield org.jruby.ir.IRScope.lineNumber:I
         6: .line 155
            aload 0 /* this */
            aload 5 /* staticScope */
            putfield org.jruby.ir.IRScope.staticScope:Lorg/jruby/parser/StaticScope;
         7: .line 156
            aload 0 /* this */
            iconst_0
            putfield org.jruby.ir.IRScope.nextClosureIndex:I
         8: .line 157
            aload 0 /* this */
            aconst_null
            putfield org.jruby.ir.IRScope.interpreterContext:Lorg/jruby/ir/interpreter/InterpreterContext;
         9: .line 161
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.parentMaybeUsingRefinements:()Z
            ifeq 10
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.setIsMaybeUsingRefinements:()V
        10: .line 163
      StackMap locals: org.jruby.ir.IRScope org.jruby.ir.IRManager org.jruby.ir.IRScope org.jruby.util.ByteList int org.jruby.parser.StaticScope
      StackMap stack:
            aload 0 /* this */
            new java.util.HashMap
            dup
            iconst_1
            invokespecial java.util.HashMap.<init>:(I)V
            putfield org.jruby.ir.IRScope.localVars:Ljava/util/Map;
        11: .line 164
            aload 0 /* this */
            getstatic org.jruby.ir.IRScope.globalScopeCount:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.getAndIncrement:()I
            putfield org.jruby.ir.IRScope.scopeId:I
        12: .line 166
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.setupLexicalContainment:()V
        13: .line 167
            return
        end local 5 // org.jruby.parser.StaticScope staticScope
        end local 4 // int lineNumber
        end local 3 // org.jruby.util.ByteList name
        end local 2 // org.jruby.ir.IRScope lexicalParent
        end local 1 // org.jruby.ir.IRManager manager
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   14     0           this  Lorg/jruby/ir/IRScope;
            0   14     1        manager  Lorg/jruby/ir/IRManager;
            0   14     2  lexicalParent  Lorg/jruby/ir/IRScope;
            0   14     3           name  Lorg/jruby/util/ByteList;
            0   14     4     lineNumber  I
            0   14     5    staticScope  Lorg/jruby/parser/StaticScope;
    MethodParameters:
               Name  Flags
      manager        
      lexicalParent  
      name           
      lineNumber     
      staticScope    

  private void setupLexicalContainment();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 170
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.manager:Lorg/jruby/ir/IRManager;
            invokevirtual org.jruby.ir.IRManager.isDryRun:()Z
            ifne 1
            getstatic org.jruby.RubyInstanceConfig.IR_WRITING:Z
            ifne 1
            getstatic org.jruby.RubyInstanceConfig.RECORD_LEXICAL_HIERARCHY:Z
            ifeq 3
         1: .line 171
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.util.ArrayList
            dup
            iconst_1
            invokespecial java.util.ArrayList.<init>:(I)V
            putfield org.jruby.ir.IRScope.lexicalChildren:Ljava/util/List;
         2: .line 172
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.lexicalParent:Lorg/jruby/ir/IRScope;
            ifnull 3
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.lexicalParent:Lorg/jruby/ir/IRScope;
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.addChildScope:(Lorg/jruby/ir/IRScope;)V
         3: .line 174
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/jruby/ir/IRScope;

  public int getScopeId();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 177
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.scopeId:I
            ireturn
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ir/IRScope;

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 182
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.scopeId:I
            ireturn
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ir/IRScope;

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.ir.IRScope this
        start local 1 // java.lang.Object other
         0: .line 187
            aload 1 /* other */
            ifnull 1
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 1 /* other */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            if_acmpne 1
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.scopeId:I
            aload 1 /* other */
            checkcast org.jruby.ir.IRScope
            getfield org.jruby.ir.IRScope.scopeId:I
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // java.lang.Object other
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/jruby/ir/IRScope;
            0    2     1  other  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      other  

  protected void addChildScope(org.jruby.ir.IRScope);
    descriptor: (Lorg/jruby/ir/IRScope;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.ir.IRScope this
        start local 1 // org.jruby.ir.IRScope scope
         0: .line 191
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.lexicalChildren:Ljava/util/List;
            ifnonnull 1
            aload 0 /* this */
            new java.util.ArrayList
            dup
            iconst_1
            invokespecial java.util.ArrayList.<init>:(I)V
            putfield org.jruby.ir.IRScope.lexicalChildren:Ljava/util/List;
         1: .line 192
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.lexicalChildren:Ljava/util/List;
            aload 1 /* scope */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 193
            return
        end local 1 // org.jruby.ir.IRScope scope
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/jruby/ir/IRScope;
            0    3     1  scope  Lorg/jruby/ir/IRScope;
    MethodParameters:
       Name  Flags
      scope  

  public java.util.List<org.jruby.ir.IRScope> getLexicalScopes();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 196
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.lexicalChildren:Ljava/util/List;
            ifnonnull 1
            aload 0 /* this */
            new java.util.ArrayList
            dup
            iconst_1
            invokespecial java.util.ArrayList.<init>:(I)V
            putfield org.jruby.ir.IRScope.lexicalChildren:Ljava/util/List;
         1: .line 197
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.lexicalChildren:Ljava/util/List;
            areturn
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/ir/IRScope;
    Signature: ()Ljava/util/List<Lorg/jruby/ir/IRScope;>;

  public void addClosure(org.jruby.ir.IRClosure);
    descriptor: (Lorg/jruby/ir/IRClosure;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.ir.IRScope this
        start local 1 // org.jruby.ir.IRClosure closure
         0: .line 201
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.nestedClosures:Ljava/util/List;
            ifnonnull 1
            aload 0 /* this */
            new java.util.ArrayList
            dup
            iconst_1
            invokespecial java.util.ArrayList.<init>:(I)V
            putfield org.jruby.ir.IRScope.nestedClosures:Ljava/util/List;
         1: .line 202
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.nestedClosures:Ljava/util/List;
            aload 1 /* closure */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 203
            return
        end local 1 // org.jruby.ir.IRClosure closure
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/ir/IRScope;
            0    3     1  closure  Lorg/jruby/ir/IRClosure;
    MethodParameters:
         Name  Flags
      closure  

  public void removeClosure(org.jruby.ir.IRClosure);
    descriptor: (Lorg/jruby/ir/IRClosure;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.ir.IRScope this
        start local 1 // org.jruby.ir.IRClosure closure
         0: .line 206
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.nestedClosures:Ljava/util/List;
            ifnull 1
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.nestedClosures:Ljava/util/List;
            aload 1 /* closure */
            invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
            pop
         1: .line 207
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.jruby.ir.IRClosure closure
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/ir/IRScope;
            0    2     1  closure  Lorg/jruby/ir/IRClosure;
    MethodParameters:
         Name  Flags
      closure  

  public org.jruby.ir.operands.Label getNewLabel(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jruby/ir/operands/Label;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // org.jruby.ir.IRScope this
        start local 1 // java.lang.String prefix
         0: .line 210
            new org.jruby.ir.operands.Label
            dup
            aload 1 /* prefix */
            aload 0 /* this */
            dup
            getfield org.jruby.ir.IRScope.nextLabelIndex:I
            dup_x1
            iconst_1
            iadd
            putfield org.jruby.ir.IRScope.nextLabelIndex:I
            invokespecial org.jruby.ir.operands.Label.<init>:(Ljava/lang/String;I)V
            areturn
        end local 1 // java.lang.String prefix
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/jruby/ir/IRScope;
            0    1     1  prefix  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      prefix  

  public org.jruby.ir.operands.Label getNewLabel();
    descriptor: ()Lorg/jruby/ir/operands/Label;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 214
            aload 0 /* this */
            ldc "LBL"
            invokevirtual org.jruby.ir.IRScope.getNewLabel:(Ljava/lang/String;)Lorg/jruby/ir/operands/Label;
            areturn
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ir/IRScope;

  public java.util.Collection<org.jruby.ir.IRClosure> getClosures();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 218
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.nestedClosures:Ljava/util/List;
            ifnonnull 1
            getstatic org.jruby.ir.IRScope.NO_CLOSURES:Ljava/util/Collection;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield org.jruby.ir.IRScope.nestedClosures:Ljava/util/List;
      StackMap locals:
      StackMap stack: java.util.Collection
         2: areturn
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/ir/IRScope;
    Signature: ()Ljava/util/Collection<Lorg/jruby/ir/IRClosure;>;

  public org.jruby.ir.IRManager getManager();
    descriptor: ()Lorg/jruby/ir/IRManager;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 222
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.manager:Lorg/jruby/ir/IRManager;
            areturn
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ir/IRScope;

  public void setIsMaybeUsingRefinements();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 226
            aload 0 /* this */
            iconst_1
            putfield org.jruby.ir.IRScope.maybeUsingRefinements:Z
         1: .line 227
            return
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/ir/IRScope;

  public boolean parentMaybeUsingRefinements();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 230
            aload 0 /* this */
            astore 1 /* s */
        start local 1 // org.jruby.ir.IRScope s
         1: goto 5
         2: .line 231
      StackMap locals: org.jruby.ir.IRScope
      StackMap stack:
            aload 1 /* s */
            invokevirtual org.jruby.ir.IRScope.maybeUsingRefinements:()Z
            ifeq 3
            iconst_1
            ireturn
         3: .line 234
      StackMap locals:
      StackMap stack:
            aload 1 /* s */
            instanceof org.jruby.ir.IREvalScript
            ifeq 4
            iconst_0
            ireturn
         4: .line 230
      StackMap locals:
      StackMap stack:
            aload 1 /* s */
            invokevirtual org.jruby.ir.IRScope.getLexicalParent:()Lorg/jruby/ir/IRScope;
            astore 1 /* s */
      StackMap locals:
      StackMap stack:
         5: aload 1 /* s */
            ifnonnull 2
        end local 1 // org.jruby.ir.IRScope s
         6: .line 237
            iconst_0
            ireturn
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/jruby/ir/IRScope;
            1    6     1     s  Lorg/jruby/ir/IRScope;

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

  public org.jruby.ir.IRScope getLexicalParent();
    descriptor: ()Lorg/jruby/ir/IRScope;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 248
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.lexicalParent:Lorg/jruby/ir/IRScope;
            areturn
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ir/IRScope;

  public org.jruby.parser.StaticScope getStaticScope();
    descriptor: ()Lorg/jruby/parser/StaticScope;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 252
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.staticScope:Lorg/jruby/parser/StaticScope;
            areturn
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ir/IRScope;

  public boolean isWithinEND();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 256
            aload 0 /* this */
            astore 1 /* current */
        start local 1 // org.jruby.ir.IRScope current
         1: goto 4
         2: .line 257
      StackMap locals: org.jruby.ir.IRScope
      StackMap stack:
            aload 1 /* current */
            checkcast org.jruby.ir.IRClosure
            invokevirtual org.jruby.ir.IRClosure.isEND:()Z
            ifeq 3
            iconst_1
            ireturn
         3: .line 256
      StackMap locals:
      StackMap stack:
            aload 1 /* current */
            invokevirtual org.jruby.ir.IRScope.getLexicalParent:()Lorg/jruby/ir/IRScope;
            astore 1 /* current */
      StackMap locals:
      StackMap stack:
         4: aload 1 /* current */
            ifnull 5
            aload 1 /* current */
            instanceof org.jruby.ir.IRClosure
            ifne 2
        end local 1 // org.jruby.ir.IRScope current
         5: .line 260
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/jruby/ir/IRScope;
            1    5     1  current  Lorg/jruby/ir/IRScope;

  public org.jruby.ir.IRMethod getNearestMethod();
    descriptor: ()Lorg/jruby/ir/IRMethod;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 264
            aload 0 /* this */
            astore 1 /* current */
        start local 1 // org.jruby.ir.IRScope current
         1: .line 266
            goto 3
         2: .line 267
      StackMap locals: org.jruby.ir.IRScope
      StackMap stack:
            aload 1 /* current */
            invokevirtual org.jruby.ir.IRScope.getLexicalParent:()Lorg/jruby/ir/IRScope;
            astore 1 /* current */
         3: .line 266
      StackMap locals:
      StackMap stack:
            aload 1 /* current */
            ifnull 4
            aload 1 /* current */
            instanceof org.jruby.ir.IRMethod
            ifeq 2
         4: .line 270
      StackMap locals:
      StackMap stack:
            aload 1 /* current */
            checkcast org.jruby.ir.IRMethod
            areturn
        end local 1 // org.jruby.ir.IRScope current
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/jruby/ir/IRScope;
            1    5     1  current  Lorg/jruby/ir/IRScope;

  public org.jruby.ir.IRScope getNearestTopLocalVariableScope();
    descriptor: ()Lorg/jruby/ir/IRScope;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 274
            aload 0 /* this */
            astore 1 /* current */
        start local 1 // org.jruby.ir.IRScope current
         1: .line 276
            goto 3
         2: .line 277
      StackMap locals: org.jruby.ir.IRScope
      StackMap stack:
            aload 1 /* current */
            invokevirtual org.jruby.ir.IRScope.getLexicalParent:()Lorg/jruby/ir/IRScope;
            astore 1 /* current */
         3: .line 276
      StackMap locals:
      StackMap stack:
            aload 1 /* current */
            ifnull 4
            aload 1 /* current */
            invokevirtual org.jruby.ir.IRScope.isTopLocalVariableScope:()Z
            ifeq 2
         4: .line 280
      StackMap locals:
      StackMap stack:
            aload 1 /* current */
            areturn
        end local 1 // org.jruby.ir.IRScope current
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/jruby/ir/IRScope;
            1    5     1  current  Lorg/jruby/ir/IRScope;

  public boolean isScopeContainedBy(org.jruby.ir.IRScope);
    descriptor: (Lorg/jruby/ir/IRScope;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.ir.IRScope this
        start local 1 // org.jruby.ir.IRScope parentScope
         0: .line 291
            aload 0 /* this */
            astore 2 /* current */
        start local 2 // org.jruby.ir.IRScope current
         1: .line 293
            goto 4
         2: .line 294
      StackMap locals: org.jruby.ir.IRScope
      StackMap stack:
            aload 1 /* parentScope */
            aload 2 /* current */
            if_acmpne 3
            iconst_1
            ireturn
         3: .line 296
      StackMap locals:
      StackMap stack:
            aload 2 /* current */
            invokevirtual org.jruby.ir.IRScope.getLexicalParent:()Lorg/jruby/ir/IRScope;
            astore 2 /* current */
         4: .line 293
      StackMap locals:
      StackMap stack:
            aload 2 /* current */
            ifnonnull 2
         5: .line 299
            iconst_0
            ireturn
        end local 2 // org.jruby.ir.IRScope current
        end local 1 // org.jruby.ir.IRScope parentScope
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lorg/jruby/ir/IRScope;
            0    6     1  parentScope  Lorg/jruby/ir/IRScope;
            1    6     2      current  Lorg/jruby/ir/IRScope;
    MethodParameters:
             Name  Flags
      parentScope  

  public int getNearestModuleReferencingScopeDepth();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 308
            iconst_0
            istore 1 /* n */
        start local 1 // int n
         1: .line 309
            aload 0 /* this */
            astore 2 /* current */
        start local 2 // org.jruby.ir.IRScope current
         2: .line 310
            goto 7
         3: .line 314
      StackMap locals: int org.jruby.ir.IRScope
      StackMap stack:
            aload 2 /* current */
            ifnull 4
            aload 2 /* current */
            instanceof org.jruby.ir.IREvalScript
            ifeq 5
      StackMap locals:
      StackMap stack:
         4: iconst_m1
            ireturn
         5: .line 316
      StackMap locals:
      StackMap stack:
            aload 2 /* current */
            invokevirtual org.jruby.ir.IRScope.getLexicalParent:()Lorg/jruby/ir/IRScope;
            astore 2 /* current */
         6: .line 317
            aload 2 /* current */
            instanceof org.jruby.ir.IRFor
            ifne 7
            iinc 1 /* n */ 1
         7: .line 310
      StackMap locals:
      StackMap stack:
            aload 2 /* current */
            instanceof org.jruby.ir.IRModuleBody
            ifeq 3
         8: .line 320
            iload 1 /* n */
            ireturn
        end local 2 // org.jruby.ir.IRScope current
        end local 1 // int n
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lorg/jruby/ir/IRScope;
            1    9     1        n  I
            2    9     2  current  Lorg/jruby/ir/IRScope;

  public java.lang.String getId();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 324
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.getName:()Lorg/jruby/RubySymbol;
            invokevirtual org.jruby.RubySymbol.idString:()Ljava/lang/String;
            areturn
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ir/IRScope;

  public org.jruby.RubySymbol getName();
    descriptor: ()Lorg/jruby/RubySymbol;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 328
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.getManager:()Lorg/jruby/ir/IRManager;
            invokevirtual org.jruby.ir.IRManager.getRuntime:()Lorg/jruby/Ruby;
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.name:Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.Ruby.newSymbol:(Lorg/jruby/util/ByteList;)Lorg/jruby/RubySymbol;
            areturn
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ir/IRScope;

  public org.jruby.util.ByteList getByteName();
    descriptor: ()Lorg/jruby/util/ByteList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 332
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.name:Lorg/jruby/util/ByteList;
            areturn
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ir/IRScope;

  public void setByteName(org.jruby.util.ByteList);
    descriptor: (Lorg/jruby/util/ByteList;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.ir.IRScope this
        start local 1 // org.jruby.util.ByteList name
         0: .line 336
            aload 0 /* this */
            aload 1 /* name */
            putfield org.jruby.ir.IRScope.name:Lorg/jruby/util/ByteList;
         1: .line 337
            return
        end local 1 // org.jruby.util.ByteList name
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/ir/IRScope;
            0    2     1  name  Lorg/jruby/util/ByteList;
    MethodParameters:
      Name  Flags
      name  

  public void setFileName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.ir.IRScope this
        start local 1 // java.lang.String filename
         0: .line 340
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.getRootLexicalScope:()Lorg/jruby/ir/IRScope;
            aload 1 /* filename */
            invokevirtual org.jruby.ir.IRScope.setFileName:(Ljava/lang/String;)V
         1: .line 341
            return
        end local 1 // java.lang.String filename
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/jruby/ir/IRScope;
            0    2     1  filename  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      filename  

  public java.lang.String getFileName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 345
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.getFile:()Ljava/lang/String;
            areturn
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ir/IRScope;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public java.lang.String getFile();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 349
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.getRootLexicalScope:()Lorg/jruby/ir/IRScope;
            invokevirtual org.jruby.ir.IRScope.getFile:()Ljava/lang/String;
            areturn
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ir/IRScope;

  public int getLineNumber();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 354
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.lineNumber:I
            ireturn
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ir/IRScope;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public int getLine();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 358
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.lineNumber:I
            ireturn
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ir/IRScope;

  public org.jruby.ir.IRScope getRootLexicalScope();
    descriptor: ()Lorg/jruby/ir/IRScope;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 365
            aload 0 /* this */
            astore 1 /* current */
        start local 1 // org.jruby.ir.IRScope current
         1: .line 367
            goto 3
      StackMap locals: org.jruby.ir.IRScope
      StackMap stack:
         2: aload 1 /* current */
            invokevirtual org.jruby.ir.IRScope.getLexicalParent:()Lorg/jruby/ir/IRScope;
            astore 1 /* current */
      StackMap locals:
      StackMap stack:
         3: aload 1 /* current */
            ifnull 4
            aload 1 /* current */
            invokevirtual org.jruby.ir.IRScope.isScriptScope:()Z
            ifeq 2
         4: .line 369
      StackMap locals:
      StackMap stack:
            aload 1 /* current */
            areturn
        end local 1 // org.jruby.ir.IRScope current
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/jruby/ir/IRScope;
            1    5     1  current  Lorg/jruby/ir/IRScope;

  public boolean isNestedInClosure(org.jruby.ir.IRClosure);
    descriptor: (Lorg/jruby/ir/IRClosure;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.ir.IRScope this
        start local 1 // org.jruby.ir.IRClosure closure
         0: .line 373
            aload 0 /* this */
            astore 2 /* s */
        start local 2 // org.jruby.ir.IRScope s
         1: goto 4
         2: .line 374
      StackMap locals: org.jruby.ir.IRScope
      StackMap stack:
            aload 2 /* s */
            aload 1 /* closure */
            if_acmpne 3
            iconst_1
            ireturn
         3: .line 373
      StackMap locals:
      StackMap stack:
            aload 2 /* s */
            invokevirtual org.jruby.ir.IRScope.getLexicalParent:()Lorg/jruby/ir/IRScope;
            astore 2 /* s */
      StackMap locals:
      StackMap stack:
         4: aload 2 /* s */
            ifnull 5
            aload 2 /* s */
            invokevirtual org.jruby.ir.IRScope.isTopLocalVariableScope:()Z
            ifeq 2
        end local 2 // org.jruby.ir.IRScope s
         5: .line 377
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // org.jruby.ir.IRClosure closure
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/jruby/ir/IRScope;
            0    6     1  closure  Lorg/jruby/ir/IRClosure;
            1    5     2        s  Lorg/jruby/ir/IRScope;
    MethodParameters:
         Name  Flags
      closure  

  public void setHasBreakInstructions();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 381
            aload 0 /* this */
            iconst_1
            putfield org.jruby.ir.IRScope.hasBreakInstructions:Z
         1: .line 382
            return
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/ir/IRScope;

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

  public void setReceivesKeywordArgs();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 389
            aload 0 /* this */
            iconst_1
            putfield org.jruby.ir.IRScope.receivesKeywordArgs:Z
         1: .line 390
            return
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/ir/IRScope;

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

  public void setReceivesClosureArg();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 397
            aload 0 /* this */
            iconst_1
            putfield org.jruby.ir.IRScope.receivesClosureArg:Z
         1: .line 398
            return
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/ir/IRScope;

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

  public void setAccessesParentsLocalVariables();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 405
            aload 0 /* this */
            iconst_1
            putfield org.jruby.ir.IRScope.accessesParentsLocalVariables:Z
         1: .line 406
            return
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/ir/IRScope;

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

  public void setHasLoops();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 413
            aload 0 /* this */
            iconst_1
            putfield org.jruby.ir.IRScope.hasLoops:Z
         1: .line 414
            return
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/ir/IRScope;

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

  public void setHasNonLocalReturns();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 421
            aload 0 /* this */
            iconst_1
            putfield org.jruby.ir.IRScope.hasNonLocalReturns:Z
         1: .line 422
            return
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/ir/IRScope;

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

  public void setCanCaptureCallersBinding();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 429
            aload 0 /* this */
            iconst_1
            putfield org.jruby.ir.IRScope.canCaptureCallersBinding:Z
         1: .line 430
            return
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/ir/IRScope;

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

  public void setCanReceiveBreaks();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 437
            aload 0 /* this */
            iconst_1
            putfield org.jruby.ir.IRScope.canReceiveBreaks:Z
         1: .line 438
            return
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/ir/IRScope;

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

  public void setCanReceiveNonlocalReturns();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 445
            aload 0 /* this */
            iconst_1
            putfield org.jruby.ir.IRScope.canReceiveNonLocalReturns:Z
         1: .line 446
            return
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/ir/IRScope;

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

  public void setUsesEval();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 453
            aload 0 /* this */
            iconst_1
            putfield org.jruby.ir.IRScope.usesEval:Z
         1: .line 454
            return
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/ir/IRScope;

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

  public void setUsesZSuper();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 461
            aload 0 /* this */
            iconst_1
            putfield org.jruby.ir.IRScope.usesZSuper:Z
         1: .line 462
            return
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/ir/IRScope;

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

  public void setNeedsCodeCoverage();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 469
            aload 0 /* this */
            iconst_1
            putfield org.jruby.ir.IRScope.needsCodeCoverage:Z
         1: .line 470
            return
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/ir/IRScope;

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

  public java.util.List<org.jruby.ir.passes.CompilerPass> getExecutedPasses();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 477
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.fullInterpreterContext:Lorg/jruby/ir/interpreter/FullInterpreterContext;
            ifnonnull 1
            new java.util.ArrayList
            dup
            iconst_1
            invokespecial java.util.ArrayList.<init>:(I)V
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield org.jruby.ir.IRScope.fullInterpreterContext:Lorg/jruby/ir/interpreter/FullInterpreterContext;
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getExecutedPasses:()Ljava/util/List;
      StackMap locals:
      StackMap stack: java.util.List
         2: areturn
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/ir/IRScope;
    Signature: ()Ljava/util/List<Lorg/jruby/ir/passes/CompilerPass;>;

  private void runCompilerPasses(org.jruby.ir.interpreter.FullInterpreterContext, java.util.List<org.jruby.ir.passes.CompilerPass>, org.jruby.ir.util.IGVDumper);
    descriptor: (Lorg/jruby/ir/interpreter/FullInterpreterContext;Ljava/util/List;Lorg/jruby/ir/util/IGVDumper;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=4
        start local 0 // org.jruby.ir.IRScope this
        start local 1 // org.jruby.ir.interpreter.FullInterpreterContext fic
        start local 2 // java.util.List passes
        start local 3 // org.jruby.ir.util.IGVDumper dumper
         0: .line 484
            aload 3 /* dumper */
            ifnull 1
            aload 3 /* dumper */
            aload 1 /* fic */
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getCFG:()Lorg/jruby/ir/representations/CFG;
            ldc "Start"
            invokevirtual org.jruby.ir.util.IGVDumper.dump:(Lorg/jruby/ir/representations/CFG;Ljava/lang/String;)V
         1: .line 486
      StackMap locals:
      StackMap stack:
            aload 2 /* passes */
            invokestatic org.jruby.ir.IRManager.schedulePasses:(Ljava/util/List;)Lorg/jruby/ir/passes/CompilerPassScheduler;
            astore 4 /* scheduler */
        start local 4 // org.jruby.ir.passes.CompilerPassScheduler scheduler
         2: .line 487
            aload 4 /* scheduler */
            invokeinterface org.jruby.ir.passes.CompilerPassScheduler.iterator:()Ljava/util/Iterator;
            astore 6
            goto 6
      StackMap locals: org.jruby.ir.IRScope org.jruby.ir.interpreter.FullInterpreterContext java.util.List org.jruby.ir.util.IGVDumper org.jruby.ir.passes.CompilerPassScheduler top java.util.Iterator
      StackMap stack:
         3: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.jruby.ir.passes.CompilerPass
            astore 5 /* pass */
        start local 5 // org.jruby.ir.passes.CompilerPass pass
         4: .line 488
            aload 5 /* pass */
            aload 1 /* fic */
            invokevirtual org.jruby.ir.passes.CompilerPass.run:(Lorg/jruby/ir/interpreter/FullInterpreterContext;)Ljava/lang/Object;
            pop
         5: .line 489
            aload 3 /* dumper */
            ifnull 6
            aload 3 /* dumper */
            aload 1 /* fic */
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getCFG:()Lorg/jruby/ir/representations/CFG;
            aload 5 /* pass */
            invokevirtual org.jruby.ir.passes.CompilerPass.getShortLabel:()Ljava/lang/String;
            invokevirtual org.jruby.ir.util.IGVDumper.dump:(Lorg/jruby/ir/representations/CFG;Ljava/lang/String;)V
        end local 5 // org.jruby.ir.passes.CompilerPass pass
         6: .line 487
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         7: .line 492
            getstatic org.jruby.RubyInstanceConfig.IR_UNBOXING:Z
            ifeq 11
         8: .line 493
            new org.jruby.ir.passes.UnboxingPass
            dup
            invokespecial org.jruby.ir.passes.UnboxingPass.<init>:()V
            astore 5 /* pass */
        start local 5 // org.jruby.ir.passes.CompilerPass pass
         9: .line 494
            aload 5 /* pass */
            aload 1 /* fic */
            invokevirtual org.jruby.ir.passes.CompilerPass.run:(Lorg/jruby/ir/interpreter/FullInterpreterContext;)Ljava/lang/Object;
            pop
        10: .line 495
            aload 3 /* dumper */
            ifnull 11
            aload 3 /* dumper */
            aload 1 /* fic */
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getCFG:()Lorg/jruby/ir/representations/CFG;
            aload 5 /* pass */
            invokevirtual org.jruby.ir.passes.CompilerPass.getShortLabel:()Ljava/lang/String;
            invokevirtual org.jruby.ir.util.IGVDumper.dump:(Lorg/jruby/ir/representations/CFG;Ljava/lang/String;)V
        end local 5 // org.jruby.ir.passes.CompilerPass pass
        11: .line 498
      StackMap locals: org.jruby.ir.IRScope org.jruby.ir.interpreter.FullInterpreterContext java.util.List org.jruby.ir.util.IGVDumper org.jruby.ir.passes.CompilerPassScheduler
      StackMap stack:
            aload 3 /* dumper */
            ifnull 12
            aload 3 /* dumper */
            invokevirtual org.jruby.ir.util.IGVDumper.close:()V
        12: .line 500
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.jruby.ir.passes.CompilerPassScheduler scheduler
        end local 3 // org.jruby.ir.util.IGVDumper dumper
        end local 2 // java.util.List passes
        end local 1 // org.jruby.ir.interpreter.FullInterpreterContext fic
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   13     0       this  Lorg/jruby/ir/IRScope;
            0   13     1        fic  Lorg/jruby/ir/interpreter/FullInterpreterContext;
            0   13     2     passes  Ljava/util/List<Lorg/jruby/ir/passes/CompilerPass;>;
            0   13     3     dumper  Lorg/jruby/ir/util/IGVDumper;
            2   13     4  scheduler  Lorg/jruby/ir/passes/CompilerPassScheduler;
            4    6     5       pass  Lorg/jruby/ir/passes/CompilerPass;
            9   11     5       pass  Lorg/jruby/ir/passes/CompilerPass;
    Signature: (Lorg/jruby/ir/interpreter/FullInterpreterContext;Ljava/util/List<Lorg/jruby/ir/passes/CompilerPass;>;Lorg/jruby/ir/util/IGVDumper;)V
    MethodParameters:
        Name  Flags
      fic     
      passes  
      dumper  

  public org.jruby.ir.interpreter.InterpreterContext allocateInterpreterContext(java.util.List<org.jruby.ir.instructions.Instr>, int, java.util.EnumSet<org.jruby.ir.IRFlags>);
    descriptor: (Ljava/util/List;ILjava/util/EnumSet;)Lorg/jruby/ir/interpreter/InterpreterContext;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // org.jruby.ir.IRScope this
        start local 1 // java.util.List instructions
        start local 2 // int tempVariableCount
        start local 3 // java.util.EnumSet flags
         0: .line 504
            aload 0 /* this */
            new org.jruby.ir.interpreter.InterpreterContext
            dup
            aload 0 /* this */
            aload 1 /* instructions */
            iload 2 /* tempVariableCount */
            aload 3 /* flags */
            invokespecial org.jruby.ir.interpreter.InterpreterContext.<init>:(Lorg/jruby/ir/IRScope;Ljava/util/List;ILjava/util/EnumSet;)V
            putfield org.jruby.ir.IRScope.interpreterContext:Lorg/jruby/ir/interpreter/InterpreterContext;
         1: .line 506
            getstatic org.jruby.RubyInstanceConfig.IR_COMPILER_DEBUG:Z
            ifeq 2
            getstatic org.jruby.ir.IRScope.LOG:Lorg/jruby/util/log/Logger;
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.interpreterContext:Lorg/jruby/ir/interpreter/InterpreterContext;
            invokevirtual org.jruby.ir.interpreter.InterpreterContext.toString:()Ljava/lang/String;
            iconst_0
            anewarray java.lang.Object
            invokeinterface org.jruby.util.log.Logger.info:(Ljava/lang/String;[Ljava/lang/Object;)V
         2: .line 508
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.interpreterContext:Lorg/jruby/ir/interpreter/InterpreterContext;
            areturn
        end local 3 // java.util.EnumSet flags
        end local 2 // int tempVariableCount
        end local 1 // java.util.List instructions
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    3     0               this  Lorg/jruby/ir/IRScope;
            0    3     1       instructions  Ljava/util/List<Lorg/jruby/ir/instructions/Instr;>;
            0    3     2  tempVariableCount  I
            0    3     3              flags  Ljava/util/EnumSet<Lorg/jruby/ir/IRFlags;>;
    Signature: (Ljava/util/List<Lorg/jruby/ir/instructions/Instr;>;ILjava/util/EnumSet<Lorg/jruby/ir/IRFlags;>;)Lorg/jruby/ir/interpreter/InterpreterContext;
    MethodParameters:
                   Name  Flags
      instructions       
      tempVariableCount  
      flags              

  public org.jruby.ir.interpreter.InterpreterContext allocateInterpreterContext(java.util.function.Supplier<java.util.List<org.jruby.ir.instructions.Instr>>, int, java.util.EnumSet<org.jruby.ir.IRFlags>);
    descriptor: (Ljava/util/function/Supplier;ILjava/util/EnumSet;)Lorg/jruby/ir/interpreter/InterpreterContext;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // org.jruby.ir.IRScope this
        start local 1 // java.util.function.Supplier instructions
        start local 2 // int tempVariableCount
        start local 3 // java.util.EnumSet flags
         0: .line 513
            aload 0 /* this */
            new org.jruby.ir.interpreter.InterpreterContext
            dup
            aload 0 /* this */
            aload 1 /* instructions */
            iload 2 /* tempVariableCount */
            aload 3 /* flags */
            invokespecial org.jruby.ir.interpreter.InterpreterContext.<init>:(Lorg/jruby/ir/IRScope;Ljava/util/function/Supplier;ILjava/util/EnumSet;)V
            putfield org.jruby.ir.IRScope.interpreterContext:Lorg/jruby/ir/interpreter/InterpreterContext;
         1: .line 515
            getstatic org.jruby.RubyInstanceConfig.IR_COMPILER_DEBUG:Z
            ifeq 2
            getstatic org.jruby.ir.IRScope.LOG:Lorg/jruby/util/log/Logger;
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.interpreterContext:Lorg/jruby/ir/interpreter/InterpreterContext;
            invokevirtual org.jruby.ir.interpreter.InterpreterContext.toString:()Ljava/lang/String;
            iconst_0
            anewarray java.lang.Object
            invokeinterface org.jruby.util.log.Logger.info:(Ljava/lang/String;[Ljava/lang/Object;)V
         2: .line 517
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.interpreterContext:Lorg/jruby/ir/interpreter/InterpreterContext;
            areturn
        end local 3 // java.util.EnumSet flags
        end local 2 // int tempVariableCount
        end local 1 // java.util.function.Supplier instructions
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    3     0               this  Lorg/jruby/ir/IRScope;
            0    3     1       instructions  Ljava/util/function/Supplier<Ljava/util/List<Lorg/jruby/ir/instructions/Instr;>;>;
            0    3     2  tempVariableCount  I
            0    3     3              flags  Ljava/util/EnumSet<Lorg/jruby/ir/IRFlags;>;
    Signature: (Ljava/util/function/Supplier<Ljava/util/List<Lorg/jruby/ir/instructions/Instr;>;>;ILjava/util/EnumSet<Lorg/jruby/ir/IRFlags;>;)Lorg/jruby/ir/interpreter/InterpreterContext;
    MethodParameters:
                   Name  Flags
      instructions       
      tempVariableCount  
      flags              

  private org.jruby.ir.instructions.Instr[] cloneInstrs();
    descriptor: ()[Lorg/jruby/ir/instructions/Instr;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 521
            new org.jruby.ir.transformations.inlining.SimpleCloneInfo
            dup
            aload 0 /* this */
            iconst_0
            invokespecial org.jruby.ir.transformations.inlining.SimpleCloneInfo.<init>:(Lorg/jruby/ir/IRScope;Z)V
            astore 1 /* cloneInfo */
        start local 1 // org.jruby.ir.transformations.inlining.SimpleCloneInfo cloneInfo
         1: .line 523
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.interpreterContext:Lorg/jruby/ir/interpreter/InterpreterContext;
            invokevirtual org.jruby.ir.interpreter.InterpreterContext.getInstructions:()[Lorg/jruby/ir/instructions/Instr;
            astore 2 /* instructions */
        start local 2 // org.jruby.ir.instructions.Instr[] instructions
         2: .line 524
            aload 2 /* instructions */
            arraylength
            istore 3 /* length */
        start local 3 // int length
         3: .line 525
            iload 3 /* length */
            anewarray org.jruby.ir.instructions.Instr
            astore 4 /* newInstructions */
        start local 4 // org.jruby.ir.instructions.Instr[] newInstructions
         4: .line 527
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         5: goto 8
         6: .line 528
      StackMap locals: org.jruby.ir.IRScope org.jruby.ir.transformations.inlining.SimpleCloneInfo org.jruby.ir.instructions.Instr[] int org.jruby.ir.instructions.Instr[] int
      StackMap stack:
            aload 4 /* newInstructions */
            iload 5 /* i */
            aload 2 /* instructions */
            iload 5 /* i */
            aaload
            aload 1 /* cloneInfo */
            invokevirtual org.jruby.ir.instructions.Instr.clone:(Lorg/jruby/ir/transformations/inlining/CloneInfo;)Lorg/jruby/ir/instructions/Instr;
            aastore
         7: .line 527
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 5 /* i */
            iload 3 /* length */
            if_icmplt 6
        end local 5 // int i
         9: .line 531
            aload 4 /* newInstructions */
            areturn
        end local 4 // org.jruby.ir.instructions.Instr[] newInstructions
        end local 3 // int length
        end local 2 // org.jruby.ir.instructions.Instr[] instructions
        end local 1 // org.jruby.ir.transformations.inlining.SimpleCloneInfo cloneInfo
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   10     0             this  Lorg/jruby/ir/IRScope;
            1   10     1        cloneInfo  Lorg/jruby/ir/transformations/inlining/SimpleCloneInfo;
            2   10     2     instructions  [Lorg/jruby/ir/instructions/Instr;
            3   10     3           length  I
            4   10     4  newInstructions  [Lorg/jruby/ir/instructions/Instr;
            5    9     5                i  I

  public synchronized org.jruby.ir.interpreter.FullInterpreterContext prepareFullBuild();
    descriptor: ()Lorg/jruby/ir/interpreter/FullInterpreterContext;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 539
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.optimizedInterpreterContext:Lorg/jruby/ir/interpreter/FullInterpreterContext;
            ifnull 1
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.optimizedInterpreterContext:Lorg/jruby/ir/interpreter/FullInterpreterContext;
            areturn
         1: .line 540
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.fullInterpreterContext:Lorg/jruby/ir/interpreter/FullInterpreterContext;
            ifnull 2
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.fullInterpreterContext:Lorg/jruby/ir/interpreter/FullInterpreterContext;
            areturn
         2: .line 542
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.getClosures:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2
            goto 5
      StackMap locals: org.jruby.ir.IRScope top java.util.Iterator
      StackMap stack:
         3: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.jruby.ir.IRScope
            astore 1 /* scope */
        start local 1 // org.jruby.ir.IRScope scope
         4: .line 543
            aload 1 /* scope */
            invokevirtual org.jruby.ir.IRScope.prepareFullBuild:()Lorg/jruby/ir/interpreter/FullInterpreterContext;
            pop
        end local 1 // org.jruby.ir.IRScope scope
         5: .line 542
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 546
            new org.jruby.ir.interpreter.FullInterpreterContext
            dup
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.cloneInstrs:()[Lorg/jruby/ir/instructions/Instr;
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.interpreterContext:Lorg/jruby/ir/interpreter/InterpreterContext;
            invokevirtual org.jruby.ir.interpreter.InterpreterContext.getTemporaryVariableCount:()I
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.interpreterContext:Lorg/jruby/ir/interpreter/InterpreterContext;
            invokevirtual org.jruby.ir.interpreter.InterpreterContext.getFlags:()Ljava/util/EnumSet;
            invokevirtual java.util.EnumSet.clone:()Ljava/util/EnumSet;
            invokespecial org.jruby.ir.interpreter.FullInterpreterContext.<init>:(Lorg/jruby/ir/IRScope;[Lorg/jruby/ir/instructions/Instr;ILjava/util/EnumSet;)V
            astore 1 /* fic */
        start local 1 // org.jruby.ir.interpreter.FullInterpreterContext fic
         7: .line 547
            aload 0 /* this */
            aload 1 /* fic */
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.getManager:()Lorg/jruby/ir/IRManager;
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRManager.getCompilerPasses:(Lorg/jruby/ir/IRScope;)Ljava/util/List;
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.dumpToIGV:()Lorg/jruby/ir/util/IGVDumper;
            invokevirtual org.jruby.ir.IRScope.runCompilerPasses:(Lorg/jruby/ir/interpreter/FullInterpreterContext;Ljava/util/List;Lorg/jruby/ir/util/IGVDumper;)V
         8: .line 548
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.getManager:()Lorg/jruby/ir/IRManager;
            aload 1 /* fic */
            invokevirtual org.jruby.ir.IRManager.optimizeIfSimpleScope:(Lorg/jruby/ir/interpreter/FullInterpreterContext;)V
         9: .line 552
            new org.jruby.ir.passes.AddCallProtocolInstructions
            dup
            invokespecial org.jruby.ir.passes.AddCallProtocolInstructions.<init>:()V
            aload 1 /* fic */
            invokevirtual org.jruby.ir.passes.AddCallProtocolInstructions.run:(Lorg/jruby/ir/interpreter/FullInterpreterContext;)Ljava/lang/Object;
            pop
        10: .line 554
            aload 1 /* fic */
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.generateInstructionsForInterpretation:()V
        11: .line 556
            aload 0 /* this */
            aload 1 /* fic */
            putfield org.jruby.ir.IRScope.fullInterpreterContext:Lorg/jruby/ir/interpreter/FullInterpreterContext;
        12: .line 558
            aload 1 /* fic */
            areturn
        end local 1 // org.jruby.ir.interpreter.FullInterpreterContext fic
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   13     0   this  Lorg/jruby/ir/IRScope;
            4    5     1  scope  Lorg/jruby/ir/IRScope;
            7   13     1    fic  Lorg/jruby/ir/interpreter/FullInterpreterContext;

  public java.lang.String getFullyQualifiedName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 563
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.getLexicalParent:()Lorg/jruby/ir/IRScope;
            ifnonnull 1
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.getId:()Ljava/lang/String;
            areturn
         1: .line 565
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.getLexicalParent:()Lorg/jruby/ir/IRScope;
            invokevirtual org.jruby.ir.IRScope.getFullyQualifiedName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "::"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.getId:()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.IRScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/ir/IRScope;

  public org.jruby.ir.util.IGVDumper dumpToIGV();
    descriptor: ()Lorg/jruby/ir/util/IGVDumper;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 569
            getstatic org.jruby.RubyInstanceConfig.IR_DEBUG_IGV:Ljava/lang/String;
            ifnull 5
         1: .line 570
            getstatic org.jruby.RubyInstanceConfig.IR_DEBUG_IGV:Ljava/lang/String;
            astore 1 /* spec */
        start local 1 // java.lang.String spec
         2: .line 572
            aload 1 /* spec */
            ldc ":"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 3
            aload 1 /* spec */
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.getFileName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.getLineNumber:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 4
         3: .line 573
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* spec */
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.getFileName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 574
      StackMap locals:
      StackMap stack:
            new org.jruby.ir.util.IGVDumper
            dup
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.getFullyQualifiedName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "; line "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.getLineNumber:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.jruby.ir.util.IGVDumper.<init>:(Ljava/lang/String;)V
            areturn
        end local 1 // java.lang.String spec
         5: .line 578
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/jruby/ir/IRScope;
            2    5     1  spec  Ljava/lang/String;

  public synchronized org.jruby.ir.representations.BasicBlock[] prepareForCompilation();
    descriptor: ()[Lorg/jruby/ir/representations/BasicBlock;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 583
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.optimizedInterpreterContext:Lorg/jruby/ir/interpreter/FullInterpreterContext;
            ifnull 1
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.optimizedInterpreterContext:Lorg/jruby/ir/interpreter/FullInterpreterContext;
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getLinearizedBBList:()[Lorg/jruby/ir/representations/BasicBlock;
            areturn
         1: .line 584
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.fullInterpreterContext:Lorg/jruby/ir/interpreter/FullInterpreterContext;
            ifnull 2
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.fullInterpreterContext:Lorg/jruby/ir/interpreter/FullInterpreterContext;
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getLinearizedBBList:()[Lorg/jruby/ir/representations/BasicBlock;
            areturn
         2: .line 586
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.getClosures:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2
            goto 5
      StackMap locals: org.jruby.ir.IRScope top java.util.Iterator
      StackMap stack:
         3: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.jruby.ir.IRScope
            astore 1 /* scope */
        start local 1 // org.jruby.ir.IRScope scope
         4: .line 587
            aload 1 /* scope */
            invokevirtual org.jruby.ir.IRScope.prepareForCompilation:()[Lorg/jruby/ir/representations/BasicBlock;
            pop
        end local 1 // org.jruby.ir.IRScope scope
         5: .line 586
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 590
            new org.jruby.ir.interpreter.FullInterpreterContext
            dup
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.cloneInstrs:()[Lorg/jruby/ir/instructions/Instr;
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.interpreterContext:Lorg/jruby/ir/interpreter/InterpreterContext;
            invokevirtual org.jruby.ir.interpreter.InterpreterContext.getTemporaryVariableCount:()I
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.interpreterContext:Lorg/jruby/ir/interpreter/InterpreterContext;
            invokevirtual org.jruby.ir.interpreter.InterpreterContext.getFlags:()Ljava/util/EnumSet;
            invokevirtual java.util.EnumSet.clone:()Ljava/util/EnumSet;
            invokespecial org.jruby.ir.interpreter.FullInterpreterContext.<init>:(Lorg/jruby/ir/IRScope;[Lorg/jruby/ir/instructions/Instr;ILjava/util/EnumSet;)V
            astore 1 /* fic */
        start local 1 // org.jruby.ir.interpreter.FullInterpreterContext fic
         7: .line 591
            aload 0 /* this */
            aload 1 /* fic */
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.getManager:()Lorg/jruby/ir/IRManager;
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRManager.getJITPasses:(Lorg/jruby/ir/IRScope;)Ljava/util/List;
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.dumpToIGV:()Lorg/jruby/ir/util/IGVDumper;
            invokevirtual org.jruby.ir.IRScope.runCompilerPasses:(Lorg/jruby/ir/interpreter/FullInterpreterContext;Ljava/util/List;Lorg/jruby/ir/util/IGVDumper;)V
         8: .line 593
            aload 1 /* fic */
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.linearizeBasicBlocks:()[Lorg/jruby/ir/representations/BasicBlock;
            astore 2 /* bbs */
        start local 2 // org.jruby.ir.representations.BasicBlock[] bbs
         9: .line 595
            aload 0 /* this */
            aload 1 /* fic */
            putfield org.jruby.ir.IRScope.fullInterpreterContext:Lorg/jruby/ir/interpreter/FullInterpreterContext;
        10: .line 597
            aload 2 /* bbs */
            areturn
        end local 2 // org.jruby.ir.representations.BasicBlock[] bbs
        end local 1 // org.jruby.ir.interpreter.FullInterpreterContext fic
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Lorg/jruby/ir/IRScope;
            4    5     1  scope  Lorg/jruby/ir/IRScope;
            7   11     1    fic  Lorg/jruby/ir/interpreter/FullInterpreterContext;
            9   11     2    bbs  [Lorg/jruby/ir/representations/BasicBlock;

  public java.util.Map<org.jruby.ir.representations.BasicBlock, org.jruby.ir.operands.Label> buildJVMExceptionTable(org.jruby.ir.interpreter.FullInterpreterContext);
    descriptor: (Lorg/jruby/ir/interpreter/FullInterpreterContext;)Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // org.jruby.ir.IRScope this
        start local 1 // org.jruby.ir.interpreter.FullInterpreterContext fic
         0: .line 604
            new java.util.HashMap
            dup
            iconst_1
            invokespecial java.util.HashMap.<init>:(I)V
            astore 2 /* map */
        start local 2 // java.util.Map map
         1: .line 606
            aload 1 /* fic */
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getLinearizedBBList:()[Lorg/jruby/ir/representations/BasicBlock;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 7
      StackMap locals: org.jruby.ir.IRScope org.jruby.ir.interpreter.FullInterpreterContext java.util.Map top int int org.jruby.ir.representations.BasicBlock[]
      StackMap stack:
         2: aload 6
            iload 4
            aaload
            astore 3 /* bb */
        start local 3 // org.jruby.ir.representations.BasicBlock bb
         3: .line 607
            aload 1 /* fic */
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getCFG:()Lorg/jruby/ir/representations/CFG;
            aload 3 /* bb */
            invokevirtual org.jruby.ir.representations.CFG.getRescuerBBFor:(Lorg/jruby/ir/representations/BasicBlock;)Lorg/jruby/ir/representations/BasicBlock;
            astore 7 /* rescueBB */
        start local 7 // org.jruby.ir.representations.BasicBlock rescueBB
         4: .line 608
            aload 7 /* rescueBB */
            ifnull 6
         5: .line 609
            aload 2 /* map */
            aload 3 /* bb */
            aload 7 /* rescueBB */
            invokevirtual org.jruby.ir.representations.BasicBlock.getLabel:()Lorg/jruby/ir/operands/Label;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 7 // org.jruby.ir.representations.BasicBlock rescueBB
        end local 3 // org.jruby.ir.representations.BasicBlock bb
         6: .line 606
      StackMap locals:
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
         7: iload 4
            iload 5
            if_icmplt 2
         8: .line 616
            aload 2 /* map */
            areturn
        end local 2 // java.util.Map map
        end local 1 // org.jruby.ir.interpreter.FullInterpreterContext fic
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lorg/jruby/ir/IRScope;
            0    9     1       fic  Lorg/jruby/ir/interpreter/FullInterpreterContext;
            1    9     2       map  Ljava/util/Map<Lorg/jruby/ir/representations/BasicBlock;Lorg/jruby/ir/operands/Label;>;
            3    6     3        bb  Lorg/jruby/ir/representations/BasicBlock;
            4    6     7  rescueBB  Lorg/jruby/ir/representations/BasicBlock;
    Signature: (Lorg/jruby/ir/interpreter/FullInterpreterContext;)Ljava/util/Map<Lorg/jruby/ir/representations/BasicBlock;Lorg/jruby/ir/operands/Label;>;
    MethodParameters:
      Name  Flags
      fic   

  public abstract org.jruby.ir.IRScopeType getScopeType();
    descriptor: ()Lorg/jruby/ir/IRScopeType;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 623
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.getScopeType:()Lorg/jruby/ir/IRScopeType;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.getId:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 91
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.getFile:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 58
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.getLine:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "]<"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.toStringCompileForm:()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;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ir/IRScope;

  public java.lang.String toStringCompileForm();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 628
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.optimizedInterpreterContext:Lorg/jruby/ir/interpreter/FullInterpreterContext;
            ifnull 1
            ldc "optimized"
            goto 3
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield org.jruby.ir.IRScope.fullInterpreterContext:Lorg/jruby/ir/interpreter/FullInterpreterContext;
            ifnull 2
            ldc "full"
            goto 3
      StackMap locals:
      StackMap stack:
         2: ldc "startup"
      StackMap locals:
      StackMap stack: java.lang.String
         3: areturn
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/jruby/ir/IRScope;

  public java.lang.String debugOutput();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 632
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.toStringInstrs:()Ljava/lang/String;
            areturn
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ir/IRScope;

  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.IRScope this
         0: .line 636
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.fullInterpreterContext:Lorg/jruby/ir/interpreter/FullInterpreterContext;
            ifnull 2
         1: .line 637
            new java.lang.StringBuilder
            dup
            ldc "Instructions:\n"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.fullInterpreterContext:Lorg/jruby/ir/interpreter/FullInterpreterContext;
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.toStringInstrs:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         2: .line 639
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.interpreterContext:Lorg/jruby/ir/interpreter/InterpreterContext;
            invokevirtual org.jruby.ir.interpreter.InterpreterContext.toStringInstrs:()Ljava/lang/String;
            areturn
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/ir/IRScope;

  public org.jruby.ir.operands.Variable getSelf();
    descriptor: ()Lorg/jruby/ir/operands/Variable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 644
            getstatic org.jruby.ir.operands.Self.SELF:Lorg/jruby/ir/operands/Self;
            areturn
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ir/IRScope;

  public java.util.Map<org.jruby.RubySymbol, org.jruby.ir.operands.LocalVariable> getLocalVariables();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 652
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.localVars:Ljava/util/Map;
            areturn
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ir/IRScope;
    Signature: ()Ljava/util/Map<Lorg/jruby/RubySymbol;Lorg/jruby/ir/operands/LocalVariable;>;

  public void setNextLabelIndex(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.ir.IRScope this
        start local 1 // int index
         0: .line 656
            aload 0 /* this */
            iload 1 /* index */
            putfield org.jruby.ir.IRScope.nextLabelIndex:I
         1: .line 657
            return
        end local 1 // int index
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/jruby/ir/IRScope;
            0    2     1  index  I
    MethodParameters:
       Name  Flags
      index  

  public int getNextLabelIndex();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 660
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.nextLabelIndex:I
            ireturn
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ir/IRScope;

  public org.jruby.ir.operands.LocalVariable lookupExistingLVar(org.jruby.RubySymbol);
    descriptor: (Lorg/jruby/RubySymbol;)Lorg/jruby/ir/operands/LocalVariable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.ir.IRScope this
        start local 1 // org.jruby.RubySymbol name
         0: .line 664
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.localVars:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.jruby.ir.operands.LocalVariable
            areturn
        end local 1 // org.jruby.RubySymbol name
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ir/IRScope;
            0    1     1  name  Lorg/jruby/RubySymbol;
    MethodParameters:
      Name  Flags
      name  

  protected org.jruby.ir.operands.LocalVariable findExistingLocalVariable(org.jruby.RubySymbol, int);
    descriptor: (Lorg/jruby/RubySymbol;I)Lorg/jruby/ir/operands/LocalVariable;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.jruby.ir.IRScope this
        start local 1 // org.jruby.RubySymbol name
        start local 2 // int depth
         0: .line 668
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.localVars:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.jruby.ir.operands.LocalVariable
            areturn
        end local 2 // int depth
        end local 1 // org.jruby.RubySymbol name
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/jruby/ir/IRScope;
            0    1     1   name  Lorg/jruby/RubySymbol;
            0    1     2  depth  I
    MethodParameters:
       Name  Flags
      name   
      depth  

  public org.jruby.ir.operands.LocalVariable getLocalVariable(org.jruby.RubySymbol, int);
    descriptor: (Lorg/jruby/RubySymbol;I)Lorg/jruby/ir/operands/LocalVariable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.jruby.ir.IRScope this
        start local 1 // org.jruby.RubySymbol name
        start local 2 // int scopeDepth
         0: .line 677
            aload 0 /* this */
            aload 1 /* name */
            iload 2 /* scopeDepth */
            invokevirtual org.jruby.ir.IRScope.findExistingLocalVariable:(Lorg/jruby/RubySymbol;I)Lorg/jruby/ir/operands/LocalVariable;
            astore 3 /* lvar */
        start local 3 // org.jruby.ir.operands.LocalVariable lvar
         1: .line 678
            aload 3 /* lvar */
            ifnonnull 4
         2: .line 679
            aload 0 /* this */
            aload 1 /* name */
            iload 2 /* scopeDepth */
            invokevirtual org.jruby.ir.IRScope.getNewLocalVariable:(Lorg/jruby/RubySymbol;I)Lorg/jruby/ir/operands/LocalVariable;
            astore 3 /* lvar */
         3: .line 680
            goto 6
      StackMap locals: org.jruby.ir.operands.LocalVariable
      StackMap stack:
         4: aload 3 /* lvar */
            invokevirtual org.jruby.ir.operands.LocalVariable.getScopeDepth:()I
            iload 2 /* scopeDepth */
            if_icmpeq 6
         5: .line 681
            aload 3 /* lvar */
            iload 2 /* scopeDepth */
            invokevirtual org.jruby.ir.operands.LocalVariable.cloneForDepth:(I)Lorg/jruby/ir/operands/LocalVariable;
            astore 3 /* lvar */
         6: .line 684
      StackMap locals:
      StackMap stack:
            aload 3 /* lvar */
            areturn
        end local 3 // org.jruby.ir.operands.LocalVariable lvar
        end local 2 // int scopeDepth
        end local 1 // org.jruby.RubySymbol name
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lorg/jruby/ir/IRScope;
            0    7     1        name  Lorg/jruby/RubySymbol;
            0    7     2  scopeDepth  I
            1    7     3        lvar  Lorg/jruby/ir/operands/LocalVariable;
    MethodParameters:
            Name  Flags
      name        
      scopeDepth  

  public org.jruby.ir.operands.LocalVariable getNewLocalVariable(org.jruby.RubySymbol, int);
    descriptor: (Lorg/jruby/RubySymbol;I)Lorg/jruby/ir/operands/LocalVariable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // org.jruby.ir.IRScope this
        start local 1 // org.jruby.RubySymbol name
        start local 2 // int scopeDepth
         0: .line 688
            getstatic org.jruby.ir.IRScope.$assertionsDisabled:Z
            ifne 1
            iload 2 /* scopeDepth */
            ifeq 1
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Scope depth is non-zero for new-var request "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)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.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 689
      StackMap locals:
      StackMap stack:
            new org.jruby.ir.operands.LocalVariable
            dup
            aload 1 /* name */
            iload 2 /* scopeDepth */
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.getStaticScope:()Lorg/jruby/parser/StaticScope;
            aload 1 /* name */
            invokevirtual org.jruby.RubySymbol.idString:()Ljava/lang/String;
            invokevirtual org.jruby.parser.StaticScope.addVariable:(Ljava/lang/String;)I
            invokespecial org.jruby.ir.operands.LocalVariable.<init>:(Lorg/jruby/RubySymbol;II)V
            astore 3 /* lvar */
        start local 3 // org.jruby.ir.operands.LocalVariable lvar
         2: .line 690
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.localVars:Ljava/util/Map;
            aload 1 /* name */
            aload 3 /* lvar */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 691
            aload 3 /* lvar */
            areturn
        end local 3 // org.jruby.ir.operands.LocalVariable lvar
        end local 2 // int scopeDepth
        end local 1 // org.jruby.RubySymbol name
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/jruby/ir/IRScope;
            0    4     1        name  Lorg/jruby/RubySymbol;
            0    4     2  scopeDepth  I
            2    4     3        lvar  Lorg/jruby/ir/operands/LocalVariable;
    MethodParameters:
            Name  Flags
      name        
      scopeDepth  

  public boolean hasBeenBuilt();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 698
            iconst_1
            ireturn
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ir/IRScope;

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

  public org.jruby.ir.interpreter.InterpreterContext getInterpreterContext();
    descriptor: ()Lorg/jruby/ir/interpreter/InterpreterContext;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 706
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.interpreterContext:Lorg/jruby/ir/interpreter/InterpreterContext;
            areturn
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ir/IRScope;

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

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

  protected void depends(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.ir.IRScope this
        start local 1 // java.lang.Object obj
         0: .line 718
            getstatic org.jruby.ir.IRScope.$assertionsDisabled:Z
            ifne 1
            aload 1 /* obj */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            ldc "Unsatisfied dependency and this depends() was set up wrong.  Use depends(build()) not depends(build)."
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 720
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Object obj
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/ir/IRScope;
            0    2     1   obj  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      obj   

  private org.jruby.ir.interpreter.FullInterpreterContext inlineFailed(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jruby/ir/interpreter/FullInterpreterContext;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.ir.IRScope this
        start local 1 // java.lang.String reason
         0: .line 723
            aload 0 /* this */
            aload 1 /* reason */
            putfield org.jruby.ir.IRScope.inlineFailed:Ljava/lang/String;
         1: .line 724
            aconst_null
            areturn
        end local 1 // java.lang.String reason
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/jruby/ir/IRScope;
            0    2     1  reason  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      reason  

  private org.jruby.ir.interpreter.FullInterpreterContext inlineMethodCommon(org.jruby.ir.IRMethod, org.jruby.RubyModule, long, int, boolean);
    descriptor: (Lorg/jruby/ir/IRMethod;Lorg/jruby/RubyModule;JIZ)Lorg/jruby/ir/interpreter/FullInterpreterContext;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=11, args_size=6
        start local 0 // org.jruby.ir.IRScope this
        start local 1 // org.jruby.ir.IRMethod methodToInline
        start local 2 // org.jruby.RubyModule implClass
        start local 3 // long callsiteId
        start local 5 // int classToken
        start local 6 // boolean cloneHost
         0: .line 728
            aload 0 /* this */
            iconst_1
            putfield org.jruby.ir.IRScope.alreadyHasInline:Z
         1: .line 731
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.getFullInterpreterContext:()Lorg/jruby/ir/interpreter/FullInterpreterContext;
            ifnonnull 2
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.prepareFullBuild:()Lorg/jruby/ir/interpreter/FullInterpreterContext;
            pop
         2: .line 743
      StackMap locals:
      StackMap stack:
            aload 1 /* methodToInline */
            invokevirtual org.jruby.ir.IRMethod.getClosures:()Ljava/util/Collection;
            invokeinterface java.util.Collection.isEmpty:()Z
            ifne 11
         3: .line 744
            iconst_0
            istore 7 /* accessInaccessibleLocalVariables */
        start local 7 // boolean accessInaccessibleLocalVariables
         4: .line 745
            aload 1 /* methodToInline */
            invokevirtual org.jruby.ir.IRMethod.getClosures:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 9
            goto 9
      StackMap locals: org.jruby.ir.IRScope org.jruby.ir.IRMethod org.jruby.RubyModule long int int int top java.util.Iterator
      StackMap stack:
         5: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.jruby.ir.IRClosure
            astore 8 /* closure */
        start local 8 // org.jruby.ir.IRClosure closure
         6: .line 746
            aload 8 /* closure */
            invokevirtual org.jruby.ir.IRClosure.accessesParentsLocalVariables:()Z
            ifeq 9
         7: .line 747
            iconst_1
            istore 7 /* accessInaccessibleLocalVariables */
         8: .line 748
            goto 10
        end local 8 // org.jruby.ir.IRClosure closure
         9: .line 745
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        10: .line 751
      StackMap locals: org.jruby.ir.IRScope org.jruby.ir.IRMethod org.jruby.RubyModule long int int int
      StackMap stack:
            iload 7 /* accessInaccessibleLocalVariables */
            ifeq 11
            aload 0 /* this */
            ldc "inline a method which contains nested closures which access methods lvars"
            invokevirtual org.jruby.ir.IRScope.inlineFailed:(Ljava/lang/String;)Lorg/jruby/ir/interpreter/FullInterpreterContext;
            areturn
        end local 7 // boolean accessInaccessibleLocalVariables
        11: .line 754
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.getFullInterpreterContext:()Lorg/jruby/ir/interpreter/FullInterpreterContext;
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.duplicate:()Lorg/jruby/ir/interpreter/FullInterpreterContext;
            astore 7 /* newContext */
        start local 7 // org.jruby.ir.interpreter.FullInterpreterContext newContext
        12: .line 755
            aload 7 /* newContext */
            ifnonnull 14
        13: .line 756
            aload 0 /* this */
            ldc "FIXME: BBs are not linearized???"
            invokevirtual org.jruby.ir.IRScope.inlineFailed:(Ljava/lang/String;)Lorg/jruby/ir/interpreter/FullInterpreterContext;
            areturn
        14: .line 758
      StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext
      StackMap stack:
            aload 7 /* newContext */
            lload 3 /* callsiteId */
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.findBasicBlockOf:(J)Lorg/jruby/ir/representations/BasicBlock;
            astore 8 /* basicBlock */
        start local 8 // org.jruby.ir.representations.BasicBlock basicBlock
        15: .line 759
            aload 8 /* basicBlock */
            lload 3 /* callsiteId */
            invokevirtual org.jruby.ir.representations.BasicBlock.siteOf:(J)Lorg/jruby/ir/instructions/Site;
            checkcast org.jruby.ir.instructions.CallBase
            astore 9 /* call */
        start local 9 // org.jruby.ir.instructions.CallBase call
        16: .line 761
            new org.jruby.ir.transformations.inlining.CFGInliner
            dup
            aload 7 /* newContext */
            invokespecial org.jruby.ir.transformations.inlining.CFGInliner.<init>:(Lorg/jruby/ir/interpreter/FullInterpreterContext;)V
            aload 1 /* methodToInline */
            aload 2 /* implClass */
            iload 5 /* classToken */
            aload 8 /* basicBlock */
            aload 9 /* call */
            iload 6 /* cloneHost */
            invokevirtual org.jruby.ir.transformations.inlining.CFGInliner.inlineMethod:(Lorg/jruby/ir/IRScope;Lorg/jruby/RubyModule;ILorg/jruby/ir/representations/BasicBlock;Lorg/jruby/ir/instructions/CallBase;Z)Ljava/lang/String;
            astore 10 /* error */
        start local 10 // java.lang.String error
        17: .line 763
            aload 10 /* error */
            ifnonnull 18
            aload 7 /* newContext */
            goto 19
      StackMap locals: org.jruby.ir.representations.BasicBlock org.jruby.ir.instructions.CallBase java.lang.String
      StackMap stack:
        18: aload 0 /* this */
            aload 10 /* error */
            invokevirtual org.jruby.ir.IRScope.inlineFailed:(Ljava/lang/String;)Lorg/jruby/ir/interpreter/FullInterpreterContext;
      StackMap locals:
      StackMap stack: org.jruby.ir.interpreter.FullInterpreterContext
        19: areturn
        end local 10 // java.lang.String error
        end local 9 // org.jruby.ir.instructions.CallBase call
        end local 8 // org.jruby.ir.representations.BasicBlock basicBlock
        end local 7 // org.jruby.ir.interpreter.FullInterpreterContext newContext
        end local 6 // boolean cloneHost
        end local 5 // int classToken
        end local 3 // long callsiteId
        end local 2 // org.jruby.RubyModule implClass
        end local 1 // org.jruby.ir.IRMethod methodToInline
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot                              Name  Signature
            0   20     0                              this  Lorg/jruby/ir/IRScope;
            0   20     1                    methodToInline  Lorg/jruby/ir/IRMethod;
            0   20     2                         implClass  Lorg/jruby/RubyModule;
            0   20     3                        callsiteId  J
            0   20     5                        classToken  I
            0   20     6                         cloneHost  Z
            4   11     7  accessInaccessibleLocalVariables  Z
            6    9     8                           closure  Lorg/jruby/ir/IRClosure;
           12   20     7                        newContext  Lorg/jruby/ir/interpreter/FullInterpreterContext;
           15   20     8                        basicBlock  Lorg/jruby/ir/representations/BasicBlock;
           16   20     9                              call  Lorg/jruby/ir/instructions/CallBase;
           17   20    10                             error  Ljava/lang/String;
    MethodParameters:
                Name  Flags
      methodToInline  
      implClass       
      callsiteId      
      classToken      
      cloneHost       

  public void inlineMethod(org.jruby.ir.IRMethod, org.jruby.RubyModule, long, int, boolean);
    descriptor: (Lorg/jruby/ir/IRMethod;Lorg/jruby/RubyModule;JIZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=6
        start local 0 // org.jruby.ir.IRScope this
        start local 1 // org.jruby.ir.IRMethod methodToInline
        start local 2 // org.jruby.RubyModule metaclass
        start local 3 // long callsiteId
        start local 5 // int classToken
        start local 6 // boolean cloneHost
         0: .line 767
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.alreadyHasInline:Z
            ifeq 1
            return
         1: .line 769
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* methodToInline */
            aload 2 /* metaclass */
            lload 3 /* callsiteId */
            iload 5 /* classToken */
            iload 6 /* cloneHost */
            invokevirtual org.jruby.ir.IRScope.inlineMethodCommon:(Lorg/jruby/ir/IRMethod;Lorg/jruby/RubyModule;JIZ)Lorg/jruby/ir/interpreter/FullInterpreterContext;
            astore 7 /* newContext */
        start local 7 // org.jruby.ir.interpreter.FullInterpreterContext newContext
         2: .line 770
            aload 7 /* newContext */
            ifnonnull 5
         3: .line 771
            getstatic org.jruby.ir.IRManager.IR_INLINER_VERBOSE:Z
            ifeq 4
            getstatic org.jruby.ir.IRScope.LOG:Lorg/jruby/util/log/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Inline of "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* methodToInline */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " into "
            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;
            ldc " failed: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.inlineFailed: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;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_0
            anewarray java.lang.Object
            invokeinterface org.jruby.util.log.Logger.info:(Ljava/lang/String;[Ljava/lang/Object;)V
         4: .line 772
      StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext
      StackMap stack:
            return
         5: .line 774
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.ir.IRManager.IR_INLINER_VERBOSE:Z
            ifeq 6
            getstatic org.jruby.ir.IRScope.LOG:Lorg/jruby/util/log/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Inline of "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* methodToInline */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " into "
            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;
            ldc " succeeded."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_0
            anewarray java.lang.Object
            invokeinterface org.jruby.util.log.Logger.info:(Ljava/lang/String;[Ljava/lang/Object;)V
         6: .line 776
      StackMap locals:
      StackMap stack:
            aload 7 /* newContext */
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.generateInstructionsForInterpretation:()V
         7: .line 777
            aload 0 /* this */
            aload 7 /* newContext */
            putfield org.jruby.ir.IRScope.optimizedInterpreterContext:Lorg/jruby/ir/interpreter/FullInterpreterContext;
         8: .line 779
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.manager:Lorg/jruby/ir/IRManager;
            invokevirtual org.jruby.ir.IRManager.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getJITCompiler:()Lorg/jruby/compiler/JITCompiler;
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.manager:Lorg/jruby/ir/IRManager;
            invokevirtual org.jruby.ir.IRManager.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.compilable:Lorg/jruby/compiler/Compilable;
            invokevirtual org.jruby.compiler.JITCompiler.getTaskFor:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/compiler/Compilable;)Ljava/lang/Runnable;
            invokeinterface java.lang.Runnable.run:()V
         9: .line 780
            return
        end local 7 // org.jruby.ir.interpreter.FullInterpreterContext newContext
        end local 6 // boolean cloneHost
        end local 5 // int classToken
        end local 3 // long callsiteId
        end local 2 // org.jruby.RubyModule metaclass
        end local 1 // org.jruby.ir.IRMethod methodToInline
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   10     0            this  Lorg/jruby/ir/IRScope;
            0   10     1  methodToInline  Lorg/jruby/ir/IRMethod;
            0   10     2       metaclass  Lorg/jruby/RubyModule;
            0   10     3      callsiteId  J
            0   10     5      classToken  I
            0   10     6       cloneHost  Z
            2   10     7      newContext  Lorg/jruby/ir/interpreter/FullInterpreterContext;
    MethodParameters:
                Name  Flags
      methodToInline  
      metaclass       
      callsiteId      
      classToken      
      cloneHost       

  public void inlineMethodJIT(org.jruby.ir.IRMethod, org.jruby.RubyModule, long, int, boolean);
    descriptor: (Lorg/jruby/ir/IRMethod;Lorg/jruby/RubyModule;JIZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=9, args_size=6
        start local 0 // org.jruby.ir.IRScope this
        start local 1 // org.jruby.ir.IRMethod methodToInline
        start local 2 // org.jruby.RubyModule implClass
        start local 3 // long callsiteId
        start local 5 // int classToken
        start local 6 // boolean cloneHost
         0: .line 783
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.alreadyHasInline:Z
            ifeq 1
            return
         1: .line 785
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* methodToInline */
            aload 2 /* implClass */
            lload 3 /* callsiteId */
            iload 5 /* classToken */
            iload 6 /* cloneHost */
            invokevirtual org.jruby.ir.IRScope.inlineMethodCommon:(Lorg/jruby/ir/IRMethod;Lorg/jruby/RubyModule;JIZ)Lorg/jruby/ir/interpreter/FullInterpreterContext;
            astore 7 /* newContext */
        start local 7 // org.jruby.ir.interpreter.FullInterpreterContext newContext
         2: .line 786
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.manager:Lorg/jruby/ir/IRManager;
            invokevirtual org.jruby.ir.IRManager.getRuntime:()Lorg/jruby/Ruby;
            astore 8 /* runtime */
        start local 8 // org.jruby.Ruby runtime
         3: .line 787
            aload 7 /* newContext */
            ifnonnull 7
         4: .line 788
            getstatic org.jruby.ir.IRManager.IR_INLINER_VERBOSE:Z
            ifeq 5
            getstatic org.jruby.ir.IRScope.LOG:Lorg/jruby/util/log/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Inline of "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* methodToInline */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " into "
            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;
            ldc " failed: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.inlineFailed: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;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_0
            anewarray java.lang.Object
            invokeinterface org.jruby.util.log.Logger.info:(Ljava/lang/String;[Ljava/lang/Object;)V
         5: .line 789
      StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext org.jruby.Ruby
      StackMap stack:
            aload 8 /* runtime */
            invokevirtual org.jruby.Ruby.getInlineStats:()Lorg/jruby/management/InlineStats;
            invokevirtual org.jruby.management.InlineStats.incrementInlineFailedCount:()V
         6: .line 790
            return
         7: .line 792
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.ir.IRManager.IR_INLINER_VERBOSE:Z
            ifeq 8
            getstatic org.jruby.ir.IRScope.LOG:Lorg/jruby/util/log/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Inline of "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* methodToInline */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " into "
            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;
            ldc " succeeded."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_0
            anewarray java.lang.Object
            invokeinterface org.jruby.util.log.Logger.info:(Ljava/lang/String;[Ljava/lang/Object;)V
         8: .line 793
      StackMap locals:
      StackMap stack:
            aload 8 /* runtime */
            invokevirtual org.jruby.Ruby.getInlineStats:()Lorg/jruby/management/InlineStats;
            invokevirtual org.jruby.management.InlineStats.incrementInlineSuccessCount:()V
         9: .line 798
            aload 7 /* newContext */
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.linearizeBasicBlocks:()[Lorg/jruby/ir/representations/BasicBlock;
            pop
        10: .line 799
            aload 0 /* this */
            aload 7 /* newContext */
            putfield org.jruby.ir.IRScope.optimizedInterpreterContext:Lorg/jruby/ir/interpreter/FullInterpreterContext;
        11: .line 801
            aload 8 /* runtime */
            invokevirtual org.jruby.Ruby.getJITCompiler:()Lorg/jruby/compiler/JITCompiler;
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.manager:Lorg/jruby/ir/IRManager;
            invokevirtual org.jruby.ir.IRManager.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.compilable:Lorg/jruby/compiler/Compilable;
            invokevirtual org.jruby.compiler.JITCompiler.getTaskFor:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/compiler/Compilable;)Ljava/lang/Runnable;
            invokeinterface java.lang.Runnable.run:()V
        12: .line 802
            return
        end local 8 // org.jruby.Ruby runtime
        end local 7 // org.jruby.ir.interpreter.FullInterpreterContext newContext
        end local 6 // boolean cloneHost
        end local 5 // int classToken
        end local 3 // long callsiteId
        end local 2 // org.jruby.RubyModule implClass
        end local 1 // org.jruby.ir.IRMethod methodToInline
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   13     0            this  Lorg/jruby/ir/IRScope;
            0   13     1  methodToInline  Lorg/jruby/ir/IRMethod;
            0   13     2       implClass  Lorg/jruby/RubyModule;
            0   13     3      callsiteId  J
            0   13     5      classToken  I
            0   13     6       cloneHost  Z
            2   13     7      newContext  Lorg/jruby/ir/interpreter/FullInterpreterContext;
            3   13     8         runtime  Lorg/jruby/Ruby;
    MethodParameters:
                Name  Flags
      methodToInline  
      implClass       
      callsiteId      
      classToken      
      cloneHost       

  public void inlineMethodCompiled(org.jruby.ir.IRMethod, org.jruby.RubyModule, long, int, boolean);
    descriptor: (Lorg/jruby/ir/IRMethod;Lorg/jruby/RubyModule;JIZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=6
        start local 0 // org.jruby.ir.IRScope this
        start local 1 // org.jruby.ir.IRMethod methodToInline
        start local 2 // org.jruby.RubyModule implClass
        start local 3 // long callsiteId
        start local 5 // int classToken
        start local 6 // boolean cloneHost
         0: .line 805
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.alreadyHasInline:Z
            ifeq 1
            return
         1: .line 807
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* methodToInline */
            aload 2 /* implClass */
            lload 3 /* callsiteId */
            iload 5 /* classToken */
            iload 6 /* cloneHost */
            invokevirtual org.jruby.ir.IRScope.inlineMethodCommon:(Lorg/jruby/ir/IRMethod;Lorg/jruby/RubyModule;JIZ)Lorg/jruby/ir/interpreter/FullInterpreterContext;
            astore 7 /* newContext */
        start local 7 // org.jruby.ir.interpreter.FullInterpreterContext newContext
         2: .line 808
            aload 7 /* newContext */
            ifnonnull 5
         3: .line 809
            getstatic org.jruby.ir.IRManager.IR_INLINER_VERBOSE:Z
            ifeq 4
            getstatic org.jruby.ir.IRScope.LOG:Lorg/jruby/util/log/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Inline of "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* methodToInline */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " into "
            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;
            ldc " failed: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.inlineFailed: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;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_0
            anewarray java.lang.Object
            invokeinterface org.jruby.util.log.Logger.info:(Ljava/lang/String;[Ljava/lang/Object;)V
         4: .line 810
      StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext
      StackMap stack:
            return
         5: .line 812
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.ir.IRManager.IR_INLINER_VERBOSE:Z
            ifeq 6
            getstatic org.jruby.ir.IRScope.LOG:Lorg/jruby/util/log/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Inline of "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* methodToInline */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " into "
            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;
            ldc " succeeded."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_0
            anewarray java.lang.Object
            invokeinterface org.jruby.util.log.Logger.info:(Ljava/lang/String;[Ljava/lang/Object;)V
         6: .line 817
      StackMap locals:
      StackMap stack:
            aload 7 /* newContext */
            invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.linearizeBasicBlocks:()[Lorg/jruby/ir/representations/BasicBlock;
            pop
         7: .line 818
            aload 0 /* this */
            aload 7 /* newContext */
            putfield org.jruby.ir.IRScope.optimizedInterpreterContext:Lorg/jruby/ir/interpreter/FullInterpreterContext;
         8: .line 820
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.manager:Lorg/jruby/ir/IRManager;
            invokevirtual org.jruby.ir.IRManager.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getJITCompiler:()Lorg/jruby/compiler/JITCompiler;
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.manager:Lorg/jruby/ir/IRManager;
            invokevirtual org.jruby.ir.IRManager.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.compilable:Lorg/jruby/compiler/Compilable;
            invokevirtual org.jruby.compiler.JITCompiler.getTaskFor:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/compiler/Compilable;)Ljava/lang/Runnable;
            invokeinterface java.lang.Runnable.run:()V
         9: .line 821
            return
        end local 7 // org.jruby.ir.interpreter.FullInterpreterContext newContext
        end local 6 // boolean cloneHost
        end local 5 // int classToken
        end local 3 // long callsiteId
        end local 2 // org.jruby.RubyModule implClass
        end local 1 // org.jruby.ir.IRMethod methodToInline
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   10     0            this  Lorg/jruby/ir/IRScope;
            0   10     1  methodToInline  Lorg/jruby/ir/IRMethod;
            0   10     2       implClass  Lorg/jruby/RubyModule;
            0   10     3      callsiteId  J
            0   10     5      classToken  I
            0   10     6       cloneHost  Z
            2   10     7      newContext  Lorg/jruby/ir/interpreter/FullInterpreterContext;
    MethodParameters:
                Name  Flags
      methodToInline  
      implClass       
      callsiteId      
      classToken      
      cloneHost       

  public int getNextClosureId();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 824
            aload 0 /* this */
            dup
            getfield org.jruby.ir.IRScope.nextClosureIndex:I
            iconst_1
            iadd
            putfield org.jruby.ir.IRScope.nextClosureIndex:I
         1: .line 826
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.nextClosureIndex:I
            ireturn
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/ir/IRScope;

  public boolean isModuleBody();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 833
            iconst_0
            ireturn
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ir/IRScope;

  public boolean isNonSingletonClassBody();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 840
            iconst_0
            ireturn
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ir/IRScope;

  public boolean isTopLocalVariableScope();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 844
            iconst_1
            ireturn
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ir/IRScope;

  public boolean isScriptScope();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 851
            iconst_0
            ireturn
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ir/IRScope;

  public boolean inliningAllowed();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 856
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.alreadyHasInline:Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/ir/IRScope;

  public void captureParentRefinements(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.jruby.ir.IRScope this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 865
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.maybeUsingRefinements:()Z
            ifeq 10
         1: .line 866
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.getLexicalParent:()Lorg/jruby/ir/IRScope;
            astore 2 /* cur */
        start local 2 // org.jruby.ir.IRScope cur
         2: goto 9
         3: .line 867
      StackMap locals: org.jruby.ir.IRScope
      StackMap stack:
            aload 2 /* cur */
            getfield org.jruby.ir.IRScope.staticScope:Lorg/jruby/parser/StaticScope;
            invokevirtual org.jruby.parser.StaticScope.getOverlayModuleForRead:()Lorg/jruby/RubyModule;
            astore 3 /* overlay */
        start local 3 // org.jruby.RubyModule overlay
         4: .line 868
            aload 3 /* overlay */
            ifnull 8
            aload 3 /* overlay */
            invokevirtual org.jruby.RubyModule.getRefinements:()Ljava/util/Map;
            invokeinterface java.util.Map.isEmpty:()Z
            ifne 8
         5: .line 870
            aload 0 /* this */
            getfield org.jruby.ir.IRScope.staticScope:Lorg/jruby/parser/StaticScope;
            aload 1 /* context */
            invokevirtual org.jruby.parser.StaticScope.getOverlayModuleForWrite:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyModule;
            astore 4 /* myOverlay */
        start local 4 // org.jruby.RubyModule myOverlay
         6: .line 873
            aload 4 /* myOverlay */
            invokevirtual org.jruby.RubyModule.getRefinementsForWrite:()Ljava/util/Map;
            aload 3 /* overlay */
            invokevirtual org.jruby.RubyModule.getRefinements:()Ljava/util/Map;
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
         7: .line 876
            goto 10
        end local 4 // org.jruby.RubyModule myOverlay
        end local 3 // org.jruby.RubyModule overlay
         8: .line 866
      StackMap locals:
      StackMap stack:
            aload 2 /* cur */
            invokevirtual org.jruby.ir.IRScope.getLexicalParent:()Lorg/jruby/ir/IRScope;
            astore 2 /* cur */
      StackMap locals:
      StackMap stack:
         9: aload 2 /* cur */
            ifnonnull 3
        end local 2 // org.jruby.ir.IRScope cur
        10: .line 880
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Lorg/jruby/ir/IRScope;
            0   11     1    context  Lorg/jruby/runtime/ThreadContext;
            2   10     2        cur  Lorg/jruby/ir/IRScope;
            4    8     3    overlay  Lorg/jruby/RubyModule;
            6    8     4  myOverlay  Lorg/jruby/RubyModule;
    MethodParameters:
         Name  Flags
      context  

  public void cleanupAfterExecution();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 891
            return
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ir/IRScope;

  public boolean executesOnce();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.ir.IRScope this
         0: .line 894
            iconst_0
            ireturn
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ir/IRScope;

  public void persistScopeHeader(org.jruby.ir.persistence.IRWriterEncoder);
    descriptor: (Lorg/jruby/ir/persistence/IRWriterEncoder;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.ir.IRScope this
        start local 1 // org.jruby.ir.persistence.IRWriterEncoder file
         0: .line 898
            getstatic org.jruby.RubyInstanceConfig.IR_WRITING_DEBUG:Z
            ifeq 1
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "IRScopeType = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.getScopeType:()Lorg/jruby/ir/IRScopeType;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         1: .line 899
      StackMap locals:
      StackMap stack:
            aload 1 /* file */
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.getScopeType:()Lorg/jruby/ir/IRScopeType;
            invokeinterface org.jruby.ir.persistence.IRWriterEncoder.encode:(Lorg/jruby/ir/IRScopeType;)V
         2: .line 900
            getstatic org.jruby.RubyInstanceConfig.IR_WRITING_DEBUG:Z
            ifeq 3
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Line # = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.getLine:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         3: .line 901
      StackMap locals:
      StackMap stack:
            aload 1 /* file */
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.getLine:()I
            invokeinterface org.jruby.ir.persistence.IRWriterEncoder.encode:(I)V
         4: .line 902
            getstatic org.jruby.RubyInstanceConfig.IR_WRITING_DEBUG:Z
            ifeq 5
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "# of temp vars = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.getInterpreterContext:()Lorg/jruby/ir/interpreter/InterpreterContext;
            invokevirtual org.jruby.ir.interpreter.InterpreterContext.getTemporaryVariableCount:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         5: .line 903
      StackMap locals:
      StackMap stack:
            aload 1 /* file */
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.getInterpreterContext:()Lorg/jruby/ir/interpreter/InterpreterContext;
            invokevirtual org.jruby.ir.interpreter.InterpreterContext.getTemporaryVariableCount:()I
            invokeinterface org.jruby.ir.persistence.IRWriterEncoder.encode:(I)V
         6: .line 904
            aload 1 /* file */
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.getNextLabelIndex:()I
            invokeinterface org.jruby.ir.persistence.IRWriterEncoder.encode:(I)V
         7: .line 905
            return
        end local 1 // org.jruby.ir.persistence.IRWriterEncoder file
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/jruby/ir/IRScope;
            0    8     1  file  Lorg/jruby/ir/persistence/IRWriterEncoder;
    MethodParameters:
      Name  Flags
      file  

  public void persistScopeFlags(org.jruby.ir.persistence.IRWriterEncoder);
    descriptor: (Lorg/jruby/ir/persistence/IRWriterEncoder;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.ir.IRScope this
        start local 1 // org.jruby.ir.persistence.IRWriterEncoder file
         0: .line 908
            aload 1 /* file */
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.getInterpreterContext:()Lorg/jruby/ir/interpreter/InterpreterContext;
            invokevirtual org.jruby.ir.interpreter.InterpreterContext.getFlags:()Ljava/util/EnumSet;
            invokeinterface org.jruby.ir.persistence.IRWriterEncoder.encode:(Ljava/util/EnumSet;)V
         1: .line 909
            aload 1 /* file */
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.hasBreakInstructions:()Z
            invokeinterface org.jruby.ir.persistence.IRWriterEncoder.encode:(Z)V
         2: .line 910
            aload 1 /* file */
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.hasLoops:()Z
            invokeinterface org.jruby.ir.persistence.IRWriterEncoder.encode:(Z)V
         3: .line 911
            aload 1 /* file */
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.hasNonLocalReturns:()Z
            invokeinterface org.jruby.ir.persistence.IRWriterEncoder.encode:(Z)V
         4: .line 912
            aload 1 /* file */
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.receivesClosureArg:()Z
            invokeinterface org.jruby.ir.persistence.IRWriterEncoder.encode:(Z)V
         5: .line 913
            aload 1 /* file */
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.receivesKeywordArgs:()Z
            invokeinterface org.jruby.ir.persistence.IRWriterEncoder.encode:(Z)V
         6: .line 914
            aload 1 /* file */
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.accessesParentsLocalVariables:()Z
            invokeinterface org.jruby.ir.persistence.IRWriterEncoder.encode:(Z)V
         7: .line 915
            aload 1 /* file */
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.maybeUsingRefinements:()Z
            invokeinterface org.jruby.ir.persistence.IRWriterEncoder.encode:(Z)V
         8: .line 916
            aload 1 /* file */
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.canCaptureCallersBinding:()Z
            invokeinterface org.jruby.ir.persistence.IRWriterEncoder.encode:(Z)V
         9: .line 917
            aload 1 /* file */
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.canReceiveBreaks:()Z
            invokeinterface org.jruby.ir.persistence.IRWriterEncoder.encode:(Z)V
        10: .line 918
            aload 1 /* file */
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.canReceiveNonlocalReturns:()Z
            invokeinterface org.jruby.ir.persistence.IRWriterEncoder.encode:(Z)V
        11: .line 919
            aload 1 /* file */
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.usesZSuper:()Z
            invokeinterface org.jruby.ir.persistence.IRWriterEncoder.encode:(Z)V
        12: .line 920
            aload 1 /* file */
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.needsCodeCoverage:()Z
            invokeinterface org.jruby.ir.persistence.IRWriterEncoder.encode:(Z)V
        13: .line 921
            aload 1 /* file */
            aload 0 /* this */
            invokevirtual org.jruby.ir.IRScope.usesEval:()Z
            invokeinterface org.jruby.ir.persistence.IRWriterEncoder.encode:(Z)V
        14: .line 922
            return
        end local 1 // org.jruby.ir.persistence.IRWriterEncoder file
        end local 0 // org.jruby.ir.IRScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Lorg/jruby/ir/IRScope;
            0   15     1  file  Lorg/jruby/ir/persistence/IRWriterEncoder;
    MethodParameters:
      Name  Flags
      file  

  public static java.util.EnumSet<org.jruby.ir.IRFlags> allocateInitialFlags(org.jruby.ir.IRScope);
    descriptor: (Lorg/jruby/ir/IRScope;)Ljava/util/EnumSet;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.ir.IRScope scope
         0: .line 928
            aload 0 /* scope */
            instanceof org.jruby.ir.IREvalScript
            ifne 1
            aload 0 /* scope */
            instanceof org.jruby.ir.IRScriptBody
            ifeq 2
         1: .line 933
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.ir.IRFlags.BINDING_HAS_ESCAPED:Lorg/jruby/ir/IRFlags;
            invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;)Ljava/util/EnumSet;
            areturn
         2: .line 935
      StackMap locals:
      StackMap stack:
            ldc Lorg/jruby/ir/IRFlags;
            invokestatic java.util.EnumSet.noneOf:(Ljava/lang/Class;)Ljava/util/EnumSet;
            areturn
        end local 0 // org.jruby.ir.IRScope scope
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  scope  Lorg/jruby/ir/IRScope;
    Signature: (Lorg/jruby/ir/IRScope;)Ljava/util/EnumSet<Lorg/jruby/ir/IRFlags;>;
    MethodParameters:
       Name  Flags
      scope  
}
SourceFile: "IRScope.java"